Distributed processing
Distributed processing refers to the use of multiple, distributed processes (participants) to solve computational problems. That is, a problem is divided into multiple, smaller tasks, each of which is solved by one or more participants.
Besides the capability to execute a task, distributed processing requires the following capabilities:
- Coordination: Concerns the proper execution of all necessary steps by the different participants in the distributed system to achieve a desired, common goal.
- Splitting: Consists of dividing the initial task into a set of smaller tasks that can be performed by some (or all) of the participants.
- Dispatching: Consists of allocating the smaller tasks to the participants that have the necessary capability and bandwidth to execute these tasks. Splitting and dispatching can be done at the source issuing the initial request. Alternatively, the whole task could be sent to the participants where the splitting could happen in a decentralized manner...