AutoDVS: An Automatic, General- Purpose, Dynamic Clock Scheduling System for Hand-Held Devices Selim Gurun Chandra Krintz Lab for Research on Adaptive.

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

Energy Efficiency through Burstiness Athanasios E. Papathanasiou and Michael L. Scott University of Rochester, Computer Science Department Rochester, NY.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Chapter 13 Embedded Systems
System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation Xiliang Zhong and Cheng-Zhong Xu Dept. of Electrical & Computer Engg.
1 When to Switch Processes 3 triggers –System call, Interrupt and Trap System call –when a user program invokes a system call. e.g., a system call that.
Scheduling for Reduced CPU Energy M. Weiser, B. Welch, A. Demers, and S. Shenker.
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
 Scheduling  Linux Scheduling  Linux Scheduling Policy  Classification Of Processes In Linux  Linux Scheduling Classes  Process States In Linux.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Low-Power Wireless Sensor Networks
Integrating Fine-Grained Application Adaptation with Global Adaptation for Saving Energy Vibhore Vardhan, Daniel G. Sachs, Wanghong Yuan, Albert F. Harris,
Computer Science Department University of Pittsburgh 1 Evaluating a DVS Scheme for Real-Time Embedded Systems Ruibin Xu, Daniel Mossé and Rami Melhem.
1 Overview 1.Motivation (Kevin) 1.5 hrs 2.Thermal issues (Kevin) 3.Power modeling (David) Thermal management (David) hrs 5.Optimal DTM (Lev).5 hrs.
Energy-Efficient Soft Real-Time CPU Scheduling for Mobile Multimedia Systems Wanghong Yuan, Klara Nahrstedt Department of Computer Science University of.
Round Robin Scheduling A preemptive scheduling designed for Time Sharing Systems The Ready Queue is treated as a circular queue A small execution.
Sogang University Advanced Computing System Chap 1. Computer Architecture Hyuk-Jun Lee, PhD Dept. of Computer Science and Engineering Sogang University.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 3 System Performance and Models. 2 Systems and Models The concept of modeling in the study of the dynamic behavior of simple system is be able.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
1 Distributed Energy-Efficient Scheduling for Data-Intensive Applications with Deadline Constraints on Data Grids Cong Liu and Xiao Qin Auburn University.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems with Multi-programming Chapter 4.
Dynamic Voltage Frequency Scaling for Multi-tasking Systems Using Online Learning Gaurav DhimanTajana Simunic Rosing Department of Computer Science and.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
NUS.SOC.CS5248 A Time Series-based Approach for Power Management in Mobile Processors and Disks X. Liu, P. Shenoy and W. Gong Presented by Dai Lu.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Lev Finkelstein ISCA/Thermal Workshop 6/ Overview 1.Motivation (Kevin) 2.Thermal issues (Kevin) 3.Power modeling (David) 4.Thermal management (David)
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
6.1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Multimedia Computing and Networking Jan Reduced Energy Decoding of MPEG Streams Malena Mesarina, HP Labs/UCLA CS Dept Yoshio Turner, HP Labs.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Scheduling.
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Overview Motivation (Kevin) Thermal issues (Kevin)
REAL-TIME OPERATING SYSTEMS
Jacob R. Lorch Microsoft Research
Operating System.
Jacob R. Lorch Microsoft Research
Chapter 5a: CPU Scheduling
Wayne Wolf Dept. of EE Princeton University
Automatic Performance Setting for Dynamic Voltage Scaling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
CS 143A - Principles of Operating Systems
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
Dynamic Voltage Scaling
Chapter 6: CPU Scheduling
Introduction to Operating Systems
Introduction to Operating Systems
Chapter 6: CPU 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
Module 5: CPU Scheduling
Presentation transcript:

AutoDVS: An Automatic, General- Purpose, Dynamic Clock Scheduling System for Hand-Held Devices Selim Gurun Chandra Krintz Lab for Research on Adaptive Compilation Environments (RACELab) University of California, Santa Barbara

2 The Mobile Computing Energy Crisis Battery power The only currently feasible energy source Heavy: Capacity is a linear function of weight Low capacity Alternative technologies are not attractive yet  Fuel cells, ambient energy, mAh 23 Grams 1450 mAh 45 Grams

3 Example systems Weiser’94, Govil’95, Pering’95, Grunwald’00, Flautner’02, Lorch’03, … Reduce CPU energy consumption Faster processing requires more energy Lower speed (and voltage) whenever possible Predict future workload for optimum CPU speed Interval schedulers, application-assisted DVS techniques Dynamic Voltage Scaling

4 Our Work: AutoDVS Goal: To provide a DVS system for handheld computers Real device/real applications Transparent to application Unobtrusive to user General-purpose  Multimedia  Interactive applications  Games  Batch tasks Efficient even when the voltage switching latency is high

5 Typical Handheld Platform: iPAQ H3800 CPU PERIPHERAL DEVICES

6 Frequency Scheduling Timeline Time milliseconds Old speedNew speed PRECLK Phase POSTCLK Clock Scheduling RequestUpdate Clock Speed iPAQ H3800, Linux Kernel v2.4

7 AutoDVS: A hybrid DVS system AutoDVS contains multiple, concurrent DVS schedulers for effective scheduling of various applications Monitoring CPU load and application demand Voltage/Clock frequency change requests Evaluating clock speed change requests Mapping requests to hardware specific voltage/frequency steps CPU Load Monitor Idle Task Monitor DVS Policy Arbiter CPU Clock Voltage Scaling Driver Interactive Task Scheduler

8 DVS Scheduling: Interactive Tasks User input triggers multiple GUI events Keyboard, joy-pad, touch-screen, etc… User interaction: DVS should be invisible Response latency is important  Human perception threshold: 50 milliseconds Extant approaches reschedule each GUI event Multiple voltage/frequency switching in an event’s lifetime We reschedule once per interactive session Because real life latencies are long

9 Interactive Sessions A period of user interaction: Each application has a specific pattern Interactivity Sessions - Tetrix Event Interarrival Time (msecs) Interactive Session Think Time

10 Interactive Sessions A period of user interaction: Each application has a specific pattern Interactivity Sessions - Solitaire Event Interarrival Time (msecs)

11 NWSLite for Interactive Session Prediction Light-weight: 55 floating point instructions/prediction Multiple predictors Ranking based on past error rate No parameters to configure 2 NWSLite predictors per application Load, session length LoadLength s s ……

12 CPU Load Monitor: Interval scheduling with large periods + better use of slack time through distributing demand in a larger period + resilient against fluctuations in demand - slow response if demand changes suddenly Idle Task Monitor: Monitors idle task statistics Multimedia tasks  Sudden increase in CPU demand => lost frames, noise, etc…  Extant approaches => programmer is responsible  Application notifies OS Idle task is scheduled whenever no runnable task exists However, cannot use NWSLite for load prediction DVS Scheduling: Batch & Multimedia Tasks

13 Architecture Application 1Application 2Application 3 GUI KERNEL Linux Scheduler CPU Clock Driver I/O Drivers Event Filter Interactive Task Scheduler (NWSLite) CPU Load Sensors Arbiter (frqstep,len) event

14 Arbiter CPU load average Idle task entry count & period Interactive CPU Load & Period Length CPU Load Sensor Interactive Task Scheduler Parameters POLICY STACK ARBITER RULES Set CPU speed as requested, however, if predicted load < CPU load in the last 500 milliseconds, do not lower speed Map estimated load to clock speed (round up to next level) Excessive idleness: Reduce speed Load Avg > HiThr: Increase speed Load Avg < LoThr: Decrease speed Excessive load: Increase speed

15 Evaluation Methodology Real-life applications Record and replay user input Games, Contact, Notepad, Drawpad, Multimedia… Compare AutoDVS to other policies MAX and IDEAL_FLAT Different perspectives (metrics) Interactivity Energy consumption Soft real time quality

16 Metrics Energy Factor Ratio of energy used by scaled workload to energy used when workload is processed at full speed Stall Rate (for interactive tasks) Ratio of over-threshold execution time to total execution time Stall Magnitude (for interactive tasks) Over-threshold execution time divided by total event number Buffer Under-runs (for multimedia tasks) Gaps in playback sound due to processor starvation

17 Results

18 Results Periodic tasks

19 Checkers: Periodic Tasks Checkers generates periodic tasks CPU load alternates between idle and full load GCGI GC G G GUI task C Computationally intensive task II I Idle Waiting for user input Searching next move using Min-Max CPU util Predicted CPU util …… Prediction

20 Summary General purpose DVS algorithm Multiple policies co-operate to provide seamless voltage scaling Significant energy savings: 49% over MAX Slight performance degradation Concurrent workloads Interactive task and MP3 playback 31% energy savings over MAX Easily integrated with other techniques PPACE: Further energy savings for GUI events

21 THANK YOU! QUESTIONS?

22 Future Work Enhance for platforms with low voltage scaling latency PPACE Provide application interface Grace-OS User level power manager Improvements to evaluation platform Better techniques to estimate event completion Voltage scaling

23 Results

24 Interactive Tasks Response time is “critical” for interactive tasks Human perception threshold: 50 ms Lorch Rescheduling GUI events using PACE (a gradual CPU acceleration technique) Flautner Extend GUI events to perception threshold Applying to a real PDA Batch tasks: interval scheduling Interactive tasks: other scheduling, I.e. flat max, PACE based, etc. Challenge: Slow voltage/frequency scaling response

25 Interval Scheduling Monitor CPU load in fixed intervals Future load is modeled as a function of past Many techniques exist Time-series Heuristics based on observations  Weiser, Chan Considers immediate history only Intervals are short: 1-50 ms. Not very effective

26 Application-assisted Grace-OS Targeting periodic multimedia applications EDF scheduling for soft-real time, round-robin for others Soft-RT Applications use system calls to mark start and end of tasks, Grace-OS maintains task deadline information Chameleon OS level interface Application implements power manager Application delegates power management to other processes

27 Results

28 Results

29 Results

30 Results – PPACE Parameters Added PPACE An algorithm to reschedule voltage scaling for pre- deadline cycles Developed by Xu et al How much extra energy can be saved when voltage switch latency is low (i.e. ignorable) Rescheduling only interactive events 6 voltage transition points during the first 50 milliseconds of execution

31 Results - PPACE -Reduction for pre-deadline cycles of GUI events only-

32 Energy Measurement iPAQ does not support voltage scaling Approximate voltage levels using XSA data Formula given in paper Frequency scaling data collected using microsecond resolution timer