DocumentCode
755017
Title
Supporting fault-tolerant parallel programming in Linda
Author
Bakken, David E. ; Schlichting, Richard D.
Author_Institution
Dept. of Distribution Syst., BBN Syst. & Technol. Corp., Cambridge, MA, USA
Volume
6
Issue
3
fYear
1995
fDate
3/1/1995 12:00:00 AM
Firstpage
287
Lastpage
302
Abstract
Linda is a language for programming parallel applications whose most notable feature is a distributed shared memory called tuple space. While suitable for a wide variety of programs, one shortcoming of the language as commonly defined and implemented is a lack of support for writing programs that can tolerate failures in the underlying computing platform. This paper describes FT-Linda, a version of Linda that addresses this problem by providing two major enhancements that facilitate the writing of fault-tolerant applications: stable tuple spaces and atomic execution of tuple space operations. The former is a type of stable storage in which tuple values are guaranteed to persist across failures, while the latter allows collections of tuple operations to be executed in an all-or-nothing fashion despite failures and concurrency. The design of these enhancements is presented in detail and illustrated by examples drawn from both the Linda and fault-tolerance domains. An implementation of FT-Linda for a network of workstations is also described. The design is based on replicating the contents of stable tuple spaces to provide failure resilience and then updating the copies using atomic multicast. This strategy allows an efficient implementation in which only a single multicast message is needed for each atomic collection of tuple space operations
Keywords
parallel languages; parallel programming; software fault tolerance; FT-Linda; Linda; atomic execution; atomic multicast; distributed shared memory; failure resilience; fault-tolerant parallel programming; single multicast message; tuple space; Computer architecture; Concurrent computing; Fault tolerance; Hardware; Hypercubes; Parallel processing; Parallel programming; Programming profession; Workstations; Writing;
fLanguage
English
Journal_Title
Parallel and Distributed Systems, IEEE Transactions on
Publisher
ieee
ISSN
1045-9219
Type
jour
DOI
10.1109/71.372777
Filename
372777
Link To Document