Documente Academic
Documente Profesional
Documente Cultură
Systems
1. Motivation
2. Distributed abstractions
3. Examples of distributed applications
4. Model
5. Cloud computing. A distributed system
architecture
Bibliography
• Introductionto Reliable Distributed
Programming. Rachid Gerraoui, Luis Rodrigues.
Springer-Verlag 2006. Chpts. 1 & 2.
Sept, 2019 Introduction. ETSISI-UPM 2
1. Motivation
Server
• Tolerating failures would mean that:
ü if the server fails, the client should do the
request to another server.
ü If some clients fail, the server should
Sept, 2019 continue offering services to other clients.
Introduction. ETSISI-UPM 5
1. Motivation (cont.)
p1
(get file a) (put chunk 4 file a)
p2
(get file a) (put chunk 3 file a)
p3
(get file a) (put chunk 2 file a)
p4
(get file a) (put chunk 1 file a)
p5
• Information disemination:
ü Processes may produce information, publishers
ü Processes may consume information, subscribers
ü Also called publish-subscribe paradigm
ü If several processes are interested in the same
notification a multicast primitive with reliable
delivery property is needed
ü An example is a social network application
Sensor
Sensor
Actuator Consensus on input
Actuator
Comparator
Reference Reference
Processor
• Cooperative work:
ü Internet users may cooperate in building a common
software or document, or setting up a distributed
dialogue (virtual conference).
ü They can use an space abstraction with read and write
operations on it.
ü These abstractions can be a distributed shared memory,
or a distributed file service.
ü To maintain a consistent view of the shared space,
processes must to agree on the order of operations.
• Distributed Databases:
ü In distributed systems several transaction managers
might cooperate to service each transaction.
ü When a transaction ends a distributed atomic
commitment algorithm must be execute in order to
decide if the transaction must commit or abort.
ü A transaction manager might decide to abort the
transaction if it detects a violation of the database
integrity, a deadlock problem, a disk error, etc.
Crashes
Omissions
Arbitrary
• Link failures:
ü Links can loss messages (ommision) and delay
messages (timming).
ü A process can retransmit messages if it loss
them.
ü Using Fair-loss links we can implement Reliable
links.
• Link failures:
ü The Fair-loss link properties are:
o Fair-loss: if a process p send infinitely
number of messages to process q, then q
will deliver infinitely number of messages, if
p and q don’t crash.
o Finite duplication: If p send to q a message
m a finite number of times, m cannot be
deliver an infinite number of times to q.
Sept, 2019
o No creation: If m is deliver then m was sent
Introduction. ETSISI-UPM 34
4. Model. Timing assumptions