Distributed Systems
Distributed system (definition):
- Consists of multiple independent nodes (with seperate CPU and memory)
- The nodes have no common shared memory
- There exists an interconnection network
- Distribution transparency is provided
- There is no Single Point of Failure
Types of Transparency #
Access transparency: Local and remote resources are accessed in the same way.
Location transparency: The location of objects is not known to the users. (names instead of physical locations)
Replication transparency: The number of copies that exist of an object is not known to the users.
Fragmentation transparency: Objects are accessed without knowledge about any possible fragmentation.
Concurrency transparency: Objects are accessed in the same way as in a single-user system.
Error transparency: Applications terminate in a defined way even in the event of hardware or software failures.
Migration transparency: Objects can migrate without affecting applications.
Performance transparency: The system automatically reconfigures to improve performance.
Scaling transparency: The system can be extended in size without changes to its structure or the applications.
The first four are distribution transparency (ALRF).
Some terminology #
Reliability: Probability that an item provides a required service under given conditions for a given time interval.
- MeanTimeToFailure (MTTF)
Availability: Probability that an item provides a required service under given conditions at any instance of time in a given interval, or at a certain time instance.
- MeanTimeToRecover (MTTR)