SlideShare a Scribd company logo
1 of 77
Download to read offline
Dependable Systems
!
Summary
Dr. Peter Tröger

Lena Herscheid
Dependable Systems Course PT 2014
Dependability
• Umbrella term for operational requirements on a system

• IFIP WG 10.4: "[..] the trustworthiness of a computing system which allows reliance
to be justifiably placed on the service it delivers [..]"

• IEC IEV: "dependability (is) the collective term used to describe the availability
performance and its influencing factors : reliability performance, maintainability
performance and maintenance support performance"

• Laprie: „ Trustworthiness of a computer system such that 

reliance can be placed on the service it delivers to the user “

• Adds a third dimension to system quality

• General question: How to deal with unexpected events ?

• In German: ,Verlässlichkeit‘ vs. ,Zuverlässigkeit‘

2
Dependable Systems Course PT 2014
Course Topics
• Definitions and metrics

• Fault, error, failure, fault models, fault tolerance, fault forecasting, ...

• Reliability, availability, maintainability, error mitigation, damage confinement, ...

• Reliability engineering, reliability testing, MTTF, MTBF, failure rate, ...

• Fault tolerance patterns

• N-out-of-M, voting, heartbeat, ...

• Analytical evaluation

• Reliability block diagrams, fault tree analysis, ...

• Petri nets, Markov chains

• Root cause analysis, risk analysis and assessment
3
Dependable Systems Course PT 2014
Course Topics
• Hardware-Implemented Dependability

• Failure rates, testing, hardware redundancy approaches 

• Software-Implemented Dependability

• Fault-tolerant programming: simplex, recovery blocks, checkpointing, roll-back, ...

• Testing, software metrics

• Fault-tolerant distributed systems: Transactions, consensus, clocks, ...

• Advanced approaches

• Autonomic computing, rejuvenation, online failure prediction, performability

• Case studies from practice
4
Dependable Systems Course PT 2014
Dependability Tree (Laprie)
5
Dependable Systems Course PT 2014
Dependability Stakeholders
• System - Entity with function, behavior, and structure

• A number of components or subsystems, which interact under the control of a
design [Robinson]

• Service - System behavior abstraction, as perceived by the user

• User - Human or physical system that interacts with the systems service

• Specification - Definition of expected service and delivery conditions 

• On different levels, can lead to specification fault

• Reliance demands assessment of non-functional dependability attributes
• Provide ability for trustworthy service delivery by dependability means
• Undesired (maybe expected) circumstances form dependability threats
6
Dependable Systems Course PT 2014
2 - Dependability Threats
• System failure - ,Ausfall‘

• Event that occurs when the service no longer complies with the specification /
deviates from the correct service.

• System error - ,Fehler(zustand)‘

• Part of system state that can lead to subsequent failure

• Some sources define errors as active faults - not in this course ... 

• System fault - ,Fehler(ursache)‘

• Adjudged or hypothesized cause of an error

• Failure occurs when error state alters the provided service

• Systems are build from connected components, which are again systems

• Fault is the consequence of a failure of some other system to deliver its service
7
Fault
Error
Failure
Dependable Systems Course PT 2014
Chain of Dependability Threats (Avizienis)
8
Fault
Error
Failure
Activation
Propagation
Causation
Fault
Dependable Systems Course PT 2014
Faults
• High diversity in possible sources and types

• Fault nature

• Accidental faults (,Zufallsfehler‘) vs. intentional faults (,Absichtsfehler‘)

• Intentional faults are created deliberately, presumably malevolently

• Fault origin viewpoints (not exclusive)

• Phenomenological causes: Physical / natural faults vs. human-made faults

• System boundaries: Internal faults (part of system state that produces an error)
vs. external faults (interference with the environment)

• Phase of creation: Design faults vs. operational faults

• Temporal persistence

• Permanent faults vs. temporary faults
9
Dependable Systems Course PT 2014
System-Level Fault Model
• Fault model idea originates from hardware

• How many faults of different classes can occur ? 

What do I tolerate ?

• Timing of faults: Fault delay, repeat time, recovery time, ...

• Also mappable to software or even complete systems

• Activities as black box, only look on input and output messages

• Link faults are mapped to the 

participating components

• Every participating component 

would need a fault model - 

pick the most urgent ones
10
Dependable Systems Course PT 2014
Error Propagation
11
(C) Avizienis
Dependable Systems Course PT 2014
Error Message Occurrence (Hansen & Siewiorek)
• Same fault can lead to different (detected or undetected) errors

• Errors become detected by error detection mechanism

• Some undetected errors are detected by several detectors

• Some detectors report several undetected errors as one

• Some undetected errors are never uncovered 

• Detected errors might not be logged, if the system stops too fast
12
Dependable Systems Course PT 2014
Failures
• Non-compliance with the specification - arbitrary failure (‘willkürlicher Ausfall‘)
• System failures can be further categorized in failure modes
• Fail-silent / crash failure mode - incorrect results are not delivered

• Fail-stop mode - constant value is delivered

• Failure mode domain - what is influenced

• Service result - value failures
• Service timeliness - timing failures

• Service availability - stopping failures
• User perception in the mode - consistent / inconsistent for all users

• Failure mode consequences for ranking the identified issues
13
Dependable Systems Course PT 2014
Failure Severity (,Schweregrad des Ausfalls‘)
• Denotes consequences of failure
• Benign failures (,unkritische Ausfälle‘)

• Failure costs and operational benefits are similar

• Sometimes also umbrella term for failures only detected by inspection

• A system with only such failures is fail-safe

• Catastrophic failures (,kritische Ausfälle‘)

• Costs of failure consequences are much larger than service benefit

• Significant / serious failures - Intermediate steps expressing reduced service

• Grading of failure consequences on overall system depends on application

• Flying airplane - Catastrophic stopping failure, Train - Benign stopping failure

• Criticality - Highest severity of possible failure modes in the system
14
Dependable Systems Course PT 2014
Example: DO-178B Standard
15
Dependable Systems Course PT 2014
3 - Means for Dependability
• Fault prevention - Prevent fault occurrence or introduction

• Fault tolerance - Provide service matching the specification under faults

• Fault removal - How to reduce the presence of faults

• Fault forecasting- Estimate the present number, future incidence, and the
consequences of faults

• Combined utilization
16
Dependable Systems Course PT 2014
Fault Tolerance
• Fault tolerance is the ability of a system to operate correctly in presence of faults. 

or

• A system S is called k-fault-tolerant with respect to a set of 

algorithms {A1, A2, ... , Ap} and a set of faults {F1, F2, ... , Fp} 

if for every k-fault F in S, Ai is executable by a subsystem of system S with k faults.
(Hayes, 9/76)

or

• Fault tolerance is the use of redundancy (time or space) to achieve the desired level
of system dependability - costs !

• Accepts that an implemented system will not be fault-free

• Implements automatic recovery from errors

• Is a recursive concept (voter replication, self-checking checkers, stable memory)
17
Error Processing
Dependable Systems Course PT 2014
Phases of Fault Tolerance (Hanmer)
18
Latent
Fault
Error
Normal
OperationFault
Activation
Error Recovery
Error Mitigation
Error
Detection
Fault
Treatment
Dependable Systems Course PT 2014
Fault Tolerance - Error Processing Through Recovery
• Forward error recovery

• Error is masked to reach again a consistent state (fault compensation)

• Corrective actions need detailled knowledge (damage assessment)

• New state is typically computed in another way

• Examples with compensation: Error correcting codes, non-journaling file
system check, advanced exception handlers, voters

• Backward error recovery

• Roll back to previous consistent state (recovery point / checkpoint) 

• Very suitable for transient faults

• Computation can be re-done with same components (retry), 

with alternate components (reconfigure), or can be ignored (skip frame)
19
Dependable Systems Course PT 2014
„Fail-Fast“
• A common concept from system engineering, company management, ...

• „Report failure and stop immediately without further action“
• Discussed by Jim Gray in 1985 as part of his famous article

„Why do computers stop and what can be done about it ?“

• Useful when benefit from recovery is not good enough for its costs, 

or if error propagation is highly probable

• Single units of a redundant set

• Deeply interwired IT system components

• Components under heavy request load

• And ... crappy start-up companies
20
Dependable Systems Course PT 2014
4 - Fault Tolerance Patterns
• Architectural patterns
• Considerations that cut across all parts of the system

• Need to be applied in early design phase

• Detection patterns
• Detect the presence of root faults, error states, and failures

• Errors vs. failures -> a-priori knowledge vs. comparison of redundant elements

• Error Recovery Patterns
• Methods to continue execution in a new error-free state

• Undoing the error effects + creating the new state
21
Dependable Systems Course PT 2014
4 - Fault Tolerance Patterns
• Error Mitigation Patterns
• Do not change application or system state, 

but mask the error and compensate for the effects

• Typical strategies for timing or performance faults

• Fault Treatment Patterns
• Prevent the error from reoccurring by repairing the fault

• System verification

• Diagnosis of fault location and nature

• Correction of the system and / or the procedures
22
Dependable Systems Course PT 2014
5 - Attributes of Dependability
• Non-functional attributes such as reliability and maintainability

• Complementary nature of viewpoints in the area of dependability

• In comparison to functional properties

• ... hard to define

• ... hard to abstract

• ... ,Divide and conquer‘ does not work as good

• ... difficult interrelationships

• ... often probabilistic dependencies
23
Dependable Systems Course PT 2014
In Detail
• Reliability - Function R(t) 

• Probability that a system is functioning properly and constantly over time period t

• Assumes that system was fully operational at t=0

• Denotes failure-free interval of operation
• Availability - Statement if a system is operational at a point in time / fraction of time

• Describe system behavior in presence of error treatment mechanisms 

• Instantaneous availability (at t) - Probability that a system is performing
correctly at time t; equal to reliability for non-repairable systems: Ai(t) = R(t)

• Steady-state availability - Probability that a system will be operational at any
random point of time, expressed as the fraction of time a system is operational
during its expected lifetime: As = Uptime / Lifetime
24
Dependable Systems Course PT 2014
Why Exponential ?
• Distribution function that models the memoryless property of the Poisson process
• P(T > t + s|T > t) = P(T > s), e.g. PFailure(5 years|T > 2 years) = PFailure(3 years)

• Failure is not the result of wear-out

• Models ,intrinsic failure‘ behavior, assumed for the majority of hardware life time

• Weibull distribution as alternative, can also model tear-in and wear-out

• Some natural phenomena have constant failure rate (e.g. cosmic ray particles)
25
Dependable Systems Course PT 2014
Variable Failure Rate in Real World
26
Burn in Use Wear out Integration
& Test
Use Obsolete
Hardware Software
• Failure rate is treated as constant parameter of the exponential distribution

• (maybe invalid) simplification, mostly combined solution in practice:

• Exponential distribution when failure rate is constant

• Weibull distribution when failure rate is monotonic decreasing / increasing
• Mean time to failure (MTTF) - 

Average time it takes to fail

-> average uptime

• Mean time to recover / repair (MTTR) -
Average time it takes to recover

• Mean time between failures (MTBF) -
Average time between two successive failures

• Availability = Uptime / Lifetime

= MTTF / MTBF
Dependable Systems Course PT 2014
Steady-State Availability
27
up down up
MTBF
down up
up
C1
up
C3
up
C2
MTTF
Dependable Systems Course PT 2014
Steady-State Availability
28
Availability Downtime per year Downtime per week
90.0 % (1 nine) 36.5 days 16.8 hours
99.0 % (2 nines) 3.65 days 1.68 hours
99.9 % (3 nines) 8.76 hours 10.1 min
99.99 % (4 nines) 52.6 min 1.01 min
99.999 % (5 nines) 5.26 min 6.05 s
99.9999 % (6 nines) 31.5 s 0.605 s
99.99999 % (7 nines) 0.3 s 6 ms
A = Uptime
Uptime+Downtime = MT T F
MT T F +MT T R
Dependable Systems Course PT 2014
MTTR << MTTF [Fox]
• Armando Fox on ,Recovery-Oriented Computing‘

• A = MTTF / (MTTF + MTTR)

• 10x decrease of MTTR as good as 10x increase of MTTF ?

• MTTF‘s are not claimable, but MTTR claims are verifiable

• Proving MTTF numbers demands system-years of observation and experience

• Lowering MTTR directly improves user experience of one specific outage, 

since MTTF is typically longer than one user session

• HCI factor of failed system

• Miller, 1968: >1sec “sluggish”, >10sec “distracted” (user moves away)

• 2001 Web user study: ~5sec „acceptable”, ~10sec „excessively slow“
29
Dependable Systems Course PT 2014
6 - Dependability Modeling
• Default approach: Utilize a formalism to model system dependability

• Quantify the availability of components, calculate system availability based on this
data and a set of assumptions (the availability model)

• Most models expose the same expressiveness

• Each formalism allows to focus on certain aspects

• Structure-based models: Reliability block diagram, fault tree

• State-based models: Markov chain, petri net

• System understanding evolved from hardware to software to IT infrastructures

• Example: Organization management influence on business service reliability

• Information Technology Infrastructure Library (ITIL)

• CoBiT(Control Objectives for Information and related Technology)
30
Dependable Systems Course PT 2014
Dependability Modeling
• The Failure Space-Success Space concept

• Often easier to agree on what constitutes a system failure

• Success tends to be associated with system efficiency, which makes it harder to
formulate events in the model („The car drives fast.“, „The car stops driving.“)

• In practice, there are more ways to success than to failure
31
Fault Tree Handbook with Aerospace Applications Version 1.1
2. System Logical Modeling Approaches
2.1 Success vs. Failure Approaches
The operation of a system can be considered from two standpoints: the various ways for system
success can be enumerated or the various ways for system failure can be enumerated. Such an
enumeration would include completely successful system operation and total system failure, as
well as intermediate conditions such as minimum acceptable success. Figure 2-1 depicts the
Failure/Success space concept.
Figure 2-1. The Failure Space-Success Space Concept
Dependable Systems Course PT 2014
Dependability Modeling
• System analysis approaches

• Inductive methods - Reasoning from specific cases to a general conclusion

• Postulate a particular fault or initiating event, find out system effect

• Determine what system (failure) states are possible

• Trivial approach: „parts count“ method

• Examples: Failure Mode and Effect Analysis (FMEA), Preliminary Hazards
Analysis (PHA), Event Tree Analysis, Reliability Block Diagrams (RBD), ...

• Deductive methods - Postulate a system failure, find out what system modes or
component behaviors contribute to this failure

• Determine how a particular system state can occur

• Examples: Fault Tree Analysis (FTA)
32
S = cLB (cW S1 ⇥ cW S2) (cDB1 ⇥ cDB2)
Asite = aLB ⇥ AW Sset ⇥ ADBset
= aLB ⇥ [1 (1 aW S)nW S
] ⇥ [1 (1 aDB)nDB
]
Dependable Systems Course PT 2014
Examples
33
aWS
aWS
aDB
aDB
aLB
Dependable Systems Course PT 2014
Reliability Block Diagrams (RBD)
• Model logical interaction for success-oriented analysis of system reliability

• Building blocks: series structure, parallel structure, k-out-of-n structure

• System is available only if there is a path between s and t
• Granularity based on data and lowest actionable item concept

• Structure formula can be obtained from RBD by identifying the 

subset of nodes that disconnects s from t if removed
34
s t
A1
A2
A3
A4
B
Spare
C
D
E
2/3
C
C
D
D
E
E
Dependable Systems Course PT 2014
Deductive Analysis - Fault Trees
• Structure analysis effort grows exponentially with the number of components

• Fault Trees

• Invented 1961 by H. Watson (Bell Telephone Laboratories)

• Facilitate analysis of the launch control system of the intercontinental
Minuteman missile 

• Used by Boeing since 1966, meanwhile adopted by different industries

• Root cause analysis, risk assessment, safety assessment

• Basic idea 

• Technique for describing the possible ways in which an 

undesired system state can occur

• Complex system failures are broken down into basic events
35
Example: 2-of-3 System
State-Based Modeling | Dependable Systems 2014 24
The complexity of the petri net does not
depend on the number of components!
Dependable Systems Course PT 2014
7 - State-Based Modeling
• Structural vs. state-based modeling

• State Transition Diagrams

• Markov Chains

• Petri Nets
36
37
State-Based Modeling | Dependable Systems 2014 34
Dependable Systems Course
Real World
Systems
Model
Solution
Technique
Evaluations
Input
Parameters
Modeling Errors
• Structural Errors: Initial state,
missing or extra states / transitions
• Error Propagation Model
• Parametric Models: Failure and repair rates,
coverage parameters
• Errors due to non-independence
Solution Errors
• Approximation Errors: System partition, state aggregation
• Numerical Errors: Truncation, Round-off
• Programming Errors
• Estimation Errors: Stochastic estimators, not enough data
Parametric Errors
• Different component parameter sources
• Projected stress factors assume unrealistic
operational conditions
Dependable Systems Course PT 2014
8 - Qualitative Dependability Investigation
• Different approaches that focus on structural (qualitative) system evaluation

• Root cause analysis

• Broad research / industrial topic targeting error diagnosis

• Specialized topic in quality methodologies

• Development process investigation

• Procedures for ensuring industry quality in production

• Software development process

• Organizational investigation

• Non-technical influence factors on system reliability
38
Dependable Systems Course PT 2014
FMEA
• Failure Mode and Effects Analysis
• Engineering quality method for early concept phase - identify and tackle weak points

• Introduced in the late 1940s for military usage (MIL-P-1629)

• Later also used for aerospace program, automotive industry, 

semiconductor processing, software development, healthcare, ...

• Main goal is to identify and prevent critical failures

• Performed by cross-functional team of subject matter experts
• Most important task in many reliability programs

• Six Sigma certification, reliability-centered maintenance (RCM) approach

• Automotive industry (ISO16949, SAE J1739)

• Medical devices
39
Dependable Systems Course PT 2014
Hazard & Operability Studies (HAZOPS)
• Process for identification of potential hazard & operability problems,

caused by deviations from the design intend

• Difference between deviation (failure) and its cause (fault)

• Conduct intended functionality in the safest and most effective manner

• Initially developed to investigate chemical production processes, 

meanwhile for petroleum, food, and water industries

• Extended for complex (software) systems

• Qualitative technique

• Take full description of process and systematically question every part of it

• Assess possible deviations and their consequences

• Based on guide-words and multi-disciplinary meetings
40
Dependable Systems Course PT 2014
Root Cause Analysis
• What caused the fault ? - Starting point of dependability chain

• Peeling back the layers

• Must be performed systematically as an investigation

• Establish sequence of events / timeline
41
(C) Avizienis
Dependable Systems Course PT 2014
Reliability Models for IT Infrastructures
• System reliability in a commercial environment is determined by many factors:

• Software and hardware reliability

• Training of maintenance personnel

• „Business processes“ how maintenance is handled

• The way the IT department is organized

• ...

• Impact of management organization on reliability is an emerging research field

• Standards for IT organization, based on best practices

• Describe which processes have to be established in an IT department

• Provide reference models for organization of IT department
42
Dependable Systems Course PT 2014
CMMI Maturity Levels
43
(C)Wikipedia
Dependable Systems Course PT 2014
ITIL
• Information Technology Infrastructure Library (ITIL), latest version v3

• Started as set of recommendations by the UK Government

• Concepts and guides for IT service management

• Supports to deliver business-oriented 

quality IT services

• Core publications: Service Strategy, 

Service Design, Service Transition, 

Service Operation, 

Continual Service Improvement

• Broad tool support from vendors

• High costs for certification and training

• Methodology sometimes over-respected at 

the expense of pragmatism
44
Dependable Systems Course PT 2014
9 - Predicting System Reliability
• Feasibility evaluation for given model, identification of potential problem sources

• Comparison of competing designs

• Identification of potential reliability problems - low quality, over-stressed parts

• Input to other reliability-related tasks

• Maintainability analysis, testability evaluation

• Failure modes and effects analysis (FMEA)

• Ultimate goal is the prediction of system failures by a reliability methodology

• Approach depends on nature of component (electrical, electronic, mechanical)
45
Dependable Systems Course PT 2014
Reliability Data
• Field (operational) failure data
• Meaningful source of information, experience from real world operation

• Operational and environmental conditions may be not fully known

• Service life data with / without failure
• Helpful in assessing time characteristics of reliability issues

• Data from engineering tests
• Example: Accelerated life tests

• Results from controlled environment

• Trustworthy for analysis purposes

• Lack of failure information is the ,greatest deficiency‘ in reliability research [Misra]
46
Dependable Systems Course PT 2014
Reliability Prediction Models
• Economic requirements affect field-data availability

• Customers do not need generic field data, so collection is extra effort

• Numerical reliability prediction models available for specific areas

• Hardware-oriented reliability modeling
• MIL-HDBK-217, Bellcore Reliability Prediction Program, ...

• Software-oriented reliability modeling
• Jelinski-Moranda model, Basic Execution model, software metrics, ...

• Prediction models look for corrective factors, so they are always focused

• Demands confidence in understanding of environmental conditions

• Reconciliation is often needed between the different values of failure data from
various sources
47
Dependable Systems Course PT 2014
Software Reliability Assessment
• Software bugs are permanent faults, but behave as transient faults

• Activation depends on software usage pattern and input values

• Timing effects with parallel or distributed execution

• Software aging effects

• Fraction of system failures reasoned by software increased in the last decades

• Possibilities for software reliability assessment

• Black box models - No details known, observations from testing or operation

• Reliability growth models

• Software metric models - Derive knowledge from static code properties
48
Dependable Systems Course PT 2014
Halstead Metric
• Statistical approach - Complexity is related to number of operators and operands

• Only defined on method level, OO code analysis must consider additional structure

• Program length N = Number of operators NOP + total number of operands NOD
• Vocabulary size n = Number of unique operators nOP + number of unique operands nOD
• Program volume V = N * log2(n)

• Describes size of an implementation by vocabulary and (mainly) by program length

• In-place changes are ok ...

• Difficulty level D = (nOP / 2) * (NOD / nOD), program level L = 1 / D
• Error proneness is proportional to number of unique operators 

-> since most languages only offer a few, this should be small 

• Also proportional to the level of operand reuse through the code
49
x = x + 1;
NOP=nOP=3
NOD=3
nOD=2
Dependable Systems Course PT 2014
10 - Distributed Systems Theory
• Fallacies of Distributed Computing

• The network is reliable, Latency is zero, Bandwidth is infinite, The network is
secure, Topology doesn’t change, There is one administrator, Transport cost is
zero, The network is homogeneous

• Timing Models

• Logical time, Lamport clocks

• Fault Models

• Consensus Problems

• 2PC

• Paxos
50
Asynchronous*
Par-ally*synchronous*
Synchronous*
Dependable Systems Course PT 2014
11 - Fault-Tolerant Distributed Systems
• Consistency Models

• Strict consistency, sequential consistency, eventual consistency

• Trade-Offs

• Brewer, CAP Theorem

• Replication

• State Machine Replication, …
51
P1# W(x)#!#a#
P2# R(x)#!#a#
P1# W(x)#!#a#
P2# R(x)#!#NIL# R(x)#!#a#
Dependable Systems Course PT 2014
12 - Dependable Distributed Applications
• Frameworks - Erlang / FT-CORBA

• Coordination Services

• Chubby, Zookeeper

• Distributed Storage

• Cassandra, RIAK, HDFS …
52
Dependable Systems Course PT 2014
13 - Hardware Diagnosis
• Contains of fault detection (what ?) and fault location (where ?)

• Fault detection

• Replication checks - Test operation / execution against alternate implementation

• Timing checks - Test operation / execution against timing constraints

• Reversal checks - Make use of operation reversibility

• Coding checks - Utilize redundant (but different) representation of data

• Reasonableness checks - Check against known system / data properties

• Structural checks - Ensure consistent structure of data, diagnostic tests, ...

• Diagnostic checks - Use set of inputs for which the outputs are known

• Algorithmic checks - Check invariants of an algorithm
53
Dependable Systems Course PT 2014
14 - Hardware Redundancy
• Redundancy for error detection and forward error recovery

• Redundancy types: spatial, temporal, informational (presentation, version)

• Redundant not mean identical functionality, just perform the same work

• Static redundancy implements error mitigation

• Fault does not show up, since it is transparently removed

• Examples: Voting, error-correcting codes, N-modular redundancy 

• Dynamic redundancy implements error processing
• After fault detection, the system is reconfigured to avoid a failure

• Examples: Back-up sparing, duplex and share, pair and spare

• Hybrid approaches
54
Dependable Systems Course PT 2014
Sphere of Replication
• Components outside the
sphere must be protected by
other means

• Level of output comparison
decides upon fault coverage

• Larger sphere tends to
decrease the required
bandwidth on input and output

• More state changing
happens just inside the
sphere

• Vendor might be restricted on
choice of sphere size
55
HDD HDD
Input Replication
Output
Comparison
I/O Bus
HDD HDD
Input Replication
Output
Comparison
HDD HDD
Controll
er
Controll
er
RAID1
RAID10
Dependable Systems Course PT 2014
Masking / Static Redundancy: Voting
• Exact voting: Only one correct result possible 

• Majority vote for uneven module numbers

• Generalized median voting - Select result that is the median, 

by iteratively removing extremes

• Formalized plurality voting - Divide results in partitions, 

choose random member from the largest partition

• Inexact voting: Comparison at high level might lead to multiple correct results

• Non-adaptive voting - Use allowable result discrepancy, put boundary on
discrepancy minimum or maximum (e.g. 1,4 = 1,3)

• Adaptive voting - Rank results based on past experience with module results

• Compute the correct value based on „trust“ in modules from experience

• Example: Weighted sum R=W1*R1 + W2*R2 + W3*R3 with W1+W2+W3=1
56
Voter
A B C
Dependable Systems Course PT 2014
N-Modular Redundancy (with perfect voter)
57
Module 1
Module 2
Module 3 Voter
...
Module N
Input Output
RNMR =
mX
i=0
✓
N
i
◆
(1 R)i
RN i
✓
n
k
◆
=
n!
k!(n k)!
R2 of 3 =
✓
3
0
◆
(1 R)0
R3
+
✓
3
1
◆
(1 R)R2
R2 of 3 = R3
+ 3(1 R)R2
R3 of 5 = ...
• Special cases for combination of duplex (with comparator) and sparing (with switch)

• Pair and spare - Multiple duplex pairs, connected as standby sparing setup 

• Two replicated modules operate as duplex pair (lockstep execution), 

connected by comparator as voting circuit

• Same setting again as spare unit, 

spare units connected by switch

• On module output mismatch, comparators 

signal switch to perform failover

• Commercially used, e.g. Stratus XA/R Series 300
Dependable Systems Course PT 2014
Pair and Spare
58
MODULES
1
2
3
OUTPUTINPUT
COMPARATOR
4 COMPARATOR
SWITCH/COMPARATOR
Dependable Systems Course PT 2014
Hybrid Approaches
• N-modular redundancy 

with spares
• Also called hybrid redundancy

• System has basic NMR 

configuration

• Disagreement detector replaces

modules with spares if their 

output is not matching

the voting result

• Reliability as long as the spare pool is not exhausted

• Improves fault masking capability of NMR

• Can tolerate two faults with one spare, while classic NMR would need 5
modules with majority voting to tolerate two faults
59
Adds fault
localization
Dependable Systems Course PT 2014
Coding Checks in Memory Hardware
• Primary memory
• Parity code

• m-out-of-n resp. m-of-n resp. m/n code

• Checksumming

• Berger Code

• Hamming code

• Secondary storage
• RAID codes

• Reed-Solomon code
60
Dependable Systems Course PT 2014
Memory Redundancy
• Standard technology in DRAMs

• Bit-per-byte parity, check on read access

• Implemented by additional parity memory chip

• ECC with Hamming codes - 7 check bits for 32 bit data words, 8 bit for 64 bit 

• Leads to 72 bit data bus between DIMM and chipset

• Computed by memory controller on write, checked on read

• Study by IBM: ECC memory achieves R=0.91 over three years

• Can correct single bit errors and detect double bit errors

• Hewlett Packard Advanced ECC (1996)

• Can detect and correct single bit and double bit errors
61
Dependable Systems Course PT 2014
RAID
• Redundant Array of Independent Disks (RAID) [Patterson et al. 1988]

• Improve I/O performance and / or reliability by building raid groups

• Replication for information reconstruction on disk failure (degrading)

• Requires computational effort (dedicated controller vs. software)

• Assumes failure independence
62
Dependable Systems Course PT 2014
Parity With XOR
• Self-inverse operation

• 101 XOR 011 = 110, 110 XOR 011 = 101
63
Disk Byte
1 1 1 0 0 1 0 0 1
2 0 1 1 0 1 1 1 0
3 0 0 0 1 0 0 1 1
4 1 1 1 0 1 0 1 1
Parity 0 1 0 1 1 1 1 1
Disk Byte
1 1 1 0 0 1 0 0 1
Parity 0 1 0 1 1 1 1 1
3 0 0 0 1 0 0 1 1
4 1 1 1 0 1 0 1 1
Hot Spare 0 1 1 0 1 1 1 0
Dependable Systems Course PT 2014
15 - Software Dependability
• Fault elimination

• Reduce number of dormant faults at development time

• Fault-tolerant software

• Techniques to achieve fault tolerance for software faults

• Application of redundancy idea to software modules

• Software fault tolerance

• Techniques to achieve fault tolerance by software mechanisms

• Typically for hardware failures on lower levels in the system stack

• Redundancy managed by operating system, cluster framework, application code
64
Dependable Systems Course PT 2014
Fault Elimination through Software Testing
65
(C) Ian Sommerville
Responsibility of
the component
developer, based
on experience
Responsibility of an
independent testing
team, based on
specification
Black-Box
Tests
Access to source
code, tested while
components are
integrated
Steadily
increasing
load
Excess
maximum
design load
Dependable Systems Course PT 2014
Testing Through Software Fault Injection
• Intentionally trigger erroneous behavior of the execution environment

• Typical approach for communicating software entities

• Orientation towards implementation details - program state, functional behavior

• Several non-intrusive implementation techniques, such as AOP

• Injection can be done as part of execution under real conditions

• Huge variety of fault classes, including SWIFI fault classes

• New approaches support remote fault injection (e.g. fuzzing)

• Compile-time injection: Leads to erroneous image being executed

• Run-time injection: Demands some altering of application state during runtime

• Typical triggers: Time-out, exception, debugging trap, code insertion
66
Dependable Systems Course PT 2014
Software Fault Model [Goloubeva]
• Example: Control loop writing computation result to a variable

• Temporary fault: Write NULL to result variable after end of usage

• Permanent fault: Compute and store incorrect output from input data

• Single vs. multiple faults depends on granularity level of investigation

• On source code level

• Program: Structured collection of features with syntax and semantic

• Syntax allows to describe fault model

• Negation of semantic properties defines a fault model

• Examples: Calling non-existent functions, Functions not returning a value, values
out of their type range, missing input parameters 

• On executable level, e.g. stack overflow due to recursion
67
Dependable Systems Course PT 2014
Fault-Tolerant Software -
Another categorization [Lyu 95]
• Single version techniques
• Add mechanisms for detection, containment, and handling of errors to the
software component itself

• Examples: Software structure and actions approaches, error detection, 

exception handling, checkpointing and restart, process pairs, data diversity

• Multi version techniques
• Rely on structured utilization of variants of the same software

• Examples: Recovery blocks, N-version programming

• Principles can be applied to any software layer

• Identify source of most design faults

• Typically no problem with parallel application, beside cost factor
68
Dependable Systems Course PT 2014
Single-Version Approaches -
Wrapper
• Piece of software that encapsulates a given program when it is being executed

• Typical approach for operating systems and middleware stacks

• Structure: Wrapper software and wrapped entity

• Inputs and outputs are checked by the wrapper

• Examples:

• Dealing with buffer overflow, checking scheduler correctness (e.g., EDF),
bypassing known bugs, checking output correctness

• When pre- or postconditions are violated, usually an exception is being raised

• Wrapper forms an acceptance test in the dependability rings

• Good approach for fixing issues in the operational phase of software
69
• Save application state data at recovery points

• Can be reloaded on crash or any other kind 

of data loss

• Possible on different levels: local per process, 

partial, complete, distributed

• Optimum checkpointing interval

• Checkpointing too frequent: Majority of time spent for data saving

• Checkpointing too rare: May take long time to recover

• Several specialized solutions for C / C++ language, easier with reflection support

• Popular approach in clusters / high-performance computing

• Latest trend: In-memory checkpointing
Dependable Systems Course PT 2014
Single Version Approaches -
Checkpointing
70
taken from 

Software Fault Tolerance: A Tutorial
Dependable Systems Course PT 2014
Single Version Approaches -
Data Diversity [Ammann 88]
71
takenfrom

SoftwareFaultTolerance:ATutorial
Dependable Systems Course PT 2014
Single Version Approaches -
High-Level Instruction Duplication [Goloubeva]
• Introduce data and code redundancy through
high-level transformation

• Duplicate every variable

• Perform every write operation on both copies
of the variable

• After each read operation, the copies must be
checked for consistency

• Should be close to read operation, 

in order to avoid error propagation

• Includes also expression evaluation

• Procedure parameters treated as variables

• Independent from underlying hardware, 

targets cache / main memory faults 

72
a=b;
.. becomes ...
a0=b0;
a1=b1;
if (b0 != b1)
error();
...
a=b+c;
... becomes ...
a0=b0+c0;
a1=b1+c1;
if ((b0!=b1)||(c0!=c1))
error();
Dependable Systems Course PT 2014
Control Flow Error
• Control flow error (CFE) leads to unexpected instruction
execution

• Terminology: 

• Basic block (BB) - branch-free serial code fragment

• Branch / jump instruction is modeled as last instruction
of a basic block

• Control flow graph (CFG) - one node per basic block

• Illegal branch - Node transition is not part of the CFG

• Wrong branch - Node transition is already part of the CFG

• Inter-block error - Erroneous branch to different block

• Intra-block errors - Erroneous branch inside a block
73
i=0;
while(i<n) {
------------------
if (a[i] < b[i])
------------------
x[i]=a[i];
------------------
else
x[i]=b[i];
------------------
i++;
}
------------------
BB 0
BB 1
BB 2 BB 3
B 4
BB 5
Dependable Systems Course PT 2014
Multi-Version Approaches
Recovery Blocks
• Redundant system
implementations are
typically used
simultaneously, 

best answer is picked i.e.
by voting

• Alternative way:
Sequential execution of
recovery blocks
• Introduced in 1974 by
Horning et. al.

• Dynamic fault tolerance
approach, related to
stand-by sparing in
hardware
74
establish Checkpoint
Primary Module
Acceptance Test, else
load Checkpoint
Alternative Module 1
Acceptance Test, else
load Checkpoint
Alternative Module 2
...
else Failure Exception
Dependable Systems Course PT 2014
Multi-Version Approaches -
N-Version Programming
• Common mode errors are only catchable by design diversity
• Design diversity is a complex issue

• Design philosophies, software tools, programming languages, test philosophies

• Typical approaches try to utilize randomness - separate teams on different locations

• N-Version Programming
• Suggested by Elmendorf in 1972, developed by Avizienis & Chen in 1977

• Static approach, combination of decision mechanism and forward recovery

• At least two independently designed and functionally equivalent variants

• Variants are executed in parallel, decision mechanism selects the „best“ result

• Can support reliability, but also system security against malicious logic
75
Dependable Systems Course PT 2014
Simplex
• Idea: Using simplicity to control complexity

• Forward recovery approach, based on feedback loop

• HAC subsystem - Simple construction, formal methods, reliable hardware

• HPC subsystem - Complex technology, advanced features

• HPC can use HAC output, but not vice versa

• Decision logic based on control loop output

• Typically performance degredation with HAC

• Example: Boeing 777 primary and secondary 

flight controller
76
77

More Related Content

What's hot

Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)Peter Tröger
 
Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)Peter Tröger
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.Peter Tröger
 
OpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsOpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsPeter Tröger
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance Systemprakashjjaya
 
Fault tolearant system
Fault tolearant systemFault tolearant system
Fault tolearant systemarvinthsaran
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computingPalani murugan
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systemsleo3004
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tspPradeep Kumar TS
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault ToleranceAnkit Singh
 
Fault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemFault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemanujos25
 
Fault tolerant presentation
Fault tolerant presentationFault tolerant presentation
Fault tolerant presentationskadyan1
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance SystemEhsan Ilahi
 
Availability tactics
Availability tacticsAvailability tactics
Availability tacticsahsan riaz
 

What's hot (20)

Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)Dependable Systems - Hardware Dependability with Redundancy (14/16)
Dependable Systems - Hardware Dependability with Redundancy (14/16)
 
Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)Dependable Systems - Hardware Dependability with Diagnosis (13/16)
Dependable Systems - Hardware Dependability with Diagnosis (13/16)
 
What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.What activates a bug? A refinement of the Laprie terminology model.
What activates a bug? A refinement of the Laprie terminology model.
 
OpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissionsOpenSubmit - How to grade 1200 code submissions
OpenSubmit - How to grade 1200 code submissions
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
 
Fault tolearant system
Fault tolearant systemFault tolearant system
Fault tolearant system
 
Fault tolerance and computing
Fault tolerance  and computingFault tolerance  and computing
Fault tolerance and computing
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
 
Fault tolerance techniques tsp
Fault tolerance techniques tspFault tolerance techniques tsp
Fault tolerance techniques tsp
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault Tolerance
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Fault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemFault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating system
 
Fault tolerant presentation
Fault tolerant presentationFault tolerant presentation
Fault tolerant presentation
 
SRE Tools
SRE ToolsSRE Tools
SRE Tools
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
 
Fault tolerance techniques
Fault tolerance techniquesFault tolerance techniques
Fault tolerance techniques
 
Voting protocol
Voting protocolVoting protocol
Voting protocol
 
Availability tactics
Availability tacticsAvailability tactics
Availability tactics
 
Sw testing
Sw testingSw testing
Sw testing
 

Similar to Dependable Systems - Summary (16/16)

Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Peter Tröger
 
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography & Mass Spectrometry Solutions
 
HA & DR System Design - Concepts and Solution
HA & DR System Design - Concepts and SolutionHA & DR System Design - Concepts and Solution
HA & DR System Design - Concepts and SolutionContinuity and Resilience
 
Software Reliability_CS-3059_VISHAL_PADME.pptx
Software Reliability_CS-3059_VISHAL_PADME.pptxSoftware Reliability_CS-3059_VISHAL_PADME.pptx
Software Reliability_CS-3059_VISHAL_PADME.pptxVishalPadme2
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05Luktalja
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testingRichard Bishop
 
IT6701 Information Management - Unit II
IT6701 Information Management - Unit II   IT6701 Information Management - Unit II
IT6701 Information Management - Unit II pkaviya
 
What is onTune for management
What is onTune for managementWhat is onTune for management
What is onTune for managementTeemStone Pty Ltd
 
basic concepts of reliability
basic concepts of reliabilitybasic concepts of reliability
basic concepts of reliabilitydennis gookyi
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes arvind pandey
 
Comp8 unit9a lecture_slides
Comp8 unit9a lecture_slidesComp8 unit9a lecture_slides
Comp8 unit9a lecture_slidesCMDLMS
 
Reliability Levels of Subsea Production Systems During Operations
Reliability Levels of Subsea Production Systems During OperationsReliability Levels of Subsea Production Systems During Operations
Reliability Levels of Subsea Production Systems During OperationsLloyd's Register Energy
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.Khushboo Shaukat
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Testing software
Testing softwareTesting software
Testing softwareBlueTree5
 

Similar to Dependable Systems - Summary (16/16) (20)

Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)Dependable Systems - System Dependability Evaluation (8/16)
Dependable Systems - System Dependability Evaluation (8/16)
 
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
Chromatography Data System: Getting It “Right First Time” Seminar Series – Pa...
 
HA & DR System Design - Concepts and Solution
HA & DR System Design - Concepts and SolutionHA & DR System Design - Concepts and Solution
HA & DR System Design - Concepts and Solution
 
metrics.ppt
metrics.pptmetrics.ppt
metrics.ppt
 
Software Reliability_CS-3059_VISHAL_PADME.pptx
Software Reliability_CS-3059_VISHAL_PADME.pptxSoftware Reliability_CS-3059_VISHAL_PADME.pptx
Software Reliability_CS-3059_VISHAL_PADME.pptx
 
Software archiecture lecture05
Software archiecture   lecture05Software archiecture   lecture05
Software archiecture lecture05
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
IT6701 Information Management - Unit II
IT6701 Information Management - Unit II   IT6701 Information Management - Unit II
IT6701 Information Management - Unit II
 
What is onTune for management
What is onTune for managementWhat is onTune for management
What is onTune for management
 
basic concepts of reliability
basic concepts of reliabilitybasic concepts of reliability
basic concepts of reliability
 
Unit 2-software development process notes
Unit 2-software development process notes Unit 2-software development process notes
Unit 2-software development process notes
 
Comp8 unit9a lecture_slides
Comp8 unit9a lecture_slidesComp8 unit9a lecture_slides
Comp8 unit9a lecture_slides
 
Reliability Levels of Subsea Production Systems During Operations
Reliability Levels of Subsea Production Systems During OperationsReliability Levels of Subsea Production Systems During Operations
Reliability Levels of Subsea Production Systems During Operations
 
Lec # 1 chapter 2
Lec # 1 chapter 2Lec # 1 chapter 2
Lec # 1 chapter 2
 
Non Functional Requirement.
Non Functional Requirement.Non Functional Requirement.
Non Functional Requirement.
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
22-REQUIREMENT.ppt
22-REQUIREMENT.ppt22-REQUIREMENT.ppt
22-REQUIREMENT.ppt
 
Critical Systems
Critical SystemsCritical Systems
Critical Systems
 
Testing software
Testing softwareTesting software
Testing software
 

More from Peter Tröger

WannaCry - An OS course perspective
WannaCry - An OS course perspectiveWannaCry - An OS course perspective
WannaCry - An OS course perspectivePeter Tröger
 
Cloud Standards and Virtualization
Cloud Standards and VirtualizationCloud Standards and Virtualization
Cloud Standards and VirtualizationPeter Tröger
 
Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2Peter Tröger
 
Design of Software for Embedded Systems
Design of Software for Embedded SystemsDesign of Software for Embedded Systems
Design of Software for Embedded SystemsPeter Tröger
 
Humans should not write XML.
Humans should not write XML.Humans should not write XML.
Humans should not write XML.Peter Tröger
 
Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Peter Tröger
 
Operating Systems 1 (12/12) - Summary
Operating Systems 1 (12/12) - SummaryOperating Systems 1 (12/12) - Summary
Operating Systems 1 (12/12) - SummaryPeter Tröger
 
Operating Systems 1 (8/12) - Concurrency
Operating Systems 1 (8/12) - ConcurrencyOperating Systems 1 (8/12) - Concurrency
Operating Systems 1 (8/12) - ConcurrencyPeter Tröger
 
Operating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsOperating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsPeter Tröger
 
Operating Systems 1 (7/12) - Threads
Operating Systems 1 (7/12) - ThreadsOperating Systems 1 (7/12) - Threads
Operating Systems 1 (7/12) - ThreadsPeter Tröger
 
Operating Systems 1 (1/12) - History
Operating Systems 1 (1/12) - HistoryOperating Systems 1 (1/12) - History
Operating Systems 1 (1/12) - HistoryPeter Tröger
 
Operating Systems 1 (2/12) - Hardware Basics
Operating Systems 1 (2/12) - Hardware BasicsOperating Systems 1 (2/12) - Hardware Basics
Operating Systems 1 (2/12) - Hardware BasicsPeter Tröger
 
Operating Systems 1 (11/12) - Input / Output
Operating Systems 1 (11/12) - Input / OutputOperating Systems 1 (11/12) - Input / Output
Operating Systems 1 (11/12) - Input / OutputPeter Tröger
 
Operating Systems 1 (3/12) - Architectures
Operating Systems 1 (3/12) - ArchitecturesOperating Systems 1 (3/12) - Architectures
Operating Systems 1 (3/12) - ArchitecturesPeter Tröger
 
Operating Systems 1 (6/12) - Processes
Operating Systems 1 (6/12) - ProcessesOperating Systems 1 (6/12) - Processes
Operating Systems 1 (6/12) - ProcessesPeter Tröger
 
Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Peter Tröger
 
Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Peter Tröger
 

More from Peter Tröger (17)

WannaCry - An OS course perspective
WannaCry - An OS course perspectiveWannaCry - An OS course perspective
WannaCry - An OS course perspective
 
Cloud Standards and Virtualization
Cloud Standards and VirtualizationCloud Standards and Virtualization
Cloud Standards and Virtualization
 
Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2
 
Design of Software for Embedded Systems
Design of Software for Embedded SystemsDesign of Software for Embedded Systems
Design of Software for Embedded Systems
 
Humans should not write XML.
Humans should not write XML.Humans should not write XML.
Humans should not write XML.
 
Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0Verteilte Software-Systeme im Kontext von Industrie 4.0
Verteilte Software-Systeme im Kontext von Industrie 4.0
 
Operating Systems 1 (12/12) - Summary
Operating Systems 1 (12/12) - SummaryOperating Systems 1 (12/12) - Summary
Operating Systems 1 (12/12) - Summary
 
Operating Systems 1 (8/12) - Concurrency
Operating Systems 1 (8/12) - ConcurrencyOperating Systems 1 (8/12) - Concurrency
Operating Systems 1 (8/12) - Concurrency
 
Operating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsOperating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management Concepts
 
Operating Systems 1 (7/12) - Threads
Operating Systems 1 (7/12) - ThreadsOperating Systems 1 (7/12) - Threads
Operating Systems 1 (7/12) - Threads
 
Operating Systems 1 (1/12) - History
Operating Systems 1 (1/12) - HistoryOperating Systems 1 (1/12) - History
Operating Systems 1 (1/12) - History
 
Operating Systems 1 (2/12) - Hardware Basics
Operating Systems 1 (2/12) - Hardware BasicsOperating Systems 1 (2/12) - Hardware Basics
Operating Systems 1 (2/12) - Hardware Basics
 
Operating Systems 1 (11/12) - Input / Output
Operating Systems 1 (11/12) - Input / OutputOperating Systems 1 (11/12) - Input / Output
Operating Systems 1 (11/12) - Input / Output
 
Operating Systems 1 (3/12) - Architectures
Operating Systems 1 (3/12) - ArchitecturesOperating Systems 1 (3/12) - Architectures
Operating Systems 1 (3/12) - Architectures
 
Operating Systems 1 (6/12) - Processes
Operating Systems 1 (6/12) - ProcessesOperating Systems 1 (6/12) - Processes
Operating Systems 1 (6/12) - Processes
 
Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)Operating Systems 1 (5/12) - Architectures (Unix)
Operating Systems 1 (5/12) - Architectures (Unix)
 
Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)Operating Systems 1 (4/12) - Architectures (Windows)
Operating Systems 1 (4/12) - Architectures (Windows)
 

Recently uploaded

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 

Recently uploaded (20)

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 

Dependable Systems - Summary (16/16)

  • 1. Dependable Systems ! Summary Dr. Peter Tröger Lena Herscheid
  • 2. Dependable Systems Course PT 2014 Dependability • Umbrella term for operational requirements on a system • IFIP WG 10.4: "[..] the trustworthiness of a computing system which allows reliance to be justifiably placed on the service it delivers [..]" • IEC IEV: "dependability (is) the collective term used to describe the availability performance and its influencing factors : reliability performance, maintainability performance and maintenance support performance" • Laprie: „ Trustworthiness of a computer system such that 
 reliance can be placed on the service it delivers to the user “ • Adds a third dimension to system quality • General question: How to deal with unexpected events ? • In German: ,Verlässlichkeit‘ vs. ,Zuverlässigkeit‘
 2
  • 3. Dependable Systems Course PT 2014 Course Topics • Definitions and metrics • Fault, error, failure, fault models, fault tolerance, fault forecasting, ... • Reliability, availability, maintainability, error mitigation, damage confinement, ... • Reliability engineering, reliability testing, MTTF, MTBF, failure rate, ... • Fault tolerance patterns • N-out-of-M, voting, heartbeat, ... • Analytical evaluation • Reliability block diagrams, fault tree analysis, ... • Petri nets, Markov chains • Root cause analysis, risk analysis and assessment 3
  • 4. Dependable Systems Course PT 2014 Course Topics • Hardware-Implemented Dependability • Failure rates, testing, hardware redundancy approaches • Software-Implemented Dependability • Fault-tolerant programming: simplex, recovery blocks, checkpointing, roll-back, ... • Testing, software metrics • Fault-tolerant distributed systems: Transactions, consensus, clocks, ... • Advanced approaches • Autonomic computing, rejuvenation, online failure prediction, performability • Case studies from practice 4
  • 5. Dependable Systems Course PT 2014 Dependability Tree (Laprie) 5
  • 6. Dependable Systems Course PT 2014 Dependability Stakeholders • System - Entity with function, behavior, and structure • A number of components or subsystems, which interact under the control of a design [Robinson] • Service - System behavior abstraction, as perceived by the user • User - Human or physical system that interacts with the systems service • Specification - Definition of expected service and delivery conditions • On different levels, can lead to specification fault • Reliance demands assessment of non-functional dependability attributes • Provide ability for trustworthy service delivery by dependability means • Undesired (maybe expected) circumstances form dependability threats 6
  • 7. Dependable Systems Course PT 2014 2 - Dependability Threats • System failure - ,Ausfall‘ • Event that occurs when the service no longer complies with the specification / deviates from the correct service. • System error - ,Fehler(zustand)‘ • Part of system state that can lead to subsequent failure • Some sources define errors as active faults - not in this course ... • System fault - ,Fehler(ursache)‘ • Adjudged or hypothesized cause of an error • Failure occurs when error state alters the provided service • Systems are build from connected components, which are again systems • Fault is the consequence of a failure of some other system to deliver its service 7 Fault Error Failure
  • 8. Dependable Systems Course PT 2014 Chain of Dependability Threats (Avizienis) 8 Fault Error Failure Activation Propagation Causation Fault
  • 9. Dependable Systems Course PT 2014 Faults • High diversity in possible sources and types • Fault nature • Accidental faults (,Zufallsfehler‘) vs. intentional faults (,Absichtsfehler‘) • Intentional faults are created deliberately, presumably malevolently • Fault origin viewpoints (not exclusive) • Phenomenological causes: Physical / natural faults vs. human-made faults • System boundaries: Internal faults (part of system state that produces an error) vs. external faults (interference with the environment) • Phase of creation: Design faults vs. operational faults • Temporal persistence • Permanent faults vs. temporary faults 9
  • 10. Dependable Systems Course PT 2014 System-Level Fault Model • Fault model idea originates from hardware • How many faults of different classes can occur ? 
 What do I tolerate ? • Timing of faults: Fault delay, repeat time, recovery time, ... • Also mappable to software or even complete systems • Activities as black box, only look on input and output messages • Link faults are mapped to the 
 participating components • Every participating component 
 would need a fault model - 
 pick the most urgent ones 10
  • 11. Dependable Systems Course PT 2014 Error Propagation 11 (C) Avizienis
  • 12. Dependable Systems Course PT 2014 Error Message Occurrence (Hansen & Siewiorek) • Same fault can lead to different (detected or undetected) errors • Errors become detected by error detection mechanism • Some undetected errors are detected by several detectors • Some detectors report several undetected errors as one • Some undetected errors are never uncovered • Detected errors might not be logged, if the system stops too fast 12
  • 13. Dependable Systems Course PT 2014 Failures • Non-compliance with the specification - arbitrary failure (‘willkürlicher Ausfall‘) • System failures can be further categorized in failure modes • Fail-silent / crash failure mode - incorrect results are not delivered • Fail-stop mode - constant value is delivered • Failure mode domain - what is influenced • Service result - value failures • Service timeliness - timing failures • Service availability - stopping failures • User perception in the mode - consistent / inconsistent for all users • Failure mode consequences for ranking the identified issues 13
  • 14. Dependable Systems Course PT 2014 Failure Severity (,Schweregrad des Ausfalls‘) • Denotes consequences of failure • Benign failures (,unkritische Ausfälle‘) • Failure costs and operational benefits are similar • Sometimes also umbrella term for failures only detected by inspection • A system with only such failures is fail-safe • Catastrophic failures (,kritische Ausfälle‘) • Costs of failure consequences are much larger than service benefit • Significant / serious failures - Intermediate steps expressing reduced service • Grading of failure consequences on overall system depends on application • Flying airplane - Catastrophic stopping failure, Train - Benign stopping failure • Criticality - Highest severity of possible failure modes in the system 14
  • 15. Dependable Systems Course PT 2014 Example: DO-178B Standard 15
  • 16. Dependable Systems Course PT 2014 3 - Means for Dependability • Fault prevention - Prevent fault occurrence or introduction • Fault tolerance - Provide service matching the specification under faults • Fault removal - How to reduce the presence of faults • Fault forecasting- Estimate the present number, future incidence, and the consequences of faults • Combined utilization 16
  • 17. Dependable Systems Course PT 2014 Fault Tolerance • Fault tolerance is the ability of a system to operate correctly in presence of faults. or • A system S is called k-fault-tolerant with respect to a set of 
 algorithms {A1, A2, ... , Ap} and a set of faults {F1, F2, ... , Fp} 
 if for every k-fault F in S, Ai is executable by a subsystem of system S with k faults. (Hayes, 9/76) or • Fault tolerance is the use of redundancy (time or space) to achieve the desired level of system dependability - costs ! • Accepts that an implemented system will not be fault-free • Implements automatic recovery from errors • Is a recursive concept (voter replication, self-checking checkers, stable memory) 17
  • 18. Error Processing Dependable Systems Course PT 2014 Phases of Fault Tolerance (Hanmer) 18 Latent Fault Error Normal OperationFault Activation Error Recovery Error Mitigation Error Detection Fault Treatment
  • 19. Dependable Systems Course PT 2014 Fault Tolerance - Error Processing Through Recovery • Forward error recovery • Error is masked to reach again a consistent state (fault compensation) • Corrective actions need detailled knowledge (damage assessment) • New state is typically computed in another way • Examples with compensation: Error correcting codes, non-journaling file system check, advanced exception handlers, voters • Backward error recovery • Roll back to previous consistent state (recovery point / checkpoint) • Very suitable for transient faults • Computation can be re-done with same components (retry), 
 with alternate components (reconfigure), or can be ignored (skip frame) 19
  • 20. Dependable Systems Course PT 2014 „Fail-Fast“ • A common concept from system engineering, company management, ... • „Report failure and stop immediately without further action“ • Discussed by Jim Gray in 1985 as part of his famous article
 „Why do computers stop and what can be done about it ?“ • Useful when benefit from recovery is not good enough for its costs, 
 or if error propagation is highly probable • Single units of a redundant set • Deeply interwired IT system components • Components under heavy request load • And ... crappy start-up companies 20
  • 21. Dependable Systems Course PT 2014 4 - Fault Tolerance Patterns • Architectural patterns • Considerations that cut across all parts of the system • Need to be applied in early design phase • Detection patterns • Detect the presence of root faults, error states, and failures • Errors vs. failures -> a-priori knowledge vs. comparison of redundant elements • Error Recovery Patterns • Methods to continue execution in a new error-free state • Undoing the error effects + creating the new state 21
  • 22. Dependable Systems Course PT 2014 4 - Fault Tolerance Patterns • Error Mitigation Patterns • Do not change application or system state, 
 but mask the error and compensate for the effects • Typical strategies for timing or performance faults • Fault Treatment Patterns • Prevent the error from reoccurring by repairing the fault • System verification • Diagnosis of fault location and nature • Correction of the system and / or the procedures 22
  • 23. Dependable Systems Course PT 2014 5 - Attributes of Dependability • Non-functional attributes such as reliability and maintainability • Complementary nature of viewpoints in the area of dependability • In comparison to functional properties • ... hard to define • ... hard to abstract • ... ,Divide and conquer‘ does not work as good • ... difficult interrelationships • ... often probabilistic dependencies 23
  • 24. Dependable Systems Course PT 2014 In Detail • Reliability - Function R(t) • Probability that a system is functioning properly and constantly over time period t • Assumes that system was fully operational at t=0 • Denotes failure-free interval of operation • Availability - Statement if a system is operational at a point in time / fraction of time • Describe system behavior in presence of error treatment mechanisms • Instantaneous availability (at t) - Probability that a system is performing correctly at time t; equal to reliability for non-repairable systems: Ai(t) = R(t) • Steady-state availability - Probability that a system will be operational at any random point of time, expressed as the fraction of time a system is operational during its expected lifetime: As = Uptime / Lifetime 24
  • 25. Dependable Systems Course PT 2014 Why Exponential ? • Distribution function that models the memoryless property of the Poisson process • P(T > t + s|T > t) = P(T > s), e.g. PFailure(5 years|T > 2 years) = PFailure(3 years) • Failure is not the result of wear-out • Models ,intrinsic failure‘ behavior, assumed for the majority of hardware life time • Weibull distribution as alternative, can also model tear-in and wear-out • Some natural phenomena have constant failure rate (e.g. cosmic ray particles) 25
  • 26. Dependable Systems Course PT 2014 Variable Failure Rate in Real World 26 Burn in Use Wear out Integration & Test Use Obsolete Hardware Software • Failure rate is treated as constant parameter of the exponential distribution • (maybe invalid) simplification, mostly combined solution in practice: • Exponential distribution when failure rate is constant • Weibull distribution when failure rate is monotonic decreasing / increasing
  • 27. • Mean time to failure (MTTF) - 
 Average time it takes to fail
 -> average uptime • Mean time to recover / repair (MTTR) - Average time it takes to recover • Mean time between failures (MTBF) - Average time between two successive failures • Availability = Uptime / Lifetime
 = MTTF / MTBF Dependable Systems Course PT 2014 Steady-State Availability 27 up down up MTBF down up up C1 up C3 up C2 MTTF
  • 28. Dependable Systems Course PT 2014 Steady-State Availability 28 Availability Downtime per year Downtime per week 90.0 % (1 nine) 36.5 days 16.8 hours 99.0 % (2 nines) 3.65 days 1.68 hours 99.9 % (3 nines) 8.76 hours 10.1 min 99.99 % (4 nines) 52.6 min 1.01 min 99.999 % (5 nines) 5.26 min 6.05 s 99.9999 % (6 nines) 31.5 s 0.605 s 99.99999 % (7 nines) 0.3 s 6 ms A = Uptime Uptime+Downtime = MT T F MT T F +MT T R
  • 29. Dependable Systems Course PT 2014 MTTR << MTTF [Fox] • Armando Fox on ,Recovery-Oriented Computing‘ • A = MTTF / (MTTF + MTTR) • 10x decrease of MTTR as good as 10x increase of MTTF ? • MTTF‘s are not claimable, but MTTR claims are verifiable • Proving MTTF numbers demands system-years of observation and experience • Lowering MTTR directly improves user experience of one specific outage, 
 since MTTF is typically longer than one user session • HCI factor of failed system • Miller, 1968: >1sec “sluggish”, >10sec “distracted” (user moves away) • 2001 Web user study: ~5sec „acceptable”, ~10sec „excessively slow“ 29
  • 30. Dependable Systems Course PT 2014 6 - Dependability Modeling • Default approach: Utilize a formalism to model system dependability • Quantify the availability of components, calculate system availability based on this data and a set of assumptions (the availability model) • Most models expose the same expressiveness • Each formalism allows to focus on certain aspects • Structure-based models: Reliability block diagram, fault tree • State-based models: Markov chain, petri net • System understanding evolved from hardware to software to IT infrastructures • Example: Organization management influence on business service reliability • Information Technology Infrastructure Library (ITIL) • CoBiT(Control Objectives for Information and related Technology) 30
  • 31. Dependable Systems Course PT 2014 Dependability Modeling • The Failure Space-Success Space concept • Often easier to agree on what constitutes a system failure • Success tends to be associated with system efficiency, which makes it harder to formulate events in the model („The car drives fast.“, „The car stops driving.“) • In practice, there are more ways to success than to failure 31 Fault Tree Handbook with Aerospace Applications Version 1.1 2. System Logical Modeling Approaches 2.1 Success vs. Failure Approaches The operation of a system can be considered from two standpoints: the various ways for system success can be enumerated or the various ways for system failure can be enumerated. Such an enumeration would include completely successful system operation and total system failure, as well as intermediate conditions such as minimum acceptable success. Figure 2-1 depicts the Failure/Success space concept. Figure 2-1. The Failure Space-Success Space Concept
  • 32. Dependable Systems Course PT 2014 Dependability Modeling • System analysis approaches • Inductive methods - Reasoning from specific cases to a general conclusion • Postulate a particular fault or initiating event, find out system effect • Determine what system (failure) states are possible • Trivial approach: „parts count“ method • Examples: Failure Mode and Effect Analysis (FMEA), Preliminary Hazards Analysis (PHA), Event Tree Analysis, Reliability Block Diagrams (RBD), ... • Deductive methods - Postulate a system failure, find out what system modes or component behaviors contribute to this failure • Determine how a particular system state can occur • Examples: Fault Tree Analysis (FTA) 32
  • 33. S = cLB (cW S1 ⇥ cW S2) (cDB1 ⇥ cDB2) Asite = aLB ⇥ AW Sset ⇥ ADBset = aLB ⇥ [1 (1 aW S)nW S ] ⇥ [1 (1 aDB)nDB ] Dependable Systems Course PT 2014 Examples 33 aWS aWS aDB aDB aLB
  • 34. Dependable Systems Course PT 2014 Reliability Block Diagrams (RBD) • Model logical interaction for success-oriented analysis of system reliability • Building blocks: series structure, parallel structure, k-out-of-n structure • System is available only if there is a path between s and t • Granularity based on data and lowest actionable item concept • Structure formula can be obtained from RBD by identifying the 
 subset of nodes that disconnects s from t if removed 34 s t A1 A2 A3 A4 B Spare C D E 2/3 C C D D E E
  • 35. Dependable Systems Course PT 2014 Deductive Analysis - Fault Trees • Structure analysis effort grows exponentially with the number of components • Fault Trees • Invented 1961 by H. Watson (Bell Telephone Laboratories) • Facilitate analysis of the launch control system of the intercontinental Minuteman missile • Used by Boeing since 1966, meanwhile adopted by different industries • Root cause analysis, risk assessment, safety assessment • Basic idea • Technique for describing the possible ways in which an 
 undesired system state can occur • Complex system failures are broken down into basic events 35
  • 36. Example: 2-of-3 System State-Based Modeling | Dependable Systems 2014 24 The complexity of the petri net does not depend on the number of components! Dependable Systems Course PT 2014 7 - State-Based Modeling • Structural vs. state-based modeling • State Transition Diagrams • Markov Chains • Petri Nets 36
  • 37. 37 State-Based Modeling | Dependable Systems 2014 34 Dependable Systems Course Real World Systems Model Solution Technique Evaluations Input Parameters Modeling Errors • Structural Errors: Initial state, missing or extra states / transitions • Error Propagation Model • Parametric Models: Failure and repair rates, coverage parameters • Errors due to non-independence Solution Errors • Approximation Errors: System partition, state aggregation • Numerical Errors: Truncation, Round-off • Programming Errors • Estimation Errors: Stochastic estimators, not enough data Parametric Errors • Different component parameter sources • Projected stress factors assume unrealistic operational conditions
  • 38. Dependable Systems Course PT 2014 8 - Qualitative Dependability Investigation • Different approaches that focus on structural (qualitative) system evaluation • Root cause analysis • Broad research / industrial topic targeting error diagnosis • Specialized topic in quality methodologies • Development process investigation • Procedures for ensuring industry quality in production • Software development process • Organizational investigation • Non-technical influence factors on system reliability 38
  • 39. Dependable Systems Course PT 2014 FMEA • Failure Mode and Effects Analysis • Engineering quality method for early concept phase - identify and tackle weak points • Introduced in the late 1940s for military usage (MIL-P-1629) • Later also used for aerospace program, automotive industry, 
 semiconductor processing, software development, healthcare, ... • Main goal is to identify and prevent critical failures • Performed by cross-functional team of subject matter experts • Most important task in many reliability programs • Six Sigma certification, reliability-centered maintenance (RCM) approach • Automotive industry (ISO16949, SAE J1739) • Medical devices 39
  • 40. Dependable Systems Course PT 2014 Hazard & Operability Studies (HAZOPS) • Process for identification of potential hazard & operability problems,
 caused by deviations from the design intend • Difference between deviation (failure) and its cause (fault) • Conduct intended functionality in the safest and most effective manner • Initially developed to investigate chemical production processes, 
 meanwhile for petroleum, food, and water industries • Extended for complex (software) systems • Qualitative technique • Take full description of process and systematically question every part of it • Assess possible deviations and their consequences • Based on guide-words and multi-disciplinary meetings 40
  • 41. Dependable Systems Course PT 2014 Root Cause Analysis • What caused the fault ? - Starting point of dependability chain • Peeling back the layers • Must be performed systematically as an investigation • Establish sequence of events / timeline 41 (C) Avizienis
  • 42. Dependable Systems Course PT 2014 Reliability Models for IT Infrastructures • System reliability in a commercial environment is determined by many factors: • Software and hardware reliability • Training of maintenance personnel • „Business processes“ how maintenance is handled • The way the IT department is organized • ... • Impact of management organization on reliability is an emerging research field • Standards for IT organization, based on best practices • Describe which processes have to be established in an IT department • Provide reference models for organization of IT department 42
  • 43. Dependable Systems Course PT 2014 CMMI Maturity Levels 43 (C)Wikipedia
  • 44. Dependable Systems Course PT 2014 ITIL • Information Technology Infrastructure Library (ITIL), latest version v3 • Started as set of recommendations by the UK Government • Concepts and guides for IT service management • Supports to deliver business-oriented 
 quality IT services • Core publications: Service Strategy, 
 Service Design, Service Transition, 
 Service Operation, 
 Continual Service Improvement • Broad tool support from vendors • High costs for certification and training • Methodology sometimes over-respected at 
 the expense of pragmatism 44
  • 45. Dependable Systems Course PT 2014 9 - Predicting System Reliability • Feasibility evaluation for given model, identification of potential problem sources • Comparison of competing designs • Identification of potential reliability problems - low quality, over-stressed parts • Input to other reliability-related tasks • Maintainability analysis, testability evaluation • Failure modes and effects analysis (FMEA) • Ultimate goal is the prediction of system failures by a reliability methodology • Approach depends on nature of component (electrical, electronic, mechanical) 45
  • 46. Dependable Systems Course PT 2014 Reliability Data • Field (operational) failure data • Meaningful source of information, experience from real world operation • Operational and environmental conditions may be not fully known • Service life data with / without failure • Helpful in assessing time characteristics of reliability issues • Data from engineering tests • Example: Accelerated life tests • Results from controlled environment • Trustworthy for analysis purposes • Lack of failure information is the ,greatest deficiency‘ in reliability research [Misra] 46
  • 47. Dependable Systems Course PT 2014 Reliability Prediction Models • Economic requirements affect field-data availability • Customers do not need generic field data, so collection is extra effort • Numerical reliability prediction models available for specific areas • Hardware-oriented reliability modeling • MIL-HDBK-217, Bellcore Reliability Prediction Program, ... • Software-oriented reliability modeling • Jelinski-Moranda model, Basic Execution model, software metrics, ... • Prediction models look for corrective factors, so they are always focused • Demands confidence in understanding of environmental conditions • Reconciliation is often needed between the different values of failure data from various sources 47
  • 48. Dependable Systems Course PT 2014 Software Reliability Assessment • Software bugs are permanent faults, but behave as transient faults • Activation depends on software usage pattern and input values • Timing effects with parallel or distributed execution • Software aging effects • Fraction of system failures reasoned by software increased in the last decades • Possibilities for software reliability assessment • Black box models - No details known, observations from testing or operation • Reliability growth models • Software metric models - Derive knowledge from static code properties 48
  • 49. Dependable Systems Course PT 2014 Halstead Metric • Statistical approach - Complexity is related to number of operators and operands • Only defined on method level, OO code analysis must consider additional structure • Program length N = Number of operators NOP + total number of operands NOD • Vocabulary size n = Number of unique operators nOP + number of unique operands nOD • Program volume V = N * log2(n) • Describes size of an implementation by vocabulary and (mainly) by program length • In-place changes are ok ... • Difficulty level D = (nOP / 2) * (NOD / nOD), program level L = 1 / D • Error proneness is proportional to number of unique operators 
 -> since most languages only offer a few, this should be small • Also proportional to the level of operand reuse through the code 49 x = x + 1; NOP=nOP=3 NOD=3 nOD=2
  • 50. Dependable Systems Course PT 2014 10 - Distributed Systems Theory • Fallacies of Distributed Computing • The network is reliable, Latency is zero, Bandwidth is infinite, The network is secure, Topology doesn’t change, There is one administrator, Transport cost is zero, The network is homogeneous • Timing Models • Logical time, Lamport clocks • Fault Models • Consensus Problems • 2PC • Paxos 50 Asynchronous* Par-ally*synchronous* Synchronous*
  • 51. Dependable Systems Course PT 2014 11 - Fault-Tolerant Distributed Systems • Consistency Models • Strict consistency, sequential consistency, eventual consistency • Trade-Offs • Brewer, CAP Theorem • Replication • State Machine Replication, … 51 P1# W(x)#!#a# P2# R(x)#!#a# P1# W(x)#!#a# P2# R(x)#!#NIL# R(x)#!#a#
  • 52. Dependable Systems Course PT 2014 12 - Dependable Distributed Applications • Frameworks - Erlang / FT-CORBA • Coordination Services • Chubby, Zookeeper • Distributed Storage • Cassandra, RIAK, HDFS … 52
  • 53. Dependable Systems Course PT 2014 13 - Hardware Diagnosis • Contains of fault detection (what ?) and fault location (where ?) • Fault detection • Replication checks - Test operation / execution against alternate implementation • Timing checks - Test operation / execution against timing constraints • Reversal checks - Make use of operation reversibility • Coding checks - Utilize redundant (but different) representation of data • Reasonableness checks - Check against known system / data properties • Structural checks - Ensure consistent structure of data, diagnostic tests, ... • Diagnostic checks - Use set of inputs for which the outputs are known • Algorithmic checks - Check invariants of an algorithm 53
  • 54. Dependable Systems Course PT 2014 14 - Hardware Redundancy • Redundancy for error detection and forward error recovery • Redundancy types: spatial, temporal, informational (presentation, version) • Redundant not mean identical functionality, just perform the same work • Static redundancy implements error mitigation • Fault does not show up, since it is transparently removed • Examples: Voting, error-correcting codes, N-modular redundancy • Dynamic redundancy implements error processing • After fault detection, the system is reconfigured to avoid a failure • Examples: Back-up sparing, duplex and share, pair and spare • Hybrid approaches 54
  • 55. Dependable Systems Course PT 2014 Sphere of Replication • Components outside the sphere must be protected by other means • Level of output comparison decides upon fault coverage • Larger sphere tends to decrease the required bandwidth on input and output • More state changing happens just inside the sphere • Vendor might be restricted on choice of sphere size 55 HDD HDD Input Replication Output Comparison I/O Bus HDD HDD Input Replication Output Comparison HDD HDD Controll er Controll er RAID1 RAID10
  • 56. Dependable Systems Course PT 2014 Masking / Static Redundancy: Voting • Exact voting: Only one correct result possible • Majority vote for uneven module numbers • Generalized median voting - Select result that is the median, 
 by iteratively removing extremes • Formalized plurality voting - Divide results in partitions, 
 choose random member from the largest partition • Inexact voting: Comparison at high level might lead to multiple correct results • Non-adaptive voting - Use allowable result discrepancy, put boundary on discrepancy minimum or maximum (e.g. 1,4 = 1,3) • Adaptive voting - Rank results based on past experience with module results • Compute the correct value based on „trust“ in modules from experience • Example: Weighted sum R=W1*R1 + W2*R2 + W3*R3 with W1+W2+W3=1 56 Voter A B C
  • 57. Dependable Systems Course PT 2014 N-Modular Redundancy (with perfect voter) 57 Module 1 Module 2 Module 3 Voter ... Module N Input Output RNMR = mX i=0 ✓ N i ◆ (1 R)i RN i ✓ n k ◆ = n! k!(n k)! R2 of 3 = ✓ 3 0 ◆ (1 R)0 R3 + ✓ 3 1 ◆ (1 R)R2 R2 of 3 = R3 + 3(1 R)R2 R3 of 5 = ...
  • 58. • Special cases for combination of duplex (with comparator) and sparing (with switch) • Pair and spare - Multiple duplex pairs, connected as standby sparing setup • Two replicated modules operate as duplex pair (lockstep execution), 
 connected by comparator as voting circuit • Same setting again as spare unit, 
 spare units connected by switch • On module output mismatch, comparators 
 signal switch to perform failover • Commercially used, e.g. Stratus XA/R Series 300 Dependable Systems Course PT 2014 Pair and Spare 58 MODULES 1 2 3 OUTPUTINPUT COMPARATOR 4 COMPARATOR SWITCH/COMPARATOR
  • 59. Dependable Systems Course PT 2014 Hybrid Approaches • N-modular redundancy 
 with spares • Also called hybrid redundancy • System has basic NMR 
 configuration • Disagreement detector replaces
 modules with spares if their 
 output is not matching
 the voting result • Reliability as long as the spare pool is not exhausted • Improves fault masking capability of NMR • Can tolerate two faults with one spare, while classic NMR would need 5 modules with majority voting to tolerate two faults 59 Adds fault localization
  • 60. Dependable Systems Course PT 2014 Coding Checks in Memory Hardware • Primary memory • Parity code • m-out-of-n resp. m-of-n resp. m/n code • Checksumming • Berger Code • Hamming code • Secondary storage • RAID codes • Reed-Solomon code 60
  • 61. Dependable Systems Course PT 2014 Memory Redundancy • Standard technology in DRAMs • Bit-per-byte parity, check on read access • Implemented by additional parity memory chip • ECC with Hamming codes - 7 check bits for 32 bit data words, 8 bit for 64 bit • Leads to 72 bit data bus between DIMM and chipset • Computed by memory controller on write, checked on read • Study by IBM: ECC memory achieves R=0.91 over three years • Can correct single bit errors and detect double bit errors • Hewlett Packard Advanced ECC (1996) • Can detect and correct single bit and double bit errors 61
  • 62. Dependable Systems Course PT 2014 RAID • Redundant Array of Independent Disks (RAID) [Patterson et al. 1988] • Improve I/O performance and / or reliability by building raid groups • Replication for information reconstruction on disk failure (degrading) • Requires computational effort (dedicated controller vs. software) • Assumes failure independence 62
  • 63. Dependable Systems Course PT 2014 Parity With XOR • Self-inverse operation • 101 XOR 011 = 110, 110 XOR 011 = 101 63 Disk Byte 1 1 1 0 0 1 0 0 1 2 0 1 1 0 1 1 1 0 3 0 0 0 1 0 0 1 1 4 1 1 1 0 1 0 1 1 Parity 0 1 0 1 1 1 1 1 Disk Byte 1 1 1 0 0 1 0 0 1 Parity 0 1 0 1 1 1 1 1 3 0 0 0 1 0 0 1 1 4 1 1 1 0 1 0 1 1 Hot Spare 0 1 1 0 1 1 1 0
  • 64. Dependable Systems Course PT 2014 15 - Software Dependability • Fault elimination • Reduce number of dormant faults at development time • Fault-tolerant software • Techniques to achieve fault tolerance for software faults • Application of redundancy idea to software modules • Software fault tolerance • Techniques to achieve fault tolerance by software mechanisms • Typically for hardware failures on lower levels in the system stack • Redundancy managed by operating system, cluster framework, application code 64
  • 65. Dependable Systems Course PT 2014 Fault Elimination through Software Testing 65 (C) Ian Sommerville Responsibility of the component developer, based on experience Responsibility of an independent testing team, based on specification Black-Box Tests Access to source code, tested while components are integrated Steadily increasing load Excess maximum design load
  • 66. Dependable Systems Course PT 2014 Testing Through Software Fault Injection • Intentionally trigger erroneous behavior of the execution environment • Typical approach for communicating software entities • Orientation towards implementation details - program state, functional behavior • Several non-intrusive implementation techniques, such as AOP • Injection can be done as part of execution under real conditions • Huge variety of fault classes, including SWIFI fault classes • New approaches support remote fault injection (e.g. fuzzing) • Compile-time injection: Leads to erroneous image being executed • Run-time injection: Demands some altering of application state during runtime • Typical triggers: Time-out, exception, debugging trap, code insertion 66
  • 67. Dependable Systems Course PT 2014 Software Fault Model [Goloubeva] • Example: Control loop writing computation result to a variable • Temporary fault: Write NULL to result variable after end of usage • Permanent fault: Compute and store incorrect output from input data • Single vs. multiple faults depends on granularity level of investigation • On source code level • Program: Structured collection of features with syntax and semantic • Syntax allows to describe fault model • Negation of semantic properties defines a fault model • Examples: Calling non-existent functions, Functions not returning a value, values out of their type range, missing input parameters • On executable level, e.g. stack overflow due to recursion 67
  • 68. Dependable Systems Course PT 2014 Fault-Tolerant Software - Another categorization [Lyu 95] • Single version techniques • Add mechanisms for detection, containment, and handling of errors to the software component itself • Examples: Software structure and actions approaches, error detection, 
 exception handling, checkpointing and restart, process pairs, data diversity • Multi version techniques • Rely on structured utilization of variants of the same software • Examples: Recovery blocks, N-version programming • Principles can be applied to any software layer • Identify source of most design faults • Typically no problem with parallel application, beside cost factor 68
  • 69. Dependable Systems Course PT 2014 Single-Version Approaches - Wrapper • Piece of software that encapsulates a given program when it is being executed • Typical approach for operating systems and middleware stacks • Structure: Wrapper software and wrapped entity • Inputs and outputs are checked by the wrapper • Examples: • Dealing with buffer overflow, checking scheduler correctness (e.g., EDF), bypassing known bugs, checking output correctness • When pre- or postconditions are violated, usually an exception is being raised • Wrapper forms an acceptance test in the dependability rings • Good approach for fixing issues in the operational phase of software 69
  • 70. • Save application state data at recovery points • Can be reloaded on crash or any other kind 
 of data loss • Possible on different levels: local per process, 
 partial, complete, distributed • Optimum checkpointing interval • Checkpointing too frequent: Majority of time spent for data saving • Checkpointing too rare: May take long time to recover • Several specialized solutions for C / C++ language, easier with reflection support • Popular approach in clusters / high-performance computing • Latest trend: In-memory checkpointing Dependable Systems Course PT 2014 Single Version Approaches - Checkpointing 70 taken from 
 Software Fault Tolerance: A Tutorial
  • 71. Dependable Systems Course PT 2014 Single Version Approaches - Data Diversity [Ammann 88] 71 takenfrom
 SoftwareFaultTolerance:ATutorial
  • 72. Dependable Systems Course PT 2014 Single Version Approaches - High-Level Instruction Duplication [Goloubeva] • Introduce data and code redundancy through high-level transformation • Duplicate every variable • Perform every write operation on both copies of the variable • After each read operation, the copies must be checked for consistency • Should be close to read operation, 
 in order to avoid error propagation • Includes also expression evaluation • Procedure parameters treated as variables • Independent from underlying hardware, 
 targets cache / main memory faults 
 72 a=b; .. becomes ... a0=b0; a1=b1; if (b0 != b1) error(); ... a=b+c; ... becomes ... a0=b0+c0; a1=b1+c1; if ((b0!=b1)||(c0!=c1)) error();
  • 73. Dependable Systems Course PT 2014 Control Flow Error • Control flow error (CFE) leads to unexpected instruction execution • Terminology: • Basic block (BB) - branch-free serial code fragment • Branch / jump instruction is modeled as last instruction of a basic block • Control flow graph (CFG) - one node per basic block • Illegal branch - Node transition is not part of the CFG • Wrong branch - Node transition is already part of the CFG • Inter-block error - Erroneous branch to different block • Intra-block errors - Erroneous branch inside a block 73 i=0; while(i<n) { ------------------ if (a[i] < b[i]) ------------------ x[i]=a[i]; ------------------ else x[i]=b[i]; ------------------ i++; } ------------------ BB 0 BB 1 BB 2 BB 3 B 4 BB 5
  • 74. Dependable Systems Course PT 2014 Multi-Version Approaches Recovery Blocks • Redundant system implementations are typically used simultaneously, 
 best answer is picked i.e. by voting • Alternative way: Sequential execution of recovery blocks • Introduced in 1974 by Horning et. al. • Dynamic fault tolerance approach, related to stand-by sparing in hardware 74 establish Checkpoint Primary Module Acceptance Test, else load Checkpoint Alternative Module 1 Acceptance Test, else load Checkpoint Alternative Module 2 ... else Failure Exception
  • 75. Dependable Systems Course PT 2014 Multi-Version Approaches - N-Version Programming • Common mode errors are only catchable by design diversity • Design diversity is a complex issue • Design philosophies, software tools, programming languages, test philosophies • Typical approaches try to utilize randomness - separate teams on different locations • N-Version Programming • Suggested by Elmendorf in 1972, developed by Avizienis & Chen in 1977 • Static approach, combination of decision mechanism and forward recovery • At least two independently designed and functionally equivalent variants • Variants are executed in parallel, decision mechanism selects the „best“ result • Can support reliability, but also system security against malicious logic 75
  • 76. Dependable Systems Course PT 2014 Simplex • Idea: Using simplicity to control complexity • Forward recovery approach, based on feedback loop • HAC subsystem - Simple construction, formal methods, reliable hardware • HPC subsystem - Complex technology, advanced features • HPC can use HAC output, but not vice versa • Decision logic based on control loop output • Typically performance degredation with HAC • Example: Boeing 777 primary and secondary 
 flight controller 76
  • 77. 77