Rethinking OS Design Metrics Workload Hardware Resources Services & API Internal Structure Policies / Mechanisms Energy efficiency Processor, Memory, Disks.

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Distributed Multimedia Systems
Mehdi Amirijoo1 Dynamic power management n Introduction n Implementation, levels of operation n Modeling n Power and performance issues regarding.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
Day 10 Threads. Threads and Processes  Process is seen as two entities Unit of resource allocation (process or task) Unit of dispatch or scheduling (thread.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
1 CS 333 Introduction to Operating Systems Class 2 – OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
OS Spring’03 Introduction Operating Systems Spring 2003.
Chapter 1 and 2 Computer System and Operating System Overview
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Agile Application-Aware Adaptation for Mobility Khaled Hadi ICS243F Odyssey.
Adaptive Video Coding to Reduce Energy on General Purpose Processors Daniel Grobe Sachs, Sarita Adve, Douglas L. Jones University of Illinois at Urbana-Champaign.
Scheduler Activations Jeff Chase. Threads in a Process Threads are useful at user-level – Parallelism, hide I/O latency, interactivity Option A (early.
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
CS 423 – Operating Systems Design Lecture 22 – Power Management Klara Nahrstedt and Raoul Rivas Spring 2013 CS Spring 2013.
Operating Systems CSE 411 CPU Management Sept Lecture 11 Instructor: Bhuvan Urgaonkar.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Rethinking OS Design Metrics Workload Hardware Resources Services & API Internal Structure Policies / Mechanisms Energy efficiency Processor, Memory, Disks.
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,
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.
© 2003, Carla Schlatter Ellis Display Management: Sensing User Intention and Context (HOTOS 2003)
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Chapter 3 Process Description and Control
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
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.
Research Overview TalkOdyssey - 1 Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Mobile Middleware for Energy-Awareness Wei Li
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
OPERETTA: An Optimal Energy Efficient Bandwidth Aggregation System Karim Habak†, Khaled A. Harras‡, and Moustafa Youssef† †Egypt-Japan University of Sc.
Processes Introduction to Operating Systems: Module 3.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
1 Review of Process Mechanisms. 2 Scheduling: Policy and Mechanism Scheduling policy answers the question: Which process/thread, among all those ready.
Welcome to CPS 210 Graduate Level Operating Systems –readings, discussions, and programming projects Systems Quals course –midterm and final exams Gateway.
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
Remote Execution to Save Local Energy Compute locally on battery power vs Transmit to wired compute server + Idle in low power mode + Receive results Why.
Lev Finkelstein ISCA/Thermal Workshop 6/ Overview 1.Motivation (Kevin) 2.Thermal issues (Kevin) 3.Power modeling (David) 4.Thermal management (David)
1  process  process creation/termination  context  process control block (PCB)  context switch  5-state process model  process scheduling short/medium/long.
12/2/091 What is an Operating System Andy Konwinski CS61CL Dec 2, 2009 Lecture 13 UCB CS61CL F09 Lec 13.
2 Processor(s)Main MemoryDevices Process, Thread & Resource Manager Memory Manager Device Manager File Manager.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Advanced Operating Systems CS6025 Spring 2016 Processes and Threads (Chapter 2)
Matthew Locke November 2007 A Linux Power Management Architecture.
Evaluation of Advanced Power Management for ClassCloud based on DRBL Rider Grid Technology Division National Center for High-Performance Computing Research.
Overview Motivation (Kevin) Thermal issues (Kevin)
COMPSCI 110 Operating Systems
Clocks, I/O devices, Thin Clients, and Power Management
Intro to Processes CSSE 332 Operating Systems
Chapter 3: Windows7 Part 2.
Chapter 3: Windows7 Part 2.
Agile Application-Aware Adaptation for Mobility
Threads Chapter 4.
Processes David Ferry CSCI 3500 – Operating Systems
Implementing Processes, Threads, and Resources
Outline - Energy Management
Presentation transcript:

Rethinking OS Design Metrics Workload Hardware Resources Services & API Internal Structure Policies / Mechanisms Energy efficiency Processor, Memory, Disks (?), Wireless & IR, Keyboard(?), Display(?), Mic & Speaker, Motors & Sensors, GPS, Camera, Batteries Productivity applications Process control Personal (PDAs), Embedded You are here

Energy/Power-related APIs OnNow and ACPI Odyssey

ACPI Advanced Computer Power Initiative Brought to you by Intel, Microsoft, and Toshiba and designed to enable OS Directed Power Management (OSPM). Goal is to be able to move power management into software for more sophisticated policies Abstract OS-HW interface

Power States G: global states apply to entire system and are visible to user D: states of individual devices S: sleeping states within the G1 state C: CPU states G2-S5 Soft off Legacy G0-S0 working G3 mech off G1 Sleep S1 S2 S3 S4 Dx modem x Dx HDD x Dx cdrom x Cx cpu wakeup

Transmeta Crusoe ACPI Power States

Transmeta Crusoe Power

OSDM: OnNow Applications OS HW OnNow WIN32 ext ACPI Spec SetSystemPowerState –initiate sleep state, query apps(?) SetThreadExecutionState –specifies level of support needed (e.g. display required) WM_POWERBROADCAST –a message notifying of power state changes to which applications can respond SetWaitableTimer –ensure PC is awake at scheduled time RequestDeviceWakeup RequestWakeupLatency - to specify latency requirements GetSystemPowerStatus and GetDevicePowerState

Detecting and Timing Idleness Without source code (applications or OS). Idle process (lowest priority) while (space_left_in_buffer){ for(I=0; I<N; I++) ; // N s.t. loop takes 1ms. generate trace record; } Non-idle time is an elongated time between trace records AB CDE 1ms 10.7ms Busy for 9.7ms

Process State Transitions Ready Running in kernel Blocked Grant resource request Make ReadyToRun Make Running Schedule Sleep Request resource Yield or get preempted Create process Running user mode interrupt or exception Finish EvtGetEvent Event generated Busy Think time Wait time Can be sitting here with events queuedCan be blocked for synch I/O System support needed to track CPU status + eventqueue + synch I/O Single UI can lead to >1 events

Measuring Energy Similar problems of relating timings to states (non-intrusively). –idle loop in [Endo] isn’t “idle” in power sense Additionally, need power costs of states

PowerScope [Flinn] Statistical sampling approach –Program counter/process (PC/PID) + correlated current readings. –Off-line analysis to generate profile Causality –Goal is to assign energy costs to specific application events / program structure –Mapped down to procedure level –System-wide. Includes all processes, including kernel

Experimental Setup Data Gathering Multimeter’s clock drives sampling at period of 1.6ms  Trigger Profiling computer Takes current sample  Interrupt causes PC/PID sample to be buffered User-level daemon writes to disk when buffer 7/8 full  Trigger next sample

System Monitor Kernel Mods NetBSD recording of PC and PID fork(), exec(), exit() instrumented to record pathname associated with process new system calls to control profiling pscope_init(), pscope_start(), pscope_stop(), pscope_read() (user-level daemon, to disk)

Voltage essentially constant, only current recorded. Each sample is binned into process bucket and procedure within process bucket. Energy calculated by summing each bucket E  V meas S I t D t Energy Analyzer t=0 n

Framework for Adaptation Odyssey project - Satya (CMU) Odyssey is an attempt to incorporate application- aware adaptation Noble et al, Agile application-aware adaptation for mobility, SOSP 97 (network bandwidth examples) Flinn and Satya, Energy-aware adaptation for mobile applications, SOSP 99 (energy usage examples)

Odyssey Provides API - new syscalls to register a window of tolerance for a variable resource (e.g. network bandwidth) Notifications of change (upcalls) –Implies detection of changes. Mechanisms needed. Typing - Wardens which handle type-specific functionality –Type awareness necessary to evaluate tradeoffs Viceroy – centralized resource coordination

Architecture of Odyssey Client Kernel Warden Viceroy Application Cache Mgt Warden

Odyssey Namespace odyssey movies db UNIX tome Mpeg tome SQL tome Leveraging the file system

Notion of Fidelity Defined as the degree to which data presented to the client matches the original copy at the server. Trading fidelity for performance. Adaptation involves supporting multiple and diverse levels of fidelity. Low JPEG Quality 10 KB Thumbnail 2KB Grayscale 85KB Original 116 KB

API

Example Each movie in multiple tracks at different fidelity levels Warden can switch between tracks to fit bandwidth requirements

Examples Cellophane layer is the application seen by Odyssey – picks fidelity level Distillation server dynamically generates objects at specified fidelity

Examples Preprocessing has a compression ration of 5:1 Does this really fit the fidelity model?

Evaluation How agile is Odyssey for changing network bandwidth? –How do we measure agility? Do applications benefit from adaptation? How important is the centralized resource management (Viceroy)?

Resource Supply: Trace modulation to simulate 120 Kbytes/s and 40 Kbytes/s, synthetic workload Odyssey observing round-trip and throughput.

Benefits to Applications Video Web Browser Pref. metric is # dropped frames Perf. metric is ave time to fetch and display

How Important is the Global View of Resources? Per-application view Theoretical bandwidth passed to applications

Their Conclusions Collaborative approach between system and applications is important And feasible as shown by prototype Agility is key attribute Odyssey does a good job Centralized resource management is important Need to move beyond fidelity as the main adaptation response (as seen by speech example).

Energy Resource Monitoring to detect resource availability Powerscope Using Odyssey for adaptation in this domain.

Fidelity for Energy? Before investing in incorporating energy into Odyssey for adaptation, first determine whether Odyssey’s model of fidelity as the way to adapt has potential for energy savings. Experiments showing that potential, hand- tuned based on Powerscope information.

Case Study Video application original 12.1MB Step 1 lossy compression B: 7MB, C: 2.8MB Step 2: display size reduced from 320x240 to 160x120 A small : 4.9MB, C small : 1MB Step 3: WaveLAN put into standby mode when not used Step 4: Disk powered off

Base case Every optimization

Conclusions about Fidelity as Energy Saving Adaptation Significant variation in effectiveness of fidelity reduction among objects And among applications Combining hardware power management with fidelity reductions is good.

Can Odyssey Automate This? User specifies target battery lifetime. Odyssey is to monitor energy supply and demand Notify applications to change fidelity if estimate future demand and supply don’t match to achieve desired lifetime.

Goal-directed Energy Adaptation On-line version of Powerscope (assume this will be built-in) Smoothed observations of past consumption as estimate of future. Odyssey’s own criteria for notification EstDemand = ((1-  )(sample) + (  )(old)) * time_remaining

Results Goals: –Meet specified battery lifetime –Highest fidelity within that constraint –Infrequent adaptations –Small leftover battery capacity at end of period.