How Process Management is Done in Distributed Systems ?
Process management has different ways to share the process among all the processors, and other nodes that are a part of a distributed system. There are following 3 policies & mechanisms defined to do so let’s have a look at each of them.
1. Process Allocation
Process Allocation deals with allocating processor, or node, or some fixed size of memory to the process (size may vary as the requirements of the process increase). This is initial procedure when the process is born and is about to perform the assigned tasks.
2. Process Migration
Process migration as its name indicates, is the shifting (or migrating) the process to the desired node or processor. Migration can be done for many reasons like load balancing if the current node on which it was executing has exhausted its limit of handling a certain amount of processes at a time, or it could be for resource utilization. Process Migration is further of 2 types :
- Non Pre-emptive Migration: The process is migrated before starting its execution on the source node that is, the node on which the process was born, before starting its execution it will migrate to its target node.
- Pre-emptive Migration: In this case, the process has already started its execution but due to some unexpected factors or demands it needs to be migrated to other nodes. This is a costly procedure as this requires the OS to save the state of the process, all the related information like process id, files it has opened, program counter, state, priority etc to be save in the Process Control Block (PCB)
3. Threads
Threads in distributed system play a major role, dividing the process in multiple parts each having their own control flow of execution and hence achieving parallel computing. This parallel computing helps in improvising the overall efficiency of the distributed system.
Process Management in Distributed System
A distributed System is a collection of autonomous nodes (computers, servers, and other networking devices) that work together in coordination and serve a single purpose. These nodes will have a single goal to maintain consistency among them, perform certain operations on the data, communicate, share resources, and keep the distributed system functioning properly.
In a system such as this, process management becomes a crucial part of maintaining & monitoring the overall system. These nodes are geographically distributed across the world and are interconnected through a network.