首页 > 最新文献

Workshop on Programming based on Actors, Agents, and Decentralized Control最新文献

英文 中文
Semantics-preserving sharing actors 保持语义的共享参与者
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541332
M. Lesani, A. Lain
Actors interact by asynchronous message passing. A key semantic property of actors is that they do not share state. This facilitates data-race freedom, fault isolation and location transparency. On the other hand, strict avoidance of sharing can lead to inefficiency. We propose the sharing actor programming model that extends the actor programming model with single-writer multiple-reader sharing of data. We define the sharing actor theory and prove its semantic equivalence to the pure actor theory. We realize the sharing actor theory with an efficient implementation. The implementation benefits from sharing data but keeps it transparent to actors. To increase the confidence that the implementation complies with the semantics, we have built a checking tool based on deterministic replay of actor programs.
参与者通过异步消息传递进行交互。参与者的一个关键语义属性是它们不共享状态。这促进了数据竞争自由、故障隔离和位置透明性。另一方面,严格避免共享会导致效率低下。我们提出了共享参与者编程模型,它扩展了参与者编程模型,实现了单写入器多读取器的数据共享。定义了共享行为人理论,并证明了其与纯行为人理论的语义等价性。我们实现了共享参与者理论,并有效地实现了共享参与者理论。实现从共享数据中获益,但对参与者保持透明。为了增加实现符合语义的信心,我们建立了一个基于参与者程序的确定性重播的检查工具。
{"title":"Semantics-preserving sharing actors","authors":"M. Lesani, A. Lain","doi":"10.1145/2541329.2541332","DOIUrl":"https://doi.org/10.1145/2541329.2541332","url":null,"abstract":"Actors interact by asynchronous message passing. A key semantic property of actors is that they do not share state. This facilitates data-race freedom, fault isolation and location transparency. On the other hand, strict avoidance of sharing can lead to inefficiency. We propose the sharing actor programming model that extends the actor programming model with single-writer multiple-reader sharing of data. We define the sharing actor theory and prove its semantic equivalence to the pure actor theory. We realize the sharing actor theory with an efficient implementation. The implementation benefits from sharing data but keeps it transparent to actors. To increase the confidence that the implementation complies with the semantics, we have built a checking tool based on deterministic replay of actor programs.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115448500","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}
引用次数: 7
Toward the future of personal computing system construction 面向未来的个人计算系统建设
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541346
Y. Ohshima
The software for today's personal computing environments has become so complex that no single person can understand an entire system. Our group's early experiences with personal computing led us to understand that the essential model of personal computing can be expressed much more compactly. Our group engaged in a project (called the STEPS project) to materialize that vision over the last six years. Several interesting results came out of the STEPS project. There are various meta-language implementations. A new stream-processing language called Nile was invented. The syntax of Nile allows a fully-featured vector graphics engine called Gezira to be written in a clean, mathematical manner in less than 500 lines of code. We also wrote a dynamic, yet declarative, graphical user interface framework in which we built a universal document editor. From the experience with the STEPS project, we are exploring the next steps; one of the directions is to incorporate the idea of using multiple constraint solvers to build a system. Solvers can help stronger "negotiation" between objects and languages, and help the system to be written in a more declarative manner. Another direction is to take the idea of loose-coupling to the next level; objects should not know about other objects directly but should always negotiate and "find" other objects. As the basic concept for this next stage, we are using the "Internet all the way down" analogy. The Internet has proven itself to be a great engineering feat: it scaled from just four nodes to billions of nodes without ever needing a full shutdown for maintenance. It is also likely that we can take out a random 10% of the Internet's nodes and it will still keep running. By building a personal computing environment that consists of such nodes, or objects, perhaps we can make it never need to be restarted. Interestingly, J. C. R. Licklider already foresaw the need for program components to discover each other on a huge network of computers. From that viewpoint, what we are trying to do is to carry the vision forward.
当今个人计算环境的软件已经变得如此复杂,以至于没有一个人能够理解整个系统。我们小组在个人电脑方面的早期经验使我们认识到,个人电脑的基本模型可以用更简洁的方式表达。在过去的六年里,我们的团队参与了一个项目(称为STEPS项目)来实现这一愿景。STEPS项目产生了几个有趣的结果。有各种各样的元语言实现。一种叫做Nile的新的流处理语言被发明了。Nile的语法允许一个功能齐全的矢量图形引擎Gezira用不到500行代码以简洁、数学的方式编写。我们还编写了一个动态的、声明式的图形用户界面框架,并在其中构建了一个通用文档编辑器。根据STEPS项目的经验,我们正在探索下一步;其中一个方向是结合使用多个约束求解器来构建系统的思想。求解器可以帮助对象和语言之间进行更强的“协商”,并帮助系统以更具声明性的方式编写。另一个方向是将松耦合的思想提升到下一个层次;对象不应该直接知道其他对象,但应该始终协商并“找到”其他对象。作为下一阶段的基本概念,我们将使用“互联网一路向下”的类比。互联网已经证明了自己是一项伟大的工程壮举:它从仅仅4个节点扩展到数十亿个节点,而无需完全停机进行维护。也有可能我们可以随机取出10%的互联网节点,它仍然会继续运行。通过构建由这些节点或对象组成的个人计算环境,也许我们可以使其永远不需要重新启动。有趣的是,J. C. R. Licklider已经预见到程序组件需要在一个巨大的计算机网络上相互发现。从这个角度来看,我们正在努力做的是将愿景向前推进。
{"title":"Toward the future of personal computing system construction","authors":"Y. Ohshima","doi":"10.1145/2541329.2541346","DOIUrl":"https://doi.org/10.1145/2541329.2541346","url":null,"abstract":"The software for today's personal computing environments has become so complex that no single person can understand an entire system. Our group's early experiences with personal computing led us to understand that the essential model of personal computing can be expressed much more compactly. Our group engaged in a project (called the STEPS project) to materialize that vision over the last six years.\u0000 Several interesting results came out of the STEPS project. There are various meta-language implementations. A new stream-processing language called Nile was invented. The syntax of Nile allows a fully-featured vector graphics engine called Gezira to be written in a clean, mathematical manner in less than 500 lines of code. We also wrote a dynamic, yet declarative, graphical user interface framework in which we built a universal document editor.\u0000 From the experience with the STEPS project, we are exploring the next steps; one of the directions is to incorporate the idea of using multiple constraint solvers to build a system. Solvers can help stronger \"negotiation\" between objects and languages, and help the system to be written in a more declarative manner. Another direction is to take the idea of loose-coupling to the next level; objects should not know about other objects directly but should always negotiate and \"find\" other objects.\u0000 As the basic concept for this next stage, we are using the \"Internet all the way down\" analogy. The Internet has proven itself to be a great engineering feat: it scaled from just four nodes to billions of nodes without ever needing a full shutdown for maintenance. It is also likely that we can take out a random 10% of the Internet's nodes and it will still keep running. By building a personal computing environment that consists of such nodes, or objects, perhaps we can make it never need to be restarted.\u0000 Interestingly, J. C. R. Licklider already foresaw the need for program components to discover each other on a huge network of computers. From that viewpoint, what we are trying to do is to carry the vision forward.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123420389","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
A task framework on top of a concurrent OOP language rooted on agent-oriented abstractions 基于面向代理抽象的并发OOP语言之上的任务框架
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541345
Andrea Santi, A. Ricci
This paper describes a framework devised to ease the definition and management of complex tasks on top of ALOO, a novel Concurrent Object-Oriented Programming (COOP) language rooted on agent-oriented abstractions.
本文描述了一种基于面向代理抽象的新型并发面向对象编程(COOP)语言——ALOO——的简化复杂任务定义和管理的框架。
{"title":"A task framework on top of a concurrent OOP language rooted on agent-oriented abstractions","authors":"Andrea Santi, A. Ricci","doi":"10.1145/2541329.2541345","DOIUrl":"https://doi.org/10.1145/2541329.2541345","url":null,"abstract":"This paper describes a framework devised to ease the definition and management of complex tasks on top of ALOO, a novel Concurrent Object-Oriented Programming (COOP) language rooted on agent-oriented abstractions.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"26 1-2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123422140","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
Supporting many-to-many communication 支持多对多通信
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541343
H. Geng, Nadeem Jamali
In a variety of contexts -- from social media to wireless sensor networks -- we see increasingly complex patterns of communication, often characterized by having multiple senders for messages. This paper argues that existing communication mechanisms do not adequately support many-to-many communication, and proposes multicall -- a richer form of blocking broadcast -- as a possible solution. The syntax and implementation of multicall are presented, followed by examples to illustrate how multicall can be used to program many-to-many communication.
在各种各样的环境中——从社交媒体到无线传感器网络——我们看到越来越复杂的通信模式,通常具有多个消息发送者的特征。本文认为,现有的通信机制不能充分支持多对多通信,并提出了多组(multicall)——一种更丰富的阻塞广播形式——作为一种可能的解决方案。本文介绍了multicall的语法和实现,然后通过示例说明如何使用multicall编程多对多通信。
{"title":"Supporting many-to-many communication","authors":"H. Geng, Nadeem Jamali","doi":"10.1145/2541329.2541343","DOIUrl":"https://doi.org/10.1145/2541329.2541343","url":null,"abstract":"In a variety of contexts -- from social media to wireless sensor networks -- we see increasingly complex patterns of communication, often characterized by having multiple senders for messages. This paper argues that existing communication mechanisms do not adequately support many-to-many communication, and proposes multicall -- a richer form of blocking broadcast -- as a possible solution. The syntax and implementation of multicall are presented, followed by examples to illustrate how multicall can be used to program many-to-many communication.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"112 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122554097","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}
引用次数: 7
Efficient and fully abstract routing of futures in object network overlays 有效和完全抽象路由的未来在对象网络覆盖
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541340
M. Dam, Karl Palmskog
In distributed object systems, it is desirable to enable migration of objects between locations, e.g., in order to support efficient resource allocation. Existing approaches build complex routing infrastructures to handle object-to-object communication, typically on top of IP, using, e.g., message forwarding chains or centralized object location servers. These solutions are costly and problematic in terms of efficiency, overhead, and correctness. We show how location independent routing can be used to implement object overlays with complex messaging behavior in a sound, fully abstract, and efficient way, on top of an abstract network of processing nodes connected point-to-point by asynchronous channels. We consider a distributed object language with futures, essentially lazy return values. Futures are challenging in this context due to the global consistency requirements they impose. The key conclusion is that execution in a decentralized, asynchronous network can preserve the standard, network-oblivious behavior of objects with futures, in the sense of contextual equivalence. To the best of our knowledge, this is the first such result in the literature. We also believe the proposed execution model may be of interest in its own right in the context of large-scale distributed computing.
在分布式对象系统中,为了支持有效的资源分配,我们希望能够在不同位置之间迁移对象。现有的方法构建复杂的路由基础设施来处理对象到对象的通信,通常在IP之上,使用消息转发链或集中的对象定位服务器。这些解决方案在效率、开销和正确性方面成本高昂且存在问题。我们展示了如何使用与位置无关的路由,在通过异步通道点对点连接的处理节点的抽象网络之上,以一种健全、完全抽象和有效的方式实现具有复杂消息传递行为的对象覆盖。我们考虑一种具有未来的分布式对象语言,本质上是惰性返回值。由于对全球一致性的要求,期货在这种情况下具有挑战性。关键的结论是,在上下文等价的意义上,在分散的异步网络中执行可以保留具有期货的对象的标准、网络无关的行为。据我们所知,这是文献中第一次出现这样的结果。我们还相信,在大规模分布式计算的背景下,所提出的执行模型本身可能会引起人们的兴趣。
{"title":"Efficient and fully abstract routing of futures in object network overlays","authors":"M. Dam, Karl Palmskog","doi":"10.1145/2541329.2541340","DOIUrl":"https://doi.org/10.1145/2541329.2541340","url":null,"abstract":"In distributed object systems, it is desirable to enable migration of objects between locations, e.g., in order to support efficient resource allocation. Existing approaches build complex routing infrastructures to handle object-to-object communication, typically on top of IP, using, e.g., message forwarding chains or centralized object location servers. These solutions are costly and problematic in terms of efficiency, overhead, and correctness. We show how location independent routing can be used to implement object overlays with complex messaging behavior in a sound, fully abstract, and efficient way, on top of an abstract network of processing nodes connected point-to-point by asynchronous channels. We consider a distributed object language with futures, essentially lazy return values. Futures are challenging in this context due to the global consistency requirements they impose. The key conclusion is that execution in a decentralized, asynchronous network can preserve the standard, network-oblivious behavior of objects with futures, in the sense of contextual equivalence. To the best of our knowledge, this is the first such result in the literature. We also believe the proposed execution model may be of interest in its own right in the context of large-scale distributed computing.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131090867","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}
引用次数: 5
Tanks: multiple reader, single writer actors 坦克:多个读取器,单个写入器
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541331
Joeri De Koster, Stefan Marr, T. D'Hondt, T. V. Cutsem
In the past, the Actor Model has mainly been explored in a distributed context. However, more and more application developers are also starting to use it to program shared-memory multicore machines because of the safety guarantees it provides. It avoids issues such as deadlocks and race conditions by construction, and thus facilitates concurrent programming. The tradeoff is that the Actor Model sacrifices expressiveness with respect to accessing shared state because actors are fully isolated from each other (a.k.a. "shared-nothing parallelism"). There is a need for more high level synchronization mechanisms that integrate with the actor model without sacrificing the safety and liveness guarantees it provides. This paper introduces a variation on the communicating event-loops actor model called the TANK model. A tank is an actor that can expose part of its state as a shared read-only resource. The model ensures that any other actor will always observe a consistent version of that state, even in the face of concurrent updates of the actor that owns that state.
在过去,参与者模型主要是在分布式环境中进行探索的。然而,越来越多的应用程序开发人员也开始使用它来编写共享内存多核机器,因为它提供了安全保证。它通过构造避免了死锁和竞争条件等问题,从而促进了并发编程。权衡是参与者模型牺牲了访问共享状态方面的表达性,因为参与者彼此之间是完全隔离的。“无共享并行性”)。需要更高级的同步机制,在不牺牲参与者模型提供的安全性和活动性保证的情况下与参与者模型集成。本文介绍了通信事件循环参与者模型的一种变体,称为TANK模型。坦克是一个参与者,可以将其部分状态公开为共享的只读资源。该模型确保任何其他参与者将始终观察该状态的一致版本,即使面对拥有该状态的参与者的并发更新。
{"title":"Tanks: multiple reader, single writer actors","authors":"Joeri De Koster, Stefan Marr, T. D'Hondt, T. V. Cutsem","doi":"10.1145/2541329.2541331","DOIUrl":"https://doi.org/10.1145/2541329.2541331","url":null,"abstract":"In the past, the Actor Model has mainly been explored in a distributed context. However, more and more application developers are also starting to use it to program shared-memory multicore machines because of the safety guarantees it provides. It avoids issues such as deadlocks and race conditions by construction, and thus facilitates concurrent programming. The tradeoff is that the Actor Model sacrifices expressiveness with respect to accessing shared state because actors are fully isolated from each other (a.k.a. \"shared-nothing parallelism\"). There is a need for more high level synchronization mechanisms that integrate with the actor model without sacrificing the safety and liveness guarantees it provides. This paper introduces a variation on the communicating event-loops actor model called the TANK model. A tank is an actor that can expose part of its state as a shared read-only resource. The model ensures that any other actor will always observe a consistent version of that state, even in the face of concurrent updates of the actor that owns that state.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"61 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114114636","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
Improving the performance of actor model runtime environments on multicore and manycore platforms 在多核和多核平台上改进参与者模型运行时环境的性能
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541342
E. Francesquini, A. Goldman, J. Méhaut
The actor model is present in many systems that demand substantial computing resources which are often provided by multicore and multiprocessor platforms such as non-uniform memory access architectures (NUMA) and manycore processors. Yet, no mainstream actor model runtime environment (RE) currently in use takes into account the hierarchical memory characteristics of these platforms. These REs essentially assume a flat-memory space therefore not performing as well as they could. In this paper we present our proposal to improve the performance of these systems. Using knowledge about the general characteristics of actor-based applications and the underlying platform, we propose techniques spanning from memory management to scheduling and load-balancing. Based on previous work, we present our design guidelines for the RE adaptation to the Kalray MPPA-256 manycore processor.
参与者模型存在于许多需要大量计算资源的系统中,这些计算资源通常由多核和多处理器平台(如非统一内存访问体系结构(NUMA)和多核处理器)提供。然而,目前使用的主流参与者模型运行时环境(RE)没有考虑到这些平台的分层内存特征。这些REs本质上假定是一个平面内存空间,因此它们的性能没有达到应有的水平。在本文中,我们提出了我们的建议,以提高这些系统的性能。利用关于基于角色的应用程序和底层平台的一般特征的知识,我们提出了从内存管理到调度和负载平衡的技术。在前人工作的基础上,我们提出了适用于Kalray MPPA-256多核处理器的RE的设计准则。
{"title":"Improving the performance of actor model runtime environments on multicore and manycore platforms","authors":"E. Francesquini, A. Goldman, J. Méhaut","doi":"10.1145/2541329.2541342","DOIUrl":"https://doi.org/10.1145/2541329.2541342","url":null,"abstract":"The actor model is present in many systems that demand substantial computing resources which are often provided by multicore and multiprocessor platforms such as non-uniform memory access architectures (NUMA) and manycore processors. Yet, no mainstream actor model runtime environment (RE) currently in use takes into account the hierarchical memory characteristics of these platforms. These REs essentially assume a flat-memory space therefore not performing as well as they could. In this paper we present our proposal to improve the performance of these systems. Using knowledge about the general characteristics of actor-based applications and the underlying platform, we propose techniques spanning from memory management to scheduling and load-balancing. Based on previous work, we present our design guidelines for the RE adaptation to the Kalray MPPA-256 manycore processor.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"15 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130699781","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}
引用次数: 5
Code management automation for Erlang remote actors Erlang远程参与者的代码管理自动化
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541344
Adrian Francalanza, Tyron Zerafa
Distributed Erlang provides mechanisms for spawning actors remotely through its remote spawn BIF. For remote spawn to function properly, the node hosting the spawned actor must share the same codebase as that of the node launching the actor. This assumption turns out to be too strong for various distributed settings. We propose a higher-level framework for the remote spawn of side-effect free actors, abstracting from codebase migration and management.
分布式Erlang提供了通过远程生成BIF远程生成参与者的机制。要使远程生成正常工作,承载生成参与者的节点必须与启动参与者的节点共享相同的代码库。事实证明,对于各种分布式设置来说,这个假设过于强大了。我们提出了一个更高层次的框架,用于远程生成无副作用的参与者,从代码库迁移和管理中抽象出来。
{"title":"Code management automation for Erlang remote actors","authors":"Adrian Francalanza, Tyron Zerafa","doi":"10.1145/2541329.2541344","DOIUrl":"https://doi.org/10.1145/2541329.2541344","url":null,"abstract":"Distributed Erlang provides mechanisms for spawning actors remotely through its remote spawn BIF. For remote spawn to function properly, the node hosting the spawned actor must share the same codebase as that of the node launching the actor. This assumption turns out to be too strong for various distributed settings. We propose a higher-level framework for the remote spawn of side-effect free actors, abstracting from codebase migration and management.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132927347","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
Load balancing non-uniform parallel computations 负载平衡非均匀并行计算
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541337
Xinghui Zhao, Nadeem Jamali
Dynamic load balancing is critical in achieving high performance in parallel systems, especially for applications with unpredictable workloads. Traditional load balancing approaches -- such as work-sharing and work-stealing -- often assume that the computations can be divided into smaller computations based on some granularity. These approaches do not scale when the computations are not dividable and their sizes are highly variant. In this paper, we present a novel approach -- founded in the Actor model known for its programmability -- for dynamically load-balancing non-uniform parallel computations. Specifically, our approach is to explicitly reason about resource requirements and commitments at run-time in order to make fine-grained scheduling decisions. We prototype our approach by extending an efficient Java implementation of Actors, ActorFoundry. We have also implemented a tuner which dynamically balances the resources used by the computations vs. those used by the reasoning mechanism, essentially balancing the quality of scheduling against the resources needed for achieving it. We propose a new benchmark -- the Unbalanced Cobwebbed Tree (UCT) -- to fairly compare our approach to existing approaches, which captures the non-uniform nature of computations. Experimental results show that despite the higher overhead of providing Actors' programmability features, for a diverse enough set of computations, our approach outperforms both work-sharing and work-stealing approaches, and shows better scalability.
动态负载平衡对于在并行系统中实现高性能至关重要,特别是对于具有不可预测工作负载的应用程序。传统的负载平衡方法——例如工作共享和工作窃取——通常假设计算可以根据某些粒度划分为更小的计算。当计算不可除且其大小变化很大时,这些方法无法扩展。在本文中,我们提出了一种新颖的方法——建立在以其可编程性而闻名的Actor模型中——用于动态负载平衡非均匀并行计算。具体来说,我们的方法是在运行时明确地推断资源需求和承诺,以便做出细粒度的调度决策。我们通过扩展Actors的一个高效Java实现ActorFoundry来实现我们的方法原型。我们还实现了一个调优器,它可以动态地平衡计算使用的资源和推理机制使用的资源,从本质上平衡调度的质量和实现调度所需的资源。我们提出了一个新的基准——不平衡蛛网树(UCT)——来公平地将我们的方法与现有的方法进行比较,后者捕获了计算的非均匀性。实验结果表明,尽管提供actor的可编程特性的开销较高,但对于足够多样化的计算集,我们的方法优于工作共享和工作窃取方法,并显示出更好的可扩展性。
{"title":"Load balancing non-uniform parallel computations","authors":"Xinghui Zhao, Nadeem Jamali","doi":"10.1145/2541329.2541337","DOIUrl":"https://doi.org/10.1145/2541329.2541337","url":null,"abstract":"Dynamic load balancing is critical in achieving high performance in parallel systems, especially for applications with unpredictable workloads. Traditional load balancing approaches -- such as work-sharing and work-stealing -- often assume that the computations can be divided into smaller computations based on some granularity. These approaches do not scale when the computations are not dividable and their sizes are highly variant. In this paper, we present a novel approach -- founded in the Actor model known for its programmability -- for dynamically load-balancing non-uniform parallel computations. Specifically, our approach is to explicitly reason about resource requirements and commitments at run-time in order to make fine-grained scheduling decisions. We prototype our approach by extending an efficient Java implementation of Actors, ActorFoundry. We have also implemented a tuner which dynamically balances the resources used by the computations vs. those used by the reasoning mechanism, essentially balancing the quality of scheduling against the resources needed for achieving it. We propose a new benchmark -- the Unbalanced Cobwebbed Tree (UCT) -- to fairly compare our approach to existing approaches, which captures the non-uniform nature of computations. Experimental results show that despite the higher overhead of providing Actors' programmability features, for a diverse enough set of computations, our approach outperforms both work-sharing and work-stealing approaches, and shows better scalability.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117201523","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
Structured reasoning about actor systems 关于参与者系统的结构化推理
Pub Date : 2013-10-27 DOI: 10.1145/2541329.2541334
D. Musser, Carlos A. Varela
The actor model of distributed computing imposes important restrictions on concurrent computations in order to be valid. In particular, an actor language implementation must provide fairness, the property that if a system transition is infinitely often enabled, the transition must eventually happen. Fairness is fundamental to proving progress properties. We show that many properties of actor computation can be expressed and proved at an abstract level, independently of the details of a particular system of actors. As in abstract algebra, we formulate and prove theorems at the most abstract level possible, so that they can be applied at all more refined levels of the theory hierarchy. Our most useful abstract-level theorems concern persistence of actors, conditional persistence of messages, preservation of unique actor identifiers, monotonicity properties of actor local states, guaranteed message delivery, and general consequences of fairness. We apply the general actor theory to a concrete ticker and clock actor system, proving several system-specific properties, including conditional invariants and a progress theorem. We develop our framework within the Athena proof system, in which proofs are both human-readable and machine-checkable, taking advantage of it library of algebraic and relational theories.
分布式计算的参与者模型对并发计算施加了重要的限制,以保证其有效性。特别是,参与者语言实现必须提供公平性,即如果无限频繁地启用系统转换,则转换最终必须发生。公平性是证明进步属性的基础。我们证明了行动者计算的许多属性可以在抽象层次上表达和证明,而独立于特定行动者系统的细节。就像在抽象代数中一样,我们尽可能在最抽象的层次上表述和证明定理,以便它们可以应用于理论层次的所有更精细的层次。我们最有用的抽象级定理涉及参与者的持久性、消息的条件持久性、唯一参与者标识符的保存、参与者局部状态的单调性属性、有保证的消息传递以及公平性的一般结果。我们将一般参与者理论应用于具体的报时参与者系统,证明了几个系统特有的性质,包括条件不变量和一个进度定理。我们在雅典娜证明系统中开发了我们的框架,其中证明既可人类阅读又可机器检查,利用了它的代数和关系理论库。
{"title":"Structured reasoning about actor systems","authors":"D. Musser, Carlos A. Varela","doi":"10.1145/2541329.2541334","DOIUrl":"https://doi.org/10.1145/2541329.2541334","url":null,"abstract":"The actor model of distributed computing imposes important restrictions on concurrent computations in order to be valid. In particular, an actor language implementation must provide fairness, the property that if a system transition is infinitely often enabled, the transition must eventually happen. Fairness is fundamental to proving progress properties. We show that many properties of actor computation can be expressed and proved at an abstract level, independently of the details of a particular system of actors. As in abstract algebra, we formulate and prove theorems at the most abstract level possible, so that they can be applied at all more refined levels of the theory hierarchy. Our most useful abstract-level theorems concern persistence of actors, conditional persistence of messages, preservation of unique actor identifiers, monotonicity properties of actor local states, guaranteed message delivery, and general consequences of fairness. We apply the general actor theory to a concrete ticker and clock actor system, proving several system-specific properties, including conditional invariants and a progress theorem. We develop our framework within the Athena proof system, in which proofs are both human-readable and machine-checkable, taking advantage of it library of algebraic and relational theories.","PeriodicalId":287804,"journal":{"name":"Workshop on Programming based on Actors, Agents, and Decentralized Control","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-10-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116203385","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}
引用次数: 8
期刊
Workshop on Programming based on Actors, Agents, and Decentralized Control
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
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