Skip to main content

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

(Project Paper)

  • Conference paper
Trends in Functional Programming (TFP 2012)

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Trew, A.: Parallelism and the exascale challenge. Distinguished Lecture. St Andrews University, St Andrews, UK (2010)

    Google Scholar 

  2. Ericsson, A.B.: Erlang/OTP Efficiency Guide, System Limits (2011), erlang.org/doc/efficiency_guide/advanced.html#id67011

  3. Cesarini, F., Thompson, S.: Erlang Programming. O’Reilly (2009)

    Google Scholar 

  4. Agha, G.: An overview of Actor languages. SIGPLAN Not. 21(10), 58–67 (1986)

    Article  Google Scholar 

  5. IBM Research: IBM Research Blue Gene Project (2012), www.research.ibm.com/bluegene/index.html

  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. Epstein, J., Black, A.P., Peyton-Jones, S.: Towards Haskell in the Cloud. In: Haskell 2011, pp. 118–129. ACM (2011)

    Google Scholar 

  8. Odersky, M., et al.: The Scala programming language (2012), www.scala-lang.org

  9. Syme, D., Granicz, A., Cisternino, A.: Expert F#. Springer (2007)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  11. Intel Corporation: Tera-scale computing architecture overview (2012), http://www.intel.com/content/www/us/en/research/intel-labs-terascale-computing-demo.html

  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. 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. Ungar, D., Adams, S.S.: Hosting an object heap on manycore hardware: An exploration. SIGPLAN Not. 44(12), 99–110 (2009)

    Article  Google Scholar 

  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. 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. 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. Sagonas, K., Wilhelmsson, J.: Efficient memory management for concurrent programs that use message passing. Sci. Comput. Program. 62(2), 98–121 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  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. Snir, M., Otto, S.W., Walker, D.W., Dongarra, J., Huss-Lederman, S.: MPI: The Complete Reference. MIT Press, Cambridge (1995)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  22. Odersky, M., Altherr, P., Cremet, V.: The Scala language specification. Technical report, EFPL, Lausanne, Switzerland (April 2004)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  24. Germain, G.: Concurrency oriented programming in termite scheme. In: ERLANG 2006, p. 20. ACM, New York (2006)

    Google Scholar 

  25. Lee, J., et al.: Python actor runtime library (2010), osl.cs.uiui.edu/parley/

  26. Wiger, U.: What is Erlang-style concurrency? (2010), http://www.ulf.wiger.net/weblog/2008/02/06/what-is-erlang-style-concurrency/

  27. Intel Software Network: Intel trace analyzer and collector (2011), http://www.software.intel.com/en-us/articles/intel-trace-analyzer/

  28. Erlang Online Documentation: Trace tool builder (2011), http://www.erlang.org/doc/apps/observer/ttb_ug.html

  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)

    Article  Google Scholar 

  30. The ProTest Project: Framework 7 project 215868 (2008-11), http://www.protest-project.eu

  31. Arts, T., Fredlund, L.A.: Trace analysis of Erlang programs. SIGPLAN Not. 37(12), 18–24 (2002)

    Article  Google Scholar 

  32. Nystrom, J.: Analysing Fault Tolerance for Erlang Application. PhD thesis, Division of Computer Systems, Uppsala University (2009)

    Google Scholar 

  33. Thompson, S., et al.: Wrangler Tool (2011), http://www.cs.kent.ac.uk/projects/wrangler/

  34. Gartner Group: Gartner says Cloud consumers need brokerages to unlock the potential of Cloud services (2009), http://www.gartner.com/it/page.jsp?id=1064712

  35. Eucalyptus Systems: Cloud APIs (2010), http://www.eucalyptus.com/blog/2010/03/11/cloud-apis

  36. The RELEASE Project: Framework 7 project 287510 (2011-14), http://www.release-project.eu

  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. Aronis, S., et al.: BenchErl: A Scalability Benchmark Suite for Erlang/OTP (2012), release.softlab.ntua.gr/bencherl/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boudeville, O. et al. (2013). RELEASE: A High-Level Paradigm for Reliable Large-Scale Server Software. In: Loidl, HW., Peña, R. (eds) Trends in Functional Programming. TFP 2012. Lecture Notes in Computer Science, vol 7829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40447-4_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40447-4_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40446-7

  • Online ISBN: 978-3-642-40447-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics