Real-Time Task Scheduling for Energy-Aware Embedded Systems 1



Similar documents
Common Approaches to Real-Time Scheduling

Report Documentation Page

Overview Presented by: Boyd L. Summers

DEFENSE CONTRACT AUDIT AGENCY

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Module 6. Embedded System Software. Version 2 EE IIT, Kharagpur 1

A GPS Digital Phased Array Antenna and Receiver

Lecture 3 Theoretical Foundations of RTOS

Asset Management- Acquisitions

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

EAD Expected Annual Flood Damage Computation

73rd MORSS CD Cover Page UNCLASSIFIED DISCLOSURE FORM CD Presentation

Guide to Using DoD PKI Certificates in Outlook 2000

Using the Advancement Degree of Difficulty (AD 2 ) as an input to Risk Management

Mr. Steve Mayer, PMP, P.E. McClellan Remediation Program Manger Air Force Real Property Agency. May 11, 2011

Algorithmic Research and Software Development for an Industrial Strength Sparse Matrix Library for Parallel Computers

Dynamic resource management for energy saving in the cloud computing environment

Profit Maximization and Power Management of Green Data Centers Supporting Multiple SLAs

PROBLEM STATEMENT: Will reducing the ASD for Kadena AB F-15 C/Ds increase the CPFH for this Mission Design Series (MDS)?

RT 24 - Architecture, Modeling & Simulation, and Software Design

Real-time scheduling algorithms, task visualization

FIRST IMPRESSION EXPERIMENT REPORT (FIER)

Effective Scheduling Algorithm and Scheduler Implementation for use with Time-Triggered Co-operative Architecture

Today. Intro to real-time scheduling Cyclic executives. Scheduling tables Frames Frame size constraints. Non-independent tasks Pros and cons

Advanced Micro Ring Resonator Filter Technology

DCAA and the Small Business Innovative Research (SBIR) Program

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Aperiodic Task Scheduling

174: Scheduling Systems. Emil Michta University of Zielona Gora, Zielona Gora, Poland 1 TIMING ANALYSIS IN NETWORKED MEASUREMENT CONTROL SYSTEMS

A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing

Headquarters U.S. Air Force

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

In June 1998 the Joint Military Intelligence. Intelligence Education for Joint Warfighting A. DENIS CLIFT

THE FLATWORLD SIMULATION CONTROL ARCHITECTURE (FSCA): A FRAMEWORK FOR SCALABLE IMMERSIVE VISUALIZATION SYSTEMS

CAPTURE-THE-FLAG: LEARNING COMPUTER SECURITY UNDER FIRE

Partition Scheduling in APEX Runtime Environment for Embedded Avionics Software

Cancellation of Nongroup Health Insurance Policies

IISUP-. NAVAL SUPPLY SVSTE:MS COMMAND. Ready. Resourceful. Responsive!

How To Compare Real Time Scheduling To A Scheduled Scheduler On Linux On A Computer System With A Visualization System

Energy Constrained Resource Scheduling for Cloud Environment

Improved Handling of Soft Aperiodic Tasks in Offline Scheduled Real-Time Systems using Total Bandwidth Server

REPORT DOCUMENTATION PAGE

Priority-Driven Scheduling

Pima Community College Planning Grant For Autonomous Intelligent Network of Systems (AINS) Science, Mathematics & Engineering Education Center

Issue Paper. Wargaming Homeland Security and Army Reserve Component Issues. By Professor Michael Pasquarett

Simulation of Air Flow Through a Test Chamber

John Mathieson US Air Force (WR ALC) Systems & Software Technology Conference Salt Lake City, Utah 19 May 2011

Military Health System Conference

Aperiodic Task Scheduling

ELECTRONIC HEALTH RECORDS. Fiscal Year 2013 Expenditure Plan Lacks Key Information Needed to Inform Future Funding Decisions

Addressing the Real-World Challenges in the Development of Propulsion IVHM Technology Experiment (PITEX)

Commonly Used Approaches to Real-Time Scheduling

On-line scheduling algorithm for real-time multiprocessor systems with ACO

Predictable response times in event-driven real-time systems

AFRL-RX-WP-TP

3. Scheduling issues. Common approaches /1. Common approaches /2. Common approaches / /13 UniPD / T. Vardanega 23/01/2013. Real-Time Systems 1

A Comparative Study of Scheduling Algorithms for Real Time Task

A Performance Analysis of Secure HTTP Protocol

Scheduling Real-time Tasks: Algorithms and Complexity

Attaining EDF Task Scheduling with O(1) Time Complexity

DEFENSE BUSINESS PRACTICE IMPLEMENTATION BOARD

Real-Time Software. Basic Scheduling and Response-Time Analysis. René Rydhof Hansen. 21. september 2010

Chapter 1. Introduction. 1.1 Motivation. A high-performance processor requires large power consumption to operate at

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Efficient and Enhanced Load Balancing Algorithms in Cloud Computing

DYNAMIC SCHEDULING STRATEGIES FOR AVIONICS MISSION COMPUTING. David L. Levine, Christopher D. Gill, and Douglas C. Schmidt

Metamaterials and Transformation Optics

Task Priority Optimization in Real-Time Multi-Core Embedded Systems

A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

Power Management in Cloud Computing using Green Algorithm. -Kushal Mehta COP 6087 University of Central Florida

The Green Index: A Metric for Evaluating System-Wide Energy Efficiency in HPC Systems

Real Time Scheduling Basic Concepts. Radek Pelánek

CERT Virtual Flow Collection and Analysis

HARD REAL-TIME SCHEDULING: THE DEADLINE-MONOTONIC APPROACH 1. Department of Computer Science, University of York, York, YO1 5DD, England.

Optimized Scheduling in Real-Time Environments with Column Generation

Integrated Force Method Solution to Indeterminate Structural Mechanics Problems

Dr. Gary S. E. Lagerloef Earth and Space Research, 1910 Fairview Ave E

Multi-objective Design Space Exploration based on UML

UMass at TREC 2008 Blog Distillation Task

ENERGY-EFFICIENT TASK SCHEDULING ALGORITHMS FOR CLOUD DATA CENTERS

THE MIMOSA OPEN SOLUTION COLLABORATIVE ENGINEERING AND IT ENVIRONMENTS WORKSHOP

OPTIMAL MULTI SERVER CONFIGURATION FOR PROFIT MAXIMIZATION IN CLOUD COMPUTING

Power Reduction Techniques in the SoC Clock Network. Clock Power

REPORT DOCUMENTATION PAGE *

A Taxonomy and Survey of Energy-Efficient Data Centers and Cloud Computing Systems

Transcription:

Real-Time Task Scheduling for Energy-Aware Embedded Systems 1 Vishnu Swaminathan and Krishnendu Chakrabarty Dept. of Electrical & Computer Engineering Duke University Durham, NC 27708 fvishnus,krishg@ee.duke.edu ABSTRACT We present a new approach for scheduling workloads containing periodic tasks in real-time systems. The proposed approach minimizes the total energy consumed by the task set and guarantees that the deadline for every periodic task is met. As embedded software becomes a larger component of system-on-a-chip design, energy management using the operating system becomes increasingly important. We present a mixed-integer linear programming model for the NP-complete scheduling problem and solve it for moderatesized problem instances using a public-domain solver. For larger task sets, we present a novel low-energy earliestdeadline-first (LEDF) scheduling algorithm and apply it to two real-life task sets. 1 Introduction A number of energy-constrained embedded and mobile systems are designed for real-time use. These systems must be designed to meet both functional and timing requirements [2]. Thus, the correct behavior of these systems depends not only on the accuracy of computations but also on their timeliness. While energy minimization for embedded and mobile computing is of great importance, energy consumption must be carefully balanced against the need for real-time responsiveness. One approach to conserve energy is to employ lowpower design methodologies. These methods, however, are limited in that they can be used only in systems with a fixed supply voltage. Most modern computers are equipped with a voltage supply that is capable of providing at least two different voltages to the system, and the above methods are comparatively less effective than ones that are tailored to make use of this feature. In embedded systems with variable-speed processors, the operating system (OS) can reduce energy consumption by scheduling tasks appropriately. Energy minimization by adjusting CPU speed was first studied in [12]. For realtime systems, optimal preemptive off-line scheduling algo- 1 This research was supported in part by DARPA under grant no. N66001-001-8946, and in part by a graduate fellowship from the North Carolina Networking Initiative. rithms have also been provided [13]. Hong et al. presented a heuristic for the preemptive model with a limit on the number of speed changes [4]. Although the scheduling methods cited above are very efficient, most of them make the assumption that the CPU can operate at several different voltage levels (and hence different clock frequencies) which can be varied continuously. In addition, a number of these methods are aimed at the synthesis of low-power designs and they do not address energy minimization during field operation. In this paper, we present an on-line scheduling algorithm for real-time systems that attempts to minimize the energy consumed by a periodic task set. This is based on the wellknown earliest-deadline-first (EDF) algorithm [8]. We consider a practical scenario where a single CPU executes a set of periodic non-preemptable tasks. The voltage, and consequently the clock speed, of the CPU may be switched between two or more values dynamically at run-time through OS system calls. This option is available in most modern computers, which provide at least two different operating speeds [5]. We attempt to find the voltage at which each task must be executed such that the energy consumed by the entire set of periodic tasks is minimized and generate a schedule for the task set such that the release time requirements are satisfied and the deadlines for every task is met. 2 Preliminaries In this section, we present our notation and the underlying assumptions. We are given a set of n periodic tasks R = fr 1 r 2 ::: rng. Associated with each task ri 2 R are (i) its release (or arrival) time ai, (ii) its deadline di, (iii) its length li (represented in number of instruction cycles), and (iv) its period pi. Each task is released at time t = ai. In other words, each task can begin execution only at or after time t = ai. Release times are arbitrary in that a task may be released at any time before its deadline. We assume, without loss of generality, that all tasks have identical periods. If the periods of tasks are different, we can perform a polynomial transformation to this scenario through the application of the LCM theorem [7]. In such a case, there may be a need to execute a given task several times within the 1

Report Documentation Page Form Approved OMB No. 0704-0188 Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number. 1. REPORT DATE 2005 2. REPORT TYPE 3. DATES COVERED - 4. TITLE AND SUBTITLE Real-Time Task Scheduling for Energy-Aware Embedded Systems 5a. CONTRACT NUMBER 5b. GRANT NUMBER 5c. PROGRAM ELEMENT NUMBER 6. AUTHOR(S) 5d. PROJECT NUMBER 5e. TASK NUMBER 5f. WORK UNIT NUMBER 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) Defense Advanced Research projects Agency,3701 North Fairfax Drive,Arlington,VA,22203-1714 8. PERFORMING ORGANIZATION REPORT NUMBER 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR S ACRONYM(S) 12. DISTRIBUTION/AVAILABILITY STATEMENT Approved for public release; distribution unlimited 13. SUPPLEMENTARY NOTES 14. ABSTRACT see report 15. SUBJECT TERMS 11. SPONSOR/MONITOR S REPORT NUMBER(S) 16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF ABSTRACT a. REPORT b. ABSTRACT c. THIS PAGE 18. NUMBER OF PAGES 4 19a. NAME OF RESPONSIBLE PERSON Standard Form 298 (Rev. 8-98) Prescribed by ANSI Std Z39-18

hyperperiod. All tasks must complete execution before their deadlines. We assume that the CPU can operate at one of two voltages: V 1 or V 2. Depending on the voltage level, the CPU speed may take on two values: s 1 or s 2.The model can be easily extended to handle more than two voltages (speeds). The supply voltage to the CPU is under OS control and the OS may dynamically switch the voltage during runtime with relatively low overhead. We restrict ourselves to two speeds out of practical considerations. CPU speeds are specified in terms of the number of instructions executed per second. Each task ri may be executed at a voltage vi, vi 2fV 1 V 2 g, and correspondingly, at a speed xi, xi 2fs 1 s 2 g. Tasks are not preemptable, i.e., once a task starts executing, no other task can execute until it completes execution. There is also no inserted idle time. This means that the scheduling algorithm does not allow the processor to be idle if there is a task that has been released but has not completed execution. It is well-known that power consumption in CMOS circuits has a quadratic dependence on the CPU voltage. Therefore, the energy Ei consumed by task ri of length li is Ei / vi 2 l i. Thus, energy consumption of task ri varies quadratically with its assigned processor voltage vi and linearly with its length li. The low-energy scheduling problem can be shown to be NP-complete. Nevertheless, it can be solved exactly for moderate-sized instances using mixed-integer linear programming (MILP). 3 Mixed-integer linear programming model The optimization problem we address is to minimize the total energy consumed by the set of n tasks by optimally determining their start times t 1 t 2 ::: tn, their voltages and corresponding execution speeds. The following constraints need to be modeled: (i) CPU speeds are limited to one of two values s 1 or s 2, (ii) The deadline for each task must be met, (iii) Tasks are nonpreemptable, and (iv) A task may start only after it has been released. We observed in Section 2 that the energy consumed by task ri is proportional to v 2 i l i. Hence, the objective function is Minimize P liv 2 i. The modeling of the constraints and their subsequent linearization are omitted here due to space limitations. The MILP model is too computationally-intensive to be used for large task sets. However, it is helpful in providing a lower bound on the amount of energy consumed by a given task set. In our MILP formulation, a priori knowledge of the release times has been inherently assumed. We observe that energy can be minimized to a greater extent in the offline case than in the on-line one. This justifies use of MILP as a comparison tool for providing lower bounds on energy consumption. 4 The LEDF heuristic Although MILP is a useful and optimal solution method for small problem instances, it cannot be used for large test cases. In order to solve large problem instances, we have developed a heuristic algorithm to generate near-optimal solutions in polynomial time. The low-energy earliest deadline first heuristic, or simply LEDF, is an extension of the well-known earliest deadline first (EDF) algorithm. The operation of LEDF is as follows: LEDF maintains a list of all released tasks, called the ready list. When tasks are released, the task with the nearest deadline is chosen to be executed. A check is performed to see if the task deadline can be met by executing it at the lower voltage (speed). If the deadline can be met, LEDF assigns the lower voltage to the task and the task begins execution. During the task s execution, other tasks may enter the system. These tasks are assumed to be placed automatically on the ready list. LEDF again selects the task with the nearest deadline to be executed. As long as there are tasks waiting to be executed, LEDF does not keep the processor idle. This process is repeated until all the tasks have been scheduled. Figure 1 gives the algorithm in pseudocode form. Procedure LEDF() begin Repeat forever f Are tasks waiting to be scheduled in ready list? yes Sort deadlines in ascending order Schedule task with earliest deadline Check if deadline can be met at lower speed (voltage) If deadline can be met, schedule task to execute at lower voltage (speed) If deadline cannot be met, check if deadline can be met at higher speed (voltage) If deadline can be met, schedule task to execute at higher voltage (speed) If deadline cannot be met, task cannot be scheduled. Call exception handler! no do-nothing g end Figure 1. The LEDF algorithm Our algorithm has a computational complexity of O(n log n). The worst-case scenario occurs when all n tasks are released at time t = 0. This involves sorting n tasks in the ready list and then selecting the task with the earliest deadline for execution. Given that all n tasks have already arrived and that they are already sorted by deadline, we no longer need to perform sorting on the task set.

Task Release a i Deadline d i Length l i l i =300 l i =400 (x 10 6 ) (x 10 6 ) (x 10 6 ) t1 3 7 800 2.66 2.0 t2 9 21 750 2.5 1.875 t3 0 5 1600 5.33 4.0 t4 18 25 1000 3.33 2.5 t5 14 16 600 2.0 1.5 t6 7 10 1200 4.0 3.0 t7 20 27 1100 3.66 2.75 t8 14 20 1600 5.33 4.0 t9 11 14 500 5.0 3.75 t10 30 35 1400 4.66 3.5 t11 27.5 30 800 2.66 2.0 t12 40 42 600 2.0 1.5 t13 34 39 1600 5.33 4.0 t14 40 46 1200 4.0 3.0 t15 44 50 1400 4.66 3.5 t16 44 55 2000 6.66 5.0 t17 40 43 300 1.0 0.75 Table 1. A simple task set consisting of 17 tasks. Energy consumed 1.7 x 105 1.6 1.5 1.4 1.3 1.2 LEDF MILP 1.1 13 14 15 16 17 Number of tasks Figure 4. Comparison of schedules generated by MILP and LEDF. Scheduling a task for execution has O(1) complexity. This results in a worst-case execution time of O(n log n). We now present our experimental results. First we show the results of the MILP simulations and LEDF for a task set of seventeen tasks. Our example task set is given in Table 1. It consists of seventeen tasks r 1 to r 17. Each task has a release time, a deadline and length. We assume the two processor speeds to be 300 million instructions per second (MIPS) at 2.47 V and 400 MIPS at 3.3 V. r3 r1 r6 r2 r9 r5 r8 r4 r7 r11 r10 r13 r12r17 r14 r15 r16 00 11 01 00 11 01 01 000000 00 11 01 111 000 00 11 0 101 111 000 000000 0 10 20 30 40 50 55 Energy consumption: 167327 units 0011 Task at 3.3 V ( 400 MIPS ) 0011 Task at 2.47 V ( 300 MIPS ) Figure 2. Schedule generated using MILP r3 r1 r6 r2 r9 r5 r8 r4 r7 r11 r10 r13 r12r17 r14 r15 r16 01 00 01 01 111100000 11111 01 11 00 01 01 111100000 11111 0 10 20 30 50 55 40 Energy consumption: 169709.75 units 000000 Task at 3.3 V ( 400 MIPS ) 000000 Task at 2.47 V ( 300 MIPS ) Figure 3. Schedule generated using LEDF The execution times for the tasks at the two different speeds are also shown. Figure 2 shows the schedule generated using MILP. The energy consumed by the schedule generated through MILP is 167327 units (measured by the sum of the v 2 i l i values). Figure 3 shows the corresponding LEDF schedule for the same task set. The energy consumed by this schedule is 169709.75 units. We observe that the energy consumed here is marginally greater than that for the MILP schedule. Nevertheless, our results show that our algorithm can generate near-optimal schedules with an energy increase of around 1%. We observe that the order in which tasks are executed remains the same in both the MILP and LEDF schedules. The increased energy consumption of LEDF arises due to the fact that LEDF does not possess knowledge of the release times a priori. Our MILP model, which does not have such a restriction, executes tasks r 12 and r 17 at a higher speed (voltage) even though both could have met their respective deadlines by executing at a lower speed (voltage). We showed in Section 2 that energy consumed by a task is proportional to its length. Since the length of task r 15 is greater than the lengths of both r 12 and r 17, we see that by executing r 12 and r 17 at a higher speed (voltage), we can execute r 15 at a lower speed (voltage) and thus reduce the effect of the length of r 15 on energy. This, in fact, does result in an optimal schedule. This characteristic of the task set cannot be utilized by LEDF, or any other on-line scheduling algorithm, because no scheduling algorithm has prior knowledge of release times. In order to evaluate the effectiveness of LEDF, we generated energy-optimal schedules using MILP and the corresponding schedules using LEDF for task sets containing upto seventeen tasks. The results, plotted in Figure 4, show that LEDF produces optimal schedules for upto fourteen tasks. Beyond that, it slowly starts to diverge from the optimal schedule. We also applied the LEDF algorithm to a real-time task

set consisting of twenty-four tasks. This task set was used for the development of an application-specific integrated circuit for an avionics application [10]. The processor speeds were assumed to be 100 MIPS and 260 MIPS, with corresponding voltages 1.2 V and 3.3 V respectively. The energy consumed by this task set was 203803.55 units. If all tasks are scheduled at the higher speed, the energy consumed is as high as 360938 units, i.e. 77% higher. On the other hand, if only the lower speed is used, as many as seven tasks miss their deadlines. Finally, we applied LEDF to a 39-task example. This task set comes from an embedded signal processing application for an anti-submarine warfare (ASW) system [1]. The task set runs on a Mercury PowerPC 6U VME board with a 200 MHz 603e processor. We have assumed that the processor is capable of operating at 100 MHz and that the processor speeds are dynamically switchable. We have also assumed that the CPU operates at 200 MHz at 3.3 V and at 100 MHz at 1.65 V. Furthermore, in order to emphasize energy minimization, the deadlines we have used are tighter than the actual deadlines for the actual task set. For this example, LEDF generated a schedule that consumed 323680.78 units of energy. For this task set, if only the higher speed (voltage) is used, the energy consumed is 477482 units, i.e, 47:5% higher. However, if only the lower speed is used, seventeen tasks miss their deadlines. The MILP model took prohibitively large amounts of time for scheduling task sets consisting of more than seventeen tasks running on a dual-processor Sun Ultra-1 with a 256 MB memory capacity. For an eighteen task data set, MILP took over a day to generate the optimal solution. On the other hand, LEDF took under a second to generate a near-optimal solution for the thirty-nine task example. References [1] J. Anderson, private communication, March 2000. [6] K. Jeffay, D. F. Stanat and C. U. Martel, On nonpreemptive scheduling of periodic and sporadic tasks with varying execution priority, Proc. IEEE Real- Time Systems Symposium, pp. 129 139, December 1991. [7] E. L. Lawler and C. U. Martel, Scheduling periodically occurring tasks on multiple processors, Information Processing Letters, vol. 12, no. 1, pp. 9 12, 1981. [8] C. L. Liu and J. Layland, Scheduling algorithms for multiprogramming in a hard real-time environment, Journal of the ACM, vol. 20, pp. 46 61, 1973. [9] J. R. Lorch and A. J. Smith, Scheduling techniques for reducing processor energy use in MacOS, Wireless Networks,, vol. 3, pp. 311 324, 1997. [10] J. H. Wensley, K. N. Levitt, M. W. Green, J. Goldberg and P. G. Neumann, Design of a fault tolerant airborne digital computer. Volume 1: Architecture, Final Report, Stanford Research Institute, Menlo Park, CA, October 1973. [11] J. M. Rabaey and M. Pedram, Low Power Design Methodologies, Kluwer Academic Publishers, Norwell, MA, 1996. [12] M. Weiser, B. Welch, A. Demers and S. Shenker, Scheduling for reduced CPU energy, Proc. Symposium on Operating System Design and Implementation, pp. 13 23, 1994. [13] F. Yao, A. Demers and S. Shenker, A scheduling model for reduced CPU energy, Proc. IEEE Annual Foundations of Computer Science, pp. 374 382, 1995. [2] G. C. Buttazzo, Hard Real-time Computing Systems: Predictable Scheduling Algorithms and Applications, Kluwer Academic Publishers, Norwell, MA, 1997. [3] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP- Completeness, Freeman and Co., New York, NY, 1979. [4] I. Hong, G. Qu, M. Potkonjak, and M. B. Srivastava, Synthesis techniques for low-power hard real-time systems on variable-voltage processors, Proc. Realtime Systems Symposium, pp. 178 187, 1998. [5] Intel Pentium III Processor Brief, http://www.intel.com