Jacob R. Lorch and Alan Jay Smith University of California, Berkeley

Slides:



Advertisements
Similar presentations
CPU Management CT213 – Computing Systems Organization.
Advertisements

IT Systems Multiprocessor System EN230-1 Justin Champion C208 –
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
Tiny OS Optimistic Lightweight Interrupt Handler Simon Yau Alan Shieh CS252, CS262A, Fall The.
Review: Operating System Manages all system resources ALU Memory I/O Files Objectives: Security Efficiency Convenience.
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Computer and Information Science Computer Software Computer Software Chapter 1.2.
Object Oriented Analysis & Design SDL Threads. Contents 2  Processes  Thread Concepts  Creating threads  Critical sections  Synchronizing threads.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Chapter Ten Safe, Legal, and Green Computer Usage Part II: Energy Efficiency.
Processes & Threads Bahareh Goodarzi. Single & Multiple Thread of control code files data code files data.
Operating Systems. Definition An operating system is a collection of programs that manage the resources of the system, and provides a interface between.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Dynamic Voltage Frequency Scaling for Multi-tasking Systems Using Online Learning Gaurav DhimanTajana Simunic Rosing Department of Computer Science and.
CUHK Learning-Based Power Management for Multi-Core Processors YE Rong Nov 15, 2011.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Node Reclamation and Replacement for Long-lived Sensor Networks Bin Tong, Wensheng Zhang, and Chuang Wang Department of Computer Science, Iowa State University.
Ensieea Rizwani An energy-efficient management mechanism for large-scale server clusters By: Zhenghua Xue, Dong, Ma, Fan, Mei 1.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
Lecture 4 Page 1 CS 111 Summer 2013 Scheduling CS 111 Operating Systems Peter Reiher.
Process Scheduling. Scheduling Strategies Scheduling strategies can broadly fall into two categories  Co-operative scheduling is where the currently.
Improving Dynamic Voltage Scaling Algorithms with PACE Jacob R. LorchAlan Jay Smith University of California Berkeley June 18, 2001 To make the most of.
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.
Threads prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University 1July 2016Processes.
CPU Scheduling Scheduling processes (or kernel-level threads) onto the cpu is one of the most important OS functions. The cpu is an expensive resource.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
REAL-TIME OPERATING SYSTEMS
Non-Preemptive Scheduling
Resource Management IB Computer Science.
Jacob R. Lorch Microsoft Research
Process Management Process Concept Why only the global variables?
Advanced OS Concepts (For OCR)
Mechanism: Limited Direct Execution
Presented by Kristen Carlson Accardi
Where are being used the OS?
Process Description and Control
THE OPERATION SYSTEM The need for an operating system
Chapter 12: Concurrency, Deadlock and Starvation
Real-time Software Design
Intro to Multiprocessing
Chapter 6: CPU Scheduling
Process & its States Lecture 5.
Operating Systems.
TDC 311 Process Scheduling.
Qingbo Zhu, Asim Shankar and Yuanyuan Zhou
A Simulator to Study Virtual Memory Manager Behavior
Chapter 6: CPU Scheduling
CPU SCHEDULING.
Lecture Topics: 11/1 General Operating System Concepts Processes
CPU scheduling decisions may take place when a process:
Process Scheduling Decide which process should run and for how long
Processes and operating systems
Processes and operating systems
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Scheduling.
Uniprocessor scheduling
- When you approach operating system concepts there might be several confusing terms that may look similar but in fact refer to different concepts:  multiprogramming, multiprocessing, multitasking,
Outline - Energy Management
Software - Operating Systems
Chapter 6: CPU Scheduling
Year 10 Computer Science Hardware - CPU and RAM.
Processes and Process Table
CSE 153 Design of Operating Systems Winter 2019
Chapter 6: Scheduling Algorithms Dr. Amjad Ali
Chapter 6: CPU Scheduling
CS703 – Advanced Operating Systems
Embedded System Development Lecture 12 4/4/2007
CPU Scheduling David Ferry CSCI 3500 – Operating Systems
Presentation transcript:

Jacob R. Lorch and Alan Jay Smith University of California, Berkeley Reducing Processor Power Consumption by Improving Processor Time Management in a Single-User Operating System Jacob R. Lorch and Alan Jay Smith University of California, Berkeley

Welfare reform initiatives Overall problem: not enough money for welfare recipients Three possible initiatives stop overpaying people who have filed fraudulent claims overstating their worthiness stop overpaying people who have filed honest claims but who, through bureaucratic error, are being paid more than regulations require reduce all payments by a certain percentage Money : welfare recipient :: CPU time : process

Outline of presentation Motivation Background on MacOS A different strategy for power management Problems with this strategy and our solutions to these problems Results of simulations Conclusions

Motivation Power reduction is important on the desktop expense, heat, fan noise, contribution to pollution government regulation: Energy Star, Blue Angel Power reduction is critical in portable computers battery capacity per unit weight advancing slowly limited space and weight available in portables drives importance of power management Importance of processor energy reduction Accounts for large percentage of total power (18-34%) Watching the CPU turning on and off, we got the impression it was frequently on when it wasn’t needed

Background on MacOS Current power management (strategy “C”): inactivity timer after 2 seconds of no activity and 15 seconds of no disk activity, processor turns off until next interrupt Process scheduling: cooperative multitasking processes switch out voluntarily when a process switches out, it indicates a sleep period, the maximum amount of time it wants to remain unscheduled if the process is busy, it will give a sleep period of zero

The basic strategy Energy and time costs to turn on and off the CPU are low Window-based operating systems are event-driven We want the CPU off whenever it is idle A process handles an event, then blocks The basic strategy (strategy “B”): Turn off the CPU when all processes are blocked, waiting for their next events However, there are some problems with the basic strategy on MacOS...

The simple scheduling technique Problem: MacOS sometimes schedules processes when they do not need to be scheduled i.e. it wakes them up after too little time asleep Why? Well, it is a single-user OS; who would care? Technique “I”: never schedule a process whose sleep time has not yet expired

Sleep extension technique Why use sleep periods: to perform periodic tasks blinking the cursor, checking if time for backups Not a real-time system, so deadlines not critical in fact, current inactivity-based strategy freely violates these deadlines Therefore, perhaps it is reasonable to let processes sleep for longer Technique “S”: multiply all sleep periods by a multiplier s, set by user or OS to maximize energy savings while maintaining desired performance

The greediness technique How processes should behave receive event, process event, block for next event perhaps, while waiting, do periodic tasks How a process should not behave: “greediness” failing to block, i.e. using sleep period 0, when not busy happens often in MacOS Technique “G”: call a process greedy if it yields control g times without activity and without blocking block greedy processes, but only for a certain period f, in case our heuristic is wrong

Trace-driven simulation Trace collection (6 users): IdleTracer only collects data while running on battery power shuts off power management while tracing Simulators: ItmSim (current strategy) and AsmSim (basic strategy) Evaluation criterion 1: CPU energy savings Evaluation criterion 2: Performance impact estimated percent increase in workload completion time increase comes from skipping over useful work when processor is off: when processor comes back on, such work must take place heuristic: quantum is useful if it has activity or an event

Results 11.5% more battery lifetime than C Performance impact for C was 1.84%, so that was the impact for BIS and BIG. Performance impact for B and OPT was 0%. Performance impact for BI was 1.08%. 11.5% more battery lifetime than C 20.0% more battery lifetime than C

Problems with sleep extension Not as much energy savings per unit performance impact as greediness technique does not even work well as a supplement to greediness Does not eliminate an important problem with basic strategy: processes that fail to block this is why even BIS did not beat C for user 2 Extending real-time sleep factors violates the user interface, and may produce undesirable effects

Future work Implementation of strategies Collection of additional traces Adaptation of techniques to other OS’s Completely different energy-saving techniques for the CPU, to get closer to optimal (or even surpass it!)

Conclusions Basic strategy needs good CPU time management Our suggested ways to improve CPU time management are: never schedule processes that don’t want time identify and block processes that are hogging the CPU let processes sleep longer than they want to With the best of these techniques, the basic strategy far surpasses the inactivity timer strategy 53% less processor energy consumption 20% more battery lifetime