首页 > 最新文献

Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control最新文献

英文 中文
From Actor Event-Loop to Agent Control-Loop: Impact on Programming 从角色事件循环到代理控制循环:对编程的影响
A. Ricci
Event-loops and control-loops are the main control architectures adopted in actors and in agents, respectively. These architectures have a strong impact on the principles and discipline that can be adopted to design and program actors and agents. In this paper we develop this point, considering some main models/languages/technologies - ActorFoundry, Akka Actors, SALSA, AmbientTalk on the actor side and Jason and ALOO on the agent side - discussing and comparing them.
事件循环和控制循环分别是参与者和代理采用的主要控制体系结构。这些体系结构对可用于设计和规划参与者和代理的原则和规程有很大的影响。在本文中,我们发展了这一观点,考虑了一些主要的模型/语言/技术——actor方面的ActorFoundry、Akka Actors、SALSA、AmbientTalk和agent方面的Jason和ALOO——对它们进行了讨论和比较。
{"title":"From Actor Event-Loop to Agent Control-Loop: Impact on Programming","authors":"A. Ricci","doi":"10.1145/2687357.2687361","DOIUrl":"https://doi.org/10.1145/2687357.2687361","url":null,"abstract":"Event-loops and control-loops are the main control architectures adopted in actors and in agents, respectively. These architectures have a strong impact on the principles and discipline that can be adopted to design and program actors and agents. In this paper we develop this point, considering some main models/languages/technologies - ActorFoundry, Akka Actors, SALSA, AmbientTalk on the actor side and Jason and ALOO on the agent side - discussing and comparing them.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131292730","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
Scaling-Up Behavioral Programming: Steps from Basic Principles to Application Architectures 扩展行为编程:从基本原则到应用程序架构的步骤
D. Harel, Guy Katz
Behavioral programming (BP) is a decentralized scenario-based paradigm for the programming of reactive software, geared towards incremental and intuitive development. In this work we apply the principles of BP to a large, real-world case-study: a web-server. We discuss the conclusions learned from our attempt and propose several extension idioms to BP, aimed at improving the framework's scalability. Specifically, we propose extending BP with a timeout idiom for handling various time constraints, program-specific execution strategies, dynamic thread creation for efficiently allocating system resources, and support for parameterized events to handle inputs with infinite domains. Our extensions and case-study are implemented in a new framework for behavioral programming in C++.
行为编程(BP)是一种分散的基于场景的响应式软件编程范式,面向增量和直观的开发。在这项工作中,我们将BP的原理应用于一个大型的、现实世界的案例研究:一个web服务器。我们讨论了从我们的尝试中学到的结论,并提出了几个扩展BP的习惯用法,旨在提高框架的可扩展性。具体来说,我们建议用超时习语来扩展BP,以处理各种时间约束、特定于程序的执行策略、动态线程创建以有效分配系统资源,以及支持参数化事件以处理无限域的输入。我们的扩展和案例研究是在一个新的c++行为编程框架中实现的。
{"title":"Scaling-Up Behavioral Programming: Steps from Basic Principles to Application Architectures","authors":"D. Harel, Guy Katz","doi":"10.1145/2687357.2687359","DOIUrl":"https://doi.org/10.1145/2687357.2687359","url":null,"abstract":"Behavioral programming (BP) is a decentralized scenario-based paradigm for the programming of reactive software, geared towards incremental and intuitive development. In this work we apply the principles of BP to a large, real-world case-study: a web-server. We discuss the conclusions learned from our attempt and propose several extension idioms to BP, aimed at improving the framework's scalability. Specifically, we propose extending BP with a timeout idiom for handling various time constraints, program-specific execution strategies, dynamic thread creation for efficiently allocating system resources, and support for parameterized events to handle inputs with infinite domains. Our extensions and case-study are implemented in a new framework for behavioral programming in C++.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"1991 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125521417","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}
引用次数: 21
Efficient TCTL Model Checking Algorithm for Timed Actors 一种高效的定时角色TCTL模型检测算法
E. Khamespanah, R. Khosravi, M. Sirjani
Non-Polynomial time complexity of model checking algorithms for TCTL properties in dense time is one of the obstacles against using model checking for timed systems. Alternatively, polynomial time algorithms are suggested for model checking discrete time models presented as Duration Time Graphs (DTG) versus a subset of TCTL formula (TCTL≤,≥). While TCTL≤,≥ can be model checked in polynomial time, the problem of model checking for exact time condition (TCTL=) is an NP-Hard problem unless certain conditions hold. In this work we tackle model checking of timed actors using DTG. At the first step, we propose a reduction technique by folding all the instantaneous transitions, resulting folded timed transition system (FTS). At the second step, we show how the FTS of timed actors with discrete time can be mapped to a DTG. Then, we show when the necessary conditions hold for the FTS of timed actors and hence there is an O(|S|2 • Φ) algorithm for model checking of complete TCTL properties (including TCTL≤,≥ and TCTL=) which have small constant time quantifiers. We use a set of case studies to illustrate the impact of using this technique in different application domains.
稠密时间下TCTL特性模型检验算法的非多项式时间复杂度是对定时系统进行模型检验的障碍之一。或者,建议使用多项式时间算法来检查以持续时间图(DTG)形式呈现的离散时间模型,而不是TCTL公式的子集(TCTL≤,≥)。虽然TCTL≤、≥可以在多项式时间内进行模型检验,但对于精确时间条件(TCTL=)的模型检验问题,除非满足一定条件,否则是NP-Hard问题。在这项工作中,我们使用DTG解决了计时演员的模型检查问题。首先,我们提出了一种将所有瞬时跃迁折叠的还原技术,从而得到折叠的定时跃迁系统(FTS)。在第二步,我们展示了如何将具有离散时间的定时参与者的FTS映射到DTG。然后,我们证明了时间参与者的FTS的必要条件何时成立,因此有一个O(|S|2•Φ)算法用于具有小常数时间量词的完整TCTL属性(包括TCTL≤,≥和TCTL=)的模型检查。我们使用一组案例研究来说明在不同的应用程序领域中使用此技术的影响。
{"title":"Efficient TCTL Model Checking Algorithm for Timed Actors","authors":"E. Khamespanah, R. Khosravi, M. Sirjani","doi":"10.1145/2687357.2687366","DOIUrl":"https://doi.org/10.1145/2687357.2687366","url":null,"abstract":"Non-Polynomial time complexity of model checking algorithms for TCTL properties in dense time is one of the obstacles against using model checking for timed systems. Alternatively, polynomial time algorithms are suggested for model checking discrete time models presented as Duration Time Graphs (DTG) versus a subset of TCTL formula (TCTL≤,≥). While TCTL≤,≥ can be model checked in polynomial time, the problem of model checking for exact time condition (TCTL=) is an NP-Hard problem unless certain conditions hold. In this work we tackle model checking of timed actors using DTG. At the first step, we propose a reduction technique by folding all the instantaneous transitions, resulting folded timed transition system (FTS). At the second step, we show how the FTS of timed actors with discrete time can be mapped to a DTG. Then, we show when the necessary conditions hold for the FTS of timed actors and hence there is an O(|S|2 • Φ) algorithm for model checking of complete TCTL properties (including TCTL≤,≥ and TCTL=) which have small constant time quantifiers. We use a set of case studies to illustrate the impact of using this technique in different application domains.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124024061","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
Multiple Inheritance in AgentSpeak(L)-Style Programming Languages AgentSpeak(L)风格编程语言中的多重继承
Akshat Dhaon, Rem W. Collier
Agent-Oriented Programming (AOP) is a high-level pro-gramming paradigm for implementing intelligent distrib-uted systems. While a number of AOP languages have been proposed in the literature, many of them focus on the provision of support for intelligent decision making rather than addressing language design concerns such modularity and reuse. To address this imbalance, this paper presents an abstract model of multiple inheritance for AgentSpeak(L) style languages which decomposes agent programs into a set of inter-related agent classes and defines a run-time apparatus for rule selection on the relationship between those classes. To demonstrate our approach, a case study is presented that introduces a new AgentSpeak(L)-based language entitled ASTRA and its use in an illustrative implementation of an agent-based chat system is then presented.
面向代理的编程(AOP)是实现智能分布式系统的高级编程范式。虽然文献中已经提出了许多AOP语言,但其中许多语言关注的是为智能决策提供支持,而不是解决语言设计方面的问题,如模块化和重用。为了解决这种不平衡,本文提出了AgentSpeak(L)风格语言的多继承抽象模型,该模型将代理程序分解为一组相互关联的代理类,并定义了一个运行时设备,用于对这些类之间的关系进行规则选择。为了演示我们的方法,本文介绍了一个案例研究,该案例研究引入了一种新的基于AgentSpeak(L)的语言,称为ASTRA,然后介绍了它在基于代理的聊天系统的说明性实现中的使用。
{"title":"Multiple Inheritance in AgentSpeak(L)-Style Programming Languages","authors":"Akshat Dhaon, Rem W. Collier","doi":"10.1145/2687357.2687362","DOIUrl":"https://doi.org/10.1145/2687357.2687362","url":null,"abstract":"Agent-Oriented Programming (AOP) is a high-level pro-gramming paradigm for implementing intelligent distrib-uted systems. While a number of AOP languages have been proposed in the literature, many of them focus on the provision of support for intelligent decision making rather than addressing language design concerns such modularity and reuse. To address this imbalance, this paper presents an abstract model of multiple inheritance for AgentSpeak(L) style languages which decomposes agent programs into a set of inter-related agent classes and defines a run-time apparatus for rule selection on the relationship between those classes. To demonstrate our approach, a case study is presented that introduces a new AgentSpeak(L)-based language entitled ASTRA and its use in an illustrative implementation of an agent-based chat system is then presented.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"82 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117127146","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}
引用次数: 21
CAF - the C++ Actor Framework for Scalable and Resource-Efficient Applications 用于可伸缩和资源高效应用程序的c++ Actor框架
Dominik Charousset, Raphael Hiesgen, T. Schmidt
The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction combined with its flexibility and efficiency makes it appealing for large applications in concurrent and distributed regimes. In this paper, we report on our work of designing and building CAF, the "C++ Actor Framework". CAF targets at providing an extremely scalable native environment for building high-performance concurrent applications and distributed systems. Based on our previous library tt libcppa, CAF significantly extends its scopes of application and operation, as well as the range of scalability. The particular contributions of this paper are threefold. First we present the design and implementation of a type-safe messaging interface for actors that rules out a category of runtime errors and facilitates robust software design. Second we introduce a runtime inspection shell as a first building block for convenient debugging of distributed actors. Finally we enhance the scheduling facilities and improve scaling up to high numbers of concurrent processors. Extensive performance evaluations indicate ideal runtime behaviour for up to 64 cores at very low memory footprint. In these tests, CAF clearly outperforms competing actor environments.
actor计算模型在过去十年中获得了显著的普及。它的高抽象水平加上它的灵活性和效率使得它对并发和分布式体系中的大型应用程序很有吸引力。在本文中,我们报告了我们设计和构建CAF (c++ Actor框架)的工作。CAF的目标是为构建高性能并发应用程序和分布式系统提供一个高度可伸缩的本地环境。在我们之前的库ttlibcppa的基础上,CAF大大扩展了它的应用范围和操作范围,以及可扩展性的范围。本文的特殊贡献有三个方面。首先,我们为参与者提供了一个类型安全的消息传递接口的设计和实现,该接口可以排除一类运行时错误并促进健壮的软件设计。其次,我们引入了一个运行时检查shell作为第一个构建块,用于方便地调试分布式参与者。最后,我们增强了调度功能,并改进了对高并发处理器数量的扩展。广泛的性能评估表明,在非常低的内存占用下,最多64核的理想运行时行为。在这些测试中,CAF明显优于与之竞争的参与者环境。
{"title":"CAF - the C++ Actor Framework for Scalable and Resource-Efficient Applications","authors":"Dominik Charousset, Raphael Hiesgen, T. Schmidt","doi":"10.1145/2687357.2687363","DOIUrl":"https://doi.org/10.1145/2687357.2687363","url":null,"abstract":"The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction combined with its flexibility and efficiency makes it appealing for large applications in concurrent and distributed regimes. In this paper, we report on our work of designing and building CAF, the \"C++ Actor Framework\". CAF targets at providing an extremely scalable native environment for building high-performance concurrent applications and distributed systems. Based on our previous library tt libcppa, CAF significantly extends its scopes of application and operation, as well as the range of scalability. The particular contributions of this paper are threefold. First we present the design and implementation of a type-safe messaging interface for actors that rules out a category of runtime errors and facilitates robust software design. Second we introduce a runtime inspection shell as a first building block for convenient debugging of distributed actors. Finally we enhance the scheduling facilities and improve scaling up to high numbers of concurrent processors. Extensive performance evaluations indicate ideal runtime behaviour for up to 64 cores at very low memory footprint. In these tests, CAF clearly outperforms competing actor environments.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114671044","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
Event-Based Analysis of Timed Rebeca Models using SQL 基于事件的SQL定时Rebeca模型分析
Brynjar Magnusson, E. Khamespanah, R. Khosravi, M. Sirjani
In this paper, we present a simulation-based approach for analysis of Timed Rebeca models to tackle the state space explosion problem. We present a simulation toolkit, TRSim, which uses McErlang as a back-end simulator and stores the occurrences of events while executing the model in a relational database. We also present TeProp, a timed event-based property language, which is designed to be easy-to-use for specifying and reasoning about timed occurrences of events in an actor system. One can check TeProp formulas against multiple simulation runs by transforming the formulas to SQL queries and executing the queries over the event database. Using this approach, the correctness of large models can be analyzed to a bounded degree of confidence. To illustrate the applicability of TRSim toolkit and TeProp we provide a number of case studies.
本文提出了一种基于仿真的定时Rebeca模型分析方法,以解决状态空间爆炸问题。我们提供了一个仿真工具包TRSim,它使用McErlang作为后端模拟器,并在关系数据库中执行模型时存储事件的发生情况。我们还介绍了TeProp,这是一种基于定时事件的属性语言,它被设计成易于使用,用于指定和推理参与者系统中事件的定时发生。通过将公式转换为SQL查询并在事件数据库上执行查询,可以根据多个模拟运行来检查TeProp公式。使用这种方法,可以在有限的置信度范围内分析大型模型的正确性。为了说明TRSim工具包和TeProp的适用性,我们提供了一些案例研究。
{"title":"Event-Based Analysis of Timed Rebeca Models using SQL","authors":"Brynjar Magnusson, E. Khamespanah, R. Khosravi, M. Sirjani","doi":"10.1145/2687357.2687365","DOIUrl":"https://doi.org/10.1145/2687357.2687365","url":null,"abstract":"In this paper, we present a simulation-based approach for analysis of Timed Rebeca models to tackle the state space explosion problem. We present a simulation toolkit, TRSim, which uses McErlang as a back-end simulator and stores the occurrences of events while executing the model in a relational database. We also present TeProp, a timed event-based property language, which is designed to be easy-to-use for specifying and reasoning about timed occurrences of events in an actor system. One can check TeProp formulas against multiple simulation runs by transforming the formulas to SQL queries and executing the queries over the event database. Using this approach, the correctness of large models can be analyzed to a bounded degree of confidence. To illustrate the applicability of TRSim toolkit and TeProp we provide a number of case studies.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"6 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115091003","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
Savina - An Actor Benchmark Suite: Enabling Empirical Evaluation of Actor Libraries Savina -一个Actor基准套件:启用Actor库的经验评估
S. Imam, Vivek Sarkar
This paper introduces the Savina benchmark suite for actor-oriented programs. Our goal is to provide a standard benchmark suite that enables researchers and application developers to compare different actor implementations and identify those that deliver the best performance for a given use-case. The benchmarks in Savina are diverse, realistic, and represent compute (rather than I/O) intensive applications. They range from popular micro-benchmarks to classical concurrency problems to applications that demonstrate various styles of parallelism. Implementations of the benchmarks on various actor libraries are made publicly available through an open source release. This will allow other developers and researchers to compare the performance of their actor libraries on these common set of benchmarks.
本文介绍了面向参与者程序的Savina基准测试套件。我们的目标是提供一个标准的基准测试套件,使研究人员和应用程序开发人员能够比较不同的参与者实现,并确定那些为给定用例提供最佳性能的实现。Savina中的基准测试是多种多样的、真实的,并且代表计算(而不是I/O)密集型应用程序。它们的范围从流行的微基准测试到经典并发问题,再到演示各种并行风格的应用程序。各种参与者库的基准测试实现通过开源版本公开提供。这将允许其他开发人员和研究人员在这些通用基准集上比较他们的参与者库的性能。
{"title":"Savina - An Actor Benchmark Suite: Enabling Empirical Evaluation of Actor Libraries","authors":"S. Imam, Vivek Sarkar","doi":"10.1145/2687357.2687368","DOIUrl":"https://doi.org/10.1145/2687357.2687368","url":null,"abstract":"This paper introduces the Savina benchmark suite for actor-oriented programs. Our goal is to provide a standard benchmark suite that enables researchers and application developers to compare different actor implementations and identify those that deliver the best performance for a given use-case. The benchmarks in Savina are diverse, realistic, and represent compute (rather than I/O) intensive applications. They range from popular micro-benchmarks to classical concurrency problems to applications that demonstrate various styles of parallelism. Implementations of the benchmarks on various actor libraries are made publicly available through an open source release. This will allow other developers and researchers to compare the performance of their actor libraries on these common set of benchmarks.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124589279","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}
引用次数: 77
Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing 基于异步本地检查点的容错分布式计算
Phillip Kuang, J. Field, Carlos A. Varela
The transactor model, an extension to the actor model, specifies an operational semantics to model concurrent systems with globally consistent distributed state. The semantics formalizes tracks dependencies among loosely coupled distributed components to ensure fault tolerance through a two-phase commit protocol and to issue rollbacks in the presence of failures or state inconsistency. In this paper, we introduce the design of a transactor language as an extension of an existing actor language and highlight the capabilities of this programming model. We developed our transactor language using SALSA, an actor language developed as a dialect of Java. We first develop a basic transactor SALSA/Java library, which implements the fundamental semantics of the transactor model following the operational semantics' transition rules. We then illustrate two example programs written using this library. Furthermore, we introduce a state storage abstraction known as the Uniform Storage Locator following the Universal Actor Name and Universal Actor Locator abstractions from SALSA that uses a storage service to maintain checkpointed transactor states. The transactor model guarantees safety but not progress. Therefore, to help develop realistic transactor programs that make progress, we introduce the Consistent Distributed State Protocol and Ping Director that improve upon the Universal Checkpointing Protocol to aid transactor programs in reaching globally consistent distributed states.
事务处理者模型是参与者模型的扩展,它指定了一个操作语义,用于对具有全局一致分布式状态的并发系统进行建模。语义将松散耦合的分布式组件之间的跟踪依赖形式化,以通过两阶段提交协议确保容错,并在出现故障或状态不一致时发出回滚。在本文中,我们介绍了作为现有参与者语言的扩展的事务处理者语言的设计,并强调了该编程模型的功能。我们使用SALSA(作为Java方言开发的一种actor语言)开发了我们的事务处理语言。我们首先开发一个基本的事务处理程序SALSA/Java库,它按照操作语义的转换规则实现事务处理程序模型的基本语义。然后,我们将演示使用该库编写的两个示例程序。此外,我们将引入一种状态存储抽象,称为统一存储定位器,它遵循SALSA的通用参与者名称和通用参与者定位器抽象,使用存储服务来维护检查点事务处理者状态。事务处理器模型保证了安全,但不能保证进度。因此,为了帮助开发能够取得进展的实际事务处理程序,我们引入了一致分布式状态协议(Consistent Distributed State Protocol)和Ping Director,它们改进了通用检查点协议(Universal checkpoint Protocol),以帮助事务处理程序达到全球一致的分布式状态。
{"title":"Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing","authors":"Phillip Kuang, J. Field, Carlos A. Varela","doi":"10.1145/2687357.2687364","DOIUrl":"https://doi.org/10.1145/2687357.2687364","url":null,"abstract":"The transactor model, an extension to the actor model, specifies an operational semantics to model concurrent systems with globally consistent distributed state. The semantics formalizes tracks dependencies among loosely coupled distributed components to ensure fault tolerance through a two-phase commit protocol and to issue rollbacks in the presence of failures or state inconsistency. In this paper, we introduce the design of a transactor language as an extension of an existing actor language and highlight the capabilities of this programming model. We developed our transactor language using SALSA, an actor language developed as a dialect of Java. We first develop a basic transactor SALSA/Java library, which implements the fundamental semantics of the transactor model following the operational semantics' transition rules. We then illustrate two example programs written using this library. Furthermore, we introduce a state storage abstraction known as the Uniform Storage Locator following the Universal Actor Name and Universal Actor Locator abstractions from SALSA that uses a storage service to maintain checkpointed transactor states. The transactor model guarantees safety but not progress. Therefore, to help develop realistic transactor programs that make progress, we introduce the Consistent Distributed State Protocol and Ping Director that improve upon the Universal Checkpointing Protocol to aid transactor programs in reaching globally consistent distributed states.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"352 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122644778","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
An Automatic Actors to Threads Mapping Technique for JVM-Based Actor Frameworks 基于jvm的Actor框架的自动Actor到线程映射技术
Ganesha Upadhyaya, Hridesh Rajan
Actor frameworks running on Java Virtual Machine (JVM) platform face two main challenges in utilizing multi-core architectures, i) efficiently mapping actors to JVM threads, and ii) scheduling JVM threads on multi-core. JVM-based actor frameworks allow fine tuning of actors to threads mapping, however scheduling of threads on multi-core is left to the OS scheduler. Hence, efficiently mapping actors to threads is critical for achieving good performance and scalability. In the existing JVM-based actor frameworks, programmers select default actors to threads mappings and iteratively fine tune the mappings until the desired performance is achieved. This process is tedious and time consuming when building large scale distributed applications. We propose a technique that automatically maps actors to JVM threads. Our technique is based on a set of heuristics with the goal of balancing actors computations across JVM threads and reducing communication overheads. We explain our technique in the context of the Panini programming language, which provides capsules as an actor-like abstraction for concurrency, but also explore its applicability to other approaches.
运行在Java虚拟机(JVM)平台上的Actor框架在利用多核架构时面临两个主要挑战:i)有效地将Actor映射到JVM线程,ii)在多核上调度JVM线程。基于jvm的actor框架允许对actor到线程映射进行微调,但是多核线程的调度留给操作系统调度程序。因此,将参与者有效地映射到线程对于实现良好的性能和可伸缩性至关重要。在现有的基于jvm的参与者框架中,程序员为线程映射选择默认的参与者,并迭代地微调映射,直到达到期望的性能。在构建大规模分布式应用程序时,这个过程既繁琐又耗时。我们提出了一种自动将actor映射到JVM线程的技术。我们的技术基于一组启发式方法,其目标是在JVM线程之间平衡actor计算并减少通信开销。我们将在Panini编程语言的上下文中解释我们的技术,该语言为并发性提供了类似参与者的抽象,但也探讨了其对其他方法的适用性。
{"title":"An Automatic Actors to Threads Mapping Technique for JVM-Based Actor Frameworks","authors":"Ganesha Upadhyaya, Hridesh Rajan","doi":"10.1145/2687357.2687367","DOIUrl":"https://doi.org/10.1145/2687357.2687367","url":null,"abstract":"Actor frameworks running on Java Virtual Machine (JVM) platform face two main challenges in utilizing multi-core architectures, i) efficiently mapping actors to JVM threads, and ii) scheduling JVM threads on multi-core. JVM-based actor frameworks allow fine tuning of actors to threads mapping, however scheduling of threads on multi-core is left to the OS scheduler. Hence, efficiently mapping actors to threads is critical for achieving good performance and scalability. In the existing JVM-based actor frameworks, programmers select default actors to threads mappings and iteratively fine tune the mappings until the desired performance is achieved. This process is tedious and time consuming when building large scale distributed applications. We propose a technique that automatically maps actors to JVM threads. Our technique is based on a set of heuristics with the goal of balancing actors computations across JVM threads and reducing communication overheads. We explain our technique in the context of the Panini programming language, which provides capsules as an actor-like abstraction for concurrency, but also explore its applicability to other approaches.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125011803","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
Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control 第四届基于行动者、代理和分散控制的规划国际研讨会论文集
{"title":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","authors":"","doi":"10.1145/2687357","DOIUrl":"https://doi.org/10.1145/2687357","url":null,"abstract":"","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130229419","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
期刊
Proceedings of the 4th International Workshop on Programming based on Actors Agents & 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