A MODULAR MIDDLEWARE FOR RELIABLE DISTRIBUTED PROGRAMMING

Mikel Larrea, Alberto Lluch Lafuente, Cristian Martín · IADIS AC · 2005

ABSTRACT This paper presents a modular middleware for reliable distributed programming, formed by the following modules: failure detection, reliable point-to-point communication, reliable broadcast, Consensus, and total order broadcast. The lower layer of the middleware is built on top of an unreliable message-passing service. The upper layer, namely total order broadcast, provides the semantics required for the programming of reliable distributed applications based on active replication. We have implemented and evaluated a prototype of the middleware in the Java programming language. KEYWORDS Distributed systems, fault-tolerance, total order broadcast. 1. INTRODUCTION The advent of low-cost, off-the-shelf computing hardware, combined with the development of networking infrastructures are making distributed computing more and more important nowadays. An appealing feature of distributed systems, due to its inherent redundancy, is its potential resiliency to partial failures. In a distributed system, processes and/or data can be replicated on several computers, such that the failure of one computer does not affect the functioning of the system. However, replication has an important drawback, since extra complexity has to be introduced for consistency management. Depending on the correctness criteria required by the application, several consistency levels can be defined. The most common consistency criteria are sequential consistency and linearizability, being the last one stricter. Linearizability is the criteria required by, for example, fault-tolerant banking systems. Two different techniques can be used to provide linearizability in a replicated system:

Read the paper · More papers on PaperTik