ACM Home Page
Please provide us with feedback. Feedback
Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments
Full text PdfPdf (411 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Long Beach, California, USA
Pages: 195 - 208  
Year of Publication: 2005
ISBN:1-58113-830-X
Also published in ...
Authors
John Field  IBM T.J. Watson Research Center
Carlos A. Varela  Rensselaer Polytechnic Institute
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 82,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   reviews   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1040305.1040322
What is a DOI?

ABSTRACT

We introduce transactors, a fault-tolerant programming model for composing loosely-coupled distributed components running in an unreliable environment such as the internet into systems that reliably maintain globally consistent distributed state. The transactor model incorporates certain elements of traditional transaction processing, but allows these elements to be composed in different ways without the need for central coordination, thus facilitating the study of distributed fault-tolerance from a semantic point of view. We formalize our approach via the τ-calculus, an extended lambda-calculus based on the actor model, and illustrate its usage through a number of examples. The τ-calculus incorporates constructs which distributed processes can use to create globally-consistent checkpoints. We provide an operational semantics for the τ-calculus, and formalize the following safety and liveness properties: first, we show that globally-consistent checkpoints have equivalent execution traces without any node failures or application-level failures, and second, we show that it is possible to reach globally-consistent checkpoints provided that there is some bounded failure-free interval during which checkpointing can occur.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
 
4
M. Berger and K. Honda. The two-phase commitment protocol in an extended pi-calculus. In Prelim. Proc. EXPRESS '00, NS-00-2, pages 105--130. BRICS Notes, 2000.
5
 
6
 
7
 
8
T. Chothia and D. Duggan. Abstractions for fault-tolerant global computing. Electronic Notes in Theoretical Computer Science (ENTCS). Foundations of Wide-Area Network Computing (FWAN), 66(3), 2002. Elsevier.
 
9
J. Field and C. Varela. Towards a programming model for building reliable systems with distributed state. Electronic Notes in Theoretical Computer Science (ENTCS). First International Workshop on Foundations of Coordination Languages and Software Architectures (FOCLASA), 68(3), 2003. Elsevier.
 
10
J. Field and C. Varela. Transactors: A programming model for maintaining globally consistent distributed state in unreliable environments. Technical Report 04-15, Department of Computer Science. Rensselaer Polytechnic Institute, Troy, NY, November 2004.
11
 
12
 
13
14
 
15
C. Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8-3:323--364, June 1977.
16
17
 
18
 
19
A. Spector, R. Pausch, and G. Bruell. Camelot: A flexible, distributed transaction processing system. In Proc. IEEE Computer Society International Conf., pages 432--437, San Francisco, March 1988. IEEE Computer Society Press.
 
20
21
 
22
World Wide Web Consortium. Web services activity statement. http://www.w3.org/2002/ws/, 2002.
 
23
X/Open Company Limited. Distributed transaction processing: The XA specification. X/Open Company Limited, 1991. X/Open CAE Specification XO/CAE/91/300.



REVIEWS

"Jesus Villadangos : Reviewer"

This paper is motivated by the fact that the state of a distributed system is determined by the state of each of its components, which can be interdependent. Ensuring that such a distributed state is consistent is very difficult. The paper introdu  more...


"Jonathan P. E. Hodgson : Reviewer"

For a transaction to be truly distributed, coordination between the component processes should not require the services of a single coordinating component. Rather, the coordination should be achieved locally by each component. This paper describes  more...

Collaborative Colleagues:
John Field: colleagues
Carlos A. Varela: colleagues