TY - GEN
T1 - Are high-level languages suitable for robust telecoms software?
AU - Nystrom, Jan
AU - Trinder, Philip William
AU - King, D. J.
PY - 2005
Y1 - 2005
N2 - In the telecommunications sector product development must minimise time to market while delivering high levels of dependability, availability, maintainability and scalability. High level languages are concise and hence potentially enable the fast production of maintainable software. This paper investigates the potential of one such language, Erlang, to deliver robust distributed telecoms software. The evaluation is based on a typical non-trivial distributed telecoms application, a Dispatch Call Controller (DCC) measured on a Beowulf cluster. Our investigations show that the Erlang implementation meets the DCC's resource reclamation and soft real-time requirements, before focusing on the following reliability properties. - Availability, e.g. recovery from failures is fast and repeated failures don't reduce post-recovery throughput. - Redundancy degree, e.g. how many simultaneous copies of the system state can be maintained without impairing performance? - Resilience, e.g. achieving a throughput of 101% at 1000% load on 4 processors. - Dynamic adaptability, e.g. the system can be dynamically upgraded by adding nodes without interruption of service. We critique Erlang's fault tolerance model, arguing that it is low cost, parameterizable and generic. As the Erlang DCC is less than a quarter of the size of a similar C++/CORBA implementation, the product development in Erlang should be fast, and the code maintainable. We conclude that Erlang and associated libraries are suitable for the rapid development of maintainable and highly reliable distributed products. © Springer-Verlag Berlin Heidelberg 2005.
AB - In the telecommunications sector product development must minimise time to market while delivering high levels of dependability, availability, maintainability and scalability. High level languages are concise and hence potentially enable the fast production of maintainable software. This paper investigates the potential of one such language, Erlang, to deliver robust distributed telecoms software. The evaluation is based on a typical non-trivial distributed telecoms application, a Dispatch Call Controller (DCC) measured on a Beowulf cluster. Our investigations show that the Erlang implementation meets the DCC's resource reclamation and soft real-time requirements, before focusing on the following reliability properties. - Availability, e.g. recovery from failures is fast and repeated failures don't reduce post-recovery throughput. - Redundancy degree, e.g. how many simultaneous copies of the system state can be maintained without impairing performance? - Resilience, e.g. achieving a throughput of 101% at 1000% load on 4 processors. - Dynamic adaptability, e.g. the system can be dynamically upgraded by adding nodes without interruption of service. We critique Erlang's fault tolerance model, arguing that it is low cost, parameterizable and generic. As the Erlang DCC is less than a quarter of the size of a similar C++/CORBA implementation, the product development in Erlang should be fast, and the code maintainable. We conclude that Erlang and associated libraries are suitable for the rapid development of maintainable and highly reliable distributed products. © Springer-Verlag Berlin Heidelberg 2005.
M3 - Conference contribution
SN - 3540292004
SN - 9783540292005
VL - 3688 LNCS
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 275
EP - 288
BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
T2 - 24th International Conference on Computer Safety, Reliability, and Security
Y2 - 28 September 2005 through 30 September 2005
ER -