SlideShare una empresa de Scribd logo
1 de 48
End-to-end Reliability of
Non-deterministic Stateful Components

               Ph.D. Dissertation Defense,
                   24 September 2010

                      Sumant Tambe
                  sutambe@dre.vanderbilt.edu
                www.dre.vanderbilt.edu/~sutambe


Department of Electrical Engineering & Computer Science
       Vanderbilt University, Nashville, TN, USA
Presentation Road-map
 Overview of the Contributions
 The Orphan Request Problem
    Related Research & Unresolved Challenges
    Solution: Group-failover
 Typed Traversal
    Related Research & Unresolved Challenges
    Solution: LEESA
 Concluding Remarks




                                                2
Dissertation Contributions: Model-driven Fault-tolerance
  Resolves
                    for DRE systems
challenges in     • Component QoS Modeling Language (CQML)
 Specification        • Aspect-oriented Modeling for Modularizing QoS
                        Concerns


 Composition

                  • Generative Aspects for Fault-Tolerance (GRAFT)
                     • Multi-stage model-driven development process
 Deployment          • Weaves dependability concerns in system artifacts
                     • Provides model-to-model, model-to-text, model-to-
                       code transformations

 Configuration

                  • The Group-failover Protocol
                      • Resolves the orphan request problem in multi-tier
   Run-time             component-based DRE systems
                                                                            3
                                                                                3
Context: Distributed Real-time Embedded (DRE) Systems
 Heterogeneous soft real-time applications
 Stringent simultaneous QoS demands
   High-availability, Predictability (CPU & network)
   Efficient resource utilization
 Operation in dynamic & resource-constrained
  environments
   Process/processor failures
   Changing system loads
 Examples
   Total shipboard computing environment
   NASA’s Magnetospheric Multi-scale mission
   Warehouse Inventory Tracking Systems
 Component-based development
   Separation of Concerns
   Composability
   Reuse of commodity-off-the-shelf (COTS)
    components                                          (Images courtesy Google)

                                                                                   4
Operational Strings & End-to-end QoS
• Operational String model of component-based DRE systems
  • A multi-tier processing model focused on the end-to-end QoS requirements
  • Critical Path: The chain of tasks with a soft real-time deadline
  • Failures may compromise end-to-end QoS (response time)
                                        LEGEND
                                                             Error
                                        Receptacle         Recovery
                                        Event Sink
                                        Event Source
               Detector1
                                        Facet                           Effector1




                             Planner3           Planner1       Config



                 Detector2

                                                                        Effector2




         Must support highly available operational strings!

                                                                                    5
Operational Strings and High-availability
  • Operational String model of component-based DRE systems
     • A multi-tier processing model focused on the end-to-end QoS requirements
     • Critical Path: The chain of tasks with a soft real-time deadline
     • Failures may compromise end-to-end QoS (response time)
                                              LEGEND
                                                                    Error
                                              Receptacle          Recovery
                                              Event Sink
                                              Event Source
                     Detector1
                                              Facet                             Effector1




                                   Planner3            Planner1       Config



                       Detector2

                                                                                Effector2




 Reliability
               Roll-back recovery                     Active Replication       Passive Replication
Alternatives
               Needs transaction support              Resource hungry          Less resource consuming
Resources
               (heavy-weight)                         (compute & network)      than active (only network)
    Non-       Must compensate                        Must enforce             Handles non-determinism
determinism    non-determinism                        determinism              better
 Recovery      Roll-back & re-execution               Fastest recovery         Re-execution
               (slowest recovery)                                              (slower recovery)            6
   time
Non-determinism and the Side Effects of Replication
 DRE systems must tolerate non-determinism
   Many sources of non-determinism in DRE systems
   E.g., Local information (sensors, clocks), thread-scheduling, timers, and more
   Enforcing determinism is not always possible
 Side-effects of replication + non-determinism + nested invocation
   Orphan request & orphan state Problem




  Non-determinism


       Nested                                                Orphan Request
     Invocation                                                 Problem

      Passive
     Replication
                                                                                     7
Execution Semantics & Replication
 Execution semantics in distributed systems
  May-be – No more than once, not all subcomponents may execute
  At-most-once – No more than once, all-or-none of the subcomponents will be
   executed (e.g., Transactions)
    Transaction abort decisions are not transparent
  At-least-once – All or some subcomponents may execute more than once
    Applicable to idempotent requests only
  Exactly-once – All subcomponents execute once & once only
    Enhances perceived availability of the system
 Exactly-once semantics should hold even upon failures
  Equivalent to single fault-free execution
  Roll-forward recovery (replication) may violate exactly-once semantics
    Side-effects of replication must be rectified
                                  State          State         State
                                 Update         Update        Update
                                                                               Partial
                                                                           execution
                    A              B             C             D        should seem
                                                                           like no-op
    Client                                                             upon recovery

                                                                                         8
Exactly-once Semantics, Failures, & Determinism
                                      Deterministic component A
                                        Caching of request/reply at
                                         component B is sufficient


                                             Caching of
                                           request/reply
                                       rectifies the problem

                                      Non-deterministic
                                       component A
                                      Two possibilities upon
                                       failover
                                       1. No invocation
                                       2. Different invocation
                                      Caching of request/reply
                                       does not help
                  Orphan request &        Non-deterministic code
                    orphan state           must re-execute          9
Presentation Road-map
 Overview of the Contributions
 Replication & The Orphan Request Problem
    Related Research & Unresolved Challenges
    Solution: Group Failover
 Typed Traversal
    Related Research & Unresolved Challenges
    Solution: LEESA
 Concluding Remarks




                                                10
Related Research: End-to-end Reliability
   Category                    Related Research (The Orphan Request Problem)
Integrated       1. Reconciling Replication & Transactions for the End-to-End
transaction         Reliability of CORBA Applications by P. Felber & P. Narasimhan
& replication    2. Transactional Exactly-Once by S. Frølund & R. Guerraoui
                 3. ITRA: Inter-Tier Relationship Architecture for End-to-end QoS by
                    E. Dekel & G. Goft
                 4. Preventing orphan requests in the context of replicated invocation
 Database in        by Stefan Pleisch & Arnas Kupsys & Andre Schiper
 the last tier   5. Preventing orphan requests by integrating replication &
                    transactions by H. Kolltveit & S. olaf Hvasshovd
Enforcing        1. Using Program Analysis to Identify & Compensate for
determinism         Nondeterminism in Fault-Tolerant, Replicated Systems by J.
                    Slember & P. Narasimhan
   Deterministic
                 2. Living with nondeterminism in replicated middleware applications
    scheduling
                    by J. Slember & P. Narasimhan
                 3. Deterministic Scheduling for Transactional Multithreaded Replicas
                    by R. Jimenez-peris, M. Patino-Martínez, S. Arevalo, & J. Carlos
    Program      4. A Preemptive Deterministic Scheduling Algorithm for
   analysis to      Multithreaded Replicas by C. Basile, Z. Kalbarczyk, & R. Iyer
  compensate 5. Replica Determinism in Fault-Tolerant Real-Time Systems by S.
nondeterminism      Poledna                                                          11
                 6. Protocols for End-to-End Reliability in Multi-Tier Systems by P. Romano
Unresolved Challenges: End-to-end Reliability of
      Non-deterministic Stateful Components
 Integration of replication & transactions
   Applicable to multi-tier transactional web-based systems only
   Overhead of transactions (fault-free situation)
     Messaging overhead in the critical path (e.g., create, join)
     2 phase commit (2PC) protocol at the end of invocation




                  Create           Join              Join            Join



                                    State            State            State
                                   Update           Update           Update

                             A                B                C              D
         Client



                                                                                  12
Unresolved Challenges: End-to-end Reliability of
      Non-deterministic Stateful Components
 Integration of replication & transactions
   Applicable to multi-tier transactional web-based systems only
   Overhead of transactions (fault-free situation)
     Messaging overhead in the critical path (e.g., create, join)
     2 phase commit (2PC) protocol at the end of invocation
   Overhead of transactions (faulty situation)
     Must rollback to avoid orphan state
     Re-execute & 2PC again upon recovery
   Transactional semantics are not transparent
     Developers must implement: prepare, commit, rollback (2PC phases)
   Complex tangling of QoS: Schedulability & Reliability
     Schedulability of commit, rollback & join must be ensured

                                             State            State     State   Potential
                                            Update           Update    Update
                                                                                 orphan
                             A                B                C          D         state
                                                                                growing
         Client


                                             Orphan state bounded in B, C, D
                                                                                            13
Unresolved Challenges: End-to-end Reliability of
      Non-deterministic Stateful Components
 Integration of replication & transactions
   Applicable to multi-tier transactional web-based systems only
   Overhead of transactions (fault-free situation)
     Messaging overhead in the critical path (e.g., create, join)
     2 phase commit (2PC) protocol at the end of invocation
   Overhead of transactions (faulty situation)
     Must rollback to avoid orphan state
     Re-execute & 2PC again upon recovery
   Transactional semantics are not transparent
     Developers must implement: prepare, commit, rollback (2PC phases)
   Complex tangling of QoS: Schedulability & Reliability
     Schedulability of commit, rollback & join must be ensured
 Enforcing determinism
   Point solutions: Compensate specific sources of non-determinism
     e.g., thread scheduling, mutual exclusion
   Compensation using semi-automated program analysis
     Humans must rectify non-automated compensation
                                                                          14
Solution: Protocol for End-to-end Exactly-once
            Semantics with Rapid Failover
 Rethinking Transactions
                                                          Failover granularity > 1
   Overhead is undesirable in DRE systems
   Alternative mechanism
       To rectify the orphan state
       To ensure state consistency
                                                                    A      B

    Group-failover Protocol!!                        C


                                                                   A’      B’
 Protocol characteristics:
    1. Supports exactly-once execution semantics in presence of
       Nested invocation, non-deterministic stateful components, passive replication
    2. Ensures state consistency of replicas
    3. Does not require intrusive changes to the component implementation
       No need to implement prepare, commit, & rollback
    4. Supports fast client failover that is insensitive to
       Location of failure in the operational string
       Size of the operational string                                              15
Wider Applicability of Group Failover (1/2)

     Tolerates catastrophic faults (DoD-centric)
        • Pool Failure
        • Network failure




                      N       N

                     N        N
                          N
N       N                                                 Whole
N       N             Pool 1                           operational
                                             Replica
    N                                                  string must
                      N       N                          failover
Clients
                     N        N
                          N
                      Pool 2
                                                                 16
Wider Applicability of Group Failover (2/2)
 Tolerates Bohrbugs
   A Bohrbug repeats itself predictably when the same state reoccurs
 Strategy to Prevent Bohrbugs: Reliability through diversity
   Diversity via non-isomorphic replication




         Non-isomorphic                                   Different
           work-flow                                     End-to-end
               and                                          QoS
         implementation                        (thread pools, deadlines, priorities)
           of Replica




                 Whole operational string must failover                                17
The Group-failover Protocol (1/3)
 Constituents of the group-failover protocol
  1. Accurate failure detection
  2. Transparent failover
  3. Identifying orphan components
  4. Eliminating orphan components
  5. Ensuring state consistency
 Failure detection
     Fault-monitoring infrastructure based on
      heart-beats
     Synthesized using model-to-model
      transformations in GRAFT
 Transparent failover alternatives
     Client-side request interceptors
          CORBA standard
     Aspect-oriented programming (AOP)
          Fault-masking code generation using
           model-to-code transformations in       18
           GRAFT
The Group-failover Protocol (2/3)
 Identifying orphan components
     Without transactions, the run-time stage of a nested invocation is opaque
     Strategies for determining the extent of the orphan group (statically)
         1. The whole operational string                          Potentially
                                                                   non-isomorphic
                                                                  operational strings




 Tolerates catastrophic faults    Tolerates Bohrbugs
  (DoD-centric)                      A Bohrbug repeats itself predictably when the
  • Pool Failure                      same state reoccurs
  • Network failure                Preventing Bohrbugs
                                    Reliability through diversity
                                    Diversity via non-isomorphic replication
                                    Different implementation, structure, QoS         19
The Group-failover Protocol (2/3)
 Identifying orphan components
     Without transactions, the run-time stage of a nested invocation is opaque
     Strategies for determining the extent of the orphan group (statically)
         1. The whole operational string




        2. Dataflow-aware component grouping
                                                          Orphan Component




                                                                             20
The Group-failover Protocol (3/3)
 Eliminating orphan components
     Using deployment and configuration (D&C) infrastructure
     Invoke component life-cycle operations (e.g., activate, passivate)
     Passivation:
         Discards the application-specific state
         Component is no longer remotely addressable

 Ensuring state consistency
    Must assure exactly-once semantics
    State must be transferred atomically
    Strategies for state synchronization
      Strategies                   Eager                Lag-by-one
      Fault-free scenario          Messaging overhead   No overhead
      Faulty scenario (recovery)   No overhead          Messaging overhead


                                                                             21
Eager State Synchronization Strategy
 State synchronization in two explicit phases
 Fault-free Scenario messages: Finish , Precommit (phase 1), State transfer,
  Commit (phase 2)
 Faulty-scenario: Transparent failover




                                                                            22
Lag-by-one State Synchronization Strategy
 No explicit phases
 Fault-free scenario messages: Lazy state transfer
 Faulty-scenario messages: Prepare, Commit, Transparent failover




                                                                    23
Evaluation: Overhead of the State
                Synchronization Strategies
 Experiments
   2 to 5 components

 Eager state synchronization
   Insensitive to the # of
    components
   Multicast emulated using
    CORBA AMI (Asynchronous
    Messaging)

 Lag-by-one state synchronization
   Insensitive to the # of
    components
   Fault-free overhead less than
    the eager protocol
                                                 24
Evaluation: Client-perceived failover latency of
            the Synchronization Strategies
 The Lag-by-one protocol has messaging (low) overhead during failure
  recovery
 The eager protocol has no overhead during failure recovery




                                                                        25
Presentation Road-map
 Overview of the Contributions
 Replication & The Orphan Request Problem
    Related Research & Unresolved Challenges
    Solution: Group Failover
 Typed Traversal
    Related Research & Unresolved Challenges
    Solution: LEESA
 Concluding Remarks




                                                26
Role of Object Structure Traversals in the
Model-driven   Development Lifecycle
Development
  Lifecycle      Object structure traversals
Specification        Required in all phases of the development lifecycle.




Composition           Model Traversals

                                                              Object
Deployment                                                  Structure
                                                            Traversals

                          XML Tree
Configuration
                          Traversals


  Run-time
                                                                             27
Object Structure Traversal and Object-oriented
• Object structures  Languages
  • Often governed by a statically known schema (e.g., XSD, MetaGME)
• Data-binding tools
  • Generate schema-specific object-oriented language bindings
  • Use well-known design patterns
    • Composite for hierarchical representation
    • Visitor for type-specific actions
• Such applications are known as schema-first applications




                                                                  28
Unresolved Challenges in Schema-first Applications
• Sacrifice traversal idioms for type-safety
  • Succinctness (axis-oriented expressions)
     • Find all author names in a book catalog (XPath child axis)
      “/catalog/book/author/name”
  • Structure-shyness (resilience to schema evolution)
     • Find names anywhere in the book catalog (XPath descendant axis)
       “//name”
• Highly repetitive, verbose traversal code
  • Schema-specificity --- each class has different interface
  • Intent is lost due to code bloat
• Tangling of traversal specifications with type-specific actions
  • The “visit-all” semantics of the classic visitor are inefficient and insufficient
  • Lack of reusability of traversal specifications and visitors


            Is it possible to achieve type-safety of OO and the
                                                                                    29
                     succinctness of XPath together?
Solution: LEESA
Language for Embedded QuEry and TraverSAl




      Multi-paradigm Design in C++
                                            31
LEESA by Examples

• State Machine: A simple composite object structure
 • Recursive: A state may contain other states and transitions




                                                                 32
Axis-oriented Traversals (1/2)




   Child Axis          Child Axis      Parent Axis        Parent Axis
 (breadth-first)      (depth-first)   (breadth-first)     (depth-first)

    Root() >> StateMachine() >> v >> State() >> v

  Root() >>= StateMachine() >> v >>= State() >> v

 Time() << v << State() << v << StateMachine() << v

Time() << v <<= State() << v <<= StateMachine() << v
                                                                          33

                                              User-defined visitor object
Axis-oriented Traversals (2/2)

• More axes in LEESA
 • Child, parent, descendant, ancestor,
   association, sibling (tuplification)


• Key features of axis-oriented expressions
 • Succinct and expressive
                                                                 Siblings
 • Separation of type-specific actions from traversals
 • Composable
 • First class support (can be named and passed around as parameters)


• But all these axis-oriented expressions are hardly enough!
 • LEESA’s axes traversal operators (>>, >>=, <<, <<=) are reusable but …
 • Programmer written axis-oriented traversals are not!
 • Also, where is recursion?
Adopting Strategic Programming (SP)

• Adopting Strategic Programming (SP) Paradigm
 • Began as a term rewriting language: Stratego
 • Generic, reusable, recursive traversals independent of the structure
 • A small set of basic combinators



                  No change in
    Identity                          Choice <S1, S2>     If S1 fails apply S2
                  input
                  Throw an                                Apply S to all
      Fail                                 All<S>
                  exception                               immediate children
                                                          Apply S to only one
  Seq<S1,S2>      Apply S1 then S2        One<S>
                                                          child




                                                                                 35
Strategic Programming (SP) Continued
• Higher-level recursive traversal schemes can be composed

              TopDown<S>       Seq<S,All<TopDown>>



• Generic Top-down traversal            • Lacks schema awareness
 • E.g., Visit everything under Root        • Inefficient traversal
                                            • E.g., Visit all Time objects


                                  Not smart enough!




                                                                             36
Schema-aware Structure-shy Traversal using LEESA
• Generic top-down traversal
  • E.g., Visit everything (recursively) under Root

  Root() >> TopDown(Root(), VisitStrategy(v))

• Avoids unnecessary sub-structure traversal
• Descendant and ancestor axes
  • E.g., Find all the Time objects (recursively) under Root

  Root() >> DescendantsOf(Root(), Time())

• Emulating XPath wildcards
  • E.g., Find all the Time objects exactly three levels below Root.

  Root() >> LevelDescendantsOf(Root(), _, _, Time())

            LEESA’s SP primitives are generic yet schema-aware!
                                                                       37
Generic yet Schema-aware SP Primitives

 LEESA’s All combinator          Opportunity for optimized
  uses externalized static meta-   substructure traversal
  information                     Eliminate unnecessary types from
    All<Strategy> obtains                 T::Children
     children types of T generically      DescendantsOf implemented as
     using T::Children.                    optimized TopDown.
    Encapsulated metaprograms              DescendantsOf
     iterate over T::Children               (StateMachine(), Time())
     typelist
    For each child type, a child-axis
     expression obtains the children
     objects
    Parameter Strategy is
     applied on each child object
LEESA’s Strategic Programming Primitives




                                           39
Extension of Schema-driven Development
                Process




                         Externalized
                        meta-information   40
Implementing Schema Compatibility Checking and
       Schema-aware Generic Traversal
• C++ template meta-programming
  • C++ templates – A turing complete, pure functional, meta-programming
    language
  • Used to represent meta-information from the schema
• Boost.MPL – A de facto library for C++ template meta-programming
  • Typelist: Compile-time equivalent of run-time list data structure
  • Metafunction: Search, iterate, manipulate typelists at compile-time
  • Answer compile-time queries such as “is T present is the typelist?”


   State::Children = mpl::vector<State,Transition,Time>
   mpl::contains<State::Children, State>::value is TRUE




                                                                           41
Layered Architecture of LEESA


                                                      Application Code
               Programmer-written traversals
                                                       Strategic Traversal
       Schema independent generic traversals        Combinators and Schemes

 Focus on schema types, axes, & actions only     Axes Traversal Expressions

A C++ idiom for lazy evaluation of expressions   LEESA Expression Templates

                                                  (Parameterizable) Generic
        Schema independent generic interface          Data Access Layer
                                                    Object-oriented Data
 OO Data Access API (e.g., XML data binding)           Access Layer

  In memory representation of object structure        Object Structure




          A giant machinery for unary function-object generation
               and composition (higher-order programming)
                                                                              42
Reduction in Boilerplate Traversal Code
 Experiment: Existing traversal code of a model interpreter was
  changed easily




                                            87% reduction in traversal
                                                     code
                                                                     43
Run-time performance of LEESA
 Abstraction penalty
    Memory allocation and de-allocation for internal data structures




                                          33 seconds for file I/O
                                                                        44
                                          0.4 seconds for query
Compilation time (gcc 4.5)
 Compilation time affects
    Edit-compile-test cycle
    Programmer productivity
 Heavy template meta-programming in C++ is slow (today!)




                                                        (300 types)   45
Compiler Speed Improvements (gcc)
 Variadic templates
    Fast, scalable typelist manipulation
    Upcoming C++ language feature (C++0x)
    LEESA’s meta-programs use typelists heavily




                                                   46
Venue                                  Overall Research Contributions
ISORC 2009         Fault-tolerance for Component-based Systems - An Automated Middleware
                   Specialization Approach
ECBS 2009          CQML: Aspect-oriented Modeling for Modularizing & Weaving QoS Concerns in
                   Component-based Systems
ISAS 2007          MDDPro: Model-Driven Dependability Provisioning in Enterprise Distributed Real-
                   Time & Embedded Systems
DSLWC 2009         LEESA: Embedding Strategic & XPath-like Object Structure Traversals in C++

RTAS 2011 (to be   Rectifying Orphan Components using Group-failover for DRE systems
submitted)
AQuSerM 2008       Towards A QoS Modeling & Modularization Framework for Component Systems
RTWS 2006          Model-driven Engineering for Development-time QoS Validation of Component-
                   based Software Systems
DSPD 2008          An Embedded Declarative Language for Hierarchical Object Structure Traversal

ISIS Tech.         Toward Native XML Processing Using Multi-paradigm Design in C++
Report 2010
RTAS 2009          Adaptive Failover for Real-time Middleware with Passive Replication
RTAS 2008          NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real-
                   time & Embedded Systems
ECBS 2007          Model-driven Engineering for Development-time QoS Validation of Component-
                   based Software Systems
JSA Elsevier       Supporting Component-based Failover Units in Middleware for Distributed Real-
2010               time Embedded Systems

                            First-author         Other                                               47
Concluding Remarks
 Operational string is a component-based model of distributed computing
  focused on end-to-end deadline
     Problem: Operational strings exhibit the orphan request problem
     Solution: Group-failover protocol for rapid recovery from failures

 Schema-first applications are developed using OO-biased data binding
  tools
     Problem: Sacrificing traversal idioms and reusability for type-safety
     Solution: Multi-paradigm design in C++, LEESA


                          LEGEND
                                                 Error
                          Receptacle           Recovery
                          Event Sink
                          Event Source
 Detector1
                          Facet                             Effector1




               Planner3           Planner1         Config



   Detector2

                                                            Effector2


                                                                              48
Thank you!




Questions



             49

Más contenido relacionado

La actualidad más candente

Sa 005 performance
Sa 005 performanceSa 005 performance
Sa 005 performanceFrank Gielen
 
Multiple Services Throughput Optimization in a Hierarchical Middleware
Multiple Services Throughput Optimization in a Hierarchical MiddlewareMultiple Services Throughput Optimization in a Hierarchical Middleware
Multiple Services Throughput Optimization in a Hierarchical MiddlewareFrederic Desprez
 
Chapter 11c coordination agreement
Chapter 11c coordination agreementChapter 11c coordination agreement
Chapter 11c coordination agreementAbDul ThaYyal
 
OSGi Applications Clustering using Distributed Shared Memory
OSGi Applications Clustering using Distributed Shared MemoryOSGi Applications Clustering using Distributed Shared Memory
OSGi Applications Clustering using Distributed Shared MemoryAnthony Gelibert
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
 
RDB - Repairable Database Systems
RDB - Repairable Database SystemsRDB - Repairable Database Systems
RDB - Repairable Database SystemsAlexey Smirnov
 
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Ricardo Luis dos Santos
 
Cognitive Behavior Analysis framework for Fault Prediction in Cloud Computing
Cognitive Behavior Analysis framework for Fault Prediction in Cloud ComputingCognitive Behavior Analysis framework for Fault Prediction in Cloud Computing
Cognitive Behavior Analysis framework for Fault Prediction in Cloud ComputingReza Farrahi Moghaddam, PhD, BEng
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systemsop205
 
Software Architecture Second Lecture
Software Architecture Second LectureSoftware Architecture Second Lecture
Software Architecture Second LectureSadhana Ghalsasi
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Michel Wermelinger
 
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...Sunkyung Lee
 

La actualidad más candente (20)

Sa 005 performance
Sa 005 performanceSa 005 performance
Sa 005 performance
 
D25014017
D25014017D25014017
D25014017
 
System events concept presentation
System events concept presentationSystem events concept presentation
System events concept presentation
 
Multiple Services Throughput Optimization in a Hierarchical Middleware
Multiple Services Throughput Optimization in a Hierarchical MiddlewareMultiple Services Throughput Optimization in a Hierarchical Middleware
Multiple Services Throughput Optimization in a Hierarchical Middleware
 
Chapter 11c coordination agreement
Chapter 11c coordination agreementChapter 11c coordination agreement
Chapter 11c coordination agreement
 
design_flow
design_flowdesign_flow
design_flow
 
OSGi Applications Clustering using Distributed Shared Memory
OSGi Applications Clustering using Distributed Shared MemoryOSGi Applications Clustering using Distributed Shared Memory
OSGi Applications Clustering using Distributed Shared Memory
 
Lafauci dv club oct 2006
Lafauci dv club oct 2006Lafauci dv club oct 2006
Lafauci dv club oct 2006
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
RDB - Repairable Database Systems
RDB - Repairable Database SystemsRDB - Repairable Database Systems
RDB - Repairable Database Systems
 
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
Uma Solução para Identificação da Causa Raiz de Problemas no Gerenciamento de...
 
Cognitive Behavior Analysis framework for Fault Prediction in Cloud Computing
Cognitive Behavior Analysis framework for Fault Prediction in Cloud ComputingCognitive Behavior Analysis framework for Fault Prediction in Cloud Computing
Cognitive Behavior Analysis framework for Fault Prediction in Cloud Computing
 
3 f6 9_distributed_systems
3 f6 9_distributed_systems3 f6 9_distributed_systems
3 f6 9_distributed_systems
 
Software Architecture Second Lecture
Software Architecture Second LectureSoftware Architecture Second Lecture
Software Architecture Second Lecture
 
WCRE08.ppt
WCRE08.pptWCRE08.ppt
WCRE08.ppt
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 
Lifecycle
LifecycleLifecycle
Lifecycle
 
An02 dws
An02 dwsAn02 dws
An02 dws
 
Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)Of Bugs and Men (and Plugins too)
Of Bugs and Men (and Plugins too)
 
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...
MelBERT: Metaphor Detection via Contextualized Late Interaction using Metapho...
 

Destacado

Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Sumant Tambe
 
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDSAn Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDSSumant Tambe
 
Reactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxReactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxSumant Tambe
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSSumant Tambe
 
Property-based Testing and Generators (Lua)
Property-based Testing and Generators (Lua)Property-based Testing and Generators (Lua)
Property-based Testing and Generators (Lua)Sumant Tambe
 
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012 C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012 Sumant Tambe
 
Reactive Stream Processing in Industrial IoT using DDS and Rx
Reactive Stream Processing in Industrial IoT using DDS and RxReactive Stream Processing in Industrial IoT using DDS and Rx
Reactive Stream Processing in Industrial IoT using DDS and RxSumant Tambe
 
C++ Generators and Property-based Testing
C++ Generators and Property-based TestingC++ Generators and Property-based Testing
C++ Generators and Property-based TestingSumant Tambe
 
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)Sumant Tambe
 
Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Sumant Tambe
 

Destacado (10)

Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)Native XML processing in C++ (BoostCon'11)
Native XML processing in C++ (BoostCon'11)
 
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDSAn Extensible Architecture for Avionics Sensor Health Assessment Using DDS
An Extensible Architecture for Avionics Sensor Health Assessment Using DDS
 
Reactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and RxReactive Stream Processing Using DDS and Rx
Reactive Stream Processing Using DDS and Rx
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJS
 
Property-based Testing and Generators (Lua)
Property-based Testing and Generators (Lua)Property-based Testing and Generators (Lua)
Property-based Testing and Generators (Lua)
 
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012 C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
 
Reactive Stream Processing in Industrial IoT using DDS and Rx
Reactive Stream Processing in Industrial IoT using DDS and RxReactive Stream Processing in Industrial IoT using DDS and Rx
Reactive Stream Processing in Industrial IoT using DDS and Rx
 
C++ Generators and Property-based Testing
C++ Generators and Property-based TestingC++ Generators and Property-based Testing
C++ Generators and Property-based Testing
 
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)
 
Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)Fun with Lambdas: C++14 Style (part 1)
Fun with Lambdas: C++14 Style (part 1)
 

Similar a Ph.D. Dissertation

Sql Explore Hebrew
Sql Explore   HebrewSql Explore   Hebrew
Sql Explore HebrewAaron Shilo
 
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint PresentationSTN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint Presentationmcini
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliencyMasashi Narumoto
 
Efficient combinatorial models for reliability analysis of complex dynamic sy...
Efficient combinatorial models for reliability analysis of complex dynamic sy...Efficient combinatorial models for reliability analysis of complex dynamic sy...
Efficient combinatorial models for reliability analysis of complex dynamic sy...ASQ Reliability Division
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloudgmthomps
 
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012Amazon Web Services
 
European critical infrastructures: which analysis framework for supporting ef...
European critical infrastructures: which analysis framework for supporting ef...European critical infrastructures: which analysis framework for supporting ef...
European critical infrastructures: which analysis framework for supporting ef...Global Risk Forum GRFDavos
 
Learn the facts about replication in mainframe storage webinar
Learn the facts about replication in mainframe storage webinarLearn the facts about replication in mainframe storage webinar
Learn the facts about replication in mainframe storage webinarHitachi Vantara
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examplesPeter Lawrey
 
incident analysis - procedure and approach
incident analysis - procedure and approachincident analysis - procedure and approach
incident analysis - procedure and approachDerek Chang
 
Ca partner day - qualità servizi - roma 2 di 2
Ca partner day - qualità servizi - roma 2 di 2Ca partner day - qualità servizi - roma 2 di 2
Ca partner day - qualità servizi - roma 2 di 2CA Technologies Italia
 
Managing High Availability with Low Cost
Managing High Availability with Low CostManaging High Availability with Low Cost
Managing High Availability with Low CostDataLeader.io
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systemsMalisa Ncube
 
Validation of Spacecraft Behaviour Using a Collaborative Approach
Validation of Spacecraft Behaviour Using a Collaborative ApproachValidation of Spacecraft Behaviour Using a Collaborative Approach
Validation of Spacecraft Behaviour Using a Collaborative ApproachDaniele Gianni
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryDoKC
 
Providing fault tolerance in extreme scale parallel applications
Providing fault tolerance in extreme scale parallel applicationsProviding fault tolerance in extreme scale parallel applications
Providing fault tolerance in extreme scale parallel applicationshjjvandam
 

Similar a Ph.D. Dissertation (20)

Sql Explore Hebrew
Sql Explore   HebrewSql Explore   Hebrew
Sql Explore Hebrew
 
Resilience engineering
Resilience engineeringResilience engineering
Resilience engineering
 
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint PresentationSTN Event 12.8.09 - Chris Vain Powerpoint Presentation
STN Event 12.8.09 - Chris Vain Powerpoint Presentation
 
Designing apps for resiliency
Designing apps for resiliencyDesigning apps for resiliency
Designing apps for resiliency
 
Efficient combinatorial models for reliability analysis of complex dynamic sy...
Efficient combinatorial models for reliability analysis of complex dynamic sy...Efficient combinatorial models for reliability analysis of complex dynamic sy...
Efficient combinatorial models for reliability analysis of complex dynamic sy...
 
Scalability and Reliability in the Cloud
Scalability and Reliability in the CloudScalability and Reliability in the Cloud
Scalability and Reliability in the Cloud
 
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
CPN208 Failures at Scale & How to Ride Through Them - AWS re: Invent 2012
 
European critical infrastructures: which analysis framework for supporting ef...
European critical infrastructures: which analysis framework for supporting ef...European critical infrastructures: which analysis framework for supporting ef...
European critical infrastructures: which analysis framework for supporting ef...
 
Learn the facts about replication in mainframe storage webinar
Learn the facts about replication in mainframe storage webinarLearn the facts about replication in mainframe storage webinar
Learn the facts about replication in mainframe storage webinar
 
RTOS Basic Concepts
RTOS Basic ConceptsRTOS Basic Concepts
RTOS Basic Concepts
 
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
 
incident analysis - procedure and approach
incident analysis - procedure and approachincident analysis - procedure and approach
incident analysis - procedure and approach
 
Ca partner day - qualità servizi - roma 2 di 2
Ca partner day - qualità servizi - roma 2 di 2Ca partner day - qualità servizi - roma 2 di 2
Ca partner day - qualità servizi - roma 2 di 2
 
Delay Tolerant Streaming Services, Thomas Plagemann, UiO
Delay Tolerant Streaming Services, Thomas Plagemann, UiODelay Tolerant Streaming Services, Thomas Plagemann, UiO
Delay Tolerant Streaming Services, Thomas Plagemann, UiO
 
Managing High Availability with Low Cost
Managing High Availability with Low CostManaging High Availability with Low Cost
Managing High Availability with Low Cost
 
Designing distributed systems
Designing distributed systemsDesigning distributed systems
Designing distributed systems
 
Validation of Spacecraft Behaviour Using a Collaborative Approach
Validation of Spacecraft Behaviour Using a Collaborative ApproachValidation of Spacecraft Behaviour Using a Collaborative Approach
Validation of Spacecraft Behaviour Using a Collaborative Approach
 
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster RecoveryStop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
Stop Worrying and Keep Querying, Using Automated Multi-Region Disaster Recovery
 
Providing fault tolerance in extreme scale parallel applications
Providing fault tolerance in extreme scale parallel applicationsProviding fault tolerance in extreme scale parallel applications
Providing fault tolerance in extreme scale parallel applications
 

Más de Sumant Tambe

Kafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedKafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedSumant Tambe
 
Systematic Generation Data and Types in C++
Systematic Generation Data and Types in C++Systematic Generation Data and Types in C++
Systematic Generation Data and Types in C++Sumant Tambe
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelinesSumant Tambe
 
New Tools for a More Functional C++
New Tools for a More Functional C++New Tools for a More Functional C++
New Tools for a More Functional C++Sumant Tambe
 
RPC over DDS Beta 1
RPC over DDS Beta 1RPC over DDS Beta 1
RPC over DDS Beta 1Sumant Tambe
 
Reactive Stream Processing for Data-centric Publish/Subscribe
Reactive Stream Processing for Data-centric Publish/SubscribeReactive Stream Processing for Data-centric Publish/Subscribe
Reactive Stream Processing for Data-centric Publish/SubscribeSumant Tambe
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSSumant Tambe
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Sumant Tambe
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeSumant Tambe
 
Retargeting Embedded Software Stack for Many-Core Systems
Retargeting Embedded Software Stack for Many-Core SystemsRetargeting Embedded Software Stack for Many-Core Systems
Retargeting Embedded Software Stack for Many-Core SystemsSumant Tambe
 

Más de Sumant Tambe (11)

Kafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presentedKafka tiered-storage-meetup-2022-final-presented
Kafka tiered-storage-meetup-2022-final-presented
 
Systematic Generation Data and Types in C++
Systematic Generation Data and Types in C++Systematic Generation Data and Types in C++
Systematic Generation Data and Types in C++
 
Tuning kafka pipelines
Tuning kafka pipelinesTuning kafka pipelines
Tuning kafka pipelines
 
New Tools for a More Functional C++
New Tools for a More Functional C++New Tools for a More Functional C++
New Tools for a More Functional C++
 
C++ Coroutines
C++ CoroutinesC++ Coroutines
C++ Coroutines
 
RPC over DDS Beta 1
RPC over DDS Beta 1RPC over DDS Beta 1
RPC over DDS Beta 1
 
Reactive Stream Processing for Data-centric Publish/Subscribe
Reactive Stream Processing for Data-centric Publish/SubscribeReactive Stream Processing for Data-centric Publish/Subscribe
Reactive Stream Processing for Data-centric Publish/Subscribe
 
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDSOverloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
Overloading in Overdrive: A Generic Data-Centric Messaging Library for DDS
 
Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++Standardizing the Data Distribution Service (DDS) API for Modern C++
Standardizing the Data Distribution Service (DDS) API for Modern C++
 
Communication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/SubscribeCommunication Patterns Using Data-Centric Publish/Subscribe
Communication Patterns Using Data-Centric Publish/Subscribe
 
Retargeting Embedded Software Stack for Many-Core Systems
Retargeting Embedded Software Stack for Many-Core SystemsRetargeting Embedded Software Stack for Many-Core Systems
Retargeting Embedded Software Stack for Many-Core Systems
 

Último

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinojohnmickonozaleda
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 

Último (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
FILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipinoFILIPINO PSYCHology sikolohiyang pilipino
FILIPINO PSYCHology sikolohiyang pilipino
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 

Ph.D. Dissertation

  • 1. End-to-end Reliability of Non-deterministic Stateful Components Ph.D. Dissertation Defense, 24 September 2010 Sumant Tambe sutambe@dre.vanderbilt.edu www.dre.vanderbilt.edu/~sutambe Department of Electrical Engineering & Computer Science Vanderbilt University, Nashville, TN, USA
  • 2. Presentation Road-map  Overview of the Contributions  The Orphan Request Problem  Related Research & Unresolved Challenges  Solution: Group-failover  Typed Traversal  Related Research & Unresolved Challenges  Solution: LEESA  Concluding Remarks 2
  • 3. Dissertation Contributions: Model-driven Fault-tolerance Resolves for DRE systems challenges in • Component QoS Modeling Language (CQML) Specification • Aspect-oriented Modeling for Modularizing QoS Concerns Composition • Generative Aspects for Fault-Tolerance (GRAFT) • Multi-stage model-driven development process Deployment • Weaves dependability concerns in system artifacts • Provides model-to-model, model-to-text, model-to- code transformations Configuration • The Group-failover Protocol • Resolves the orphan request problem in multi-tier Run-time component-based DRE systems 3 3
  • 4. Context: Distributed Real-time Embedded (DRE) Systems  Heterogeneous soft real-time applications  Stringent simultaneous QoS demands  High-availability, Predictability (CPU & network)  Efficient resource utilization  Operation in dynamic & resource-constrained environments  Process/processor failures  Changing system loads  Examples  Total shipboard computing environment  NASA’s Magnetospheric Multi-scale mission  Warehouse Inventory Tracking Systems  Component-based development  Separation of Concerns  Composability  Reuse of commodity-off-the-shelf (COTS) components (Images courtesy Google) 4
  • 5. Operational Strings & End-to-end QoS • Operational String model of component-based DRE systems • A multi-tier processing model focused on the end-to-end QoS requirements • Critical Path: The chain of tasks with a soft real-time deadline • Failures may compromise end-to-end QoS (response time) LEGEND Error Receptacle Recovery Event Sink Event Source Detector1 Facet Effector1 Planner3 Planner1 Config Detector2 Effector2 Must support highly available operational strings! 5
  • 6. Operational Strings and High-availability • Operational String model of component-based DRE systems • A multi-tier processing model focused on the end-to-end QoS requirements • Critical Path: The chain of tasks with a soft real-time deadline • Failures may compromise end-to-end QoS (response time) LEGEND Error Receptacle Recovery Event Sink Event Source Detector1 Facet Effector1 Planner3 Planner1 Config Detector2 Effector2 Reliability Roll-back recovery Active Replication Passive Replication Alternatives Needs transaction support Resource hungry Less resource consuming Resources (heavy-weight) (compute & network) than active (only network) Non- Must compensate Must enforce Handles non-determinism determinism non-determinism determinism better Recovery Roll-back & re-execution Fastest recovery Re-execution (slowest recovery) (slower recovery) 6 time
  • 7. Non-determinism and the Side Effects of Replication  DRE systems must tolerate non-determinism  Many sources of non-determinism in DRE systems  E.g., Local information (sensors, clocks), thread-scheduling, timers, and more  Enforcing determinism is not always possible  Side-effects of replication + non-determinism + nested invocation  Orphan request & orphan state Problem Non-determinism Nested Orphan Request Invocation Problem Passive Replication 7
  • 8. Execution Semantics & Replication  Execution semantics in distributed systems  May-be – No more than once, not all subcomponents may execute  At-most-once – No more than once, all-or-none of the subcomponents will be executed (e.g., Transactions)  Transaction abort decisions are not transparent  At-least-once – All or some subcomponents may execute more than once  Applicable to idempotent requests only  Exactly-once – All subcomponents execute once & once only  Enhances perceived availability of the system  Exactly-once semantics should hold even upon failures  Equivalent to single fault-free execution  Roll-forward recovery (replication) may violate exactly-once semantics  Side-effects of replication must be rectified State State State Update Update Update Partial execution A B C D should seem like no-op Client upon recovery 8
  • 9. Exactly-once Semantics, Failures, & Determinism  Deterministic component A  Caching of request/reply at component B is sufficient Caching of request/reply rectifies the problem  Non-deterministic component A  Two possibilities upon failover 1. No invocation 2. Different invocation  Caching of request/reply does not help Orphan request &  Non-deterministic code orphan state must re-execute 9
  • 10. Presentation Road-map  Overview of the Contributions  Replication & The Orphan Request Problem  Related Research & Unresolved Challenges  Solution: Group Failover  Typed Traversal  Related Research & Unresolved Challenges  Solution: LEESA  Concluding Remarks 10
  • 11. Related Research: End-to-end Reliability Category Related Research (The Orphan Request Problem) Integrated 1. Reconciling Replication & Transactions for the End-to-End transaction Reliability of CORBA Applications by P. Felber & P. Narasimhan & replication 2. Transactional Exactly-Once by S. Frølund & R. Guerraoui 3. ITRA: Inter-Tier Relationship Architecture for End-to-end QoS by E. Dekel & G. Goft 4. Preventing orphan requests in the context of replicated invocation Database in by Stefan Pleisch & Arnas Kupsys & Andre Schiper the last tier 5. Preventing orphan requests by integrating replication & transactions by H. Kolltveit & S. olaf Hvasshovd Enforcing 1. Using Program Analysis to Identify & Compensate for determinism Nondeterminism in Fault-Tolerant, Replicated Systems by J. Slember & P. Narasimhan Deterministic 2. Living with nondeterminism in replicated middleware applications scheduling by J. Slember & P. Narasimhan 3. Deterministic Scheduling for Transactional Multithreaded Replicas by R. Jimenez-peris, M. Patino-Martínez, S. Arevalo, & J. Carlos Program 4. A Preemptive Deterministic Scheduling Algorithm for analysis to Multithreaded Replicas by C. Basile, Z. Kalbarczyk, & R. Iyer compensate 5. Replica Determinism in Fault-Tolerant Real-Time Systems by S. nondeterminism Poledna 11 6. Protocols for End-to-End Reliability in Multi-Tier Systems by P. Romano
  • 12. Unresolved Challenges: End-to-end Reliability of Non-deterministic Stateful Components  Integration of replication & transactions  Applicable to multi-tier transactional web-based systems only  Overhead of transactions (fault-free situation)  Messaging overhead in the critical path (e.g., create, join)  2 phase commit (2PC) protocol at the end of invocation Create Join Join Join State State State Update Update Update A B C D Client 12
  • 13. Unresolved Challenges: End-to-end Reliability of Non-deterministic Stateful Components  Integration of replication & transactions  Applicable to multi-tier transactional web-based systems only  Overhead of transactions (fault-free situation)  Messaging overhead in the critical path (e.g., create, join)  2 phase commit (2PC) protocol at the end of invocation  Overhead of transactions (faulty situation)  Must rollback to avoid orphan state  Re-execute & 2PC again upon recovery  Transactional semantics are not transparent  Developers must implement: prepare, commit, rollback (2PC phases)  Complex tangling of QoS: Schedulability & Reliability  Schedulability of commit, rollback & join must be ensured State State State Potential Update Update Update orphan A B C D state growing Client Orphan state bounded in B, C, D 13
  • 14. Unresolved Challenges: End-to-end Reliability of Non-deterministic Stateful Components  Integration of replication & transactions  Applicable to multi-tier transactional web-based systems only  Overhead of transactions (fault-free situation)  Messaging overhead in the critical path (e.g., create, join)  2 phase commit (2PC) protocol at the end of invocation  Overhead of transactions (faulty situation)  Must rollback to avoid orphan state  Re-execute & 2PC again upon recovery  Transactional semantics are not transparent  Developers must implement: prepare, commit, rollback (2PC phases)  Complex tangling of QoS: Schedulability & Reliability  Schedulability of commit, rollback & join must be ensured  Enforcing determinism  Point solutions: Compensate specific sources of non-determinism  e.g., thread scheduling, mutual exclusion  Compensation using semi-automated program analysis  Humans must rectify non-automated compensation 14
  • 15. Solution: Protocol for End-to-end Exactly-once Semantics with Rapid Failover  Rethinking Transactions Failover granularity > 1  Overhead is undesirable in DRE systems  Alternative mechanism  To rectify the orphan state  To ensure state consistency A B Group-failover Protocol!! C A’ B’  Protocol characteristics: 1. Supports exactly-once execution semantics in presence of  Nested invocation, non-deterministic stateful components, passive replication 2. Ensures state consistency of replicas 3. Does not require intrusive changes to the component implementation  No need to implement prepare, commit, & rollback 4. Supports fast client failover that is insensitive to  Location of failure in the operational string  Size of the operational string 15
  • 16. Wider Applicability of Group Failover (1/2)  Tolerates catastrophic faults (DoD-centric) • Pool Failure • Network failure N N N N N N N Whole N N Pool 1 operational Replica N string must N N failover Clients N N N Pool 2 16
  • 17. Wider Applicability of Group Failover (2/2)  Tolerates Bohrbugs  A Bohrbug repeats itself predictably when the same state reoccurs  Strategy to Prevent Bohrbugs: Reliability through diversity  Diversity via non-isomorphic replication Non-isomorphic Different work-flow End-to-end and QoS implementation (thread pools, deadlines, priorities) of Replica Whole operational string must failover 17
  • 18. The Group-failover Protocol (1/3)  Constituents of the group-failover protocol 1. Accurate failure detection 2. Transparent failover 3. Identifying orphan components 4. Eliminating orphan components 5. Ensuring state consistency  Failure detection  Fault-monitoring infrastructure based on heart-beats  Synthesized using model-to-model transformations in GRAFT  Transparent failover alternatives  Client-side request interceptors  CORBA standard  Aspect-oriented programming (AOP)  Fault-masking code generation using model-to-code transformations in 18 GRAFT
  • 19. The Group-failover Protocol (2/3)  Identifying orphan components  Without transactions, the run-time stage of a nested invocation is opaque  Strategies for determining the extent of the orphan group (statically) 1. The whole operational string Potentially non-isomorphic operational strings  Tolerates catastrophic faults  Tolerates Bohrbugs (DoD-centric)  A Bohrbug repeats itself predictably when the • Pool Failure same state reoccurs • Network failure  Preventing Bohrbugs  Reliability through diversity  Diversity via non-isomorphic replication  Different implementation, structure, QoS 19
  • 20. The Group-failover Protocol (2/3)  Identifying orphan components  Without transactions, the run-time stage of a nested invocation is opaque  Strategies for determining the extent of the orphan group (statically) 1. The whole operational string 2. Dataflow-aware component grouping Orphan Component 20
  • 21. The Group-failover Protocol (3/3)  Eliminating orphan components  Using deployment and configuration (D&C) infrastructure  Invoke component life-cycle operations (e.g., activate, passivate)  Passivation:  Discards the application-specific state  Component is no longer remotely addressable  Ensuring state consistency  Must assure exactly-once semantics  State must be transferred atomically  Strategies for state synchronization Strategies Eager Lag-by-one Fault-free scenario Messaging overhead No overhead Faulty scenario (recovery) No overhead Messaging overhead 21
  • 22. Eager State Synchronization Strategy  State synchronization in two explicit phases  Fault-free Scenario messages: Finish , Precommit (phase 1), State transfer, Commit (phase 2)  Faulty-scenario: Transparent failover 22
  • 23. Lag-by-one State Synchronization Strategy  No explicit phases  Fault-free scenario messages: Lazy state transfer  Faulty-scenario messages: Prepare, Commit, Transparent failover 23
  • 24. Evaluation: Overhead of the State Synchronization Strategies  Experiments  2 to 5 components  Eager state synchronization  Insensitive to the # of components  Multicast emulated using CORBA AMI (Asynchronous Messaging)  Lag-by-one state synchronization  Insensitive to the # of components  Fault-free overhead less than the eager protocol 24
  • 25. Evaluation: Client-perceived failover latency of the Synchronization Strategies  The Lag-by-one protocol has messaging (low) overhead during failure recovery  The eager protocol has no overhead during failure recovery 25
  • 26. Presentation Road-map  Overview of the Contributions  Replication & The Orphan Request Problem  Related Research & Unresolved Challenges  Solution: Group Failover  Typed Traversal  Related Research & Unresolved Challenges  Solution: LEESA  Concluding Remarks 26
  • 27. Role of Object Structure Traversals in the Model-driven Development Lifecycle Development Lifecycle  Object structure traversals Specification  Required in all phases of the development lifecycle. Composition Model Traversals Object Deployment Structure Traversals XML Tree Configuration Traversals Run-time 27
  • 28. Object Structure Traversal and Object-oriented • Object structures Languages • Often governed by a statically known schema (e.g., XSD, MetaGME) • Data-binding tools • Generate schema-specific object-oriented language bindings • Use well-known design patterns • Composite for hierarchical representation • Visitor for type-specific actions • Such applications are known as schema-first applications 28
  • 29. Unresolved Challenges in Schema-first Applications • Sacrifice traversal idioms for type-safety • Succinctness (axis-oriented expressions) • Find all author names in a book catalog (XPath child axis) “/catalog/book/author/name” • Structure-shyness (resilience to schema evolution) • Find names anywhere in the book catalog (XPath descendant axis) “//name” • Highly repetitive, verbose traversal code • Schema-specificity --- each class has different interface • Intent is lost due to code bloat • Tangling of traversal specifications with type-specific actions • The “visit-all” semantics of the classic visitor are inefficient and insufficient • Lack of reusability of traversal specifications and visitors Is it possible to achieve type-safety of OO and the 29 succinctness of XPath together?
  • 30. Solution: LEESA Language for Embedded QuEry and TraverSAl Multi-paradigm Design in C++ 31
  • 31. LEESA by Examples • State Machine: A simple composite object structure • Recursive: A state may contain other states and transitions 32
  • 32. Axis-oriented Traversals (1/2) Child Axis Child Axis Parent Axis Parent Axis (breadth-first) (depth-first) (breadth-first) (depth-first) Root() >> StateMachine() >> v >> State() >> v Root() >>= StateMachine() >> v >>= State() >> v Time() << v << State() << v << StateMachine() << v Time() << v <<= State() << v <<= StateMachine() << v 33 User-defined visitor object
  • 33. Axis-oriented Traversals (2/2) • More axes in LEESA • Child, parent, descendant, ancestor, association, sibling (tuplification) • Key features of axis-oriented expressions • Succinct and expressive Siblings • Separation of type-specific actions from traversals • Composable • First class support (can be named and passed around as parameters) • But all these axis-oriented expressions are hardly enough! • LEESA’s axes traversal operators (>>, >>=, <<, <<=) are reusable but … • Programmer written axis-oriented traversals are not! • Also, where is recursion?
  • 34. Adopting Strategic Programming (SP) • Adopting Strategic Programming (SP) Paradigm • Began as a term rewriting language: Stratego • Generic, reusable, recursive traversals independent of the structure • A small set of basic combinators No change in Identity Choice <S1, S2> If S1 fails apply S2 input Throw an Apply S to all Fail All<S> exception immediate children Apply S to only one Seq<S1,S2> Apply S1 then S2 One<S> child 35
  • 35. Strategic Programming (SP) Continued • Higher-level recursive traversal schemes can be composed TopDown<S> Seq<S,All<TopDown>> • Generic Top-down traversal • Lacks schema awareness • E.g., Visit everything under Root • Inefficient traversal • E.g., Visit all Time objects Not smart enough! 36
  • 36. Schema-aware Structure-shy Traversal using LEESA • Generic top-down traversal • E.g., Visit everything (recursively) under Root Root() >> TopDown(Root(), VisitStrategy(v)) • Avoids unnecessary sub-structure traversal • Descendant and ancestor axes • E.g., Find all the Time objects (recursively) under Root Root() >> DescendantsOf(Root(), Time()) • Emulating XPath wildcards • E.g., Find all the Time objects exactly three levels below Root. Root() >> LevelDescendantsOf(Root(), _, _, Time()) LEESA’s SP primitives are generic yet schema-aware! 37
  • 37. Generic yet Schema-aware SP Primitives  LEESA’s All combinator  Opportunity for optimized uses externalized static meta- substructure traversal information  Eliminate unnecessary types from  All<Strategy> obtains T::Children children types of T generically  DescendantsOf implemented as using T::Children. optimized TopDown.  Encapsulated metaprograms DescendantsOf iterate over T::Children (StateMachine(), Time()) typelist  For each child type, a child-axis expression obtains the children objects  Parameter Strategy is applied on each child object
  • 39. Extension of Schema-driven Development Process Externalized meta-information 40
  • 40. Implementing Schema Compatibility Checking and Schema-aware Generic Traversal • C++ template meta-programming • C++ templates – A turing complete, pure functional, meta-programming language • Used to represent meta-information from the schema • Boost.MPL – A de facto library for C++ template meta-programming • Typelist: Compile-time equivalent of run-time list data structure • Metafunction: Search, iterate, manipulate typelists at compile-time • Answer compile-time queries such as “is T present is the typelist?” State::Children = mpl::vector<State,Transition,Time> mpl::contains<State::Children, State>::value is TRUE 41
  • 41. Layered Architecture of LEESA Application Code Programmer-written traversals Strategic Traversal Schema independent generic traversals Combinators and Schemes Focus on schema types, axes, & actions only Axes Traversal Expressions A C++ idiom for lazy evaluation of expressions LEESA Expression Templates (Parameterizable) Generic Schema independent generic interface Data Access Layer Object-oriented Data OO Data Access API (e.g., XML data binding) Access Layer In memory representation of object structure Object Structure A giant machinery for unary function-object generation and composition (higher-order programming) 42
  • 42. Reduction in Boilerplate Traversal Code  Experiment: Existing traversal code of a model interpreter was changed easily 87% reduction in traversal code 43
  • 43. Run-time performance of LEESA  Abstraction penalty  Memory allocation and de-allocation for internal data structures 33 seconds for file I/O 44 0.4 seconds for query
  • 44. Compilation time (gcc 4.5)  Compilation time affects  Edit-compile-test cycle  Programmer productivity  Heavy template meta-programming in C++ is slow (today!) (300 types) 45
  • 45. Compiler Speed Improvements (gcc)  Variadic templates  Fast, scalable typelist manipulation  Upcoming C++ language feature (C++0x)  LEESA’s meta-programs use typelists heavily 46
  • 46. Venue Overall Research Contributions ISORC 2009 Fault-tolerance for Component-based Systems - An Automated Middleware Specialization Approach ECBS 2009 CQML: Aspect-oriented Modeling for Modularizing & Weaving QoS Concerns in Component-based Systems ISAS 2007 MDDPro: Model-Driven Dependability Provisioning in Enterprise Distributed Real- Time & Embedded Systems DSLWC 2009 LEESA: Embedding Strategic & XPath-like Object Structure Traversals in C++ RTAS 2011 (to be Rectifying Orphan Components using Group-failover for DRE systems submitted) AQuSerM 2008 Towards A QoS Modeling & Modularization Framework for Component Systems RTWS 2006 Model-driven Engineering for Development-time QoS Validation of Component- based Software Systems DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal ISIS Tech. Toward Native XML Processing Using Multi-paradigm Design in C++ Report 2010 RTAS 2009 Adaptive Failover for Real-time Middleware with Passive Replication RTAS 2008 NetQoPE: A Model-driven Network QoS Provisioning Engine for Distributed Real- time & Embedded Systems ECBS 2007 Model-driven Engineering for Development-time QoS Validation of Component- based Software Systems JSA Elsevier Supporting Component-based Failover Units in Middleware for Distributed Real- 2010 time Embedded Systems First-author Other 47
  • 47. Concluding Remarks  Operational string is a component-based model of distributed computing focused on end-to-end deadline  Problem: Operational strings exhibit the orphan request problem  Solution: Group-failover protocol for rapid recovery from failures  Schema-first applications are developed using OO-biased data binding tools  Problem: Sacrificing traversal idioms and reusability for type-safety  Solution: Multi-paradigm design in C++, LEESA LEGEND Error Receptacle Recovery Event Sink Event Source Detector1 Facet Effector1 Planner3 Planner1 Config Detector2 Effector2 48

Notas del editor

  1. Let me quickly review what I’ve presented in the past. During my proposal I presented CQML and GRAFT, which address the challenges in earlier phases of the development lifecycle. The group-failover was the proposed topic addressing the challenges in the run-time phase.
  2. Particularly of interest is the component-based operational string model….An important notion in operational string is that of a critical path….To ensure critical path meets its deadline, two things have to happen.
  3. Particularly of interest is the component-based operational string model….An important notion in operational string is that of a critical path….To ensure critical path meets its deadline, two things have to happen.
  4. When you use replication for high-availability, you have to deal with the side-effects of replication.
  5. To understand the run-time issues, we have to closely examine execution semantics in distributed systems…. Even in case of failures, it should appear that everything executed exactly once. However, roll-forward recovery makes it particularly harder. Although parts of the request are executed multiple time physically, the outcome should be as if everything executed exactly once.
  6. Solution to rectifythe side-effects of replication depends upon whether system is deterministic or non-deterministic.
  7. We came up with the group-failover protocol. The key characteristic of group-failover protocol is that the failover granularity is greater than 1. Instead of a single component failover, there is group-failover.
  8. Conventionally …. The granularity of failover….However, I’ll present 3 scenarios here that argue for failover granularity larger than a single component.
  9. To ensure these characteristics, five things must take place accurately in group-failover
  10. For identifying orphan components as well, we can exploit model-driven techniques …. To overcome that problem we came up with static strategies to determine the extent of the orphan group.
  11. During the course of earlier research, I observed that object structure traversals are needed in all the phases of lifecycle. They manifest in two forms. First is model traversals needed for model transformation &amp; model interpretation. Secondly, for XML processing for configuration of middleware.
  12. These object structures are often governed by a static schema…. For improved type-safety, data-binding tools are used….
  13. All this magic is made possible due to an extension of the schema-driven development process
  14. Several traversal patterns were replaced by LEESA axis-oriented expressions
  15. In short, better days are ahead for C++ meta-programming!