Professional Documents
Culture Documents
Chapter I Introduction
Chapter I Introduction
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
tiene que ver
ademas
Esto
4
Process cooperation
Motivation
Server
Motivation
6
Uncertainties Incertidumbres
Motivation
7
Clock
Motivation
8
Sharing memory
Motivation
Sin compartir memoria:
• Without sharing memory: there is not instant global
state. estado global instantáneo.
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
resumen
•Processes: that abstract the active entities
realizan
that perform computations (computer,
processor, a thread of execution).
resumen
processes.
11
Application abstractions
Distributed abstractions
Fiable Debido
12
Application abstractions (cont.)
Distributed abstractions
Estados globales distribuidos: Debido a que no existe un estado global,
se necesita una abstracción para obtener un estado global distribuido coherente.
13
Application abstractions (cont.)
Distributed abstractions
• Memoria compartida: Como no hay memoria física compartida entre los procesos,
se necesita una abstracción para permitir que el proceso comparta memoria.
14
Application abstractions (cont.)
Distributed abstractions
16
Examples of distributed
applications
Diseminacion de informacion
•Information dissemination
Aplicaciones de control de proceso
•Process control applications
Trabajo cooperativo
•Cooperative work
Bases de datos distribuidas
•Distributed databases
•Highly Available Services
Servicios de alta disponibilidad
17
Diseminacion de Informacion
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