Distributed Mutual Exclusion

Distributed Mutual Exclusion

Process coordination in a multitasking OS  –       Race condition: several processes access and manipulate the same data concurrently and the outcome of the execution depends on the particular order in which the…
Logical time and logical clocks

Logical time and logical clocks

Instead of synchronizing clocks, event ordering can be used If two events occurred at the same process pi (i = 1, 2, … N) then theyoccurred in the order observed by pi, that is order…
Causal ordering

Causal ordering

Causal ordering is a vital tool for thinking about distributed systems. Once you understand it, many other concepts become much simpler. We'll start with the fundamental property of distributed systems:…
Group communication

Group communication

A multicast operation is more appropriate – this is an operation that sends a single message from one process to each of the members of a group of processes, usually in such a…
Global Name Service (GNS)

Global Name Service (GNS)

Designed and implemented by Lampson and colleagues at the DEC Systems Research Center (1986) Provide facilities for resource location, email addressing and authentication When the naming database grows from small…
Synchronizing physical clocks

Synchronizing physical clocks

 Two models of synchronization 1) External synchronization  2) Internal synchronization  External synchronization: a computer‘s clock Ci is synchronized with an external authoritative time source S, so that: |S(t) - Ci(t)| < D for i = 1, 2, …N over an interval, I of…
CLOCKS, EVENTS AND PROCESS STATES

CLOCKS, EVENTS AND PROCESS STATES

Each process executes on a single processor, and the processors do not share memory (Chapter 6 briefly considered the case of processes that share memory). Each process pi in has a state si that,…
Global States

Global States

It is often desirable to determine whether a particular property is true of a distributed system as it executes. We'd like to use logical time to construct a global view…