Foundation of Process Management
The following tasks are the foundation of process management:
1. Process creation and termination
Creation: When the program moves from secondary memory to main memory, it becomes a process and that’s when the real procedure starts. In the context of Distributed System, the initialization of process can be done by one of the node in the system, user’s request , or required as dependency by other system’s component, forked() by other processes as a part of some bigger functionality.
Termination: A process can be terminated either voluntarily or involuntarily by one of the node in the run-time environment. The voluntary termination is done when the process has completed its task and the process might be terminated by the OS if its consuming resources beyond a certain criteria set by the distributed system.
2. Process Coordination
As a part of a whole system with multiple nodes in it, Process coordination (or otherwise known as process synchronization) becomes crucial part of managing the overall system, very frequently, our distributed system may come across the scenario when multiple process have to agree on a single decision based on some criteria. This agreement is governed by various algorithms like 2 – Phase Commit (2-PC) and 3 – Phase Commit (3-PC) algorithms.
3. Fault Tolerance
Fault tolerance is the ability of the system to give response to the client even in case of system failure. The distributed system does this by replicating the data across various nodes, so if one of the node fails for any reason like under maintenance, or down due to hardware failure then the system will fetch the data from other nodes.
4. Load Balancing
This feature roots mainly from Database management system (for delgating requests to other servers). Load Balancing is one of the major feature that forms the core of distributed system a process needs to be developed in a certain way that after reaching a pre-defined limit of request on a specific node, further upcoming requests will be handled by other nodes.
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.