Models of Distributed Systems
Models of Distributed Systems
Distributed Systems
Models
of Distributed Systems
Christoph Kessler
IDA
Linköping University
Sweden
2024
Agenda
1. Architectural Models
2. Interaction Models
3. Fault Models
2
Basic Notions
2
Architectural Models
What are architectural models about?
Software architecture and hardware architecture
How are responsibilities distributed between system components, and
how are these components placed?
Client-server model
Peer-to-peer
1
Mobile Agents
Mobile agent:
a running program that travels from one computer to another,
carrying out a task on someone’s behalf.
A mobile agent is a complete program, code + data,
that can work (relatively) independently.
The mobile agent can invoke local resources/data.
Typical tasks:
Collect information
Install/maintain software on computers
Compare prices from various vendors by visiting their sites.
Attention: potential security risk (like mobile code)!
1
Interaction Models
Important consequences:
1. In a synchronous distributed system, there is a notion of
global physical time
(with a known relative precision depending on the drift rate).
2. Only synchronous distributed systems are predictable in terms of
timing.
Only such systems can be used for hard real-time applications.
3. In a synchronous distributed system, it is possible and safe to use
timeouts in order to detect failures of a process or communication
link.
But ...
It is difficult and costly to implement synchronous
distributed systems.
Asynchronous Distributed Systems
Many distributed systems (including those on the Internet) are asynchronous:
No bound on process execution time
(nothing can be assumed about speed, load, reliability of computers).
No bound on message transmission delays
(nothing can be assumed about speed, load, reliability of interconnections)
No bounds on drift rates between local clocks.
Important consequences:
1. In an asynchronous distributed system, there is no global physical time.
Reasoning can be only in terms of logical time.
2. Asynchronous distributed systems are unpredictable in terms of timing.
3. No timeouts can be used.
What kind of faults can occur and what are their effects?
Omission faults
Arbitrary faults
Timing faults