Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal.
Figure (1) below is a schematic view of a typical distributed system; the system is represented as a graph in which each node (vertex) is a computer and each edge (line between two nodes) is a communication link.
Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one computer.
In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.
Figure (2) below shows the same distributed system in more detail: each computer has its own local memory, and information can be exchanged only by passing messages from one node to another by using the available communication links.
Examples of distributed systems and applications of distributed computing include the following:
- Telecommunication networks:
- Telephone networks and cellular networks.
- Computer networks such as the internet.
- Wireless sensor networks.
- Routing algorithms.
- Network applications:
- World Wide Web and peer-to-peer networks.
- Massively multiplayer online games and virtual reality communities.
- Distributed databases and distributed database management systems.
- Network files systems.
- Distributed information processing systems such as banking systems and airline reservation systems.
- Real-time process control:
- Aircraft control systems.
- Industrial control systems.