Leasing is a very effective way to improve the performance of distributed algorithms without hampering their fault-tolerance. The notion of lease has traditionally been defined using a global notion of real time and w...
详细信息
ISBN:
(纸本)0769515762
Leasing is a very effective way to improve the performance of distributed algorithms without hampering their fault-tolerance. The notion of lease has traditionally been defined using a global notion of real time and was hence strongly tied to synchronous system models. This paper introduces a notion of lease devised for an asynchronous system model. We give precise properties of our lease abstraction, and show how it can be implemented in an asynchronous system model with a logical notion of time. We then illustrate its use by showing how it significantly improves the performance of a consensus-based total order broadcast algorithm.
This paper presents a new consensus algorithm for the asynchronous message passing system model augmented with an unreliable failure detector abstraction. Our algorithm (a) matches all known consensus lower bounds on ...
详细信息
ISBN:
(数字)9783540360803
ISBN:
(纸本)3540000127
This paper presents a new consensus algorithm for the asynchronous message passing system model augmented with an unreliable failure detector abstraction. Our algorithm (a) matches all known consensus lower bounds on (1) failure detection, i.e., Omega, (2) resilience, i.e., a majority of correct processes, and (3) latency, i.e., two communication steps for a global decision in nice runs (when no process crashes and the failure detection is reliable), and (b) has the following zero degradation flavor: in every stable run of the algorithm (when all failures are initial crashes, and failure detection is reliable), two communication steps are sufficient to reach a global decision. The zero degradation flavor is particularly important when consensus is used in a repeated form: failures in one consensus instance do not impact performance of future consensus instances.
Consensus is a fundamental distributed agreement problem that has to be solved when one has to design or implement reliable applications. As consensus cannot be solved in pure asynchronous distributed systems, those s...
详细信息
ISBN:
(纸本)0769519202
Consensus is a fundamental distributed agreement problem that has to be solved when one has to design or implement reliable applications. As consensus cannot be solved in pure asynchronous distributed systems, those systems have to be equipped with appropriate oracles to circumvent the impossibility. Several oracles (unreliable failure detector leader capability, random number generator) have been proposed, and consensus protocols based on such ad hoc oracles have been designed. This paper presents a generic consensus framework that can be instantiated with any oracle, or combination of oracles, that satisfies a set of properties. This generic framework provides indulgent consensus protocols that are particularly simple and efficient both in well-behaved runs (i.e., when there are no failures), and in stable runs (i.e., when there is no failure during the execution although some processes can be initially crashed). In those runs, the protocols terminate in two communication steps (which is optimal). Indulgence means that the resulting protocol never violates its safety property even when the underlying oracle behaves arbitrarily. Interestingly, the protocol can also allow processes to decide in one communication step in some specific configurations.
This paper addresses the fundamental tradeoffs in event systems between scalability (of event filtering, routing, and delivery mechanisms), expressiveness (when describing interests in events), and event safety (ensur...
详细信息
ISBN:
(纸本)0769515886
This paper addresses the fundamental tradeoffs in event systems between scalability (of event filtering, routing, and delivery mechanisms), expressiveness (when describing interests in events), and event safety (ensuring encapsulation and type-safe interaction with polymorphic events). We point out some ramifications underlying these tradeoffs and we propose a pragmatic approach to handle them. We achieve scalability using a multi-stage-filtering strategy that combines approximate and perfect matching techniques for the purpose of event routing and filtering. We achieve expressiveness and event safety by viewing events as objects, i.e., instances of application-defined abstract types.
In the advent of ubiquitous mobile systems in general and mobile agents in particular, network latency becomes a critical factor. This paper investigates interlaced code loading, a promising technique that permutes th...
详细信息
ISBN:
(数字)9783540361121
ISBN:
(纸本)3540000852
In the advent of ubiquitous mobile systems in general and mobile agents in particular, network latency becomes a critical factor. This paper investigates interlaced code loading, a promising technique that permutes the-application code at method level and exploits parallelism between loading and execution of code to reduce network latency. It allows many applications to start execution. earlier, especially programs with a predictable startup phase (such as building a GUI). The feasibility of the technique has been validated by implementing a prototype tool in Smalltalk, and applying it to three applications and a wide range of different bandwidths. We show how existing applications can be adapted to maximally benefit from the technique and provide design guidelines for new applications. For applications that rely on a GUI, the time required to build the GUI can be reduced to 21% on the average.
Gossip-based broadcast algorithms have been considered as a viable alternative to traditional deterministic reliable broadcast algorithms in large scale environments. However, these algorithms focus on broadcasting ev...
详细信息
ISBN:
(纸本)0769515975
Gossip-based broadcast algorithms have been considered as a viable alternative to traditional deterministic reliable broadcast algorithms in large scale environments. However, these algorithms focus on broadcasting events inside a large group of processes, while the multicasting of events to a subset of processes in a group only, potentially varying for every event, has not been considered We propose a scalable gossip-based multicast algorithm which ensures, with a high probability, that (1) a process interested in a multicast event delivers that event (just like in typical gossip-based broadcast algorithms), and that (2) a process not interested in that event does not receive it (unlike in broadcast algorithms).
Just like Remote Procedure Call (RPC) turned out to be a very effective OS abstraction in building client-server applications over LANs, Type-based Publish-Subscribe (TPS) can be viewed as a high-level candidate abstr...
详细信息
ISBN:
(纸本)0769515851
Just like Remote Procedure Call (RPC) turned out to be a very effective OS abstraction in building client-server applications over LANs, Type-based Publish-Subscribe (TPS) can be viewed as a high-level candidate abstraction for building Peer-to-Peer (P2P) applications over WANs. This paper relates our preliminary, though positive, experience of implementing and using TPS over JXTA, which can be viewed as the P2P counterpart to sockets. We show that, at least for P2P applications with the Java type model, TPS provides a high-level programming support that ensures type safety and encapsulation, without hampering the decoupled nature of these applications. Furthermore, the loss of flexibility (inherent to the use of any high level abstraction) and the performance overhead, are negligible with respect to the simplicity gained by using TPS.
Concurrency and failures are fundamental problems in distributed computing. One likes to think that the mechanisms needed to address these problems can be separated from the rest of the distributed application: in mod...
详细信息
ISBN:
(纸本)3540437592
Concurrency and failures are fundamental problems in distributed computing. One likes to think that the mechanisms needed to address these problems can be separated from the rest of the distributed application: in modern words, these mechanisms could be aspectized. Does this however make sense? This paper relates an experience that conveys our initial and indeed biased intuition that the answer is in general no. Except for simple academic examples, it is hard and even potentially dangerous to separate concurrency control and failure management from the actual application. We point out the very facts that (1) an aspect-oriented language can, pretty much like a macro language, be beneficial for code factorization (but should be reserved to experienced programmers), and (2) concurrency and failures are particularly hard to aspectize because they are usually par. of the phenomenon that objects should simulate. They are in this sense different than other concerns, like for instance tracing, which might be easier to aspectize.
We describe a compositional framework, together with its supporting toolset, for hardware/software co-design. Our framework is an integration of a formal approach within a traditional design flow. The formal approach ...
详细信息
We describe a compositional framework, together with its supporting toolset, for hardware/software co-design. Our framework is an integration of a formal approach within a traditional design flow. The formal approach is based on Interval Temporal Logic and its executable subset, Tempura. Refinement is the key element in our framework because it will derive from a single formal specification of the system the software and hardware parts of the implementation, while preserving all properties of the system specification. During refinement simulation is used to choose the appropriate refinement rules, which are applied automatically in the HOL system. The framework is illustrated with two case studies. The work presented is part of a UK collaborative research project between the Software technology Research laboratory at the De Montfort University and the Oxford University Computing laboratory.
A universal construction is an algorithm. that transforms any object with a sequential specification into a wait-free linearizable implementation of that object. This paper presents a novel universal construction, alg...
详细信息
ISBN:
(数字)9783540361084
ISBN:
(纸本)3540000739
A universal construction is an algorithm. that transforms any object with a sequential specification into a wait-free linearizable implementation of that object. This paper presents a novel universal construction, algorithm for a message-passing system with process crash failures. Our algorithm relies on two fine-grained underlying abstractions: a weak form of leader election, and a one-shot form of register. Our algorithm is indulgent, efficient and generic. Being indulgent intuitively means that the algorithm preserves consistency even if the underlying system is asynchronous for arbitrary periods of time. Compared to other indulgent universal constructions, our algorithm uses fewer messages and gives rise to less work in steady-state. Our algorithm is generic in two senses: (1) although it is devised for a crash-stop model, it can be easily ported to various crash-recovery models, and (2) although it is optimized for steady-state periods, it can easily, be extended to trade-off between steady-state performance and fail-over time.
暂无评论