skip to main content
10.1145/2814189.2817267acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
abstract

Pyrlang: a high performance Erlang virtual machine based on RPython

Published: 25 October 2015 Publication History

Abstract

In widely-used actor-based programming languages, such as Erlang, sequential execution performance is as important as scalability of concurrency. We are developing a virtual machine called Pyrlang for the Erlang BEAM bytecode with a just-in-time (JIT) compiler. By using RPython’s tracing JIT compiler, our preliminary evaluation showed approximately twice speedup over the standard Erlang interpreter. In this poster, we overview the design of Pyrlang and the tech- niques to apply RPython’s tracing JIT compiler to BEAM bytecode programs written in the Erlang’s functional style of programming.

References

[1]
G. Agha. Actors: A model of concurrent computation in distributed systems. MIT Press, Cambridge, 1986.
[2]
J. Armstrong. ”The development of Erlang.” In Proceedings of International Conference on Functional Programming ’97, pages 196–203. ACM, 1997.
[3]
E. Johansson, et al. HiPE: High Performance Erlang. Technical Report ASTEC report 99/04, Uppsala University, 1999.
[4]
C. F. Bolz, A. Cuni, M. Fijalkowski, & A. Rigo. Tracing the meta-level: PyPy’’s tracing JIT compiler. In Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems pages 18-25. ACM, 2009.
[5]
Bolz, Carl Friedrich, et al. ”Allocation removal by partial evaluation in a tracing JIT.” Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation. ACM, 2011.
[6]
C. F. Bolz, T. Pape, J. Siek, and S. Tobin-Hochstadt. ”Metatracing makes a fast Racket.” In Proceedings of Workshop on Dynamic Languages and Applications. 2014.
[7]
H. Hayashizaki, P. Wu, H. Inoue, M. J. Serrano, and T. Nakatani. Improving the performance of trace-based systems by false loop filtering. In Proceedings of the sixteenth international Conference on Architectural support for programming Languages and operating systems pages 405- 418. ACM, 2012.
[8]
K. Li and P. Hudak. A new list compaction method. Software: Practice and Experience 16.2:145-163, 1986.
[9]
Z. Shao, J. H. Reppy, and A. W. Appel. Unrolling lists. In Proceedings of the ACM Conference on Lisp and Functional Programming pages 185–195, 1994.
[10]
K. Lundin. ”About Erlang/OTP and Multi-core performance in particular.” Erlang Factory London (2009).

Index Terms

  1. Pyrlang: a high performance Erlang virtual machine based on RPython

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SPLASH Companion 2015: Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity
    October 2015
    112 pages
    ISBN:9781450337229
    DOI:10.1145/2814189
    Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 25 October 2015

    Check for updates

    Author Tags

    1. BEAM
    2. Erlang
    3. JIT
    4. Meta-tracing

    Qualifiers

    • Abstract

    Conference

    SPLASH '15
    Sponsor:

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 113
      Total Downloads
    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media