郭大維臺灣大學:資訊工程學研究所陳建佳Chen, Jian-JiaJian-JiaChen2007-11-262018-07-052007-11-262018-07-052006http://ntur.lib.ntu.edu.tw//handle/246246/53987With the advanced technology in VLSI circuit designs, many modern processors now provide dynamic voltage scaling (DVS) support. The lower the speed is, the lower the supply voltage requires, and the less the power consumes. This dissertation explores energy-efficient scheduling for hard real-time systems and the maximization of the system reward for real-time systems under a specified energy constraint on DVS processors. Distinct from many previous work, this dissertation aims at the provision of approximated solutions with worst-case guarantees. In addition to the worst-case analysis of the developed algorithms, extensive experiments were done to evaluate the effectiveness of the algorithms, compared to existing algorithms. The experimental results are very encouraging. When speed switching is not allowed in the middle of a job execution, a polynomial-time $(1+epsilon)$-approximation algorithm is presented to minimize the energy consumption of periodic real-time tasks in uniprocessor systems with a user-specified tolerable error $epsilon$. It provides trade-offs between the user's tolerable error and the runtime complexity, including the time complexity and the space complexity. When leakage power consumption is considered, we develop procrastination scheduling strategies to reduce the energy consumption by turning processors into the dormant mode. Approximation bounds are derived for rate-monotonic and earliest-deadline-first scheduling algorithms. When periodic real-time task executions are considered in homogeneous multiprocessor systems with ideal processors, we develop algorithms with resource augmentation on processor speeds. A $1.13$-approximation algorithm is developed for systems with negligible leakage power consumption, and $2$-approximation algorithms are developed for systems with non-negligible leakage power consumption. Energy-constrained scheduling is then explored with reward maximization in uniprocessor systems. When speed switching can be done at any time with an identical power consumption function, a greedy algorithm is proposed with a $0.5$-approximation ratio. A dynamic programming approach is then proposed with a $(1-epsilon)$-approximation ratio, where the running time is polynomial in $frac{1}{epsilon}$ with a user-specified tolerable error $epsilon$ to derived solutions. When tasks have different power consumption functions or voltage scaling could be done only at a task arrival or termination time, a frac{1}{3}$-approximation algorithm is developed based on linear programming.1 Introduction 1 1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Low-Power Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Real-Time Requirements and Scheduling Policies . . . . . . . . . . . . 4 1.2 Objectives and Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Energy-Efficient Scheduling . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Energy-Constrained Scheduling . . . . . . . . . . . . . . . . . . . . . 7 1.3 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2 Related Work 11 3 Uniprocessor Energy-Efficient Scheduling 19 3.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 A Fully Polynomial-Time Approximation Scheme . . . . . . . . . . . . . . . . . . . 24 3.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4 Multiprocessor Energy-Efficient Scheduling 37 4.1 Problem Definitions and NP-Hardness . . . . . . . . . . . . . . . . . . . . . 39 4.1.1 Problem Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.1.2 Hardness of the Problems . . . . . . . . . . . . . . . . . . . . . . . 42 4.2 Multiprocessor Scheduling without Task Migration . . . . . . . . . . . . . . . 45 4.2.1 Multiprocessor Scheduling over Two Identical Processors . . . . . . . 46 4.2.2 Multiprocessor Scheduling over an Arbitrary Number of Processors . . 51 4.2.3 Multiprocessor Scheduling with Processor Speed Constraints . . . . . . 57 4.2.4 Extensions to Periodic Real-Time Tasks and Processors with Discrete Available Speeds . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.3 Multiprocessor Scheduling with Task Migration . . . . . . . . . . . . . . . . . 60 4.3.1 An Algorithm for Optimal Schedules for Negligible Task Migration Cost 61 4.3.2 An Approximation Algorithm for Systems with Non-Negligible Task Migration Cost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.4.1 Workload Parameters and Performance Metrics . . . . . . . . . . . . . 67 4.4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5 Uniprocessor Leakage-Aware Energy-Efficient Scheduling 75 5.1 Problem Difinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.2 Preliminary Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2.1 Critical speeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2.2 Minimization of the execution energy consumption . . . . . . . . . . . 80 5.3 Algorithms for Task Procrastination . . . . . . . . . . . . . . . . . . . . . . . 82 5.3.1 Procrastination scheduling algorithm: OSS . . . . . . . . . . . . . . . 83 5.3.2 Analysis of the Algorithm OSS . . . . . . . . . . . . . . . . . . . . . 85 5.3.3 Procrastination scheduling algorithm: VOSS . . . . . . . . . . . . . . 89 5.3.4 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.5 Extensions to Dynamic-Priority Scheduling . . . . . . . . . . . . . . . . . . . 95 5.5.1 Minimization of the execution energy consumption . . . . . . . . . . . 96 5.5.2 Procrastination . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6 Multiprocessor Leakage-Aware Energy-Efficient Scheduling 101 6.1 Problem Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.2 Approximation Algorithm for Negligible Switching Overheads . . . . . . . . . 105 6.2.1 Results for the Power Consumption Function . . . . . . . . . . . . . . 105 6.2.2 An Approximation Algorithm . . . . . . . . . . . . . . . . . . . . . . 107 6.3 A Two-Phase Algorithm for Non-Negligible Switching Overheads . . . . . . . . . . 113 6.3.1 No dormant-mode consideration . . . . . . . . . . . . . . . . . . . . 113 6.3.2 Considerations of the dormant mode . . . . . . . . . . . . . . . . . . 117 6.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.4.1 Workload Parameters and Performance Metrics . . . . . . . . . . . . . 119 6.4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 7 Uniprocessor Energy-Constrained Scheduling for Reward Maximization 125 7.1 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.2 The AREES Problem When All of the Tasks Have the Same Power Consumption Function 130 7.2.1 Energy Minimization for a Given Execution Index Selection . . . . . . 130 7.2.2 A 0.5-Approximation Algorithm . . . . . . . . . . . . . . . . . . . . 133 7.2.3 A Fully Polynomial-Time Approximation Scheme . . . . . . . . . . . 138 7.2.4 Remarks: the Mandatory Execution Part . . . . . . . . . . . . . . . . 141 7.3 (1/3)-Approximation Algorithms Based on Integer Programming . . . . . . . . . . 142 7.4 Performance Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.4.1 Experimental Setups and Performance Metrics . . . . . . . . . . . . . 148 7.4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . 149 7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 8 Concluding Remarks 153 8.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 8.2 Future Research Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8.2.1 Heterogeneous Multiprocessor DVS Scheduling . . . . . . . . . . . . 155 8.2.2 I/O-Aware Energy-Efficient Scheduling . . . . . . . . . . . . . . . . 156 8.2.3 Temperature-Aware Scheduling . . . . . . . . . . . . . . . . . . . . . 156 8.2.4 Application-Oriented Real-Time Scheduling . . . . . . . . . . . . . . 157 Bibliography. . . . . . . . . . . . . 1591230393 bytesapplication/pdfen-US省電效率排程即時系統近似演算法動態調變電壓系統Energy-Efficient SchedulingReal-Time SystemsApproximation AlgorithmsDVS Systems[SDGs]SDG7單一處理器及同質多處理器上之即時省電排程Energy-Efficient Scheduling for Real-Time Tasks in Uniprocessor and Homogeneous Multiprocessor Systemsthesishttp://ntur.lib.ntu.edu.tw/bitstream/246246/53987/1/ntu-95-F90922079-1.pdf