Characterisation of Distributed Systems Flashcards
What is a distributed system?
A system where hardware/software components located at networked computers communicate and coordinate their actions only by passing messages.
What are the characteristics of a Distributed System? (3)
Concurreny
No global clock
Independent Failures
Why are distributed systems used? (3)
To share resouces
To have redundency
To parallelise computation
How do distributed systems improve redundency?
Better fault tolerence
What are the current trends of DS?
Cloud Computing Big Data Decentralised networks IoT Edge Computing Fog Computing
What is cloud computing?
Moving core services to remote servers.
Interact through web browser/application to store/retreive data and use services.
What are the new requirements of DS for handling Big Data? (4)
Volume: Quantity of data
Variety: Diversity of types of data
Velocity: Speed data is generated and needs to be processed.
Veracity: Quality and value of data
What are the issues with centralised networks?
Single point of failure
Censorship
Bottlenecks
What are examples of decentralised networks? (2)
Peer to peer
Blockchain
What is edge computing?
Placing more powerful devices at the edge of networks to carry out computation where the data is generated.
What is fog computing?
Deploying more powerful resources between the edge and the cloud to carry out computation very close to where data is generated.
What are the challenges of DS? (7)
Heterogeneity, Openness, Scalability, Transparency, Concurrency, Quality of Service, Failure Handling
What are the heterogeneity challenges of DS?
Different implementations of data, software, networks can make communicating between them difficult unless standards have been agreed and adopted.
Internet protocols mask network heterogeneity.
What are openness challenges of DS?
An open system can be extended and reimplemented in different ways.
Requires key interfaces to be publish (similar to standardisation, but less formal and faster.)
What are the scalability challenges of DS?
Controlling the cost of physical resources.
Controlling the performance loss.
Preventing software resources running out.
Avoiding performance bottlenecks (centralisation)