Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evaluating Erlang: Are High-level Languages suitable for Robust Telecoms Software? Jan Nystrom SafeCom'05 – Henry Nystrom, Phil Trinder, David King.

Similar presentations


Presentation on theme: "Evaluating Erlang: Are High-level Languages suitable for Robust Telecoms Software? Jan Nystrom SafeCom'05 – Henry Nystrom, Phil Trinder, David King."— Presentation transcript:

1 Evaluating Erlang: Are High-level Languages suitable for Robust Telecoms Software? Jan Nystrom SafeCom'05 – Henry Nystrom, Phil Trinder, David King

2 Collaborative Research Motorola Labs & Heriot-Watt University Lifetime –Dec 2002 – Feb 2006 (~3 years) Resources –£184,000 (~$320,000) from UK Research Council (EPSRC) –Post-doc for 3 years –Joint supervision from Motorola Labs & Heriot-Watt

3 Objectives Commercial –Produce strong evidence that Erlang can improve Motorola software productivity –Disseminate work within Motorola Scientific –Investigate impact of language constructs on distributed software

4 Problem Domain Distributed High Availability (downtime of minutes per year, 5NINES) Complex software (millions of lines of code) Continuous operation (years) In service upgrade

5 Characteristics General purpose programming language, originally developed in Ericsson for Telecoms Massive concurrency Soft real-time response Garbage collected memory Highly available (hot upload) Fault tolerant (exceptions, error detection) Open Source –OTP Library (Open Telecom Platform) Commercial support

6 Erlang Success Stories Ericsson AXD301 in Engine –Size = 1,136,150 lines in Erlang –Availability = 99.9999999% (9NINES) Alteon (Nortel) SSL Accelerator –Size 74,440 lines in Erlang Ericsson GPRS System T-mobile, SMS System, UK Teba Bank, Credit Card Systems, South Africa Reference: Joe Armstrong, PhD thesis, 2003.

7 Research Strategy Implement some telecoms applications in Erlang –Dispatch Call Controller (this talk) –Zone Controller Data mobility (current project) Compare –availability (recovery from process failures) –resilience (high throughput) –dynamic adaptability (performance when processes are added)

8 Dispatch Call Controller The server part of a Dispatch Call Control Critical functionality –Dynamic scalability –Resource reclamation –Fault tolerance –Soft real time

9 DCC Architecture

10 Multiple Failures

11 Service Instance Failures

12 Increase in Throughput of Voice Messages

13 Dynamic Adaptability

14 Results Summary Availability –At a service level of at least 99.9% of all voice messages delivered on time. –can handle process failures (single, multiple, repeated), without significant impact on throughput. Resilience –performance does not degrade for massive overloading, e.g. over 1000%. Dynamic-adaptability –performance upgrades/degrades proportionally when processes are added/removed.

15 Programme Comparison 13%147Service 1136%1741Testing 2661%2994Platform 38100%4884Total ModulesPercentageLines of Code Part 150.4%83IDL 8199.6%21340C++ -100%21423Total Classes/ Instances PercentageLines of Code Part Erlang C++

16 What features of Erlang helped? Automatic memory management Automatic process management Fault-tolerance – using the Mnesia data- base for recovery from failure, exception handling Behaviours – supervisor, generic servers etc. High-level programming – pattern matching, polymorphism, etc.

17 What now? Implement a component of a real product (Zone Controller Data Mobility), and compare Compare with Java/CORBA, C++/CORBA, SDL.


Download ppt "Evaluating Erlang: Are High-level Languages suitable for Robust Telecoms Software? Jan Nystrom SafeCom'05 – Henry Nystrom, Phil Trinder, David King."

Similar presentations


Ads by Google