Unified Theory of Real-Time Task Scheduling and Dynamic Voltage/Frequency Scaling on MPSoCs Hessam Kooti Computer Science Department University of California, Irvine Irvine, California 92697 hkooti@uci.edu Eli Bozorgzadeh Computer Science Department University of California, Irvine Irvine, California 92697 eli@ics.uci.edu ABSTRACT Dynamic voltage/frequency scaling (DVFS) and adaptive body biasing (ABB) have shown to effectively reduce dynamic and leakage energy consumption in real-time embedded systems. Although these techniques exploit the slack time on a given task ordering, the task ordering may not provide a slack time distribution that DVFS/ABB can benefit from and this can limit the potential energy saving such techniques can provide. In this paper, we present an optimal network flow based solution for simultaneous static real-time scheduling and energy minimization (DVFS and ABB) on multiprocessors. Results show that our optimal solution reduces the energy dissipation by 47.84%, 26.21% and 17.46%, on average, in comparison with no-DVFS execution, voltage scaling algorithm with virtual continuous speed [1] and an optimal energy minimization algorithm without task re-ordering [2], respectively. 1. INTRODUCTION Energy consumption has become the limiting factor for embedded systems, most of which are designed for real-time applications such as multimedia systems and video phones, etc. Dynamic voltage/frequency scaling (DVFS) is a widely used technique (e.g. [1,2,3]) to reduce the dynamic energy consumption. On the other hand, techniques like Adaptive Body Biasing (ABB) [4] are effective to reduce the leakage energy. This paper addresses static energy-aware real-time task scheduling problem and reduces both dynamic and leakage power by applying both DVFS and ABB. A real-time scheduling algorithm needs to efficiently trade off energy consumption and task execution in order to minimize the energy consumption without violating the real- time constraints. While a large body of the proposed research work on DVFS-based scheduling is online energy- aware real time scheduling, static scheduling is mostly applied in time-triggered real-time systems. In this paper, we propose a novel static energy-aware real time scheduling in which task ordering and energy minimization are unified as opposed to energy minimization by exploiting timing slack after task scheduling [1,2,3,5,6]. Fixed ordering of the tasks may not provide the slack time distribution that DVFS and ABB can benefit from, and hence limit the potential energy savings in the system. To the best of our knowledge, this is the first effort to formulate the problem of unified task ordering and DVFS/ABB for real-time systems. In this paper, the real-time tasks are modeled as a set of periodic tasks. Since scaling the voltage and frequency of the processors incurs transition overhead which further tightens the real-time constraints, we considered the transition overhead in time and energy. We introduce a novel graph representation in which a directed path not only represents the task ordering but also defines the operation mode of the processor. We provide a MILP (mixed integer linear programming) formulation for this problem based on vehicle routing problem [7]. We compared our technique with two existing static energy-aware real-time scheduling algorithms: 1) Virtually Continuous Speed assignment (VCS) [1] and 2) Discrete Voltage selection with Overhead (DVO) [2]. Results show that our optimal solution reduces the energy consumption by 26.21% and 17.46% (on average) in comparison with VCS and DVO algorithms, respectively. 2. RELATED WORKS There is a large body of work in the energy/power- aware real-time task scheduling. DVFS and ABB are the most popular techniques in reducing the energy in literature. Some of the proposed solutions are online techniques [5,6] and some are static techniques [1,2,3]. During voltage scaling, some techniques [3,5] assume a continuous voltage changing and some works [1,2,6] consider the discrete voltage/frequency during DVFS. In this paper, we assume that each processor only works with a finite set of voltages since this model is the realistic processor model. Most of the proposed techniques for static energy-aware real-time scheduling apply DVFS and ABB after ordering the tasks. The virtual continuous speed (VCS) voltage/frequency scheduling algorithm in [1] is a static energy-aware task scheduler and the scheduler divides the tasks into intervals. The tasks inside an interval will be ordered with EDF algorithm and tasks will be run with virtual optimal frequency in that window. Discrete voltage selection with overhead (DVO) in [2] is another energy-aware task scheduler. In this algorithm, the order of task execution is found with EDF and for energy minimization an ILP is executed to find the optimal start time and operation mode for each job. 3. TARGET MPSOC PLATFORM In this paper, we target a heterogeneous Multiprocessor SoC (MPSoC) platform. Each processor has a local memory for instruction memory. All the processors have access to a shared data memory via a communication bus (e.g. AMBA bus). The communication bus in our platform uses the model