Slack Reclamation for Real-Time Task Scheduling over Dynamic Voltage Scaling Multiprocessors

Similar documents
Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems

Multiprocessor Energy-Efficient Scheduling for Real-Time Tasks with Different Power Characteristics

ENERGY EFFICIENT TASK SCHEDULING OF SEND- RECEIVE TASK GRAPHS ON DISTRIBUTED MULTI- CORE PROCESSORS WITH SOFTWARE CONTROLLED DYNAMIC VOLTAGE SCALING

Power-Saving Scheduling for Weakly Dynamic Voltage Scaling Devices

Energy Reduction Techniques for Systemswith Non-DVS Components

Proactive Speed Scheduling for Real-Time Tasks under Thermal Constraints

Energy-Efficient Scheduling of Real-Time Tasks on Cluster-Based Multicores

TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING

IN recent years, processor performance has increased at the

TOWARD THE PLACEMENT OF POWER MANAGEMENT POINTS IN REAL-TIME APPLICATIONS

Advances in processor, memory, and communication technologies

Energy-Aware Scheduling for Real-Time Multiprocessor Systems with Uncertain Task Execution Time

Energy-Constrained Scheduling for Weakly-Hard Real-Time Systems

p-yds Algorithm: An Optimal Extension of YDS Algorithm to Minimize Expected Energy For Real-Time Jobs

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators

MICROPROCESSOR REPORT. THE INSIDER S GUIDE TO MICROPROCESSOR HARDWARE

Power-Aware Scheduling of Conditional Task Graphs in Real-Time Multiprocessor Systems

Optimal Voltage Allocation Techniques for Dynamically Variable Voltage Processors

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors

Energy-Efficient Speed Scheduling for Real-Time Tasks under Thermal Constraints

Speed Modulation in Energy-Aware Real-Time Systems

Energy-Efficient Speed Scheduling for Real-Time Tasks under Thermal Constraints

Scheduling of Frame-based Embedded Systems with Rechargeable Batteries

Research Article Applying Dynamic Priority Scheduling Scheme to Static Systems of Pinwheel Task Model in Power-Aware Scheduling

Rate-monotonic scheduling on uniform multiprocessors

Controlling Preemption for Better Schedulability in Multi-Core Systems

Embedded Systems 14. Overview of embedded systems design

Generalized Network Flow Techniques for Dynamic Voltage Scaling in Hard Real-Time Systems

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

Real-Time and Embedded Systems (M) Lecture 5

Semi-Partitioned Fixed-Priority Scheduling on Multiprocessors

Multiprocessor Energy-Efficient Scheduling with Task Migration Considerations

A New Task Model and Utilization Bound for Uniform Multiprocessors

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

2.1 Task and Scheduling Model. 2.2 Definitions and Schedulability Guarantees

Optimal Integration of Inter-Task and Intra-Task Dynamic Voltage Scaling Techniques for Hard Real-Time Applications

Online Work Maximization under a Peak Temperature Constraint

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value

Task Models and Scheduling

Energy-Efficient Optimal Real-Time Scheduling on Multiprocessors

Energy Efficient Scheduling for Real-Time Systems on Variable Voltage Processors æ

Real-time scheduling of sporadic task systems when the number of distinct task types is small

Energy-aware Scheduling on Multiprocessor Platforms with Devices

Exam Spring Embedded Systems. Prof. L. Thiele

EDF Feasibility and Hardware Accelerators

Minimizing Expected Energy Consumption in Real-Time Systems through Dynamic Voltage Scaling

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund

Embedded Systems Design: Optimization Challenges. Paul Pop Embedded Systems Lab (ESLAB) Linköping University, Sweden

Aperiodic Task Scheduling

Shared Recovery for Energy Efficiency and Reliability Enhancements in Real-Time Applications with Precedence Constraints

Mixed-criticality scheduling upon varying-speed multiprocessors

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

ENERGY AND RELIABILITY MANAGEMENT IN PARALLEL REAL-TIME SYSTEMS

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems

ENERGY-EFFICIENT REAL-TIME SCHEDULING ALGORITHM FOR FAULT-TOLERANT AUTONOMOUS SYSTEMS

EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation

Multiprocessor Procrastination Scheduling in ERFair Realtime Systems

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES

Maximizing Rewards for Real-Time Applications with Energy Constraints

Scheduling periodic Tasks on Multiple Periodic Resources

ENERGY EFFICIENT SCHEDULING FOR REAL-TIME SYSTEMS. A Dissertation NIKHIL GUPTA

Speed Scaling of Tasks with Precedence Constraints

DC-DC Converter-Aware Power Management for Battery-Operated Embedded Systems

Embedded Systems Development

this reason, analysts are often concerned with designing a system that will be guaranteed to meet all deadlines of a real-time instance while minimizi

AS computer hardware technology advances, both

Reclaiming the energy of a schedule: models and algorithms

Real-Time Systems. Event-Driven Scheduling

CIS 4930/6930: Principles of Cyber-Physical Systems

An Optimal Real-Time Scheduling Algorithm for Multiprocessors

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Speed Scaling to Manage Temperature

Optimizing Intra-Task Voltage Scheduling Using Data Flow Analysis Λ

On the Energy-Aware Partitioning of Real-Time Tasks on Homogeneous Multi-Processor Systems

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Feedback EDF Scheduling of Real-Time Tasks Exploiting Dynamic Voltage Scaling

Real-Time Systems. Event-Driven Scheduling

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems

System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation

Task assignment in heterogeneous multiprocessor platforms

Semi-Partitioned Scheduling of Sporadic Task Systems on Multiprocessors

Reliability-Aware Power Management for Real-Time Embedded Systems. 3 5 Real-Time Tasks... Dynamic Voltage and Frequency Scaling...

CPU SCHEDULING RONG ZHENG

Minimum Energy Consumption for Rate Monotonic Tasks

Scheduling Stochastically-Executing Soft Real-Time Tasks: A Multiprocessor Approach Without Worst-Case Execution Times

Optimal Control of Discrete Event Systems with Weakly. Hard Real-Time Constraints

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling

Contention-Free Executions for Real-Time Multiprocessor Scheduling

Energy-efficient scheduling

Workload-Ahead-Driven Online Energy Minimization Techniques for Battery-Powered Embedded Systems with Time-Constraints

An Energy-Efficient Semi-Partitioned Approach for Hard Real-Time Systems with Voltage and Frequency Islands

Clock-driven scheduling

arxiv: v3 [cs.ds] 23 Sep 2016

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks

Transcription:

Slack Reclamation for Real-Time Task Scheduling over Dynamic Voltage Scaling Multiprocessors Jian-Jia Chen, Chuan-Yue Yang, and Tei-Wei Kuo Department of Computer Science and Information Engineering Graduate Institute of Networking and Muldia National Taiwan University, Taipei, Taiwan, ROC Email:{r079, r92032, ktw}@csie.ntu.edu.tw Abstract In the past decades, a number of research results have been reported for energy-efficient task scheduling over uniprocessor and multiprocessor environments. While researchers have started the exploring of slack reclaiming for tasks during run, little work has been done for multiprocessor cases. This paper proposes a set of multiprocessor energy-efficient task scheduling algorithms with different task remapping and slack reclaiming schemes, where tasks have the same arrival and share a common deadline. Tasks are reassigned to processors dynamically, and the slack is reclaimed to slow down the execution speeds of the remaining tasks for energy efficiency. Extensive simulations were performed to provide insights. The energy consumption could be reduced up to 29% in the experiments, compared to the previous work. Keywords: Slack Reclamation, Energy-Efficient Scheduling, Real-Time Task Scheduling, Multiprocessor Scheduling. 1 Introduction With the advanced technology in VLSI circuit designs, many modern processors could now operate at various supply voltages, where different supply voltages lead to different processing speeds. Many computer systems, especially embedded systems, are now equipped with voltage-scaling processors and adopt various energy-efficient strategies in managing their subsystems intelligently. Well-known example processors for such systems are Intel StrongARM SA1100 processor [18] and the Intel XScale [19]. The power consumption is usually a convex and increasing function of processor speeds and is highly dependent on the Support in parts by research grants from ROC National Science Council (NSC-94-2213-E-002-007 and 94-2752-E-002-008-PAE). hardware designs and implementations. The slower the speed is, the less the power consumption is. As pointed out in [2], multiprocessor implementations of real- systems could be even more energy-efficient than uniprocessor implementations, due to the convexity of power consumption functions. Energy-efficient real- task scheduling is to derive a schedule for real- tasks with the minimization on the energy consumption such that their timing constraints can be met. For aperiodic real- task scheduling, Yao, et al. [22] and Bansal, et al. [6] proposed off-line optimal (and on-line competitive) scheduling algorithms to minimize the energy consumption of task executions in a uniprocessor environment. When periodic real- task scheduling is considered, Aydin, et al. [3, 15] proposed energy-efficient scheduling algorithms based on the earliest deadline first scheduling strategy. When all of the power consumption functions of tasks are the same, Chen, et al. [8, 21] proposed approximation algorithms to schedule frame-based tasks over multiprocessors with and without independent voltage scaling over processors. Heuristic algorithms for periodic tasks in multiprocessor environments were proposed in [1, 5]. In [10, 11, 24], energy-efficient scheduling algorithms based on list heuristics are proposed to schedule real- tasks with precedence constraints. Mishra, et al. [16] explored energy-efficient scheduling issues with the considerations of task communication delay. And in [14, 17, 23], some real cases were studied. Most previous study on multiprocessor energy-efficient scheduling assumed that the actual execution of a task is equal to the worst-case execution, such as those in [1, 5, 8, 21]. This work iotivated by the scheduling of tasks in reality, where taskight complete earlier than their worst-case execution s [4, 25]. we focus our study on the scheduling of frame-based real- tasks, in which all of the tasks arrive at the same and share a common deadline. The closest related work was done by Zhu, et al. 1

[25]. In the study, an algorithm with a global queue of ready tasks is presented for the selection of a candidate such that the slack, due to the early completion of another task, is used to slow down the execution speed of the selected task. In this paper, we propose a slack reclamation scheme to reduce the energy consumption during the run. Given a task set, we first derive a schedule in an off-line fashion, where a schedule consists of task assignments over processors and task execution speed assignments. The schedule is then revised, whenever the slack reclamation scheme is applied, during the run. The scheme consists of two phases: the task remapping phase and the slack reclaiming phase. It is applied repeatedly whenever a task completes its execution. In the task remapping phase, the current schedule is first revised such that tasks that have not started their executions yet might be moved to different processors for executions. In the slack reclaiming phase, the slack is then used to slow down the execution speeds of some tasks. We propose two dynamic task remapping algorithms and four slack reclaiming algorithms in the proposed scheme. In the simulations, the proposed scheme was shown being able to reduce the energy consumption up to 29%, compared to the previous work [25]. The rest of this paper is organized as follows: Section 2 defines the system models and formulate the energyefficient scheduling problem. Our proposed scheme is presented in Section 3. Simulation results are shown in Section 4. Section 5 concludes this work. 2 System Models and Problem Definition This paper targets energy-efficient scheduling over homogeneous multiprocessors, where the power consumption function of each task is the same on every processor. The power consumption function P () of the dynamic voltage scaling part of a processor is a function of the adopted processor speed s [7, 20]: P (s) = C ef Vdd 2 s, (1) where s = k (V dd V t) 2 V dd, and C ef, V t, V dd, and k denote the effective switch capacitance, the threshold voltage, the supply voltage, and a hardware-design-specific constant, respectively (V dd V t 0, k > 0, and C ef > 0). Note that the power consumption function is a convex and increasing function of processor speeds. When V t is 0, the power consumption function P (s) could be rephrased as a cubic function of the processor speed s. In this paper, we assume that both P (s) and P (s)/s are convex and increasing functions. In this study, we assume that each processor could operate at any non-negative speed in [0, S max ], where S max is the maximum available processor speed provided by the processor. We also assume that the and energy overheads on speed (voltage) switching are assumed being negligible, such as those researches in [3, 6, 15, 22, 26]. We consider systems that the speed of each processor could be adjusted independently from each another. For the simplicity of presentation, we set S max as one and have processor speeds (and related variable values) normalized in the range [0, 1] in the derivation of the to-be-proposed scheme and the simulations. The computation executed in a interval is linearly proportional to the processor speed, and that the energy consumed for a processor in the execution of a task at the processor speed s for t units is the multiplication of t and its corresponding power consumption P (s) at the speed s. We are interested in the scheduling of frame-based real tasks, where each task in a given task set T is ready at 0 with a common deadline D. Tasks are independent. The scheduling of each frame of a length D is thus done repeatedly. We shall finish the executions of all tasks before the end of the frame, i.e., the deadline D. Each task τ i in T is characterized by its estimated worst-case execution e i at the highest available speed S max, i.e., 1, and its actual execution a i at S max. For the rest of this paper, the worst-case execution and actual execution of a task are both referred to those at the speed S max implicitly. We must emphasize that the processor speeds, the worst-case task execution s, the actual task execution s, the power consumption function, and the deadline D are all normalized whenever they are referenced for the rest of this paper (because S max is now set as 1). 1 For a task, we assume that its worse-case execution is known in a priori, while its actual one is determined at the run. The actual execution of task τ i at processor speed s is inversely proportional to processor speed s, i.e., a i /s. Multiprocessor systems considered in this paper only execute one task on one processor without task migration. That is, once a task starts its execution on some processor, it is not allowed to migrate to another one. In this work, we consider energy-efficient real- task scheduling over M homogeneous processors without task migration. A schedule of a task set T within a frame is a mapping of the executions of the tasks of T in a frame to processors in which processor speeds for the corresponding execution intervals of the tasks are defined. A schedule is feasible if no task misses its deadline D, the speed limitation is not violated, and no task migration is observed. 1 After the normalization, D becomes D S max. 2

3 Our Slack Reclamation Scheme 3.1 Overview In this section, we propose our slack reclamation scheme to reduce the overall energy consumption of the multiprocessor system. First, we map tasks onto processors and derive a static schedule by considering the worst-case execution s of tasks. The static schedule could be derived by adopting the 1.13-approximation algorithm proposed in [8], which assigns tasks on processors with the smallest utilization e i D in a non-increasing order of their worst-case execution s, and each processor then operates at the minimum available speed to finish all of the tasks assigned to the processor before the deadline D. The to-be-proposed slack reclamation scheme would not work if there does not exist any available processor speed to execute all of the tasks on any processor on in a derived static schedule. More processors or processors with higher speedight be needed. Let S static denote the schedule derived from the 1.13-approximation algorithm, i.e., Algorithm LTF in [8], for the rest of this paper. In schedule S static, the tasks assigned to be executed on processor p m are executed in a non-increasing order of their worst-case execution s from 0 to D. The energy consumption could be further reduced by adjusting the processing speeds of tasks in a dynamic manner. Because taskight complete their executions earlier than their worst-case estimated execution s, the unused, called slack, could be used to reduce the processing speeds of some remaining tasks while the resulting schedule is still feasible. Suppose that some tasks in T complete at instant t within a frame. The scheduler could reschedule the tasks that have not started their executions yet to reduce the energy consumption on the fly. In the current schedule, let the set of tasks assigned to start their executions on processor p m no earlier than t be denoted as T m, and the speed for the executions of the tasks in T m be denoted as. Let E m denote the load of the tasks in T m, where the load of a task set is the sum of the worst-case execution s of all of the tasks in the task set, i.e., E m = τ i T m e i. The earliest estimated scheduling instant t m at instant t on processor p m is the instant at which the currently executing task at t will complete its execution in the worst case on processor p m in the current schedule. In other words, t m is the earliest instant for scheduling based on the current schedule on processor p m. In order to reduce the energy consumption, our scheme should derive a feasible schedule by revising the task set T m and the earliest estimated scheduling instant t m in a dynamic manner. Note that the current schedule is S static initially. T m is the collection of tasks assigned to execute on processor p m initially. t m is the worst-case completion of the task starting its execution on processor p m at 0. is Em D. Our scheme will revise the schedule whenever a task completes its execution because slack might be observed. For the rest of this section, we shall show how to revise the current schedule at t into another feasible schedule. Our proposed slack reclamation scheme at instant t consists of the task remapping phase and the slack reclaiming phase to reclaim the slack created at instant t for saving energy. In the task remapping phase, we reassign the tasks in task set m T m onto processors so that the energy consumption could be reduced. In the slack reclaiming phase, we reclaim the slack to slow down the execution speeds of some tasks to reduce the energy consumption. 3.2 Task Remapping Phase The purpose of this section is to present dynamic remapping to map tasks in task set m T m onto different processors for executions to reduce the energy consumption. Two types of dynamic remapping are proposed: the dynamic task-level remapping and the dynamic processorlevel remapping. Dynamic task-level remapping considers the moving of each task on one processor p m to another processor p m individually. Dynamic processor-level remapping considers the moving of all of the tasks on one processor p m to another processor p m at the same. The schedule under considerations for task remapping is referred to as the pre-remapping schedule. The schedule resulted from task remapping is referred to as the postremapping schedule. For each task that completes its execution at t on processor p m (1 m M), the task remapping phase starts and the earliest estimated scheduling instant t m is updated as t. Scheme 1 is the algorithm for the dynamic remapping scheme, where Step 3 in Scheme 1 invokes Algorithms 3 and 2 for dynamic processor-level and task-level remapping, respectively. Steps 1 and 2 are for initialization of variables, such as t m. Scheme 1 remaps tasks in m T m into M disjoint sets by invoking Algorithm 2 or 3 at Step 3 (Please see Sections 3.2.1 and 3.2.2). Steps 4-10 are for the adjustment of the task execution speeds to satisfy the deadline D and to minimize the energy consumption. Let T m be the collection of tasks assigned on processor p m (1 m M) after task remapping is done, and E m = τ i T m e i is the load of task set T m. The total worst-case execution ˆt m of the tasks in T m in the pre- e i s i,k, where s i,k remapping schedule is defined as τ i T m is the processor speed of the task set T k containing task τ i in the pre-remapping schedule. For each processor p m, if t m is less than D minus ˆt m, we update t m as D ˆt m ; otherwise, ˆt m is updated as D t m. is then updated as E m ˆt m, 3

Scheme 1 : Dynamic remapping 1: for every processor p m in the system, if processor p m completes some task at t, t m t ; 2: initialize T m and ˆt m as and 0, respectively, for m = 1,..., M; 3: perform dynamic task remapping; {to assign tasks in m T m into T m, evaluate the load E m of T m, and update ˆt m of the tasks assigned in T m ;} 4: for each m = 1 to M do 5: if t m + ˆt m < D then 6: t m D ˆt m ; 7: else 8: ˆt m D t m ; 9: E m ˆt m ; 10: let T m be T m and E m be E m; Algorithm 2 : GTEF 1: sort task in T m T m in a non-increasing order of their worst-case execution at S max ; 2: E m 0 for m = 1,..., M; 3: while T is not empty do 4: remove task τ i with the greatest e i from T ; 5: find p n with the minimum (D t n )(P ( E n +ei ) n P ( E n n )); 6: T n {τ i} T n, E n e i +E n, and ˆt n ei + ˆt n, where τ i T m ; E 7: if n > 1 for some n then n 8: call Algorithm GLF (see Section 3.2.2 ) T m is updated as T m, and E m is set as E m. After the updating of all processor speeds, the post-remapping schedule is derived. 3.2.1 Dynamic Task-Level Remapping In dynamic task-level remapping, task sets T m are moved among processors to reduce the energy consumption. In this section, we consider to break each task set T m and move each individual task to a different processor. In other words, the M task sets in the pre-remapping schedule would be remapped into another M task sets and have a new processor assignment in the post-remapping schedule. Algorithm 2, denoted as Algorithm GTEF, is proposed for dynamic task-level remapping. Algorithm GTEF assigns the task with the maximum worst-case execution among the remaining tasks to the processor with the minimum increased energy consumption if the task is assigned to execute on the processor. The rationale behind the strategy is similar to that in the packing of boxes into a trunk. Tasks in T m T m are first sorted and re-indexes in Algorithm 3 : GLF 1: sort the task sets T 1, T 2,..., T M in a non-increasing order of their loads, referred to T 1, T 2,..., T M ; 2: let M be the set of the available homogeneous processors; 3: for each m = 1 to M do 4: remove p n with the minimum t n in M from M ; 5: T n T m, E n E m, and ˆt n E m s ; m a non-increasing order of their worst-case execution s. In each iteration of the loop from Step 3 to Step 6, task τ i with the maximum worst-case execution in T is assigned to the processor p n with the minimum increased energy consumption. In other words, p n is the processor with the minimum value (D t n )(P ( E n +ei ) P ( E n n )) n for 1 n M. The worst-case execution ei of task τ i executing at speed is included in the calculation of ˆt n for processor p n, where τ i is in T m in the preremapping schedule, and is defined based on T m. After the loop ends, Step 7 check the feasibility of the resulting remapping, given the maximum processor speed. If it fails, then dynamic processor-level remapping, i.e., Algorithm GLF (which will be introduced in Section 3.2.2), is used (Step 8), instead. The complexity of Algorithm GTEF is O( T M), provided that tasks in T is sorted in a priori (Note that sorting in the implementation could be skipped since tasks are already sorted in S static ). 3.2.2 Dynamic Processor-Level Remapping In dynamic processor-level remapping, the idea is to move the task set T m with the largest load to the processor with the smallest earliest estimated scheduling instant. Algorithm GLF first sorts and re-indexes task sets T 1, T 2,..., T M in a non-increasing order of their loads (Step 1). For each iteration in the loop from Step 3 to Step 5 in Algorithm 3, we assign the task set T m with the largest load in the remaining task sets to the processor p n with the smallest earliest estimated scheduling instant t n among the remaining unassigned processors. The value ˆt n on processor p n is then updated as Em. T n and E n are set as T m and E m, respectively, before the next iteration. The complexity of Algorithm GLF is O(M log M), which is dominated by the sorting of task sets and the procedure in the finding of processor p n with the minimum t n. The feasibility and optimality of Algorithm GLF could be shown by the following theorem: Theorem 1 The post-remapping schedule derived by Scheme 1 and Algorithm GLF is feasible if the preremapping schedule is feasible. 4

speed speed speed p 2 τ 2 τ 3 τ 4 p 2 τ 2 τ4 τ 5 p 2 τ 2 τ 3 τ 4 p 1 τ 1 τ 5 (a) S static p 1 τ 1 τ3 (b) task-level p 1 τ 1 τ 5 (c) processor-level Figure 1. An example for task remapping with the task-level remapping (b) and the processor-level remapping (c) speed 1 1 1 1 (a) a static schedule speed 1 4 5 15 8 15 8 (b) Algorithm FR The value shown above the task is its speed speed 1 2 3 2 5 1 (c) Algorithm GR speed 1 3 4 11 6 11 6 (d) Algorithm HR-2 speed 1 7 10 18 7 1 (e) Algorithm AR Figure 2. Examples for slack reclaiming algorithms. Proof. This theorem can be proved by contradiction. Suppose that the post-remapping schedule is not feasible on E m m some specific processor p m, in which > 1. Because of the task-set remapping policy (i.e., the loop of Algorithm GLF), there must exist another processor p l with E l E m and t l t m, in which E l, t l, and t m are defined in the pre-remapping schedule. Since l E E m l, m the pre-remapping schedule is not feasible because the tasks executed on processor p l could not complete no later than deadline D without violating speed S max. A contradiction is reached. Theorem 2 Given a pre-remapping schedule, the postremapping schedule derived from Scheme 1 with Algorithm GLF would minimize the energy consumption by executing all of the tasks in T m at speed E m in the post-remapping m schedule, when the actual execution of each of the tasks that have not completed before t is equal to the worst-case execution. Proof. This theorem could be proved by showing that an optimal schedule must assign the task set with the largest load to processor p n with the smallest t n. We shall use an example to illustrate Algorithm GTEF and Algorithm GLF: Consider the following example for a set of real- tasks on a system with two processors. The input task set T consists of 5 tasks in which their worstcase execution s are 11, 4, 4, 4, and 1, respectively, and their actual execution s are 4, 4, 4, 4, and 1, respectively. The common deadline D is 12. Schedule S static, as shown in Figure 1.(a), would assign τ 1 and τ 5 on processor p 1, and the other three tasks on p 2. At 4, if dynamic task-level remapping is applied, then the energy consumption of the resulting schedule, i.e., referred to Figure 1.(b), is 10.953125, where the power consumption function P (s) = s 3. If dynamic processor-level remapping is applied, then the energy consumption of the resulting schedule, as shown in Figure 1.(c), becomes 16.015625. 3.3 Slack Reclaiming Phase The slack reclaiming phase is to effectively use the slack to reduce the speed of each processor. Suppose that the task remapping phase occurs at point t, i.e., t = t. Let p m be a processor with a task completing at t. (Note that there could be more than one processor having a task completing at t. If there iore than one such a processor, the following slack reclaiming procedure is repeated for each of such processors.) After the task remapping phase, the slack reclaiming phase starts with the postpartition schedule. Let task τ k be the task with the largest worst-case execution in task set T m. The slack reclaiming phase would focus on how to execute task τ k in the reducing of the energy consumption. Four algorithms are presented in later subsections for the scheduling of τ k. After the execution speed of τ k is determined, τ k starts its execution and is removed from task set T m. The load of T m is updated, i.e., E m = E m e k. The slack reclaiming phase ends. 3.3.1 Fair Slack Reclamation Algorithm fair slack reclamation (FR) lets all tasks in T m share the slack fairly. As a result, task τ k executes at speed Em. Note that Algorithm FR is pessimistic in the expectation of further slack in the future. 3.3.2 Greedy Slack Reclamation Algorithm greedy slack reclamation (GR) only benefits task τ k with the slack. As a result, task τ k executes at speed in interval (t, t m + e k/ ]. t m is set e k t m +e k/ t 5

as t m + e k/. Algorithm GR iore optimistic in the observation of slack in the near future so that the current slack is used greedily. The complexity of Algorithms FR and GR is O(1). 3.3.3 Hybrid Slack Reclamation Algorithm hybrid slack reclamation (HR) iotivated by the difficulty in the prediction of the future. Algorithm HR is a combination of Algorithm FR and Algorithm GR, in which the current slack is fairly shared by a specified number K of tasks in T m. Since tasks on a processor execute in a non-increasing order of their worst-case execution s, let the slack be fairly shared by the collection Tm K of tasks in T m with the K largest worst-case execution s (Tie-breaking in the selection of tasks with equal worst-case execution s could be done arbitrarily). Em K denotes the load of Tm K. The latest completion of all of the tasks in Tm K is (D Em EK m ) to ensure that all of the tasks in (T m \ Tm K ) could complete no later than deadline D in the worst cases. The slack (t m t ) is shared fairly by tasks in T K m. Thus task τ k should execute at speed ( E K m ), D Em EK m sm t and t m is set as (t + e k (D Em EK m t )/(Em K)). When K is set as 1, Algorithm HR becomes Algorithm GR. If K is sufficiently large, Algorithm HR becomes Algorithm FR. The complexity of Algorithm HR is O(K). However, it is possible to reduce the complexity to O(1) if Em K could be constructed incrementally in O(1) in dynamic processor-level remapping. For the rest of this paper, Algorithm HR with a parameter setting K is abbreviated as Algorithm HR-K. 3.3.4 Aggressive Slack Reclamation Based on the dynamic uniprocessor energy-efficient algorithm presented in [4], we propose an extended algorithm to use the slack aggressively with reference to the execution history. Algorithm aggressive slack reclamation (AR) assumes that the ratio of the actual execution to the worst-case execution of every task is about the same. Let t be the staring of the slack reclaiming phase, and λ be the average ratio of the actual execution to the worst-case execution of every task that has finished its execution no later than t. For the national brevity, let ax denote the maximum value of speed and the largest processor speed in schedule S static. The rationale behind Algorithm AR is to let task τ k use the current slack and execute at a speed derived based on the expected execution s of tasks in T m, provided that all tasks in (T m \ {τ k }) could finish their executions at ax before D even if the execution of τ k is equal to the worst case. If all of the tasks in task set (T m \ {τ k }) could complete their executions at speed ax no later than D when they start executing after (t + e k (D t )/(E m λ)), then task τ k is set to execute at speed (E m λ/(d t )), and t m is set as (t + e k (D t )/(E m λ)). Otherwise, task τ k is set to execute at speed (e k /(D Em e k s t )), and t max m is set as (D (E m e k )/ax ) by assuming that all of the tasks in (T m \ {τ k }) will execute at speed ax., which is the speed for the executions of tasks in (T m \ {τ k }), is changed to ((E m e k )/(D t m )) if t m satisfies the inequality (E m e k )/(D t m) >. (Note that t m is updated as above.) Otherwise, remains the same as that in the post-remapping schedule. The complexity is O(1). 3.4 Remarks If we reclaim the slack as that described in Algorithm FR, GR, HR-K, and AR in the slack reclaiming phase, the energy consumption of the post-remapping schedule could be reduced without violating of the common deadline D. The four slack reclaiming algorithms could be better illustrated by an example, as shown in Figure 2. The worst-case execution s of τ 1, τ 2, τ 3, and τ 4 are 8, 2, 1, and 1, respectively, where the actual execution s of τ 1, τ 2, τ 3, and τ 4 are 7, 1, 1, and 1, respectively. D = 12 and P (s) = s 3. The energy consumptions of the schedules derived from Algorithms FR, GR, HR-2, and AR are 8.20 8, 8.6 4, 8.1575, and 8.64123, respectively. There are eight combinations of remapping algorithms and slack reclaiming algorithms in the proposed scheme. The eight algorithms could be denoted as Algorithms GLF+FR, GLF+GR, GLF+HR-K, GLF+AR, GTEF+FR, GTEF+GR, GTEF+HR-K, and GTEF+AR, where the term before + denotes the adopted task remapping algorithm, and that after + denotes the adopted slack reclaiming algorithm. When Algorithm GLF (/Algorithm GTEF) is adopted, the complexity is O(M log M)(/O( m T m M)) for each run of task remapping, regardless of which slack reclaiming algorithm is used. 4 Performance Evaluation 4.1 Simulation Setup In this section, we provide performance evaluation on the energy consumption of our proposed algorithms, compared to Algorithms GSSR and PGSR presented in [25]. For each task τ i in T, the worst-case execution e i of τ i at S max was uniformly distributed in the range of [1, ]. In a task set, the actual execution s of % tasks were equal to their worst-case execution s, and those of the other % tasks were random variables. The ratio β i of the actual execution of τ i to the worst-case execution of τ i was determined by either a normal distribution or 6

a uniform distribution. For each workload generated by a normal distribution, we specified a value so that β i was a normal distribution with a mean value and a standard deviation 0.1. For each workload generated by a uniform distribution, we specified a value so that β i was a uniform distribution between [, 1]. The actual execution of task τ i was β i e i. The simulation results were derived based on 100 independent simulations by varying the value of from 0.1 to 0.9, stepped by 0.1, with 2, 4, 8, 16, 32 processors and 0 tasks in the simulated task set. The power consumption function used in the simulations was P (s) = s 3. In the simulations, the common deadline D was set as the maximum E m in S static for the feasibility guarantee of S static. The normalized energy consumption was adopted as the performance metric in our simulations. The normalized energy consumption for an input instance was defined as the ratio of the energy consumption of the on-line schedule derived by the algorithm to that of S static. The less the normalized energy consumption is, the better the algorithm performs for the input instance. 4.2 Simulation Results Due to space limitation, only representive results are shown. Figure 3.(a) and Figure 3.(b) show the simulation results by applying different task remapping algorithms for task sets with normal distribution of β i when M = 4 and M = 32, respectively, where Algorithm STATIC+HR-2 denotes the algorithm that does not perform any task remapping and takes Algorithm HR-2 in the slack reclaiming phase. As shown in Figure 3, Algorithm always outperformed Algorithm STATIC+HR-2, especially for systems with more processors. In our simulation results, Algorithm GTEF only outperformed Algorithm GLF in few cases, such as when 0.4 and M = 4. This comes from that Algorithm GTEF is too conservative in slack reclaiming due to the fair distribution of the slack among the unexecuted tasks, especially when the number of available processors increases. Algorithm GLF is a better choice in the most simulated cases for task remapping if we take both the performance and the timing overheads into considerations. In order to provide insights for the settings of the userspecified parameter K in Algorithm HR-K, Figure 3.(c) shows the performance of Algorithm HR-K with different settings on the value of K (2, 3, 4, and 9) on a fourprocessor system when the Algorithm GLF was adopted in the task remapping phase. Both of the characteristics of the task sets and the number of processors in the system would affect the suitability of the value of K. In general, setting K as 2 or 3 in Algorithm HR-K was good enough. Figure 4 shows the simulation results by applying different slack reclaiming algorithms, compared to Algorithm GSSR in [25], for different workload distribution and different numbers of processors. In Figure 4.(b), when was equal to 0.1, the average normalized energy consumptions of Algorithms GSSR and GLF+AR were 52.2% and 36.7%, respectively. The improvement of our proposed algorithm on the minimization of energy consumption was about 29%. As shown in our simulation results, since Algorithms GLF+AR and perform either better or no much worse than the other simulated algorithms for general cases, they could be good choices when the characteristics of the task set are unknown in a priori. 5 Conclusion This paper considers energy-efficient task scheduling for frame-based real- tasks for homogeneouultiprocessors, where all of the tasks arrive at the same and share a common deadline. A slack reclamation scheme is proposed to reduce the energy consumption during the run, where the scheme is applied whenever a task completes its execution. In the task remapping phase, the current schedule is revised such that tasks that have not started their executions yet might be moved to different processors for executions. In the slack reclaiming phase, the slack is then used to slow down the execution speeds for some tasks. Two dynamic task remapping algorithms and four slack reclaiming algorithms are proposed under the slack reclamation scheme. It was shown that the proposed scheme could reduce the energy consumption of a task set up to 29% in the experiments, compared to the previous work [25]. By adopting the approaches presented in [9, 12, 13, 15], our proposed scheme can be applied for discrete available speeds. For future research, we shall consider energy-efficient task scheduling with precedence constraints, especially for multiprocessor environments. We shall also consider the possibility of having different power consumption functions for different tasks. References [1] T. A. AlEnawy and H. Aydin. Energy-aware task allocation for rate monotonic scheduling. In Proceedings of the 11th IEEE Real- and Embedded Technology and Applications Symposium (RTAS 05), pages 213 223, 2005. [2] J. H. Anderson and S. K. Baruah. Energy-efficient synthesis of periodic task systems upon identical multiprocessor platforms. In Proceedings of the 24th International Conference on Distributed Computing Systems, pages 428 435, 2004. [3] H. Aydin, R. Melhem, D. Mossé, and P. Mejía-Alvarez. Determining optimal processor speeds for periodic real- tasks with different power characteristics. In Proceedings of the IEEE EuroMicro Conference on Real-Time Systems, pages 225 232, 2001. [4] H. Aydin, R. Melhem, D. Mossé, and P. Mejía-Alvarez. Dynamic and aggressive scheduling techniques for power-aware real- 7

STATIC+HR-2 GTEF+HR-2 30 100 STATIC+HR-2 GTEF+HR-2 65 55 45 35 GLF+HR-3 GLF+HR-4 GLF+HR-9 30 0.1 0.2 0.3 0.4 0.5 0.6 (a) M = 4 (b) M = 32 (c) M = 4 95 85 75 65 GSSR GLF+FR GLF+GR GLF+AR Figure 3. The simulation results for task sets with a normal distribution of β i GSSR GLF+FR GLF+GR GLF+AR GSSR GLF+FR GLF+GR GLF+AR (a) uniform distribution of β i when M = 2 (b) normal distribution of β i when M = 2 (c) normal distribution of β i when M = 8 Figure 4. The simulation results for task sets with different distribution of β i and different numbers of processors. systems. In Proceedings of the 22nd IEEE Real-Time Systems Symposium, pages 95 105, 2001. [5] H. Aydin and Q. Yang. Energy-aware partitioning for multiprocessor real- systems. In Proceedings of 17th International Parallel and Distributed Processing Symposium (IPDPS), pages 113 121, 2003. [6] N. Bansal, T. Kimbrel, and K. Pruhs. Dynamic speed scaling to manage energy and temperature. In Proceedings of the Symposium on Foundations of Computer Science, pages 520 529, 2004. [7] A. Chandrakasan, S. Sheng, and R. Broderson. Lower-power CMOS digital design. IEEE Journal of Solid-State Circuit, 27(4):473 484, 1992. [8] J.-J. Chen, H.-R. Hsu, K.-H. Chuang, C.-L. Yang, A.-C. Pang, and T.-W. Kuo. Multiprocessor energy-efficient scheduling with task migration considerations. In EuroMicro Conference on Real-Time Systems (ECRTS 04), pages 101 108, 2004. [9] J.-J. Chen, T.-W. Kuo, and C.-S. Shih. 1+ɛ approximation clock rate assignment for periodic real- tasks on a voltage-scaling processor. In the 2nd ACM Conference on Embedded Software (EMSOFT), pages 247 2, 2005. [10] F. Gruian. System-level design methods for low-energy architectures containing variable voltage processors. In Power-Aware Computing Systems, pages 1 12, 2000. [11] F. Gruian and K. Kuchcinski. Lenes: Task scheduling for low energy systems using variable supply voltage processors. In Proceedings of Asia South Pacific Design Automation Conference, pages 449 455, 2001. [12] T. Ishihara and H. Yasuura. Voltage scheduling problems for dynamically variable voltage processors. In Proceedings of the International Symposium on Low Power Electronics and Design, pages 197 202, 1998. [13] W.-C. Kwon and T. Kim. Optimal voltage allocation techniques for dynamically variable voltage processors. In Proceedings of the th Design Automation Conference, pages 125 130, 2003. [14] J. Lorch and A. Smith. Improving dynamic voltage scaling algorithms with pace. In Proceedings of ACM SIGMETRICS 2001 Conference, 2001. [15] P. Mejía-Alvarez, E. Levner, and D. Mossé. Adaptive scheduling server for power-aware real- tasks. ACM Transactions on Embedded Computing Systems, 3(2):284 306, 2004. [16] R. Mishra, N. Rastogi, D. Zhu, D. Mossé, and R. Melhem. Energy aware scheduling for distributed real- systems. In International Parallel and Distributed Processing Symposium, page 21, 2003. [17] P. Pillai and K. G. Shin. Real- dynamic voltage scaling for low-power embedded operating systems. In Proceedings of 18th Symposium on Operating Systems Principles, pages 89 102, 2001. [18] INTEL. Strong ARM SA-1100 Microprocessor Developer s Manual, 2003. INTEL. [19] INTEL-XSCALE, 2003. http://developer.intel.com/design/xscale/. [20] M. Weiser, B. Welch, A. Demers, and S. Shenker. Scheduling for reduced CPU energy. In Proceedings of Symposium on Operating Systems Design and Implementation, pages 13 23, 1994. [21] C.-Y. Yang, J.-J. Chen, and T.-W. Kuo. An approximation algorithm for energy-efficient scheduling on a chip multiprocessor. In Proceedings of the 8th Conference of Design, Automation, and Test in Europe (DATE), pages 468 473, 2005. [22] F. Yao, A. Demers, and S. Shenker. A scheduling model for reduced CPU energy. In Proceedings of the 36th Annual Symposium on Foundations of Computer Science, pages 374 382. IEEE, 1995. [23] W. Yuan and K. Nahrstedt. Energy-efficient soft real- cpu scheduling for mobile muldia systems. In Proceedings of 19th Symposium on Operating Systems Principles, pages 149 163, 2003. [24] Y. Zhang, X. Hu, and D. Z. Chen. Task scheduling and voltage selection for energy minimization. In Annual ACM IEEE Design Automation Conference, pages 183 188, 2002. [25] D. Zhu, R. Melhem, and B. Childers. Scheduling with dynamic voltage/speed adjustment using slack reclamation in multi-processor real- systems. In Proceedings of IEEE 22th Real-Time System Symposium, pages 84 94, 2001. [26] J. Zhuo and C. Chakrabarti. System-level energy-efficient dynamic task scheduling. In ACM/IEEE Design Automation Conference(DAC), 2005. 8