using erlang for distributed simulation for the
play

Using Erlang for Distributed Simulation for the Derivation of Fault - PowerPoint PPT Presentation

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


  1. 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

  2. Motivation Theory Erlang Simulation Results Conclusion Outline ◮ Motivation ◮ Theory ◮ Erlang ◮ Simulation ◮ Conclusion 2 / 28

  3. Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? 3 / 28

  4. Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? ◮ Why Simulation? 3 / 28

  5. Motivation Theory Erlang Simulation Results Conclusion Motivation ◮ Why Fault Tolerance? ◮ Why Simulation? ◮ Why Erlang? 3 / 28

  6. 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

  7. 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

  8. 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

  9. 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

  10. Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement 5 / 28

  11. Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis 5 / 28

  12. Motivation Theory Erlang Simulation Results Conclusion Simulation ◮ Easy and fast to implement ◮ More accurate than analysis ◮ Extremely scalable 5 / 28

  13. 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

  14. 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

  15. Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed 6 / 28

  16. Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent 6 / 28

  17. Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent ◮ Functional 6 / 28

  18. Motivation Theory Erlang Simulation Results Conclusion Erlang ◮ Distributed ◮ Concurrent ◮ Functional ◮ λ -calculus [Barendregt and Barendsen, 2000] 6 / 28

  19. 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

  20. Motivation Theory Erlang Simulation Results Conclusion Functional Languages ◮ Lisp, Haskell, Scheme, Erlang 7 / 28

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with 8 / 28

  27. Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with ◮ a Functional Language to 8 / 28

  28. Motivation Theory Erlang Simulation Results Conclusion So, what do we want? ◮ Simulation with ◮ a Functional Language to ◮ derive Fault Tolerance Measures 8 / 28

  29. 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

  30. 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

  31. 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

  32. 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

  33. Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations 10 / 28

  34. Motivation Theory Erlang Simulation Results Conclusion Theory ◮ Only conservative estimations ◮ Not even close to reality... (cf. [Dhama et al., 2006]) 10 / 28

  35. 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

  36. 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

  37. Motivation Theory Erlang Simulation Results Conclusion Erlang 1/5 ◮ Development started in 1986 as Prolog Interpreter at Ericsson CSLab 11 / 28

  38. 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

  39. 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

  40. 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

  41. 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

  42. Motivation Theory Erlang Simulation Results Conclusion Erlang 2/5 ◮ Focuses on parallelism and fault tolerance 12 / 28

  43. 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