Chapter 1 - Intro Flashcards
What is Tanenbaum’s definition of a distributed system?
A collection of autonomous computing elements that appears to its users as a single coherent system
[1]
What is Colouris’ definition of a distributed system?
One in which components located at networked computers communicate and coordinate their actions only by passing messages
[2]
What are the three primary characteristics of a distributed system according to Schroeder?
- Multiple computers
- Interconnections
- Shared state
[2]
What is Wikipedia’s definition of a distributed system?
A system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another
[2]
What are the individual computing elements in a distributed system often called?
Nodes
[3]
How do nodes in a distributed system typically communicate?
Typically via messages
[3]
What does it mean for the computing elements in a distributed system to be ‘autonomous’?
Each node is independent from the others and may therefore operate concurrently with respect to the others
[4]
What is a key characteristic of time in a distributed system?
No global clock
[5]
What is a consequence of the independence of nodes in a distributed system regarding failures?
Independent failures
[6]
What should a distributed system ideally appear to its users?
A single coherent system
[7]
What is the goal of ‘distributed transparency’?
The user shouldn’t be able to tell where a process executes or where data is stored
[7]
What software layer is often used to manage a distributed system?
Middleware
[8]
Name some key design goals for building a distributed system.
- Resource sharing: Make (remote) resources accessible
- Transparency: Hide that resources are distributed
- Openness: Components can be easily used by others
- Scalability: Scale to increasing users, resources, locations
- Dependability: Deliver reliable and correct processing
- Security: Resources, computations, and users are protected
[9, 10, 11, 12, 13]
What are some examples of resources that are commonly shared in distributed systems?
- Peripherals
- Storage facilities
- Data
- Files
- Services
- Networks
[10]
Name a few types of distribution transparency.
- Access
- Location
- Relocation
- Migration
- Replication
- Concurrency
- Failure
[14]
Why is aiming for full distribution transparency often not the best approach?
There are communication latencies that cannot be hidden, completely hiding failures is impossible, and full transparency can cost performance
[15]
What does it mean for a distributed system to be ‘open’?
It offers components that can easily be used by, or integrated into, other systems
[11]
What are the different types of scalability mentioned?
- Size scalability
- Geographic scalability
- Administrative scalability
[11, 12]
What are some aspects covered by the term ‘dependable’ in distributed systems?
- Available
- Reliable
- Safe
- Maintainable
[12]
What are some key security aspects important in distributed systems?
- Confidentiality
- Integrity
- Authorization
- Authentication
[13]
What are the two main approaches to scaling a distributed system?
- Scale up
- Scale out
[16]
What is a common technique used in distributed systems to improve performance and availability?
Replication and caching
[17]
What is a major challenge introduced by replication in distributed systems?
Maintaining consistency among the multiple copies
[17]
Name a few of the ‘Eight Fallacies of Distributed Computing’.
- The network is reliable
- The network is secure
- The network is homogeneous
- Latency is zero
- Bandwidth is infinite
- There is one administrator
[18]