Power aware operating system

Post on 17-Jul-2015

188 views 2 download

Transcript of Power aware operating system

POWER AWARE OPERATING SYSTEM

Mentor

Anil Kumar Gupta

Rajan Kumar Yadav

CONTENTS

• DESIGNING POWER AWARE OS

• POWER CONSUMPTION

• OUR SOLUTION TO REDUCE POWER CONSUMPTION

• LINUX POWER MANAGEMENT

• ACPI IMPLEMENTATION

• TOOLS AVAILABLE FOR POWER MONITORING

• PROJECT

DESIGNING POWER AWARE OS

SYSTEM MODEL

Hardware Devices

Filter Driver

Device Driver

Operating System

Power

Manage

r

Application

DESIGNING POWER AWARE OS(CONTD..)

Device Power Management

System Power Management

Power Aware OS

Operating System Power

Management(OSPM)

ACPI Driver For System Level

Power Aware HDD Power Aware RAM

ACPI Drivers For Process Level

Process Running Hardware

TOWARDS POWER SAVING MECHANISM

Discover

Measure

Analyze and Optimize

Save

POWER CONSUMPTION - SCENARIOS

• MEMORY CONSUMES 19% OF

POWER OF OVERALL SYSTEM

• MEMORY CONSUMES UP TO

40% OF POWER IN SERVERS

Source: Info-tech Research Group, 2010

SOLUTION TO REDUCE POWER CONSUMPTION OF MEMORY

• HARDWARE LEVEL POWER REDUCTION

• DRAM

• SAMSUNG 30NM RAM

• SPUN DOWN SUPPORTED HDD

• OS LEVEL POWER REDUCTION

• ACPI DRIVER FOR SYSTEM

• ACPI DRIVERS FOR PROCESS

• Systems while adopting 30nm class instead of 50nm

class DRAM will save up to 23% in total energy

consumption, or 170k Watt representing $1 M Euro

Source: Samsung and Microsoft White paper

OBSERVATIONS SO FAR

• SLEEP STATE RESIDENCY IS LOW IN MANY WORKLOADS

• MULTICORE WORKLOADS REDUCE IDLE PERIODS

• CPU-BOUND APPLICATIONS SEND REQUESTS FREQUENTLY ENOUGH

TO KEEP MEMORY DEVICES AWAKE

• MEMORY BANDWIDTH DEMAND IS VERY LOW IN SOME WORKLOADS

• MEMORY POWER IS REDUCED BY FREQUENCY SCALING

• AND VOLTAGE SCALING CAN GIVE FURTHER REDUCTIONS

System Power Goes Down by 9.9%

• CPU Voltage/Freq.

• Down by 15%

System Power Goes Down by 7.6%

• Memory Freq.

• Down by 40%

Power Goes Down 20% in System Level

and 23% in Data Centre Level

• Using 30 nm DRAM instead of 50 nm

• [Source :: Samsung]

LINUX POWER MANAGEMENT

• TWO POPULAR POWER MANAGEMENT STANDARDS

1) APM(ADVANCED POWER MANAGEMENT)• DEVELOPED BY INTEL AND MICROSOFT

• INITIAL RELEASE IN 1992

2) ACPI(ADVANCED CONFIGURATION AND POWER INTERFACE)• DEVELOPED BY INTEL, MICROSOFT AND TOSHIBA AND LATER JOINED BY HP AND PHOENIX

• INITIAL RELEASE IN DEC 1996

• LATEST VERSION IS "REVISION 5.1" - PUBLISHED ON AUGUST 12, 2014

LINUX POWER MANAGEMENT(CONTD..)

APM

• USES LAYERED APPROACH TO MANAGE DEVICES

• APM-AWARE APPLICATIONS (INCLUDING DEVICE DRIVERS)

TALK TO AN OS-SPECIFIC APM DRIVER

• THE DRIVER COMMUNICATES TO THE APM-AWARE BIOS

WHICH CONTROLS THE HARDWARE

APM-aware Application

APM Driver

APM-BIOS

Hardware Devices

OS

Hardware

LINUX POWER MANAGEMENT(CONTD..)

APM

• POWER MANAGEMENT RELATED COMMUNICATION OCCURS IN

BOTH DIRECTIONS; POWER MANAGEMENT EVENTS BASED ON

DEVICE ACTIVITY ARE SENT FROM THE BIOS TO THE APM

DRIVER, AND THE APM DRIVER SENDS INFORMATION AND

REQUESTS TO THE BIOS VIA FUNCTION CALLS TO REQUEST

THE POWER STATE CHANGES .

APM-aware Application

APM Driver

APM-BIOS

Hardware Devices

OS

Hardware

LINUX POWER MANAGEMENT(CONTD..)

Working And Sleeping States

Working State(G0)

Sleeping States(G1)

Quality of G1 Sleeping

States

S1 State S2 State S3 State S4 State

Soft Off(G2)

S5

Power Consumption: S0>S1>S2>S3>S4>S5

Return Time: S1<S2<S3<S4<S5

Options available for System

ACPI

LINUX POWER MANAGEMENT(CONTD..)

Working And Sleeping States For Hard-Disk

and IDE/ATAPI Removable Storage

Devices

D0(Drive controller is functional)

D1(Drive controller is functional, Fast Start

Mode) D2(N/A)

D3(Drive controller is not functional, Context

Lost)

Options available for

Hard Disk in ACPI

ACPI

ACPI IMPLEMENTATION

• ACPI SPECIFIED COMPONENT• SUPPORT TO BUILD COMPONENT

• ACPI TABLES ==> ASL AND AML

• ACPI BIOS ==> ASL AND AML

• ACPI REGISTERS ==> VENDORS DEFINED

Step 1 :

Step 2 :

Loading the ACPI tables in Memory By ACPI BIOS

Step 3 :

Write ACPI Device Driver and register it with kernel and ACPI Core

Software(ACPI-CA) Step 4:

Write Intelligent Filter Driver to notify event status to

Power Manager

SUMMARY OF FUNCTIONAL AREAS COVERED BY ACPI

• SYSTEM POWER MANAGEMENT

• ACPI DEFINES MECHANISMS FOR PUTTING THE COMPUTER AS A WHOLE IN AND OUT OF SYSTEM

SLEEPING STATES.

• DEVICE POWER MANAGEMENT

• ACPI TABLES DESCRIBE DEVICES, THEIR POWER STATES, THE POWER PLANES THE DEVICES ARE

CONNECTED TO, AND CONTROLS FOR PUTTING DEVICES INTO DIFFERENT POWER STATES.

• PROCESSOR POWER MANAGEMENT

• WHILE THE OS IS IDLE BUT NOT SLEEPING, IT WILL USE COMMANDS DESCRIBED BY ACPI TO PUT

PROCESSORS IN LOW-POWER STATES.

• DEVICE AND PROCESSOR PERFORMANCE MANAGEMENT

• DPM TO ACHIEVE DESIRABLE BALANCE BETWEEN PERFORMANCE AND ENERGY BY TRANSITIONING

DEVICES AND PROCESSORS INTO DIFFERENT STATES WHEN THE SYSTEM IS ACTIVE.

ACPI FUNCTIONALITIES (CONT.)• PLUG AND PLAY

• HIERARCHICALLY ARRANGED DEVICE AND CONFIGURATION INFORMATION

• SYSTEM EVENTS

• A GENERAL EVENT MECHANISM FOR SYSTEM EVENTS SUCH AS THERMAL EVENTS, POWER MANAGEMENT EVENTS,

DOCKING, DEVICE INSERTION AND REMOVAL, AND SO ON

• BATTERY MANAGEMENT

• EITHER THROUGH A SMART BATTERY SUBSYSTEM INTERFACE CONTROLLED BY THE OS DIRECTLY THROUGH THE

EMBEDDED CONTROLLER INTERFACE, OR A CONTROL METHOD BATTERY INTERFACE.

• THERMAL MANAGEMENT

• PROVIDES A MODEL TO ALLOW OEMS TO DEFINE THERMAL ZONES, THERMAL INDICATORS, AND METHODS FOR

COOLING THERMAL ZONES.

• A STANDARD HW AND SW INTERFACE BETWEEN OS AND EMBEDDED CONTROLLER

• ALLOWS ANY OS TO PROVIDE A STANDARD BUS ENUMERATOR THAT CAN DIRECTLY COMMUNICATE WITH AN

EMBEDDED CONTROLLER IN THE SYSTEM, THUS ALLOWING OTHER DRIVERS WITHIN THE SYSTEM TO

COMMUNICATE WITH AND USE THE RESOURCES OF SYSTEM EMBEDDED CONTROLLERS.

TOOLS AVAILABLE FOR POWER MONITORING

• POWERTOP

• OPEN SOURCE

• STATUS- WORKING ON LAPTOP ONLY

• DEVELOPMENT STATUS:- UNDER DEVELOPMENT

• POWER_API

• SANDIA NATIONAL LAB

• STATUS - NOT WORKING PROPERLY(ERROR: SOME FILE NOT AVAILABLE)

• DEVELOPMENT STATUS:- UNDER CONSTRUCTION

• GSMARTCONTROL

• AVAILABLE FOR LINUX DISTRIBUTIONS

• HARD DISK SMART CAPABILITIES MONITORING

• ONLY GIVING SMART INFORMATION

• STATUS: STABLE VERSION AVAILABLE

Reason Battery's Description

Table(BDT)

Smart Battery Driver

PROJECT

• PROBLEM STATEMENT:- IMPLEMENTING THE CORE FUNCTIONALITY OF OLD

APM COMMAND USING ACPI

• PROJECT GOAL:- DISCOVER THE ACPI DEVICE AND MEASURE THE STATUS AND

INFORMATION

1) READ BATTERY STATUS

2) AC ADAPTER STATUS

3) THERMAL INFORMATION

PROJECT DETAILS

GOALRead

Battery Status

AC Adapter Status

Thermal Information

3

Months

3

Months2

Months

REQUIRED SKILLS SET

• UNDERSTANDING OF UNIX OPERATING SYSTEM

• KNOWLEDGE OF LINUX KERNEL PROGRAMMING

• HANDS-ON EXPERIENCE ON DEVICE DRIVER PROGRAMMING

• KNOWLEDGE ON ACPI SPECIFICATION

• ACPI SOURCE LANGUAGE(ASL)

• ACPI MACHINE LANGUAGE(AML)

• UNDERSTANDING OF FREQUENCY AND VOLTAGE CONCEPT

REFERENCES

• HTTP://WWW.ACPI.INFO/

• HTTPS://WWW.ACPICA.ORG/

• HTTPS://01.ORG/LINUX-ACPI

• HTTP://CITESEERX.IST.PSU.EDU/VIEWDOC/DOWNLOAD?DOI=10.1.1.16.7210&REP

=REP1&TYPE=PDF

• HTTP://WWW.LINUXFOUNDATION.ORG/