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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Trew, A.: Parallelism and the exascale challenge. Distinguished Lecture. St Andrews University, St Andrews, UK (2010)
Ericsson, A.B.: Erlang/OTP Efficiency Guide, System Limits (2011), erlang.org/doc/efficiency_guide/advanced.html#id67011
Cesarini, F., Thompson, S.: Erlang Programming. O’Reilly (2009)
Agha, G.: An overview of Actor languages. SIGPLAN Not. 21(10), 58–67 (1986)
IBM Research: IBM Research Blue Gene Project (2012), www.research.ibm.com/bluegene/index.html
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)
Epstein, J., Black, A.P., Peyton-Jones, S.: Towards Haskell in the Cloud. In: Haskell 2011, pp. 118–129. ACM (2011)
Odersky, M., et al.: The Scala programming language (2012), www.scala-lang.org
Syme, D., Granicz, A., Cisternino, A.: Expert F#. Springer (2007)
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)
Intel Corporation: Tera-scale computing architecture overview (2012), http://www.intel.com/content/www/us/en/research/intel-labs-terascale-computing-demo.html
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)
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)
Ungar, D., Adams, S.S.: Hosting an object heap on manycore hardware: An exploration. SIGPLAN Not. 44(12), 99–110 (2009)
Leung, A., Lhoták, O., Lashari, G.: Automatic parallelization for graphics processing units. In: PPPJ 2009, pp. 91–100. ACM, New York (2009)
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)
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)
Sagonas, K., Wilhelmsson, J.: Efficient memory management for concurrent programs that use message passing. Sci. Comput. Program. 62(2), 98–121 (2006)
Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.: Parallel Programming in OpenMP. Morgan Kaufmann, San Francisco (2001)
Snir, M., Otto, S.W., Walker, D.W., Dongarra, J., Huss-Lederman, S.: MPI: The Complete Reference. MIT Press, Cambridge (1995)
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)
Odersky, M., Altherr, P., Cremet, V.: The Scala language specification. Technical report, EFPL, Lausanne, Switzerland (April 2004)
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)
Germain, G.: Concurrency oriented programming in termite scheme. In: ERLANG 2006, p. 20. ACM, New York (2006)
Lee, J., et al.: Python actor runtime library (2010), osl.cs.uiui.edu/parley/
Wiger, U.: What is Erlang-style concurrency? (2010), http://www.ulf.wiger.net/weblog/2008/02/06/what-is-erlang-style-concurrency/
Intel Software Network: Intel trace analyzer and collector (2011), http://www.software.intel.com/en-us/articles/intel-trace-analyzer/
Erlang Online Documentation: Trace tool builder (2011), http://www.erlang.org/doc/apps/observer/ttb_ug.html
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)
The ProTest Project: Framework 7 project 215868 (2008-11), http://www.protest-project.eu
Arts, T., Fredlund, L.A.: Trace analysis of Erlang programs. SIGPLAN Not. 37(12), 18–24 (2002)
Nystrom, J.: Analysing Fault Tolerance for Erlang Application. PhD thesis, Division of Computer Systems, Uppsala University (2009)
Thompson, S., et al.: Wrangler Tool (2011), http://www.cs.kent.ac.uk/projects/wrangler/
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
Eucalyptus Systems: Cloud APIs (2010), http://www.eucalyptus.com/blog/2010/03/11/cloud-apis
The RELEASE Project: Framework 7 project 287510 (2011-14), http://www.release-project.eu
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)
Aronis, S., et al.: BenchErl: A Scalability Benchmark Suite for Erlang/OTP (2012), release.softlab.ntua.gr/bencherl/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)