skip to main content
10.1145/1292520.1292522acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Extended process registry for erlang

Published:05 October 2007Publication History

ABSTRACT

The built-in process registry has proven to be an extremely useful feature of the Erlang language. It makes it easy to provide named services, which can be reached without knowing the process identifier of the serving process.

However, the current registry also has limitations: names can only be atoms (unstructured), processes can register under at most one name, and it offers no means of efficient search and iteration.

In Ericsson's IMS Gateway products, a recurring task was to maintain mapping tables in order to locate call handling processes based on different properties. A common pattern, a form of index table, was identified, and resulted in the development of an extended process registry.

It was not immediately obvious that this would be worthwhile, or even efficient enough to be useful. But as implementation progressed, designers found more and more uses for the extended process registry, which resulted in significant reduction of code volume and a more homogeneous implementation. It also provided a powerful means of debugging systems with many tens of thousand processes.

This paper describes the extended process registry, critiques it, and proposes a new implementation that offers more symmetry, better performance and support for a global namespace.

References

  1. Ulf Wiger, "Four-fold Increase in Productivity and Quality", FemSYS, Munich, Germany, 2001 http://www.erlang.se/publications/Ulf_Wiger.pptGoogle ScholarGoogle Scholar
  2. Ulf Wiger, "Structured Network Programming", Erlang User Conference, Stockholm, Sweden, 2005 http://www.erlang.se/euc/05/1500Wiger.pptGoogle ScholarGoogle Scholar
  3. Mats Cronqvist, "Troubleshooting a Large Erlang System", ACM SIGPLAN Erlang Workshop, Pittsburgh, USA, 2004 http://doi.acm.org/10.1145/1022471.1022474 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Erlang/OTP Design Principles, http://www.erlang.org/doc/design_principles/part_frame.htmlGoogle ScholarGoogle Scholar
  5. Thomas Lindgren, "Atom Garbage Collection", ACM SIGPLAN Erlang Workshop, Tallinn, Estonia, 2005 http://doi.acm.org/10.1145/1088361.1088369 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ulf Wiger, gproc Source Code Repository (Subversion) http://svn.ulf.wiger.net/gprocGoogle ScholarGoogle Scholar
  7. Arts, Claessen, Svensson, "Semi-formal Development of a Fault-Tolerant Leader Election Protocol in Erlang" Fourth International Workshop on Formal Approaches to Testing Software, volume 3395 of LNCS, pages 140--154 Linz, Austria, 2004 http://www.ituniv.se/~arts/papers/fates04.pdf Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Svensson, Arts, "A New Leader Election Implementation" ACM SIGPLAN Erlang Workshop, Tallinn, Estonia, 2005 http://doi.acm.org/10.1145/1088361.1088368 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Extended process registry for erlang

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          ERLANG '07: Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
          October 2007
          106 pages
          ISBN:9781595936752
          DOI:10.1145/1292520

          Copyright © 2007 ACM

          Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 5 October 2007

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

          Acceptance Rates

          ERLANG '07 Paper Acceptance Rate11of15submissions,73%Overall Acceptance Rate51of68submissions,75%

          Upcoming Conference

          ICFP '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader