Jacob R. Lorch Microsoft Research

Slides:



Advertisements
Similar presentations
Thank you for your introduction.
Advertisements

Evaluating Performance
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
System-Wide Energy Minimization for Real-Time Tasks: Lower Bound and Approximation Xiliang Zhong and Cheng-Zhong Xu Dept. of Electrical & Computer Engg.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
Cmpt-225 Simulation. Application: Simulation Simulation  A technique for modeling the behavior of both natural and human-made systems  Goal Generate.
Scheduling for Reduced CPU Energy M. Weiser, B. Welch, A. Demers, and S. Shenker.
Computer Science Department University of Pittsburgh 1 Evaluating a DVS Scheme for Real-Time Embedded Systems Ruibin Xu, Daniel Mossé and Rami Melhem.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Young Suk Moon Chair: Dr. Hans-Peter Bischof Reader: Dr. Gregor von Laszewski Observer: Dr. Minseok Kwon 1.
1 EE5900 Advanced Embedded System For Smart Infrastructure Energy Efficient Scheduling.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
Measuring Interactive Performance with VNCplay Nickolai Zeldovich, Ramesh Chandra Stanford University.
1. 2 Table 4.1 Key characteristics of six passenger aircraft: all figures are approximate; some relate to a specific model/configuration of the aircraft.
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.
Uppsala, April 12-16th 2010EGEE 5th User Forum1 A Business-Driven Cloudburst Scheduler for Bag-of-Task Applications Francisco Brasileiro, Ricardo Araújo,
2.5 Scheduling. Given a multiprogramming system, there are many times when more than 1 process is waiting for the CPU (in the ready queue). Given a multiprogramming.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
An Integrated GPU Power and Performance Model (ISCA’10, June 19–23, 2010, Saint-Malo, France. International Symposium on Computer Architecture)
Lecture 5: 9/10/2002CS170 Fall CS170 Computer Organization and Architecture I Ayman Abdel-Hamid Department of Computer Science Old Dominion University.
Dynamic Placement of Virtual Machines for Managing SLA Violations NORMAN BOBROFF, ANDRZEJ KOCHUT, KIRK BEATY SOME SLIDE CONTENT ADAPTED FROM ALEXANDER.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
Improving Dynamic Voltage Scaling Algorithms with PACE Jacob R. LorchAlan Jay Smith University of California Berkeley June 18, 2001 To make the most of.
CHaRy Software Synthesis for Hard Real-Time Systems
OPERATING SYSTEMS CS 3502 Fall 2017
CPU Scheduling CSSE 332 Operating Systems
Dan C. Marinescu Office: HEC 439 B. Office hours: M, Wd 3 – 4:30 PM.
Jacob R. Lorch Microsoft Research
Chapter 5a: CPU Scheduling
Job Scheduling in a Grid Computing Environment
Networks and Operating Systems: Exercise Session 2
Chapter 2 Scheduling.
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Flavius Gruian < >
Department of Computer Science University of California, Santa Barbara
Process Scheduling B.Ramamurthy 11/18/2018.
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Zhen Xiao, Qi Chen, and Haipeng Luo May 2013
Adaptive Code Unloading for Resource-Constrained JVMs
Energy Efficient Scheduling in IoT Networks
3: CPU Scheduling Basic Concepts Scheduling Criteria
Process Scheduling B.Ramamurthy 12/5/2018.
Operating Systems.
Chapter5: CPU Scheduling
Dynamic Voltage Scaling
Qingbo Zhu, Asim Shankar and Yuanyuan Zhou
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Chapter 6: CPU Scheduling
Lecture 2 Part 3 CPU Scheduling
Processes and operating systems
Jacob R. Lorch and Alan Jay Smith University of California, Berkeley
Process Scheduling B.Ramamurthy 4/11/2019.
Process Scheduling B.Ramamurthy 4/7/2019.
Request Behavior Variations
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
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Jacob R. Lorch Microsoft Research Using User Interface Event Information in Dynamic Voltage Scaling Algorithms Jacob R. Lorch Microsoft Research Alan Jay Smith University of California, Berkeley 11th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems October 13, 2003

Outline Background and motivation What is dynamic voltage scaling? Why are user interface events important in deciding what speed and voltage to run the CPU? Questions about user interface events What do we want to know about user interface events that can help design voltage scaling algorithms? Methodology Trace-driven analysis Analysis results What have we learned about the design of DVS algorithms? Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Dynamic voltage scaling The ability to quickly and efficiently change CPU supply voltage without rebooting Appearing on commercial CPU’s (Transmeta, AMD, Intel) Reducing voltage reduces energy consumption – E α V2 Lowering voltage necessitates lowering speed When is lower energy worth the lower speed? When we can meet deadlines at less than maximum speed Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

User interface tasks How can we detect tasks? Real-time environment (uncommon) Application instrumentation (impractical and unlikely) Automatic inference Inference from user interface events Response time must be 50-100 ms, giving deadline estimate Goal: make sure all work the system does to satisfy a user interface event completes by the deadline • • • Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Estimating task CPU need Speed to use depends on expected CPU need Classic approach Run at CPU requirement divided by deadline PACE approach Speed up as task progresses so that if task is short we use low speed and voltage throughout Optimal speed schedule depends on probability distribution of CPU need Task 1 4.2 Kc Task 2 6.3 Kc Probability Speed Task 3 5.3 Kc … Cycles Time Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Questions How much of the CPU’s time is spent on user interface events? Is there an efficient heuristic to find when user interface tasks end? How often does handling user interface events require waiting for I/O? How quickly should we run the CPU to achieve good response time goals for user interface tasks? Which DVS algorithms work best for user interface tasks? Is there significant enough difference between different user interface events that a DVS algorithm should handle them differently? Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Methodology Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Trace-driven analysis Typically, voltage scaling algorithms are evaluated on short benchmarks Reflect artificial workload We use traces to answer questions about the “real world.” What applications get used and how often How much CPU time real applications use VTrace runs in background on Windows machines collecting info on threads, user interface events, etc. Over 1,800 hours of activity on eight users’ machines Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Identifying tasks Event Thing that can cause a thread to do something new Response Time thread runs between events Dependent event Event triggered during response to other event Trigger event Event not dependent on another Task All responses transitively dependent on trigger event • A C • A D A C B C D D Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Analysis Results Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

How much of the CPU’s time is spent on user interface events? Conclusion: User interface tasks are only part of the answer to task inference. Timer messages may provide additional opportunities to detect tasks and deadlines. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Can we detect task completion efficiently? Inferring task boundaries online is high-overhead Must track what responses caused what events Requires much interposition Simpler approach: consider UI task complete when… idle thread is running and no I/O is ongoing, or next UI event arrives Conclusion: This approach works well, except it may produce wrong results for certain applications. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

How often do UI tasks wait for I/O? DVS algorithms must treat I/O time specially I/O power, time do not scale with CPU speed Mouse clicks require I/O frequently, but other UI types do not Conclusion: Anticipating I/O time is important for mouse click tasks, but less so for other UI tasks. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

How fast should we run UI tasks? CDF of task CPU needs reveals suggests speed needed before deadline e.g., 99.5% of mouse moves would finish in 50 ms at 266 MHz Conclusion: Mouse moves require minimal speed. Keystrokes need faster speeds, and mouse clicks require the most; no single speed works for all users, so dynamic evaluation is important. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Which DVS algorithm is best for UI tasks? Keystroke tasks Mouse click tasks Comparison of Flat (constant speed); Past/Peg (use min, then max); Stepped (constant acceleration); PACE (optimal) PACE always best, Stepped generally 2nd; PACE vs. Stepped: 7.3% less energy for keystrokes, 2.8% less for mouse clicks Conclusion: Use PACE. If too much complexity or overhead, consider Stepped, especially for mouse clicks. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

How best to estimate task CPU needs? When a task starts, we estimate its CPU needs based on recent past tasks’ CPU needs: … 8.2 Kc 3.1 Kc 4.0 Kc 2.1 Kc 5.3 Kc 6.3 Kc 4.2 Kc 5.1 Kc ??? past future Task 1 5.1 Kc Task 2 4.2 Kc Probability Speed Task 3 6.3 Kc Task 4 5.3 Kc … Time Cycles PACE formula Distribution estimation Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Separating tasks into groups Tasks fall into different groups (e.g., enter keypresses in Excel vs. left mouse clicks in Word): … 8.2 Kc 3.1 Kc 4.0 Kc 2.1 Kc 5.3 Kc 6.3 Kc 4.2 Kc 5.1 Kc ??? past future Only basing prediction on similar tasks can improve prediction. Task 1 4.2 Kc Task 2 5.3 Kc Probability Speed Task 3 2.1 Kc Task 4 3.1 Kc … Time Cycles PACE formula Distribution estimation Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Overdoing task separation If you make the distinctions too fine, there may be few tasks in the same group to match: … 8.2 Kc 3.1 Kc 4.0 Kc 2.1 Kc 5.3 Kc 6.3 Kc 4.2 Kc 5.1 Kc ??? past future Too many groups means you make your prediction based on little (or old) information. Task 1 5.3 Kc Probability Speed Time Cycles PACE formula Distribution estimation Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Does task grouping help or hurt prediction? Tested four means of task grouping N (None): Every task in same group A (Application): Tasks in same app are in same group C (Category): Tasks of same category (e.g., all “enter” keypresses) are in same group CA (Category/Application): Separate group for each category and application combination Measured average error in predicting CPU need, i.e., just the mean of the distribution N worst, CA best – differences significant Keystroke tasks Conclusion: Fine task grouping helps prediction. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Does task grouping save energy? Keystroke tasks Mouse click tasks To evaluate prediction of entire distribution, we simulated PACE Results the same as for predicting mean: N worst, CA best Conclusion: Fine task grouping helps prediction, which leads to energy savings. But, savings are minute, so fine grouping is only worthwhile if it adds virtually no complexity or overhead. Using User Interface Event Information in Dynamic Voltage Scaling Algorithms

Conclusions User interface tasks are a useful source of task information for DVS algorithms, but only account for 20.3% of CPU time Our simple heuristic for task completion detection works well for most applications Mouse click tasks wait for I/O frequently Mouse movements require only minimal speed PACE is the best DVS algorithm, but Stepped saves nearly as much energy and is simpler Task grouping improves task CPU use prediction, but energy savings from such grouping are small Using User Interface Event Information in Dynamic Voltage Scaling Algorithms