Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Distributed Systems
1. Distributed computing
1.1 Definition
Collection of autonomous computers, connected through a network and distribution software called
middleware which enables computers to coordinate their activities and to share system resources:
1.2 Properties
Access transparency: local and remote information objects are accessed using identical
operations
Location transparency: information objects are accessed without knowledge of
their location
Concurrency transparency: several processes run concurrently using shared information
objects without interference among them
Replication transparency: multiple instances of information objects increase reliability
without the knowledge of users or applications
Failure transparency: the concealment of faults
Migration transparency: the information objects in the system are moved without affecting
the operation performed on them
Performance transparency: the system can be reconfigured based on the load and quality of
service requirements
Scaling transparency: the system and the applications can scale without a change in the
system structure and without affecting the applications
2. Modeling
2.1 Problems
1. Communication among processes depends on dynamic parameters, such as both the
state of the network (traffic load) and the state of the nodes (computing load):
a. Causality
b. Global state (scalability-aware)
2. Common time reference
a. Physical clocks
b. Logical clocks
3. Physical clocks
Reference Time, t: Coordinated Universal Time(CUT). It is based on atomic time, but a leap
second is inserted or deleted to be synchronized with astronomical time.
External synchronization
CUT time references are periodically sent trough
Terrestial stations: 10 ms
GPS: 0,1 s
Geostationary satellites: 0,1 ms
Useful only for giving an accurate time service
Internal synchronization
Centralized algorithms (Cristians method, 1989)
Distributed algorithms (The Berckeley algorithm, 1989)
4. Logical time
FIFO delivery:
Causal delivery:
5. Global state
5.1 Cuts
5.2 Runs
Goal: record a set of process and channel states (a snapshot) for a set of processes ( = 1,
2, , ) such that, even though the combination of recorded states may never have
occurred at the same time, the recorded global state is consistent
Assumptions:
Communication is reliable
Unidirectional channels (FIFO delivery)
Processes strongly connected
Any process may initiate a global snapshot at any time
The algorithm execution does not interfere in the normal execution of the processes
Process builds:
}, = 0, 1, ,