power aware operating system
TRANSCRIPT
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/