480 likes | 499 Views
Explore low-power techniques for single and distributed embedded systems, focusing on task graph modeling and power management. Includes task priority, speed determination, dynamic power management steps.
E N D
Energy Efficient Scheduling Techniques For Real-Time Embedded Systems Rabi Mahapatra
Outline • Introduction • Motivation • Related Work • Single Processor Systems • Distributed Multiprocessor Systems • Experiments & Results • Summary
Introduction Sample Embedded Systems audio/video entertainment devices robots Handheld computer PDA Mobile Phone Network Camera Wireless presentation Gateway Cerfcube
t1 t5 t2 t3 Sporadic Task, Deadline =30 t4 Period =90, Deadline =90 Typical Input Specification of Embedded Systems Application Specification for Embedded Systems • Periodic Task graphs • Each task characterized by: • Period • Execution time • Deadline • Sporadic Tasks • Invoked at any time • Hard deadline • Soft Aperiodic • Invoked at any time • No deadline
Why Low Power ? • High Power dissipation causes Chip failures • Expensive Cooling & Packaging overheads • High Manufacturing Costs • Portable Systems, User convenience limited by: • Battery Size • Recharging Interval
Power Management • Processor power dissipation is a function of α . Cl . V2dd . f • Various Low-Power Techniques • System-Level • Architecture-Level • Circuit-Level • System-Level power reduction techniques: • Dynamic Voltage Scaling • Dynamic Power Management
System Level Power Management Taxonomy SLPM – System Level Power Management DPM – Dynamic Power Management LPS – Low power Scheduling
Our Objective Given Embedded system and its application task graphs with library functions (i.e. period, execution time, Deadline etc.),our goal is to Reduce the system wide power consumption while guaranteeing the deadlines
Related Work Multi-Processor • J.Luo and N.K.Jha, 2001 • “Battery-Aware static scheduling” • Global shifting scheme & local schedule transformations • More suitable to small scale systems • R.Mishra, N.Rastogi, and D.Zhu, 2003 • “Energy aware scheduling for distributed” • Greedy and gap-filling dynamic power management techniques • Limited to task graphs with equal deadline • D. Zhu, R. Melhem, and B. Childers, 2003 • “Scheduling with Dynamic Voltage/Speed” • Slack sharing among processors, global queue • Limited homogenous systems with shared memory Single Processor: • G.Quan, and X. HU, 2001 • Minimum constant voltage for each interval • Assumes deadline less than or equal to period. • V.Swaminathan, and K.Chakrabarty, 2000 • Low-energy earliest deadline first heuristic • No guarantee on required maximum processor speed
Contributions • Provides a framework for single processor that consider tasks • Whose response time is greater than the period. • With Precedence constraints • Introduced chain of task set based execution approach to model low-power in distributed embedded systems.
Energy Efficient Scheduling Techniques for Single Processor
Proposed Approach “A 3-step approach to reduce power in single processor embedded systems with arbitrary response times and precedence constraints.” • Step1: Task priority assignment that guarantees • precedence constraints. • Step 2: Determination of task speed that • guarantees deadlines. • reduces power consumption. • Step 3: Dynamic power management • Idle Intervals. • Run-time variations in task execution time.
Task Modeling • Periodic task graphs • Scheduled according to their priorities • Sporadic task • Invoked at any time • Hard deadline • Execution slot is needed • Let ‘’ be the worst-case execution time and ‘d’ be the deadline • Execution Slots are defined with • Period : d - • Deadline: d -
STEP 1 : Priority Assignment Arrange the task graphs & EX. Slots in increasing order Of their period Remove the task graph with smallest period no no If all nodes in the Graph are Assigned priorities Assign the node next highest priority yes List is empty yes Remove the node with no Predecessor and least slack time END
STEP 2 : Task Speed Determination Arrange tasks in decreasing order of priority For each task in the list, determine the speed at which the task and all high priority tasks in the list can be run Find the task with largest speed, ‘s’. Mark the speed for this task and all other high priority tasks as ‘s’ Remove all these tasks from the list no List is empty END yes
Task Schedulability • Let = {T1,T2,…,TN} be the task set arranged in decreasing order of priorities. • Characteristics of Ti : {Pi, ei, Di}. A task set is feasible if the deadline of all tasks are always met. • Critical Instant Theorem (Liu and Layland, 1973) “Scheduling algorithms for multiprogramming” if a task meets its deadline whenever the task is requested simultaneously with all the high priority tasks, then the deadline will always be met for all task phasing.
In other words, the task set = {T1,T2,…,TN} is schedulable if and only ti Di i =1,..n, where • otherwise ti,j Di,j i =1,..n, and ‘j’ instances of • ti, where ti,j = R(ti,j + (j-1)Pi) – (j-1)Pi , where • R(ti,j) = + j*ei …………… (2) + ei ti if Pi Di ………….. (1) Task Schedulability (Contd … )
STEP 2 : Task Speed Determination Arrange tasks in decreasing order of priority For each task in the list, determine the speed at which the task and all high priority tasks in the list can be run Find the task with largest speed, ‘s’. Mark the speed for this task and all other high priority tasks as ‘s’ Remove all these tasks from the list List is empty no yes END
Step 3: Dynamic Power Management • During System operation, idle intervals arise when: • Actual task execution time is less than the worst-case execution time. (that is assumed at the time of fixed priority scheduling). Since these Idle intervals can not be exploited by off-line methods. • An on-line method that adapts the clock speed to take advantage of idle intervals is needed.
DPM (Contd ..) • Schedule the tasks according to their pre-determined speeds in a preemptive manner. • If the current task has finished and the queue of ready tasks is empty, then: • Determine the length of idle interval • If feasible, put the processor in the power down mode.
Experimental Setup • Event driven simulator • Intel Strong Arm SA-1100 Embedded Processor Specifications • Real-world test cases (CNC controller, INS, avionics,…)
Benchmarks Characteristics of various test cases
% Energy savings Various low power techniques Comparison of % Energy savings with various Low power techniques
% Energy Savings with the proposed technique on various test cases
Energy Efficient Scheduling Techniques for Multi-Processor Embedded Systems
Overview • Preliminaries • System model • Slack distribution heuristic • Periodical determination of service rate • Experiments & Results
Preliminaries • Command and control systems that comprise of hard real-time applications in a distributed environment. • An application comprises of: • Chain(s) of tasks or Task sets • Hard deadlines • Exchange of messages during execution • Admitting task set (Connection establishment) : Key Issues • Traffic descriptor [6] • Worst-case delay analysis • Power Reduction approaches • slack distribution • Clock speed adaptation during system run-time
≡ ≡ PE1 PE2 M1 M2 PE3 System Model • A task set is described by a vector triplet where A distributed system with 3 nodes & 2 task sets
Admission of Task Set • Task set admission: Key Phases • Setting up task set • Reply task set • Setting up task set : Key Issues • local worst-case delay < local deadline • end-to-end worst-case delay < end-to-end deadline • Reply task set : Key Issues • Slack distribution • Service rate < 1 (periodic service rate determination)
Observations • Processing of messages at a node can be extended up to their delay bounds. • This slack can be utilized to increase the worst-case delay tolerable at the computational nodes involved in processing the task set. • The actual processing time demanded by the messages of a task set during the run-time varies and is less than the worst-case specification. • A technique to adapt the clock speed periodically is introduced to take advantage of run-time variations
Slack Distribution • The slack in a task set is the difference between the end-to-end deadline and the sum of the worst-case delays suffered at each node. • This slack can be distributed among the nodes serving task set to reduce the system energy consumption. • The slack is distributed among the nodes according to the service rate of the nodes.
Service Rate Determination • Key Issues: • Monitoring the traffic pattern • Feedback incorporation while determining service rate. • Periodical service rate determination • guarantees processing of messages of outstanding intervals by their delay bounds • guarantees processing of messages of upcoming interval by their delay bounds • Scheduling policies considered: FCFS & WRR
The new service rate at the beginning of every interval is determined according to and the corresponding queue is determined according to where k = The service rate should be such that it must process the outstanding messages that arrived during the interval (t-j,t-(j-1)) by their remaining delay bound. i.e., (dfcfs - j). FCFS Scheduling Policy
The new service rate at the beginning of every interval is determined according to and the corresponding queue is determined according to The service rate and the corresponding processing time demanded by the outstanding messages that arrived during the interval (t-j,t-(j-1)) are given by WRR Scheduling Policy
Experimental Setup • Event driven simulator • Socket interface for communication • Intel PXA250 XScale Embedded Processor • Real-life test cases (DSP, Multimedia,..)
Benchmarks Characteristics of various test cases
Benchmarks (Contd …) Mode configurations for Multimedia and Synthetic test cases
Summary • Energy Efficient Scheduling technique for Single Processor that: • handles Sporadic and periodic task graphs with precedence constraints • takes into account tasks with arbitrary response times • determines minimum speed for each task • adapts clock speed to take advantage of idle intervals. • A connection based task execution approach for distributed embedded systems that: • effectively distributes the slack available in the connection to reduce system wide power consumption. • periodically adjusts the clock speed to take advantage of run-time variations. • Experimental results indicate that the proposed techniques yield significant energy savings.
References • N. Kim, M. Ryu, S. Hong, M. Saksena, C. Choi, and H. Shin, “Visual assessment of a real time system design: A case study on a CNC controller,” in Proc. IEEE Real-Time Systems Symposium, December. 1996. • A. Burns, K. Tindell, and A. Wellings, “Effective analysis for engineering real-time fixed priority schedulers,” IEEE Trans. on Software Eng., vol. 21, no. 5, pp. 475–480, May 1995. 3. C. Locke, D. Vogel, and T. Mesler, “Building a predictable avionics platform in Ada: A casestudy,” in Proc. IEEE Real-Time Systems Symposium, December. 1991. 4. C. M. Woodside and G. G. Monforton, “Fast allocation of processes in distributed and parallel systems,” Proc. IEEE Trans. Parallel & Distr. Systems., vol. 4, no. 2, pp. 164-174, Feb. 1993.
References (Contd ..) 5. G.Quan, and X.Hu, “Energy efficient fixed priority scheduling for real-time systems on variable voltage processors,” In Proc. Design Automation Conference, June 2001. 6. A.Raha, N.Malcom, and W.Zhao, “Guaranteeing end-to-end deadlines in ATM networks,” In Proc. International conference on Distributed Computing Systems, May 1995.