Supporting Fault-Tolerant Parallel Programming in Linda

Supporting Fault-Tolerant Parallel Programming in Linda
复制标题

在 Linda 中支持容错并行编程

DOI:
--
复制
发表时间:
1995
期刊:
IEEE Trans. Parallel Distributed Syst.
影响因子:
--
通讯作者:
R. Schlichting
R. Schlichting
中科院分区:
--
文献类型:
--
作者:
D. Bakken;R. Schlichting

文献摘要

被引文献

相似文献

Linda是一种用于编程并行应用程序的语言,其最显著的特性是称为元组空间的分布式共享内存。虽然这种语言适用于各种各样的程序,但它通常定义和实现的一个缺点是缺乏对编写能够容忍底层计算平台故障的程序的支持。本文描述了FT-Linda, Linda的一个版本通过提供两个主要增强来解决这个问题,这两个增强有助于编写容错应用程序:稳定的元组空间和元组空间操作的原子执行。前者是一种稳定的存储类型,其中元组值可以保证在失败时持续存在,而后者允许元组操作集合以全有或全无的方式执行,尽管存在失败和并发性。本文详细介绍了这些增强的设计,并通过从Linda和容错领域抽取的示例进行了说明。还描述了用于工作站网络的FT-Linda的实现。该设计基于复制稳定元组空间的内容以提供故障恢复能力,然后使用原子多播更新副本。此策略允许高效实现,其中每个元组空间操作的原子集合只需要一个多播消息。>
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. >