MapReduce Scheduler Coupling Map and Reduce Phases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional MapReduce schedulers fail to ensure fairness between map and reduce phases, leading to underutilization and starvation issues, particularly in heterogeneous environments where data locality is not optimally considered, resulting in inefficient resource allocation and performance degradation.
Innovation Solution
A resource-aware scheduler, or 'coupling scheduler,' that compares the progress of map and reduce phases to schedule the launch of reduce tasks based on map progress, employing wait scheduling for reducers and random peeking scheduling for mappers to optimize data locality and mitigate starvation, thereby ensuring fair resource allocation and improved performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If reducers are launched greedily to a maximum in conventional schedulers, then the reduce phase can start immediately, but this leads to underutilization of computing resources and starvation of map tasks
Solution Approach 1:
The scheduler dynamically adjusts the launch of reduce tasks based on real-time map phase progress. Instead of a static greedy approach, the system continuously monitors map task completion and adapts reducer launching decisions, ensuring resources are utilized efficiently without causing starvation
Solution Approach 2:
The scheduler implements feedback mechanisms by monitoring map phase progress and using this information to control reduce task launching. The system receives feedback about map task status and adjusts reducer allocation accordingly, preventing both underutilization and starvation
2Reliability
If delayed scheduling is used to improve data locality for map tasks, then data locality is improved, but performance degrades in heterogeneous environments due to under-utilization and instability
Solution Approach 1:
The scheduler applies different scheduling strategies to different parts of the system based on local conditions. It considers data locality requirements for map tasks while simultaneously accounting for reduce task needs, applying localized optimizations rather than a uniform delayed scheduling approach across all tasks
Solution Approach 2:
The system changes scheduling parameters dynamically based on job characteristics and cluster state. Instead of fixed delayed scheduling, it adjusts timing and allocation parameters to balance data locality improvements with performance maintenance in heterogeneous environments
3Device complexity
If conventional schedulers only consider local inputs for map tasks, then map task scheduling is simplified, but intermediate data fetching by reducers becomes inefficient
Solution Approach 1:
The scheduler merges the scheduling considerations for map tasks and reduce tasks into a unified decision-making process. Instead of treating them separately, it combines both requirements to make coordinated scheduling decisions that optimize intermediate data access while maintaining manageable complexity
Data Source
AI summary
Methods and arrangements for task scheduling. At least one job is assimilated from at least one node, each job comprising at least a map phase and a reduce phase, each of the map and reduce phases comprising at least one task. Progress of a map phase of at least one job is compared with progress of a reduce phase of at least one job. Launching of a task of a reduce phase of at least one job is scheduled in response to progress of the reduce phase of at least one job being less than progress of the map phase of at least one job.


