skip to main content
10.1145/1863509.1863518acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Generic load regulation framework for Erlang

Published: 30 September 2010 Publication History

Abstract

Although Telecoms, the domain for which Erlang was conceived, has strong and ubiquitous requirements on overload protection, the Erlang/OTP platform offers no unified approach to addressing the problem. The Erlang community mailing list frequently sports discussions on how to avoid overload situations in individual components and processes, indicating that such an approach would be welcome. As Telecoms migrated from carefully regulated single-service networks towards multimedia services on top of best-effort multi-service packet data backbones, much was learned about providing end-to-end quality of service with a network of loosely coupled components, with only basic means of prioritization and flow control. This paper explores the similarity of such networks with typical Erlang-based message-passing architectures, and argues that a robust way of managing high-load conditions is to regulate at the input edges of the system, and sampling known internal choke points in order to dynamically maintain optimum throughput. A selection of typical overload conditions are discussed, and a new load regulation framework - JOBS - is presented, together with examples of how such overload conditions can be mitigated.

References

[1]
}}Gene M. Amdahl. Validity of the single processor approach to achieving large scale computing capabilities. In AFIPS '67 (Spring): Proceedings of the April 18-20, 1967, spring joint computer conference, pages 483--485, New York, NY, USA, 1967. ACM.
[2]
}}Joe Armstrong. Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf, July 2007.
[3]
}}Gregory Bell. Failure to thrive: Qos and the culture of operational networking. In RIPQoS '03: Proceedings of the ACM SIGCOMM workshop on Revisiting IP QoS, pages 115--120, New York, NY, USA, 2003. ACM. ISBN 1-58113-748-6.
[4]
}}Ericsson. Erlang/otp efficiency guide. http://erlang.org/doc/efficiency_guide/users_guide.html, June 2010a.
[5]
}}Ericsson. Erlang/otp overload reference manual. http://erlang.org/doc/man/overload.html, June 2010b.
[6]
}}ESL. Jobs github repository. http://github.com/esl/jobs, September 2010.
[7]
}}Terry Gray. Why not atm? http://staff.washington.edu/gray/papers/whynotatm.html, November 2000.
[8]
}}Sverre Haver. Freak wave event at draupner jacket januar 1 1995. http://folk.uio.no/karstent/seminarV05/Haver2004.pdf, May 2003.
[9]
}}D. Richard Kuhn. Sources of failure in the public switched telephone network. Computer, 30(4):31--36, 1997. ISSN 0018-9162.
[10]
}}Frank L. Lewis. Applied Optimal Control and Estimation. Prentice Hall PTR, Upper Saddle River, NJ, USA, 1992. ISBN 013040361X.
[11]
}}J. H. Nyström, P. W. Trinder, and D. J. King. High-level distribution for the rapid production of robust telecoms software: Comparing c++ and erlang, 2008.
[12]
}}Markus Peuhkuri. Ip quality of service. http://www.netlab.tkk.fi/~puhuri/htyo/Tik-110.551/iwork.ps, May 2010.
[13]
}}Paul H. Taylor, Thomas A.A. Adcock, Alistair G.L. Borthwick, Daniel A.G. Walker, and Yao Yao. The nature of the draupner giant wave of 1st january 1995 and the associated sea-state, and how to estimate directional spreading from an eulerian surface elevation time history. In 9th International Workshop on Wave Hindcasting and Forecasting, 2006.
[14]
}}Theorem.net. On-line introductions to control theory and engineering. http://www.theorem.net/theorem/background.html, 2001.
[15]
}}Yaogong Wang. Bassoon: Backpressure-based sip overload control. http://research.csc.ncsu.edu/netsrv/?q=bassoon, April 2010.
[16]
}}Matt Welsh and David Culler. Virtualization considered harmful: Os design directions for well-conditioned services. Hot Topics in Operating Systems, Workshop on, 0:0139, 2001.
[17]
}}MattWelsh, Steven D. Gribble, Eric A. Brewer, and David Culler. A design framework for highly concurrent systems, 2000.
[18]
}}Matt Welsh, David Culler, and Eric Brewer. Seda: an architecture for well-conditioned, scalable internet services. SIGOPS Oper. Syst. Rev., 35(5):230--243, 2001. ISSN 0163-5980.
[19]
}}Ulf Wiger. Four-fold increase in productivity and quality - industrial=strength functional programming in telecom-class products, 2001.
[20]
}}Ulf Wiger. Extended process registry for Erlang. In ERLANG '07: Proc. of the 2007 SIGPLAN workshop on ERLANG Workshop, pages 1--10, New York, NY, USA, 2007. ACM.
[21]
}}Wikipedia. Poisson process. http://en.wikipedia.org/wiki/Poisson_process, July 2010.
[22]
}}Brian Wilson. Reddit case study. http://www.ski-epic.com/2008_reddit_case_study/index.html, May 2008.

Cited By

View all
  • (2013)Software agents mobility using process migration mechanism in distributed ErlangProceedings of the twelfth ACM SIGPLAN workshop on Erlang10.1145/2505305.2505312(43-50)Online publication date: 28-Sep-2013

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Erlang '10: Proceedings of the 9th ACM SIGPLAN workshop on Erlang
September 2010
92 pages
ISBN:9781450302531
DOI:10.1145/1863509
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 September 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. erlang
  2. performance
  3. regulation
  4. throughput

Qualifiers

  • Research-article

Conference

ICFP '10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2013)Software agents mobility using process migration mechanism in distributed ErlangProceedings of the twelfth ACM SIGPLAN workshop on Erlang10.1145/2505305.2505312(43-50)Online publication date: 28-Sep-2013

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media