Download presentation
Presentation is loading. Please wait.
Published byRandall Greer Modified over 8 years ago
1
Motorola Internal Use Only Evaluating Erlang for Robust Telecoms Software David King 2004 S 3 Symposium – Henry Nystrom, Phil Trinder, David King
2
Motorola Internal Use Only Collaborative Research Motorola Labs & Heriot-Watt University Lifetime –Dec 2002 – Oct 2005 (3 years) Resources –$200,000 from UK Research Council (EPSRC) –Post-doc for 3 years –Joint supervision from Motorola Labs & Heriot-Watt
3
Motorola Internal Use Only Objectives Commercial –Produce strong evidence that Erlang can improve Motorola software productivity –Disseminate work Scientific –Investigate impact of language constructs on distributed software
4
Motorola Internal Use Only 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
Motorola Internal Use Only 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
Motorola Internal Use Only 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
Motorola Internal Use Only Research Strategy Implement some telecoms applications in Erlang –Dispatch Call Controller (this talk) –Voice over IP for TETRA Site Controller (next project) Compare –availability (recovery from process failures) –resilience (high throughput) –dynamic adaptability (performance when processes are added)
8
Motorola Internal Use Only Dispatch Call Controller The server part of a Dispatch Call Control Critical functionality –Dynamic scalability –Resource reclamation –Fault tolerance –Soft real time
9
Motorola Internal Use Only DCC Architecture
10
Motorola Internal Use Only Multiple Failures
11
Motorola Internal Use Only Service Instance Failures
12
Motorola Internal Use Only Increase in Throughput of Voice Messages
13
Motorola Internal Use Only Dynamic Adaptability
14
Motorola Internal Use Only Results Summary Availability –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 when processes are added and degrades when they are removed.
15
Motorola Internal Use Only Erlang vs C++ PartLines of Code PercentageModules Total4884100%38 Platform299461%26 Testing174136%11 Service1473%1 PartLines of Code PercentageClasses/ Instances Total21423100%- C++2134099.6%81 IDL830.4%15 Erlang C++
16
Motorola Internal Use Only What features of Erlang helped? Automatic memory management Automatic process management Fault-tolerance – using the Mnesia data- base for recovery from failure, exception handling High-level programming – pattern matching, polymorphism, etc.
17
Motorola Internal Use Only What next? Implement a component of a real product (Voice over IP for the TETRA Site Controller), and compare Compare with Java/CORBA, C++/CORBA, SDL.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.