What is a distributed system?
A collection of autonomous computing elements that appears to its users as a single coherent system.
What are the two key characteristics of nodes in a DS?
What is location transparency?
Users cannot tell where computation happens or where data is stored.
What is replication transparency?
Users cannot tell whether data is replicated across multiple nodes.
What is the difference between distributed and decentralised?
Decentralised systems have more redundant peer-to-peer connections. Distributed focuses on appearing as one coherent system.
What is the Integrative view of building DS?
Adding a networked computer into a larger system.
What is the Expansive view of building DS?
Extending one computer with more computers.
What is the Architecture challenge in DS?
How do we organise? Client-server or peer-to-peer? Microservices? Layered architecture?
What is the Process challenge in DS?
What kind of processes - threads
What is the Communication challenge in DS?
RPC? API? Message queues? What protocols and middleware?
What is the Coordination challenge in DS?
Synchronising actions of all the computers in the system.
What is the Naming challenge in DS?
How do we identify resources?
What is the Consistency challenge in DS?
We need data copies and we need to synchronise those copies across nodes.
What is the Fault Tolerance challenge in DS?
Parts will fail - detect and fix without taking down the whole system.
What is the Security challenge in DS?
Need authentication and encrypted communication.
What is the Latency challenge in DS?
Need to minimise and hide network delay.
What is the Processing Power challenge in DS?
Need to allocate enough processing power across nodes.
What is the Storage challenge in DS?
How do we distribute storage across the system?
Name 4 examples of distributed systems.
Internet, WWW, Cell networks, Cloud.
What is parallel computing?
Multiprocessor/core vs multicomputer systems that can share memory or have private memory.
What was Distributed Shared Memory (DSM)?
Implementing shared memory model on multicomputer using virtual memory techniques. Failed due to lower performance than true multiprocessors, now abandoned.
How did DSM work?
Map all main memory pages to a single address space. OS traps and fetches pages from correct computer.
What is Cluster Computing?
High-end systems connected locally (LAN). Same OS and hardware (homogeneous). Single program manages entire cluster.
What is Grid Computing?
Lots of nodes anywhere. Flexible, secure, coordinated resource sharing. Virtual organisations share resources for common goals.