6 research outputs found
A Look at Basics of Distributed Computing *
International audienceThis paper presents concepts and basics of distributed computing which are important (at least from the author's point of view), and should be known and mastered by Master students and engineers. Those include: (a) a characterization of distributed computing (which is too much often confused with parallel computing); (b) the notion of a synchronous system and its associated notions of a local algorithm and message adversaries; (c) the notion of an asynchronous shared memory system and its associated notions of universality and progress conditions; and (d) the notion of an asynchronous message-passing system with its associated broadcast and agreement abstractions, its impossibility results, and approaches to circumvent them. Hence, the paper can be seen as a guided tour to key elements that constitute basics of distributed computing
Consensus in the Unknown-Participation Message-Adversary Model
We propose a new distributed-computing model, inspired by permissionless
distributed systems such as Bitcoin and Ethereum, that allows studying
permissionless consensus in a mathematically regular setting. Like in the
sleepy model of Pass and Shi, we consider a synchronous, round-by-round
message-passing system in which the set of online processors changes each
round. Unlike the sleepy model, the set of processors may be infinite.
Moreover, processors never fail; instead, an adversary can temporarily or
permanently impersonate some processors. Finally, processors have access to a
strong form of message-authentication that authenticates not only the sender of
a message but also the round in which the message was sent.
Assuming that, each round, the adversary impersonates less than 1/2 of the
online processors, we present two consensus algorithms. The first ensures
deterministic safety and constant latency in expectation, assuming a
probabilistic leader-election oracle. The second ensures deterministic safety
and deterministic liveness assuming irrevocable impersonation and
eventually-stabilizing participation.
The model is unrealistic in full generality. However, if we assume finitely
many processes and that the set of faulty processes remains constant, the model
coincides with a practically-motivated model: the static version of the sleepy
model
Continuous Tasks and the Asynchronous Computability Theorem
The celebrated 1999 Asynchronous Computability Theorem (ACT) of Herlihy and Shavit characterized distributed tasks that are wait-free solvable and uncovered deep connections with combinatorial topology. We provide an alternative characterization of those tasks by means of the novel concept of continuous tasks, which have an input/output specification that is a continuous function between the geometric realizations of the input and output complex: We state and prove a precise characterization theorem (CACT) for wait-free solvable tasks in terms of continuous tasks. Its proof utilizes a novel chromatic version of a foundational result in algebraic topology, the simplicial approximation theorem, which is also proved in this paper. Apart from the alternative proof of the ACT implied by our CACT, we also demonstrate that continuous tasks have an expressive power that goes beyond classic task specifications, and hence open up a promising venue for future research: For the well-known approximate agreement task, we show that one can easily encode the desired proportion of the occurrence of specific outputs, namely, exact agreement, in the continuous task specification
On the Power of Rounds : Explorations of the Heard-Of Model
Distributed computing studies which problems can be solved by communicating processes -- computers, people,.... Because communication can take many shapes, and because of its uncertainty, lots of different models exist. So many that it's easy to get lost. One way to deal with this overabundance constrains processes to use rounds: they repeatedly broadcast a message tagged with their current round number, wait for messages with this same round number, and then use them to compute their next state and change round. The Heard-Of model leverages this idea through heard-of predicates, which constrain which messages is received at which round. Yet this model lacks the attention that it deserves from the research community. I believe the reason lies on the following three unsolved problems: how to find the heard-of predicate corresponding to a given model, is anything lost in this translation, and how to prove general results on heard-of predicates. This thesis addresses all three