Green Hadoop: Optimizing Energy Efficiency for Streaming Jobs in YARN
Energy-Efficient Task Scheduling for CPU-Intensive Streaming Jobs on Hadoop
The paper introduces an energy-efficient task scheduling framework for CPU-intensive streaming jobs on Hadoop 2.0 (YARN). It proposes the D-based binning algorithm for batch jobs and the K-based binning algorithm for online jobs, optimizing the trade-off between CPU-usage-aware allocation and resource consolidation.
TL;DR
As data centers grapple with rising energy costs—often accounting for 50% of total ownership costs—optimizing distributed frameworks like Hadoop has become critical. This paper presents a novel scheduling framework for Hadoop 2.0 (YARN) that uses task-specific CPU profiling and DVFS (Dynamic Voltage and Frequency Scaling) to reduce energy consumption in streaming jobs by up to 10% without sacrificing throughput.
Background & Motivation
Hadoop 1.0 was built for offline batches, but Hadoop 2.0 (YARN) introduced real-time stream processing via engines like Apache Storm. However, YARN's native schedulers are "energy-blind." They focus on fairness or capacity but ignore the physical power state of the underlying nodes.
The authors identify a specific gap: while MapReduce energy efficiency has been studied using "deadline-aware" strategies, streaming tasks have no deadlines—they run indefinitely. Thus, a new model is needed to balance the message processing rate (performance) against power draw (energy).
Methodology: The Core Intuition
The researchers' approach rests on a mathematical insight: task performance is a function of both the allocated Virtual Cores (VCores) and the physical CPU frequency. If you lower the frequency to save power, you must increase the VCore count to maintain the same message throughput.
1. The Energy-Performance Model
The authors propose a task-oriented model where:
- Performance is proportional to allocated VCores () and a frequency-dependent scaling factor .
- Power is modeled as a cubic function of frequency (), weighted by the task’s CPU usage.
2. The Scheduling Framework
The framework introduces four key components to the YARN architecture:
- Task Profiler: Estimates the CPU usage () of incoming tasks using historical data.
- Batch Scheduler: Uses a D-based binning algorithm for tasks submitted simultaneously. It groups tasks with similar frequency requirements to minimize the "absolute central moment" of frequency deviation within a node.
- Online Scheduler: Uses a K-proximity binning algorithm for tasks arriving one-by-one, ensuring new tasks are placed in nodes that already match their power profile.
- DVFS Adapter: The physical actuator that adjusts the actual CPU frequency on the NodeManager.
Figure 1: The extended YARN architecture with Energy-Efficient Schedulers.
Two Key Scheduling Principles
- CPU-usage Aware Allocation: Matching tasks with similar "computational intensity" to the same node so the CPU can run at a single optimal frequency for all of them.
- Resource-Efficient Allocation: Co-locating tasks to minimize "Virtual Tasks" (idle resources) that still consume static power.
Experimental Validation
The authors tested the framework on a 7-node Hadoop cluster using two real-world IoT workloads: Sense your City and Indoor Trajectory.
Comparison with SOTA
The results were compared against several baselines, including TAPA (Temperature Aware) and DVFS-MR.
- Energy Savings: The Batch algorithm (D-BINNING) reduced energy by 10% over the next best competitor and was 42% more efficient than Storm’s default round-robin scheduler.
- Scalability: Simulations up to 200 nodes showed that the energy gains and performance overhead scale linearly, making it suitable for large-scale data centers.
Figure 2: Energy consumption comparison across different scheduling strategies.
Critical Insight & Conclusion
The brilliance of this work lies in the trade-off between binning and frequency. If you group tasks too strictly by CPU usage (low or ), you might under-utilize nodes and keep too many physical servers powered on. If you group too loosely to save on the number of servers, you lose the ability to tune the frequency to the tasks' specific needs.
Limitations
- CPU Sensitivity: The current work focuses strictly on CPU-intensive jobs. In real-world YARN clusters, IO-intensive and memory-bound jobs are equally prevalent.
- Homogeneity: The testing was performed on a cluster with identical Intel Core i5 nodes. Heterogeneous clusters (mixing different CPU generations) would complicate the frequency-matching function significantly.
Future Work
The authors aim to bridge the gap between CPU-bound and IO-bound streaming jobs and explore heterogeneous node management, which is a common reality in aging data centers.
