Ticker

6/recent/ticker-posts

Define The Three Resource Managers?

In the context of distributed systems, resource managers are software components that manage the allocation and utilization of various system resources, such as CPU time, memory, and network bandwidth. There are three main types of resource managers:

  1. Job Scheduler: A job scheduler is responsible for managing the allocation of computational resources to individual jobs or tasks in a distributed system. It determines which tasks should run on which nodes and when, based on various criteria such as job priority, resource availability, and job dependencies. Examples of job schedulers include SLURM, LSF, and Torque.

  2. Resource Manager: A resource manager is responsible for managing the allocation and utilization of various system resources, such as CPU time, memory, and network bandwidth. It acts as an interface between the job scheduler and the underlying hardware or software resources, providing a unified view of the system resources and managing their allocation and utilization across multiple jobs or tasks. Examples of resource managers include YARN, Mesos, and Kubernetes.

  3. Data Manager: A data manager is responsible for managing the storage and retrieval of data in a distributed system. It provides a unified view of the distributed data resources and manages their access and utilization across multiple nodes and applications. Examples of data managers include HDFS, Ceph, and GlusterFS.

Overall, the three types of resource managers work together to provide a unified and efficient distributed computing environment, managing the allocation and utilization of various system resources to meet the needs of multiple applications and users.