David Klaftenegger, Konstantinos Sagonas, Kjell Winblad
{"title":"On the scalability of the Erlang term storage","authors":"David Klaftenegger, Konstantinos Sagonas, Kjell Winblad","doi":"10.1145/2505305.2505308","DOIUrl":null,"url":null,"abstract":"The Erlang Term Storage (ETS) is an important component of the Erlang runtime system, especially when parallelism enters the picture, as it provides an area where processes can share data. It is therefore important that ETS's implementation is efficient, flexible, but also as scalable as possible. In this paper we document and describe the current implementation of ETS in detail, discuss the main data structures that support it, and present the main points of its evolution across Erlang/OTP releases. More importantly, we measure the scalability of its implementations, the effects of its tuning options, identify bottlenecks, and suggest changes and alternative designs that can improve both its performance and its scalability.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Erlang Workshop","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2505305.2505308","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9
Abstract
The Erlang Term Storage (ETS) is an important component of the Erlang runtime system, especially when parallelism enters the picture, as it provides an area where processes can share data. It is therefore important that ETS's implementation is efficient, flexible, but also as scalable as possible. In this paper we document and describe the current implementation of ETS in detail, discuss the main data structures that support it, and present the main points of its evolution across Erlang/OTP releases. More importantly, we measure the scalability of its implementations, the effects of its tuning options, identify bottlenecks, and suggest changes and alternative designs that can improve both its performance and its scalability.
Erlang Term Storage (ETS)是Erlang运行时系统的一个重要组件,特别是当并行性出现时,因为它提供了一个进程可以共享数据的区域。因此,重要的是,ETS的实施既要高效、灵活,又要尽可能具有可扩展性。在本文中,我们详细记录和描述了ETS的当前实现,讨论了支持它的主要数据结构,并介绍了它在Erlang/OTP版本中演变的要点。更重要的是,我们测量其实现的可伸缩性、调优选项的影响、识别瓶颈,并提出可以改进其性能和可伸缩性的更改和替代设计建议。