Erlang Workshop最新文献

筛选
英文 中文
A scalability benchmark suite for Erlang/OTP Erlang/OTP的可伸缩性基准套件
Erlang Workshop Pub Date : 2012-09-14 DOI: 10.1145/2364489.2364495
Stavros Aronis, N. Papaspyrou, Katerina Roukounaki, Konstantinos Sagonas, Yiannis Tsiouris, Ioannis E. Venetis
{"title":"A scalability benchmark suite for Erlang/OTP","authors":"Stavros Aronis, N. Papaspyrou, Katerina Roukounaki, Konstantinos Sagonas, Yiannis Tsiouris, Ioannis E. Venetis","doi":"10.1145/2364489.2364495","DOIUrl":"https://doi.org/10.1145/2364489.2364495","url":null,"abstract":"Programming language implementers rely heavily on benchmarking for measuring and understanding performance of algorithms, architectural designs, and trade-offs between alternative implementations of compilers, runtime systems, and virtual machine components. Given this fact, it seems a bit ironic that it is often more difficult to come up with a good benchmark suite than a good implementation of a programming language.\u0000 This paper presents the main aspects of the design and the current status of bencherl, a publicly available scalability benchmark suite for applications written in Erlang. In contrast to other benchmark suites, which are usually designed to report a particular performance point, our benchmark suite aims to assess scalability, i.e., help developers to study a set of performance points that show how an application's performance changes when additional resources (e.g., CPU cores, schedulers, etc.) are added. We describe the scalability dimensions that the suite aims to examine and present its infrastructure and current set of benchmarks. We also report some limited set of performance results in order to show the capabilities of our suite.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126608970","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 42
On preserving term sharing in the Erlang virtual machine Erlang虚拟机中保留术语共享的研究
Erlang Workshop Pub Date : 2012-09-14 DOI: 10.1145/2364489.2364493
N. Papaspyrou, Konstantinos Sagonas
{"title":"On preserving term sharing in the Erlang virtual machine","authors":"N. Papaspyrou, Konstantinos Sagonas","doi":"10.1145/2364489.2364493","DOIUrl":"https://doi.org/10.1145/2364489.2364493","url":null,"abstract":"In programming language implementations, one of the most important design decisions concerns the underlying representation of terms. In functional languages with immutable terms, the runtime system can choose to preserve sharing of subterms or destroy sharing and expand terms to their flattened representation during certain key operations. Both options have pros and cons. The implementation of Erlang in the Erlang/OTP system from Ericsson has so far opted for an implementation where sharing of subterms is not preserved when terms are copied (e.g., when sent from one process to another or when used as arguments in spawns).\u0000 In this paper we describe our experiences and argue through examples why flattening terms during copying is not a good idea for a language like Erlang. More importantly, we propose a sharing-preserving copying mechanism for Erlang/OTP and describe a publicly available complete implementation of this mechanism. Performance results show that, even in extreme cases where no subterms are shared, this implementation has a reasonable overhead which is negligible in practice. In cases where shared subterms do exist, perhaps accidentally, the performance savings can be substantial.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131039195","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
From test cases to FSMs: augmented test-driven development and property inference 从测试用例到fsm:增强测试驱动开发和属性推断
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863511
T. Arts, S. Thompson
{"title":"From test cases to FSMs: augmented test-driven development and property inference","authors":"T. Arts, S. Thompson","doi":"10.1145/1863509.1863511","DOIUrl":"https://doi.org/10.1145/1863509.1863511","url":null,"abstract":"This paper uses the inference of finite state machines from EUnit test suites for Erlang programs to make two contributions. First, we show that the inferred FSMs provide feedback on the adequacy of the test suite that is developed incrementally during the test-driven development of a system. This is novel because the feedback we give is independent of the implementation of the system.\u0000 Secondly, we use FSM inference to develop QuickCheck properties for testing state-based systems. This has the effect of transforming a fixed set of tests into a property which can be tested using randomly generated data, substantially widening the coverage and scope of the tests.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132883383","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 10
A unified semantics for future Erlang 未来Erlang的统一语义
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863514
Hans Svensson, Lars-Åke Fredlund, Clara Benac Earle
{"title":"A unified semantics for future Erlang","authors":"Hans Svensson, Lars-Åke Fredlund, Clara Benac Earle","doi":"10.1145/1863509.1863514","DOIUrl":"https://doi.org/10.1145/1863509.1863514","url":null,"abstract":"The formal semantics of Erlang is a bit too complicated to be easily understandable. Much of this complication stems from the desire to accurately model the current implementations (Erlang/OTP R11-R14), which include features (and optimizations) developed during more than two decades. The result is a two-tier semantics where systems, and in particular messages, behave differently in a local and a distributed setting. With the introduction of multi-core hardware, multiple run-queues and efficient SMP support, the boundary between local and distributed is diffuse and should ultimately be removed. In this paper we develop a new, much cleaner semantics, for such future implementations of Erlang. We hope that this paper can stimulate some much needed debate regarding a number of poorly understood features of current and future implementations of Erlang.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129248028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 39
Quickchecking refactoring tools 快速检查重构工具
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863521
Dániel Drienyovszky, Dániel Horpácsi, S. Thompson
{"title":"Quickchecking refactoring tools","authors":"Dániel Drienyovszky, Dániel Horpácsi, S. Thompson","doi":"10.1145/1863509.1863521","DOIUrl":"https://doi.org/10.1145/1863509.1863521","url":null,"abstract":"Refactoring is the transformation of program source code in a way that preserves the behaviour of the program. Many tools exist for automating a number of refactoring steps, but these tools are often poorly tested. We present an automated testing framework based on QuickCheck for testing refactoring tools written for the Erlang programming language.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114697160","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 16
Chain replication in theory and in practice 理论和实践中的链式复制
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863515
S. Fritchie
{"title":"Chain replication in theory and in practice","authors":"S. Fritchie","doi":"10.1145/1863509.1863515","DOIUrl":"https://doi.org/10.1145/1863509.1863515","url":null,"abstract":"When implementing a distributed storage system, using an algorithm with a formal definition and proof is a wise idea. However, translating any algorithm into effective code can be difficult because the implementation must be both correct and fast.\u0000 This paper is a case study of the implementation of the chain replication protocol in a distributed key-value store called Hibari. In theory, the chain replication algorithm is quite simple and should be straightforward to implement correctly. In practice, however, there were many implementation details that had effects both profound and subtle. The Erlang community, as well as distributed systems implementors in general, can use the lessons learned with Hibari (specifically in areas of performance enhancements and failure detection) to avoid many dangers that lurk at the interface between theory and real-world computing.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117239597","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Analysis of preprocessor constructs in Erlang Erlang预处理器结构分析
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863517
R. Kitlei, István Bozó, T. Kozsik, M. Tejfel, M. Tóth
{"title":"Analysis of preprocessor constructs in Erlang","authors":"R. Kitlei, István Bozó, T. Kozsik, M. Tejfel, M. Tóth","doi":"10.1145/1863509.1863517","DOIUrl":"https://doi.org/10.1145/1863509.1863517","url":null,"abstract":"Program analysis and transformation tools work on source code, which - as in the case of Erlang - may contain macros and other preprocessor directives. Such preprocessor constructs have to be treated in an utterly different way than lexical and syntactical constructs. This paper presents an approach to treat preprocessor constructs in a non-invasive way that is reasonably efficient and supports code transformations and analyses in an Erlang specific framework.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127203781","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Generic load regulation framework for Erlang 通用的Erlang负载调节框架
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863518
Ulf T. Wiger
{"title":"Generic load regulation framework for Erlang","authors":"Ulf T. Wiger","doi":"10.1145/1863509.1863518","DOIUrl":"https://doi.org/10.1145/1863509.1863518","url":null,"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.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123973899","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Implementing a multiagent negotiation protocol in Erlang 在Erlang中实现一个多代理协商协议
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863520
Álvaro Fernández Díaz, Clara Benac Earle, Lars-Åke Fredlund
{"title":"Implementing a multiagent negotiation protocol in Erlang","authors":"Álvaro Fernández Díaz, Clara Benac Earle, Lars-Åke Fredlund","doi":"10.1145/1863509.1863520","DOIUrl":"https://doi.org/10.1145/1863509.1863520","url":null,"abstract":"In this paper we present an implementation in Erlang of a multi-agent negotiation protocol. The protocol is an extension of the well-known Contract Net Protocol, where concurrency and fault-tolerance have been addressed. We present some evidence that show Erlang is a very good choice for implementing this kind of protocol by identifying a quite high mapping between protocol specification and Erlang constructs. Moreover, we also elaborate on the added advantage that it can handle a larger number of agents than other implementations, with substantially better performance.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123444761","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Coordinating and visualizing independent behaviors in erlang 在erlang中协调和可视化独立行为
Erlang Workshop Pub Date : 2010-09-30 DOI: 10.1145/1863509.1863512
G. Wiener, Gera Weiss, Assaf Marron
{"title":"Coordinating and visualizing independent behaviors in erlang","authors":"G. Wiener, Gera Weiss, Assaf Marron","doi":"10.1145/1863509.1863512","DOIUrl":"https://doi.org/10.1145/1863509.1863512","url":null,"abstract":"Behavioral programming, introduced by the LSC language and extended by the BPJ Java library, enables development of behaviors as independent modules that are relatively oblivious of each other, yet are integrated at run-time yielding cohesive system behavior. In this paper we present a proof-of-concept for infrastructure and a design pattern that enable development of such behavioral programs in Erlang. Each behavior scenario, called a behavior thread, or b-thread, runs in its own Erlang process. Runs of programs are sequences of events that result from three kinds of b-thread actions: requesting that events be considered for triggering, waiting for triggered events, and blocking events that may be requested by other b-threads. A central mechanism handles these requests, and coordinates b-thread execution, yielding composite, integrated system behavior. We also introduce a visualization tool for Erlang programs written in the proposed design pattern. We believe that enabling the modular incremental development of behavioral programming in Erlang could further simplify the development and maintenance of applications consisting of concurrent independent behaviors.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-09-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128775754","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 13
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信