• No results found

Linux VM Infrastructure for memory power management

N/A
N/A
Protected

Academic year: 2021

Share "Linux VM Infrastructure for memory power management"

Copied!
18
0
0

Loading.... (view fulltext now)

Full text

(1)

Linux VM Infrastructure for

memory power

management

Ankita Garg

Vaidyanathan Srinivasan

(2)

Agenda - Saving Memory Power

• Motivation - Why Save Memory Power

• Benefits

• How can it be achieved

• Role of Linux Virtual Memory Manager

• Implementation & challenges

(3)

Motivation - Why save memory power

• Density and capacity of memory has increased:

o

Leading to increased memory power consumption

o

Modern workload stack and virtualization demands more memory

• Advances in OS cooperative

runtime CPU power management

has reduced cpu power

consumption

•OS cooperative memory power

savings can help reduce system

level power consumption

CPU

CPU

MEM

MEM

MEM

MEM

M e m P o w e r C P U P o w e r

Higher idle power in pre-charge

Lower idle power due to low power states

CPU Mem IO

Memory power in the system is increasing

(4)

Runtime low power modes in memory

• DDR3 memory allows different runtime low power states

o

Memory contents are preserved

o

Possible performance reduction

Read/Write

Pre-charge

Self-refresh

Power-down

High power Short duration Low power Long duration

Power save modes (content preserved)

DDR3 Power States

Idle memory is mostly in pre-charge state.

Moving to other low power states help save power

(5)

Runtime partial power off

• Partial Array Self Refresh is a method

to self refresh parts of system

memory -

o

When system is active, all

regions of memory are refreshed

o

When system is inactive

(suspend state), memory is

placed in self refresh to save

content

o

Unimportant and free memory

need not be self refreshed while

in suspend mode, leading to

longer battery life

• Unused parts of

memory hierarchy can

be turned off (contents not

preserved) even in an active

system

Memory Controller 0 CPU Memory Controller 1 Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Power off unused memory Self-refresh area S e lf -r e fr e sh p o w e r

Self-refresh enabled bank Self-refresh disabled bank

Content not preserved but power saved on free memory

Rank

Bank

(6)

What this means to Linux OS

• Type-A (performance loss)

o

Less memory access consumes less

power

Memory banks that are not

accessed for some time (10s micro

seconds) can be transitioned to

low power state

Performance impact on first access

to get the memory out to active

state

o

Memory power savings happen at

certain granularity

Consolidating access around this

granularity saves power

• Type-B (content loss)

o

Parts of memory can be turned off

losing contents

Chunks of free memory or

unimportant data is aligned with

the power off granularity, then save

power during runtime as well as

suspend

Granularity varies for each of the

above feature

Memory region

Low power state Content preserved

Low power state Content lost Data Pages

Type-B Type-A

(7)

The benefits - Longer battery runtime

2-6% Power savings demonstrated

in Samsung EXYNOS board with

2GB RAM

Further cooperation with DEVFREQ

can improve savings

o

Memory bandwidth control

Memory Controller 0 CPU Memory Controller 1 Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank

Type-A: Memory in self refresh

Memory Controller 0 CPU Memory Controller 1 Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank Memory Bank

Type-B: Power off unused memory

Actively used data pages un-referenced data pages

Actively used data pages No data pages

1GB 1GB

1GB 1GB

Saves 2.7%

(8)

Opportunity for Memory Power Savings

• Memory is over-provisioned

• There are blocks that are not referenced

Potential

Savings

(9)

The Goal

• Consolidate memory reference for Type-A savings

• Consolidate allocations for Type-B savings

Time Memory accesses Region 0 Region 1 Time Memory accesses Time Memory accesses Organize/shape reference Power Down Standby Self-refresh

(10)

Role of Virtual Memory Manager

• Organize memory into distinct memory

regions

• Align memory operations across these

regions

• Allocate pages so that we fill one region at

a time

• Maintain per-region allocated/free memory

statistics

• Free pages with an intention to completely

free a region

• Track page-type (dirty, read-only, etc), to

estimate the cost of reclaim vs migrate vs

spilling over to next region

• Design OS callbacks to track first page

allocation and last page deallocation

• Mechanism to group regions

(11)

• Memory regions

o

Data structure between nodes and zones, that aligns with

memory hardware power management granularity

(12)

Pros & Cons of Memory Regions

• Advantages

o

A region aligns with hardware address boundary

o

Sequential allocation within region

o

Targeted reclaim within region

o

Statistics gathered on a per-region granularity

o

Grouping of regions

• Disadvantages

o

Zones are fragmented

o

Dereference overhead

(13)

Memory Region Experimental Data

(14)

Memory Region Overhead

• Estimating overhead of memory region -- zone

fragmentation

• Lmbench: File & VM latencies vary from 0-3% variation

• Kernbench on 2 GB RAM with two memory regions

2 GB RAM Kernbench -j 4 2 GB RAM Kernbench -j 4 2 GB RAM Kernbench -j 4 2 GB RAM Regions 0 (1GB) Regions 1 (1GB) 2% Performance variation Samsung Exynos

(15)

Alternate Implementation Schemes

• Track statistics using buddy allocator

o

No address boundary information, so cumbersome to traverse and find

pages belonging to the same region

o

Can control access to region

o

Beneficial for PASR

• Memory compaction technique or Lumpy reclaim

o

Free-up region sized chunks of memory

o

Move allocated/free pages around

• Ballooning driver -- create artifical memory pressure

o

Free unused pages to aid PASR

• Contiguous Memory Allocator (CMA)

• Fake NUMA nodes

(16)

Implementation Challenges

• Memory interleaving vs power savings

• Accurately capturing rate of memory references

• Low overhead tracking of region usage statistics is difficult

• Kernel memory allocations are non-movable

• Evaluating the threshold for reclaim vs migration

• Determining the amount of memory required to sustain

certain performance level (unlike CPU)

• Virtualization – Guest VM does not have complete view of

memory

(17)

Reference

• Ankita's memory regions (LWN)

• Summary of requirements

• Kernel Summit 2011 proposal and discussions

o

Memory Compaction (Mel Gorman)

• Devfreq, DVFS for devices

• General PASR

• Memory Reference Pattern Instrumentation

• Memory Power Management

http://www.energystar.gov/ia/products/downloads/GPapadopoulos_Keynote.pdf

(18)

Legal statements

● Copyright International Business Machines Corporation 2011.

● Permission to redistribute in accordance with Linux Plumbers Conference submission guidelines

is granted; all other rights reserved.

● This work represents the view of the authors and does not necessarily represent the view of IBM. ● IBM, IBM logo, ibm.com are trademarks of International Business Machines Corporation in the

United States, other countries, or both.

● Intel is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United

States and other countries.

● Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both. ● Other company, product, and service names may be trademarks or service marks of others.

● References in this publication to IBM products or services do not imply that IBM intends to make

them available in all countries in which IBM operates.

● INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS"

WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.

References

Related documents

The goals of the QI project are to assist victims of abuse in dealing with social interaction and problem- solving to improve the utilization a support group to improve

For data, we take scan across strong source (CASA/CYGA/CRAB/HYDRA) with a known fixed rate in EL/AZ axis and the data is recorded using spec- trum analyzer at the antenna base..

CamTools: Using Sakai to support teaching and learning in a. research-intensive

• Ak sa počas nepretržitej tlače minie papier, alebo ak začnete tlačiť bez vloženého papiera v zásobníku, bude na tlačiarni svietiť indikátor ERROR. Bez vypnutia tlačiarne

If the service number uses ACD queues with their night DNs NCFW forwarding to a MICA ACD queue, then MICA requires a dedicated ACD queue for each service and is Night Call

Implementation of enterprise resource planning (ERP) information systems has been the common choice for organizations to integrate enterprise-wide processes. ERPs have been