Motivation Theory Erlang Simulation Results Conclusion Using Erlang for Distributed Simulation for the Derivation of Fault Tolerance Measures Nils M¨ ullner August 19, 2008 1 / 28
Motivation Theory Erlang Simulation Results Conclusion Outline ◮ Motivation ◮ Theory ◮ Erlang ◮ Simulation ◮ Conclusion 2 / 28
Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? 3 / 28
Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? ◮ Why Simulation? 3 / 28
Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? ◮ Why Simulation? ◮ Why Erlang? 3 / 28
Motivation Theory Erlang Simulation Results Conclusion Fault Tolerance Measures ◮ Reliability, Availability, Safety, Trustworthiness MTBF MTTF MTTR operational repairing Fault multiple errors are possible in this period 4 / 28
Motivation Theory Erlang Simulation Results Conclusion Fault Tolerance Measures ◮ Reliability, Availability, Safety, Trustworthiness MTBF MTTF MTTR operational repairing Fault multiple errors are possible in this period ◮ Essential for Critical Systems 4 / 28
Motivation Theory Erlang Simulation Results Conclusion Fault Tolerance Measures ◮ Reliability, Availability, Safety, Trustworthiness MTBF MTTF MTTR operational repairing Fault multiple errors are possible in this period ◮ Essential for Critical Systems ◮ Masking, Nonmasking and Failsafe 4 / 28
Motivation Theory Erlang Simulation Results Conclusion Fault Tolerance Measures ◮ Reliability, Availability, Safety, Trustworthiness MTBF MTTF MTTR operational repairing Fault multiple errors are possible in this period ◮ Essential for Critical Systems ◮ Masking, Nonmasking and Failsafe ◮ Masking: Safety and Liveness ◮ Nonmasking: Liveness ◮ Failsafe: Safety 4 / 28
Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement 5 / 28
Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis 5 / 28
Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis ◮ Extremely scalable 5 / 28
Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis ◮ Extremely scalable ◮ Suitable for a large class of problems 5 / 28
Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis ◮ Extremely scalable ◮ Suitable for a large class of problems ◮ BUT: Requires (many) resources 5 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed 6 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent 6 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent ◮ Functional 6 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent ◮ Functional ◮ λ -calculus [Barendregt and Barendsen, 2000] 6 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent ◮ Functional ◮ λ -calculus [Barendregt and Barendsen, 2000] ◮ pure (no side-effects, lazy evaluation) and eager 6 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang 7 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang ◮ Often combined with other paradigms (logical, imperative, object-oriented, constraint, distributed, and concurrent programming) 7 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang ◮ Often combined with other paradigms (logical, imperative, object-oriented, constraint, distributed, and concurrent programming) ◮ Functions are algorihms 7 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang ◮ Often combined with other paradigms (logical, imperative, object-oriented, constraint, distributed, and concurrent programming) ◮ Functions are algorihms ◮ Algorithms can be splitted into subalgorithms 7 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang ◮ Often combined with other paradigms (logical, imperative, object-oriented, constraint, distributed, and concurrent programming) ◮ Functions are algorihms ◮ Algorithms can be splitted into subalgorithms ◮ Parallelization by modularizing programs 7 / 28
Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang ◮ Often combined with other paradigms (logical, imperative, object-oriented, constraint, distributed, and concurrent programming) ◮ Functions are algorihms ◮ Algorithms can be splitted into subalgorithms ◮ Parallelization by modularizing programs ◮ Easy to verify 7 / 28
Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with 8 / 28
Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with ◮ a Functional Language to 8 / 28
Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with ◮ a Functional Language to ◮ derive Fault Tolerance Measures 8 / 28
Motivation Theory Erlang Simulation Results Conclusion Getting Results with Analytic Methods: Theory ◮ Model Distributed System as Markov Chain P_1 = > P_2 P_3 9 / 28
Motivation Theory Erlang Simulation Results Conclusion Getting Results with Analytic Methods: Theory ◮ Model Distributed System as Markov Chain P_1 = > P_2 P_3 ◮ Suffers from state space explosion 9 / 28
Motivation Theory Erlang Simulation Results Conclusion Getting Results with Analytic Methods: Theory ◮ Model Distributed System as Markov Chain P_1 = > P_2 P_3 ◮ Suffers from state space explosion ◮ Solution: Partition state space 9 / 28
Motivation Theory Erlang Simulation Results Conclusion Getting Results with Analytic Methods: Theory ◮ Model Distributed System as Markov Chain P_1 = > P_2 P_3 ◮ Suffers from state space explosion ◮ Solution: Partition state space ◮ Problem: Abstraction hinders accuracy of results derived tremendously 9 / 28
Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations 10 / 28
Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations ◮ Not even close to reality... (cf. [Dhama et al., 2006]) 10 / 28
Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations ◮ Not even close to reality... (cf. [Dhama et al., 2006]) ◮ Size of applicable topologies very limited 10 / 28
Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations ◮ Not even close to reality... (cf. [Dhama et al., 2006]) ◮ Size of applicable topologies very limited ◮ Advantage: results are proven... 10 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab 11 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab ◮ A language for programming distributed fault-tolerant soft real-time non-stop applications. 11 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab ◮ A language for programming distributed fault-tolerant soft real-time non-stop applications. ◮ Purely Functional Language 11 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab ◮ A language for programming distributed fault-tolerant soft real-time non-stop applications. ◮ Purely Functional Language ◮ Interpreted or compiled 11 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab ◮ A language for programming distributed fault-tolerant soft real-time non-stop applications. ◮ Purely Functional Language ◮ Interpreted or compiled ◮ Hot Code Plugging 11 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 2/5 ◮ Focuses on parallelism and fault tolerance 12 / 28
Motivation Theory Erlang Simulation Results Conclusion Erlang 2/5 ◮ Focuses on parallelism and fault tolerance ◮ Highly reliable (Switch AXD301 is 99 . 9999999% reliable, 31 ms/yr downtime) 12 / 28
Recommend
More recommend