{"title":"基于异步本地检查点的容错分布式计算","authors":"Phillip Kuang, J. Field, Carlos A. Varela","doi":"10.1145/2687357.2687364","DOIUrl":null,"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.0000,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing\",\"authors\":\"Phillip Kuang, J. Field, Carlos A. Varela\",\"doi\":\"10.1145/2687357.2687364\",\"DOIUrl\":null,\"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.0000,\"publicationDate\":\"2014-10-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2687357.2687364\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2687357.2687364","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10
摘要
事务处理者模型是参与者模型的扩展,它指定了一个操作语义,用于对具有全局一致分布式状态的并发系统进行建模。语义将松散耦合的分布式组件之间的跟踪依赖形式化,以通过两阶段提交协议确保容错,并在出现故障或状态不一致时发出回滚。在本文中,我们介绍了作为现有参与者语言的扩展的事务处理者语言的设计,并强调了该编程模型的功能。我们使用SALSA(作为Java方言开发的一种actor语言)开发了我们的事务处理语言。我们首先开发一个基本的事务处理程序SALSA/Java库,它按照操作语义的转换规则实现事务处理程序模型的基本语义。然后,我们将演示使用该库编写的两个示例程序。此外,我们将引入一种状态存储抽象,称为统一存储定位器,它遵循SALSA的通用参与者名称和通用参与者定位器抽象,使用存储服务来维护检查点事务处理者状态。事务处理器模型保证了安全,但不能保证进度。因此,为了帮助开发能够取得进展的实际事务处理程序,我们引入了一致分布式状态协议(Consistent Distributed State Protocol)和Ping Director,它们改进了通用检查点协议(Universal checkpoint Protocol),以帮助事务处理程序达到全球一致的分布式状态。
Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing
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.