Académique Documents
Professionnel Documents
Culture Documents
Distributed System
Sistemas Distribuidos
Carrera de Ingeniería de Sistemas
Universidad Politécnica Salesiana
Based on Distributed System of UPM
Original Author: Sergio Arévalo
Rodrigo Tufiño
Mayo 2016
Contents
1. Motivation
2. Distributed abstractions
3. Examples of distributed applications
4. Model
Bibliography
Introduction to Reliable Distributed Programming .
Rachid Gerraoui, Luis Rodrigues. Springer-Verlag
2006. Chpts. 1 & 2.
2
Motivation
4
Process cooperation
Motivation
Server
6
Uncertainties
Motivation
7
Clock
Motivation
8
Sharing memory
Motivation
• Without sharing memory: there is not instant global
state.
get global state() get global state()
Server 1
s1
m1 s1’ m1
Server 2
s2 s2’
Server 3
s3 s3’
Client
10
Basic abstractions
Distributed abstractions
11
Application abstractions
Distributed abstractions
12
Application abstractions (cont.)
Distributed abstractions
13
Application abstractions (cont.)
Distributed abstractions
14
Application abstractions (cont.)
Distributed abstractions
16
Examples of distributed
applications
•Information dissemination
•Process control applications
•Cooperative work
•Distributed databases
•Highly Available Services
17
Information dissemination
Examples of distributed applications
21
High available services
Examples of distributed applications
22
Model
•Distributed Computation
•Process
• Failure modes
•Communication links
•Timing assumptions
23
Model
Distributed Computation
24
Model
Distributed Computation
27
Model - Process
Failure modes
CRASHES
OMISSIONS
CRASHES & RECOVERY
ARBITRARY
28
Model - Process
Arbitrary failure mode
30
Model - Process
Crash failure mode
31
Model - Process
Crash-recovery failure mode
32
Model - Communication links
The link abstraction
• The link is used to represent the network
components of the distributed systems.
34
Model - Communication links
Link failures
36
Model – Timing assumptions
Types of timing systems
38
Synchronous system
Timing assumptions
39
Partially Synchronous system
Timing assumptions
• Processes: There is an upper bound on the
maximum processing delays but is unknown.
• Communication links: There is an upper bound
on the maximum message transmission delay
but is unknown.
• It is realistic.
• It is possible to detect processes failures
unreliably with adaptative timeouts.
• It is possible to implement consensus, atomic
• broadcast, membership services.
40