Resource Management in Distributed Systems

A distributed system uses various approaches for resource management. These techniques can be classified as follows:

Task Assignment Approach

In this approach, when a user submits a process, DOS considered it to be a set of tasks and assigns resources to each task to maximize performance of the system. This approach has a drawback that it cannot assign resources to processes dynamically and thus lacks dynamism but at the same time this approach ensures that:

  • I/O cost is reduced to minimum
  • Less turnaround time
  • Enhances Parallelism
  • Effective resource utilization

Load Balancing Approach

As the name suggests, this approach tries to balance the load among the various resources. In this approach all the submitted processes are distributed among various resources of the system. This approach leads to maximum utilization of resources and throughput is maximized. It uses various types of load balancing algorithms as follows:

  • Static and Dynamic: Static algorithms divide the resources among the processes only at the time when they are submitted to the system. It cannot redistribute the resources to the processes dynamically. In case of dynamic algorithms, the redistribution of resources is done among the processes if new process enters the system. This ensures that the resources are utilised in the real time.
  • Deterministic and probabilistic: Deterministic method works by analysing the properties of nodes and the process characteristics for the allocation of resources to the processes whereas probabilistic method uses static information such as network topology, node capacity to allocate the resources. Deterministic approach is expensive to implement but has a better performance than probabilistic approach.
  • Centralized and Distributed: In centralized approach there is a central node that controls the distribution of resources among the other nodes. In this case, other nodes need to regularly update the central node about the status and other nodes need to replicate the information at their end also so that they can use it. This approach suffers from reliability issues. Replication also leads to increases costs of communication. In distributed approach the whole process is divided among various nodes and they are free to process it according to their own algorithms. Finally the result from all the nodes is combined to produce the final result.
  • Cooperative and Non-cooperative: Cooperative approach works through cooperation between various nodes whereas in non-cooperative approach, nodes can act autonomously irrespective of the influence of the other nodes. Cooperative approach generally leads to high stability at high overhead cost.

Load Sharing Approach

This approach makes use of a router to distribute the load to different servers by acting as a reverse proxy. Various algorithms such as Round Robin, Least Time, Least Connections, etc. are used to distribute the load to different servers. It ensures that the system is utilised to its maximum and no node is idle. It uses various steps to allocate the node to a process. These steps are:

  • First of all it is checked if a node is idle or not.
  • The system may then decide if the work is to be transferred to the nodes that are idle to the nodes that are about to finish processing.
  • Further the choice of node is also dependent upon either the sender or receiver. If sender choses the node for allocation then it is sender initiated but if the receiving node choses where to process the task, then it is called receiver initiated.
  • A node is responsible to communicate its stage whenever it changes. It can be done either by polling or broadcasting.

Resource Management in Distributed System

The responsibility of managing the resources in a distributed system lies with the distributed operating system (DOS). It assigns the resources to the various processes when the job is submitted by the user for processing. Every process must be assigned resources according to various factors and algorithms so that no user feels that his requests are facing starvation.

Similar Reads

Resource Management in Distributed Systems

A distributed system uses various approaches for resource management. These techniques can be classified as follows:...

Desirable Features For Load Balancing Algorithm

There are various factors that should be considered while designing a load balancing algorithm. These are:...