1. The Overall Story Flashcards
Overview
Why Distribute?
Functional Reasons: doing things we cant on centralised ones
Non Functional: so we can do the same things but better, faster etc.
What is Distributed System?
collection of cooperating systems connected through an interconnect cooperating on the solution of a problem
Why do challenges arise?
Coordination. keeping everyone on schedule, communication is costly and unreliable. each component is autonomous and cant be completely known
Why is the network so difficult to handle?
Communication channels fail unpredictably. Interconnections are problematic
What must DS deliver?
Distribution Transparency. Behave to the user as a centralised system
How do Internet, Web and eMail fit into the landscape?
Show the need for high level naming and addressing
Show the consequences of the need to maintain state or not
reliability, scalability, response time, soundness
Demonstrate competition leading to contention, replication and consistency
How did system software evolve to modern DSs?
Mainframes -> Personal Computers -> Mobile devices
What is a centralised system?
Uses a single processor to multi-task to give the illusion of concurrency. Threaded
What is a parallel system?
A Multi-processor system
What is an Interconnect?
Connection between devices of networks
How do we abstract the interconnect in software?
Protocol stacks.
What architectural paradigms for DS are there?
Shared state and Message Passing
How is Message Passing implemented?
Direct communication or remote procedure calls
How do OS support and underpin the design of large scale interconnects?
take charge of communication evens by synchronising transfers, blocking thread of execution.
or provide generic abstractions such as ports or sockets over which high level protocols can be more easily built
What are some classical distributed algorithms?
Competition, Contention, deadlock
Clock synchronisation
Leader election, Two-phase commit for transactional processing