Dynamic Voltage Scaling

Slides:



Advertisements
Similar presentations
Washington WASHINGTON UNIVERSITY IN ST LOUIS Real-Time: Periodic Tasks Fred Kuhns Applied Research Laboratory Computer Science Washington University.
Advertisements

Real Time Scheduling.
Time Demand Analysis.
1 “Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation In Multi-processor Real-Time Systems” Dakai Zhu, Rami Melhem, and Bruce Childers.
Thread Criticality Predictors for Dynamic Performance, Power, and Resource Management in Chip Multiprocessors Abhishek Bhattacharjee Margaret Martonosi.
CSE 522 Real-Time Scheduling (4)
Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Task Allocation and Scheduling n Problem: How to assign tasks to processors and to schedule them in such a way that deadlines are met n Our initial focus:
Towards Feasibility Region Calculus: An End-to-end Schedulability Analysis of Real- Time Multistage Execution William Hawkins and Tarek Abdelzaher Presented.
System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation Xiliang Zhong and Cheng-Zhong Xu Dept. of Electrical & Computer Engg.
EE 249, Fall Discussion: Scheduling Haibo Zeng Amit Mahajan.
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment Presented by Pete Perlegos C.L. Liu and James W. Layland.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Minimizing Response Time Implication in DVS Scheduling for Low Power Embedded Systems Sharvari Joshi Veronica Eyo.
MM Process Management Karrie Karahalios Spring 2007 (based off slides created by Brian Bailey)
Low-Power Wireless Sensor Networks
Chapter 6 Scheduling. Basic concepts Goal is maximum utilization –what does this mean? –cpu pegged at 100% ?? Most programs are I/O bound Thus some other.
A S CHEDULABILITY A NALYSIS FOR W EAKLY H ARD R EAL - T IME T ASKS IN P ARTITIONING S CHEDULING ON M ULTIPROCESSOR S YSTEMS Energy Reduction in Weakly.
Critical Power Slope Understanding the Runtime Effects of Frequency Scaling Akihiko Miyoshi, Charles Lefurgy, Eric Van Hensbergen Ram Rajamony Raj Rajkumar.
Scheduling policies for real- time embedded systems.
Hard Real-Time Scheduling for Low- Energy Using Stochastic Data and DVS Processors Flavius Gruian Department of Computer Science, Lund University Box 118.
2.5 Scheduling Given a multiprogramming system. Given a multiprogramming system. Many times when more than 1 process is waiting for the CPU (in the ready.
Cpr E 308 Spring 2005 Process Scheduling Basic Question: Which process goes next? Personal Computers –Few processes, interactive, low response time Batch.
Special Class on Real-Time Systems
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Multimedia Computing and Networking Jan Reduced Energy Decoding of MPEG Streams Malena Mesarina, HP Labs/UCLA CS Dept Yoshio Turner, HP Labs.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 31 – Process Management (Part 1) Klara Nahrstedt Spring 2009.
Sandtids systemer 2.modul el. Henriks 1. forsøg m. Power Point.
Determining Optimal Processor Speeds for Periodic Real-Time Tasks with Different Power Characteristics H. Aydın, R. Melhem, D. Mossé, P.M. Alvarez University.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 32 – Multimedia OS Klara Nahrstedt Spring 2010.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
Improving Dynamic Voltage Scaling Algorithms with PACE Jacob R. LorchAlan Jay Smith University of California Berkeley June 18, 2001 To make the most of.
Real-Time Operating Systems RTOS For Embedded systems.
Embedded System Scheduling
REAL-TIME OPERATING SYSTEMS
Outline Objective for today’s lecture: Advanced topics in scheduling.
Chapter 6: CPU Scheduling (Cont’d)
Jacob R. Lorch Microsoft Research
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
Wayne Wolf Dept. of EE Princeton University
EEE 6494 Embedded Systems Design
Lecture 24: Process Scheduling Examples and for Real-time Systems
Chapter 6: CPU Scheduling
Flavius Gruian < >
Module 5: CPU Scheduling
Energy Efficient Scheduling in IoT Networks
3: CPU Scheduling Basic Concepts Scheduling Criteria
Jason Neih and Monica.S.Lam
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
CSCI1600: Embedded and Real Time Software
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler
CPU scheduling decisions may take place when a process:
CSCI1600: Embedded and Real Time Software
Processes and operating systems
Outline for Today Real time scheduling Advanced topics in scheduling.
Outline for Today Advanced topics in scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Ch 4. Periodic Task Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Dynamic Voltage Scaling The question: at what clock rate/voltage should the CPU run in the next scheduling interval? Voltage scalable processors StrongARM SA-2 (500mW at 600MHz; 40mW at 150MHz) Speedstep Pentium III AMD Mobile K6 Plus Transmeta Power is proportional to V2 x F Energy will be affected (+) by lower power, (-) by increased time

Interval Scheduling (adjust clock based on past window, no process reordering involved) Weiser et. al. Algorithms (when): Past AVGN Stepping (how much) One Double Peg – min or max Based on unfinished work during previous interval Clock speed CPU load time

Policies for Dynamic Clock Scheduling Grunwald et al, OSDI 2000 Experimental study (not simulation) – based on ITSY hardware with Linux StrongARM 59MHz to 206MHz, 1.5v or 1.23V Measured whole system power consumption Important to capture interactions with other power consuming components of hardware platform Inelastic performance constraints – don’t want to allow user to see any performance degradation Realistic workload (for handheld device): MPEG player, Web viewing, Chess game, Talking editor

Implementation of Scheduling Algorithms Issues: Capturing utilization measure Start with no a priori information about applications and need to dynamically infer / predict behavior (patterns / “deadlines” / constraints?) Idle process or “real” process – usually each quantum is either 100% idle or busy AVGN: weighted utilization at time t Wt = (NWt-1 + Ut-1) / (N+1) Adjusting the clock speed Idea is to set the clock speed sufficiently high to meet deadlines (but deadlines are not explicit in algorithm) Exponential moving average with decay N of previous intervals

Best Result – MPEG, PAST, PEG

Results and Conclusions It is hard to find any discernible patterns in “real” applications Better at larger time scales (corresponding to larger windows in AVGN ) but then systems becomes unresponsive Poor coupling between adaptive decisions of applications themselves and system decision-making (example: MPEG player that either blocked or spun) NEED application-supplied information Simple averaging shows asymmetric behavior – clock rate drops faster than ramps up AVGN could not stabilize on the “right” clock speed - Occillations

Negative Results are a Hard-Sell Discussion: Is this study and its results satisfying?

Background: Liu and Layland (classic TR Scheduling paper) Hard real time - tasks executed in response to events (requests) and must be completed in some fixed time (deadline) Soft real time - statistical distribution of response times

Assumptions Tasks are periodic with constant interval between requests, Ti (request rate 1/Ti) Each task must be completed before the next request for it occurs Tasks are independent Run-time for each task is constant (max), Ci Any non-periodic tasks are special

Task Model C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

Definitions Deadline is time of next request Overflow at time t if t is deadline of unfulfilled request Feasible schedule - for a given set of tasks, a scheduling algorithm produces a schedule so no overflow ever occurs. Critical instant for a task - time at which a request will have largest response time. Occurs when task is requested simultaneously with all tasks of higher priority

Rate Monotonic Assign priorities to tasks according to their request rates, independent of run times Optimal in the sense that no other fixed priority assignment rule can schedule a task set which can not be scheduled by rate monotonic. If feasible (fixed) priority assignment exists for some task set, rate monotonic is feasible for that task set.

Earliest Deadline First Dynamic algorithm Priorities are assigned to tasks according to the deadlines of their current request With EDF there is no idle time prior to an overflow For a given set of m tasks, EDF is feasible iff C1/T1 + C2/T2 + … + Cm/Tm [ 1 If a set of tasks can be scheduled by any algorithm, it can be scheduled by EDF

Voltage Scheduling Pering, Burd, & Brodersen ISLPED 2000 Simulation study – lpARM 1.1V to 3.3V – 10 MHz to 100 MHz Core and cache together consume between 1.8 mW and 220 mW Voltage scheduler separate from “temporal” scheduler Use “deadlines”

lpARM System Speed-control register Processor cycle ctrs System sleep control

Based on Earliest Deadline First Dynamic algorithm Priorities are assigned to tasks according to the deadlines of their current request With EDF there is no idle time prior to an overflow For a given set of m tasks, EDF is feasible iff C1/T1 + C2/T2 + … + Cm/Tm [ 1 If a set of tasks can be scheduled by any algorithm, it can be scheduled by EDF

Intuition C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

Intuition C1 = 1 t1 Ti Ti t2 C2 = 1 T2 time

Workload High priority tasks – ignored by voltage scheduler Rate-based tasks – turn into deadlines internally True deadline-based tasks Allowing missed deadlines enables voltage scheduler to accommodate ave-case workload instead of worst-case.

Scheduling Algorithm S workj speed = MAX deadlinei-currenttime Exponential moving average S workj j<=i speed = MAX deadlinei-currenttime i<=n Sort in EDF order Invoked when thread added or removed or deadline reached Includes non-runnable in scheduling decision

Results Lowering voltage until benchmark doesn’t complete

Frame by frame histograms GUI example: affected by hard idle times – waiting for external events not related to clock speed.

Mixed Workload

Conclusions In all cases, less than 2% of energy going to scheduling thread execution Up to 80% reduction in energy Application information required