The shared-memory interferences of Erlang/OTP built-ins

Stavros Aronis, Konstantinos Sagonas
{"title":"The shared-memory interferences of Erlang/OTP built-ins","authors":"Stavros Aronis, Konstantinos Sagonas","doi":"10.1145/3123569.3123573","DOIUrl":null,"url":null,"abstract":"Erlang is a concurrent functional language based on the actor model of concurrency. In the purest form of this model, actors are realized by processes that do not share memory and communicate with each other exclusively via message passing. Erlang comes quite close to this model, as message passing is the primary form of interprocess communication and each process has its own memory area that is managed by the process itself. For this reason, Erlang is often referred to as implementing ``shared nothing'' concurrency. Although this is a convenient abstraction, in reality Erlang's main implementation, the Erlang/OTP system, comes with a large number of built-in operations that access memory which is shared by processes. In this paper, we categorize these built-ins, and characterize the interferences between them that can result in observable differences of program behaviour when these built-ins are used in a concurrent setting. The paper is complemented by a publicly available suite of more than one hundred small Erlang programs that demonstrate the racing behaviour of these built-ins.","PeriodicalId":106017,"journal":{"name":"Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-09-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3123569.3123573","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

Erlang is a concurrent functional language based on the actor model of concurrency. In the purest form of this model, actors are realized by processes that do not share memory and communicate with each other exclusively via message passing. Erlang comes quite close to this model, as message passing is the primary form of interprocess communication and each process has its own memory area that is managed by the process itself. For this reason, Erlang is often referred to as implementing ``shared nothing'' concurrency. Although this is a convenient abstraction, in reality Erlang's main implementation, the Erlang/OTP system, comes with a large number of built-in operations that access memory which is shared by processes. In this paper, we categorize these built-ins, and characterize the interferences between them that can result in observable differences of program behaviour when these built-ins are used in a concurrent setting. The paper is complemented by a publicly available suite of more than one hundred small Erlang programs that demonstrate the racing behaviour of these built-ins.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Erlang/OTP内置的共享内存干扰
Erlang是一种基于参与者并发模型的并发函数式语言。在这个模型的最纯粹的形式中,参与者是由进程实现的,这些进程不共享内存,并且通过消息传递专门地相互通信。Erlang非常接近这个模型,因为消息传递是进程间通信的主要形式,每个进程都有自己的内存区域,由进程自己管理。由于这个原因,Erlang通常被称为实现“无共享”并发。虽然这是一个方便的抽象,但实际上Erlang的主要实现,Erlang/OTP系统,带有大量的内置操作来访问由进程共享的内存。在本文中,我们对这些内置组件进行了分类,并描述了它们之间的干扰,当这些内置组件在并发设置中使用时,这些干扰可能导致程序行为的可观察差异。这篇论文是由一百多个公开的小Erlang程序组成的,这些程序展示了这些内置程序的竞速行为。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
eAOP: an aspect oriented programming framework for Erlang Towards change-driven testing Construction and formal verification of a fault-tolerant distributed mutual exclusion algorithm Towards an Isabelle/HOL formalisation of core Erlang The shared-memory interferences of Erlang/OTP built-ins
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1