A FAULT-TOLERANT NETWORK KERNEL FOR LINDA
暂无分享,去创建一个
The parallel programming system Linda consists of a number of processes and a shared memory called the tuple space. In a distributed implementation of Linda, processes and the tuple space reside on different computing nodes connected by a communications network subject to a variety of node and network failures. This thesis develops a scheme to make the tuple space highly-available in the presence of failures. High-availability is achieved by replication: the tuple space is replicated on several nodes so that failures usually do not disrupt program execution. Our replication method has two parts: the operations protocol and the view change algorithm. The operations protocol is a read-one-write-all scheme, that is, values are read from one of the replicas and write operations are executed at all replicas. The protocol exploits the semantics of the tuple space operations to eliminate unnecessary delay in program execution. When failures occur, the replicas are reorganized and their states are updated. This process is called a view change and is accomplished by the view change algorithm. A view change guarantees that a newly formed view consists of a majority of the replicas, and that all updates survive into the new view. Together, the operations protocol and the view change algorithm ensure that operations are executed in the correct order, updates to the tuple space survive failures, and processes only see the correct tuple space state in spite of failures. In addition, operations are performed by a concurrent background process whenever possible.