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
GOAL
Read
Battery
Status
AC Adapter
Status
Thermal
Information
3
Months
3
Months
2
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/
Power aware operating system

Power aware operating system

  • 1.
    POWER AWARE OPERATINGSYSTEM Mentor Anil Kumar Gupta Rajan Kumar Yadav
  • 2.
    CONTENTS • DESIGNING POWERAWARE OS • POWER CONSUMPTION • OUR SOLUTION TO REDUCE POWER CONSUMPTION • LINUX POWER MANAGEMENT • ACPI IMPLEMENTATION • TOOLS AVAILABLE FOR POWER MONITORING • PROJECT
  • 3.
    DESIGNING POWER AWAREOS SYSTEM MODEL Hardware Devices Filter Driver Device Driver Operating System Power Manage r Application
  • 4.
    DESIGNING POWER AWAREOS(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
  • 5.
    TOWARDS POWER SAVINGMECHANISM Discover Measure Analyze and Optimize Save
  • 6.
    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
  • 7.
    SOLUTION TO REDUCEPOWER 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
  • 8.
    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]
  • 9.
    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
  • 10.
    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
  • 11.
    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
  • 12.
    LINUX POWER MANAGEMENT(CONTD..) WorkingAnd 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
  • 13.
    LINUX POWER MANAGEMENT(CONTD..) WorkingAnd 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
  • 14.
    ACPI IMPLEMENTATION • ACPISPECIFIED 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
  • 15.
    SUMMARY OF FUNCTIONALAREAS 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.
  • 16.
    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.
  • 17.
    TOOLS AVAILABLE FORPOWER 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
  • 18.
    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
  • 19.
  • 20.
    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
  • 21.
    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/