Distributed Computing
“A distributed system is a collection of independent computers that appears to its users as a single coherent system.”
a single task is divided among multiple computers that communicate with each other over a network
Features
several autonomous computational entities called NODES each with their own local memory (no shared memory) communicate via message passing scalable
can have master/slave relationship can be peer-to-peer (p2p)
Elements of Distributed
(a controller manages or directs the flow of data between two entities; example something that interfaces with the CPU and printer handles the incoming and outgoing signals of the CPU)
user interface client provides info helps monitor and control the system not on the same system as primary controller usually
primary system controller (??) Main Controller which acts as a broker of information between the frontends and the solvers I/O access maintains information, controls the management and dispatching of requests
secondary controller process or communications controller regulating the flow of server processing requests and managing the system’s translation load
system datastore shared system datastore, either in one computer or distributed among many each computer has local memory different methods to store and retrieve information (file, block,object)
database relational database store data in tables allows multiple users to access same info simultaneously shared database helps synchronization
Advantages of Distributed
- larger storage and memory, faster compute, and higher bandwidth than a single machine
- might be more cost efficient (compared to a single big powerful computer)
- no single point of failure
- redundancy, fault tolerance
- SCALABLE
- Decentralized
Types
- Mainframe not a distributed computer (no idea why it is here then)
- Cluster network of similar computers; homogenous; eg raspberry pi cluster
- Grid usually geographically dispersed (different location) heterogenous
Applications
- email by ARPANET was the largest and most successful implementation of distributed computing
- Peer-2-Peer (such as Torrents, file sharing)
see also Parallel Computing Parallel vs Distributed Computing
sources:
M. van Steen and A.S. Tanenbaum, Distributed Systems, 4th ed., distributed-systems.net, 2023
https://aws.amazon.com/what-is/data-store/, retrieved 2023
https://www.spiceworks.com/tech/cloud/articles/what-is-distributed-computing/#_003 (?? recheck legitimacy)