200 likes | 415 Views
Energy-efficient Task Scheduling in Heterogeneous Environment. 2013/10/25. Outline. Literature survey Preliminary scheduling algorithm design for big.LITTLE cores. . Energy-efficient Task Scheduling. Goals: Energy Minimize energy consumption. Performance Find an optimal makespan .
E N D
Energy-efficient Task Scheduling in Heterogeneous Environment 2013/10/25
Outline • Literature survey • Preliminary scheduling algorithm design for big.LITTLEcores.
Energy-efficient Task Scheduling • Goals: • Energy • Minimize energy consumption. • Performance • Find an optimal makespan. • Satisfy constraints (deadline, QoS, …).
Task Scheduling • NP-Complete • Static scheduling • Simple, low runtime overhead. • Low resource utilization. • Dynamic scheduling • Good CPU utilization • Runtime overhead.
Static Scheduling • Scheduling heuristics: • Cluster-based • Duplication-based • List-based
Cluster-based Scheduling • Mainly for homogeneous systems. • Form cluster of tasks based on certain criteria. • For example, a set of tasks that need to communicate among themselves are grouped together to form a cluster. • Tasks of same cluster are scheduled on the same processor.
Duplication-based Scheduling • For scheduling task of a DAG. • Duplicates the tasks onto one or more processors. • Reduce the communication cost, network overhead, and potentially reducing the start times of waiting tasks. • Shorter makespan.
List-based Scheduling • Also called “Priority-based Scheduling”. • Tasks are arranged in the form of a list based on certain priorities. • Schedule tasks onto the most suitable processor.
Power Management Techniques • Dynamic Power Management (DPM) • Dynamic Voltage and Frequency Scaling (DVFS) • Virtualization and green policies • Virtual machine/resource consolidation.
Related Works - DVFS • “Towards Energy Aware Scheduling for Precedence Constrained Parallel Tasks in a Cluster with DVFS”, 2010 • Use Earliest Task First scheduling algorithm, identify the slack time for non-critical jobs and scale their supply voltages thus reducing the jobs’ energy consumption. • “Energy aware DAG scheduling on heterogeneous systems”, 2010 • Combine Decisive Path Scheduling with DVS to minimize both finish time and energy consumption. • “Task scheduling and voltage selection for energy minimization”, 2002 • Formulate the scheduling problem as an Integer Programming problem.
Related Works - Consolidation • “Energy aware consolidation for cloud computing”, 2008 • Consolidate tasks balancing energy consumption and performance on the basis of the Pareto frontier(optimal points). • “Reducing wasted resources to help achieve green data centers”, 2008 • Adopt two techniques, memory compression and request discrimination, to enhance consolidation and reduce overall energy consumption.
Related Works - Consolidation • “Energy aware dynamic resource consolidation algorithm for virtualized service centers based on reinforcement learning”, 2011 • “Energy efficient utilization of resources in cloud computing systems”, 2012 • Present two energy conscious task consolidation heuristics, ECTC and MaxUtil, which aim to maximize resource utilization and reduce energy consumption.
Related Works - Others • “On Effective Slack Reclamation in Task Scheduling for Energy Reduction”, 2009. • Present a two phases, main scheduling pass and the makespan-conservative energy reduction pass, Energy-Conscious Scheduling(ECS) algorithm with its extension. • “DAG scheduling Using a Lookahead Variant of the Heterogeneous Earliest Finish Time Algorithm”, 2010 • Develop lookahead-HEFT(Heterogeneous Earliest Finish Time) algorithm which use lookahead information to foresee how decisions affect other tasks.
Related Works - Others • “Cooperative power-aware scheduling in grid computing environments”, 2010 • “A cooperative game theoretical technique for joint optimization of energy consumption and response time in computational grids”, 2009 • Presents a cooperative game model and the Nash Bargaining solution to minimize energy consumption while maintaining a specified service quality.
Big.LITTLE core Scheduling • Assume that we have n pairs of big.LITTLE cores. • Initially all pairs use LITTLE core. • Assume we know the following information of a task Tk. • Task deadline. • Estimated execution time on big core. • Estimated execution time on LITTLE core.
Objective • Dynamically decide the number of big and LITTLE cores according to task information. • Use the smallest number of big cores to achieve power saving. • All tasks are finished before their deadline.
Our Heuristic • First, we define “urgency” U to indicate the priority of a task. • For Task Tk • 0<Uk ≦1, then task Tkcan be finished before deadline on LITTLE core • Uk > 1, then task Tkcan’t be finished before deadline on LITTLE core.
Core Switching • Switch one LITTLE core to big core if there exists a task Tk with urgency Uk > 1. • Find all the Tasks {Tj ,with Uj> 0.8}, assign these tasks to big cores. • Switch big cores to LITTLE cores if there is no task with urgencygreater than 0.8.
Summary • This is a preliminary thought, we’ll need some further discussions about the heuristic. • Also we need to conduct experiments to find suitable parameters. • 0.8?
Pareto frontier • Algorithms for computing the Pareto frontier of a finite set of alternatives have been studied in computer science, sometimes referred to as the maximum vector problem or the skyline query.