RELEASE: A High-Level Paradigm for Reliable Large-Scale Server Software

(Project Paper)
  • Olivier Boudeville
  • Francesco Cesarini
  • Natalia Chechina
  • Kenneth Lundin
  • Nikolaos Papaspyrou
  • Konstantinos Sagonas
  • Simon Thompson
  • Phil Trinder
  • Ulf Wiger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7829)


Erlang is a functional language with a much-emulated model for building reliable distributed systems. This paper outlines the RELEASE project, and describes the progress in the first six months. The project aim is to scale the Erlang’s radical concurrency-oriented programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines.

Currently Erlang has inherently scalable computation and reliability models, but in practice scalability is constrained by aspects of the language and virtual machine. We are working at three levels to address these challenges: evolving the Erlang virtual machine so that it can work effectively on large scale multicore systems; evolving the language to Scalable Distributed (SD) Erlang; developing a scalable Erlang infrastructure to integrate multiple, heterogeneous clusters. We are also developing state of the art tools that allow programmers to understand the behaviour of massively parallel SD Erlang programs. We will demonstrate the effectiveness of the RELEASE approach using demonstrators and two large case studies on a Blue Gene.


Erlang scalability multicore systems massive parallelism 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Trew, A.: Parallelism and the exascale challenge. Distinguished Lecture. St Andrews University, St Andrews, UK (2010)Google Scholar
  2. 2.
    Ericsson, A.B.: Erlang/OTP Efficiency Guide, System Limits (2011),
  3. 3.
    Cesarini, F., Thompson, S.: Erlang Programming. O’Reilly (2009)Google Scholar
  4. 4.
    Agha, G.: An overview of Actor languages. SIGPLAN Not. 21(10), 58–67 (1986)CrossRefGoogle Scholar
  5. 5.
    IBM Research: IBM Research Blue Gene Project (2012),
  6. 6.
    Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: IJCAI 1973, pp. 235–245. Morgan Kaufmann, San Francisco (1973)Google Scholar
  7. 7.
    Epstein, J., Black, A.P., Peyton-Jones, S.: Towards Haskell in the Cloud. In: Haskell 2011, pp. 118–129. ACM (2011)Google Scholar
  8. 8.
    Odersky, M., et al.: The Scala programming language (2012),
  9. 9.
    Syme, D., Granicz, A., Cisternino, A.: Expert F#. Springer (2007)Google Scholar
  10. 10.
    Srinivasan, S., Mycroft, A.: Kilim: Isolation-typed actors for Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 104–128. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Intel Corporation: Tera-scale computing architecture overview (2012),
  12. 12.
    Marr, S., Haupt, M., Timbermont, S., Adams, B., D’Hondt, T., Costanza, P., Meuter, W.D.: Virtual machine support for many-core architectures: Decoupling abstract from concrete concurrency models. In: PLACES, pp. 63–77 (2009)Google Scholar
  13. 13.
    Noll, A., Gal, A., Franz, M.: CellVM: A homogeneous virtual machine runtime system for a heterogeneous single-chip multiprocessor. In: Workshop on Cell Systems and Applications (2009)Google Scholar
  14. 14.
    Ungar, D., Adams, S.S.: Hosting an object heap on manycore hardware: An exploration. SIGPLAN Not. 44(12), 99–110 (2009)CrossRefGoogle Scholar
  15. 15.
    Leung, A., Lhoták, O., Lashari, G.: Automatic parallelization for graphics processing units. In: PPPJ 2009, pp. 91–100. ACM, New York (2009)Google Scholar
  16. 16.
    Seiler, L., Carmean, D., Sprangle, E., Forsyth, T., Abrash, M., Dubey, P., Junkins, S., Lake, A., Sugerman, J., Cavin, R., Espasa, R., Grochowski, E., Juan, T., Hanrahan, P.: Larrabee: A many-core x86 architecture for visual computing. ACM Trans. Graph. 27(3), 18:1–18:15 (2008)Google Scholar
  17. 17.
    Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the JVM platform: A comparative analysis. In: PPPJ 2009, pp. 11–20. ACM, New York (2009)Google Scholar
  18. 18.
    Sagonas, K., Wilhelmsson, J.: Efficient memory management for concurrent programs that use message passing. Sci. Comput. Program. 62(2), 98–121 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.: Parallel Programming in OpenMP. Morgan Kaufmann, San Francisco (2001)Google Scholar
  20. 20.
    Snir, M., Otto, S.W., Walker, D.W., Dongarra, J., Huss-Lederman, S.: MPI: The Complete Reference. MIT Press, Cambridge (1995)Google Scholar
  21. 21.
    Dewolfs, D., Broeckhove, J., Sunderam, V.S., Fagg, G.E.: FT-MPI, fault-tolerant metacomputing and generic name services: A case study. In: Mohr, B., Träff, J.L., Worringen, J., Dongarra, J. (eds.) PVM/MPI 2006. LNCS, vol. 4192, pp. 133–140. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Odersky, M., Altherr, P., Cremet, V.: The Scala language specification. Technical report, EFPL, Lausanne, Switzerland (April 2004)Google Scholar
  23. 23.
    Rajan, H., Leavens, G.T.: Ptolemy: A language with quantified, typed events. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 155–179. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  24. 24.
    Germain, G.: Concurrency oriented programming in termite scheme. In: ERLANG 2006, p. 20. ACM, New York (2006)Google Scholar
  25. 25.
    Lee, J., et al.: Python actor runtime library (2010),
  26. 26.
    Wiger, U.: What is Erlang-style concurrency? (2010),
  27. 27.
    Intel Software Network: Intel trace analyzer and collector (2011),
  28. 28.
    Erlang Online Documentation: Trace tool builder (2011),
  29. 29.
    Zhao, J., Madduri, S., Vadlamani, R., Burleson, W., Tessier, R.: A dedicated monitoring infrastructure for multicore processors. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 19(6), 1011–1022 (2011)CrossRefGoogle Scholar
  30. 30.
    The ProTest Project: Framework 7 project 215868 (2008-11),
  31. 31.
    Arts, T., Fredlund, L.A.: Trace analysis of Erlang programs. SIGPLAN Not. 37(12), 18–24 (2002)CrossRefGoogle Scholar
  32. 32.
    Nystrom, J.: Analysing Fault Tolerance for Erlang Application. PhD thesis, Division of Computer Systems, Uppsala University (2009)Google Scholar
  33. 33.
    Thompson, S., et al.: Wrangler Tool (2011),
  34. 34.
    Gartner Group: Gartner says Cloud consumers need brokerages to unlock the potential of Cloud services (2009),
  35. 35.
    Eucalyptus Systems: Cloud APIs (2010),
  36. 36.
    The RELEASE Project: Framework 7 project 287510 (2011-14),
  37. 37.
    Chechina, N., Trinder, P., Ghaffari, A., Green, R., Lundin, K., Virding, R.: The design of scalable distributed (SD) Erlang. In: Draft Proceedings of IFL 2012, pp. 461–476. Oxford University (2012)Google Scholar
  38. 38.
    Aronis, S., et al.: BenchErl: A Scalability Benchmark Suite for Erlang/OTP (2012),

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Olivier Boudeville
    • 1
  • Francesco Cesarini
    • 2
  • Natalia Chechina
    • 3
  • Kenneth Lundin
    • 4
  • Nikolaos Papaspyrou
    • 5
  • Konstantinos Sagonas
    • 6
  • Simon Thompson
    • 7
  • Phil Trinder
    • 3
  • Ulf Wiger
    • 2
  1. 1.EDF R&DClamartFrance
  2. 2.Erlang Solutions ABStockholmSweden
  3. 3.Heriot-Watt UniversityEdinburghUK
  4. 4.Ericsson ABStockholmSweden
  5. 5.Institute of Communication and Computer Systems (ICCS)AthensGreece
  6. 6.Uppsala UniversityUppsalaSweden
  7. 7.University of KentCanterburyUK

Personalised recommendations