Concurrent and Distributed Systems Flashcards
1
Q
What is a concurrent system?
A
A concurrent can (appear to) do several things at once.
2
Q
What is a distributed system?
A
A distributed system consists of a number of connected component parts (usually computer systems themselves) that are located in distinct places.
3
Q
(3 answers)
What are the motivations for concurrent and distributed systems?
A
- Convenient when modelling aspects of the real world
- Ensure efficient use or sharing of resources
- Enable improvement in the service to users
4
Q
(3 answers)
What are the benefits of concurrent systems?
A
- More responsive to the user
- More efficient use of hardware resources
- Increased speed of computation (when tasks are running in parallel)
- Better modelling of the real world
5
Q
(2 answers)
What are the drawbacks of concurrent systems?
A
- Hardware and software must be more complex
- More ways for the system to fail (e.g. deadlocks)
6
Q
(10 answers)
What are the benefits of distributed systems?
A
- Distributed systems must also be concurrent, so all the benefits of concurrent systems apply
- Enables sharing of a wide variety of resources
- Sharing may reduce the overall hardware cost of a system
- Sharing may increase the efficiency of a system by locating data and processing power close to where they are most needed
- More fault-tolerant as there are multiple possible routes for messages to travel
- Better scalability - hosts can be added or removed as required
- Interoperability
- Load balancing
7
Q
(8 answers)
What are the drawbacks to distributed systems?
A
- Hardware and software must be more complex
- Introduces new ways for the system to fail (e.g. network connection issues)
- Increased security risks due to multiple points of access
- Maintaining software on many hosts could be problematic
- If communications links fail or become faulty, some components may become unreachable
- Slow communications links may cause bottlenecks and difficulties in coordinating the system
- Distributed systems are often heterogeneous
- Impossible to completely synchronise the system so all components share the same clock time
8
Q
What is the difference between sequential, parallel and pseudo-parallel systems?
A
- Sequential systems can only execute one task at a time
- Parallel systems allow several activities to be executing at the same time
- Pseudo-parallel systems share the resource of a single processor between multiple activities, to give the impression of parallel execution - each activity runs for a short amount of time