Cluster Manager Push-Based Fair Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Hadoop's MapReduce JobTracker faces memory and processing limitations due to its single-node design and limited parallelism, leading to slowed task processing and resource inefficiencies under fair scheduling, especially when handling thousands of jobs and millions of tasks.
Innovation Solution
Implementing a cluster management system with a cluster manager that uses push-based fair scheduling, allows job trackers to run either within clients or clusters, and includes task trackers to monitor resource availability, enabling finer-grained resource allocation and preemptive scheduling to ensure fair resource distribution among clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If fair scheduling is implemented to allow many clients to share a machine cluster and run jobs in parallel, then resource utilization is improved, but memory capacity is filled up with thousands of jobs and millions of tasks
Solution Approach 1:
The patent divides the monolithic JobTracker into multiple independent JobTrackers distributed across different nodes. Each JobTracker manages a subset of jobs and tasks, segmenting the overall job management workload. This segmentation allows the system to handle thousands of jobs without overwhelming a single node's memory capacity, while still providing fair scheduling across all clients.
2Productivity
If fair scheduling is implemented to allow many clients to share a machine cluster, then resource utilization is improved, but processing availability becomes problematic due to heavy scheduling cycles
Solution Approach 1:
The scheduling function is segmented and distributed across multiple JobTrackers. Each JobTracker independently performs scheduling for its assigned subset of jobs, eliminating the need for a single centralized scheduler to process all scheduling decisions. This distribution of scheduling cycles reduces the processing burden on any single node and improves overall processing availability.
Solution Approach 2:
The patent introduces a new dimensional approach by distributing job management across multiple nodes in the cluster rather than concentrating it on a single node. This spatial distribution across the cluster dimension allows parallel scheduling operations to occur simultaneously on different nodes, reducing the temporal burden of scheduling cycles and improving processing availability.
3Device complexity
If a single lock is used in the JobTracker design, then implementation simplicity is maintained, but parallelism is limited
Solution Approach 1:
The patent segments the job management functionality into multiple independent JobTracker instances, each capable of operating with its own locking mechanism. This segmentation removes the single-lock bottleneck by creating multiple independent execution paths, allowing parallelism to scale with the number of JobTracker instances while maintaining relatively simple implementation within each instance.
Data Source
AI summary
A system and method of managing a cluster of distributed machines is described. A cluster manager receives status updates regarding tasks running on each machine in the cluster from a task tracker running on the machine. The cluster manager receives resource requests from a job tracker created by a client wishing to run a job in the cluster. The cluster manager is responsible for implementing push-based fair scheduling of resources to the job trackers. The job tracker is responsible for running tasks for one job in the resource identified by the cluster manager. In one embodiment, the job tracker can run in the client for small jobs and in the cluster for larger jobs. The cluster manager can also be restarted, for example, for software updates without restraining the cluster.


