Presentation is loading. Please wait.

Presentation is loading. Please wait.

Performance directed energy management using BOS technique

Similar presentations


Presentation on theme: "Performance directed energy management using BOS technique"— Presentation transcript:

1 Performance directed energy management using BOS technique
Pratap Ramamurthy Ramanathan Palaniappan University of Wisconsin-Madison

2 Outline Introduction BOS Mechanisms Policies Results Conclusion

3 Introduction

4 Introduction Energy consumption in mobile devices and laptops
Memory could consume 50% more power than processors Is there hardware support ? RAMBUS devices provide capability

5 Problem Statement How to save power in memory without hurting performance ? Solution: BOS Estimating the optimal amount of memory based on paging activity. Dynamic resizing of memory !

6 What is BOS ? BOS – Ballooning in-OS technique
Tracks current memory requirements Tracks chip access pattern Powers down memory chips Minimizes power consumption

7 BOS Mechanisms Ballooning in-OS technique Chip selection Power Down
Page Migration Page Reservation Invisible Buddy Chip recovery (Power up) Chip selection Intercept memory accesses

8 BOS policies Power decision Epoch Chip selection
Disk activity, # chips powered on Epoch Time interval between two decisions Chip selection Access pattern

9 Inferences Operating point balances disk accesses and memory power consumption Cost of thrashing offsets the power saved from a single chip Most media applications do not need the entire RAM Least allocated chips are not the least accessed ones

10 BOS Architecture Migrate Chip Power Table (CPT) Pin the page
Wake up Kpower_d Wait an Epoch Get system parameters Decide to Power off/on Do Nothing ON Recover PowerPages Clear flags & unPin OFF Select Chip Loop all pages in chip Update Chip Power Table (CPT) If occupied Migrate If page is free Pin the page If Locked or reserved Wait & Pounce

11 BOS Mechanisms

12 Mechanisms In-OS Ballooning Techniques Chip Selection
Page Migration Page Reservation Invisible Buddy Chip Recovery Chip Selection Intercept Memory Accesses No Actual Power Down

13 So replace page using LRU…
Power down Selected Chip Under Memory pressure ??? DISK So replace page using LRU… And Migrate!

14 Page Migration When to migrate ? Kinds of pages File pages
Anonymous pages Swap cache pages Free Pages

15 Page Migration Mechanism
Data Transfer Reverse map (thanks to Linux Kernel 2.6) Remap Dependant data structures Page Table Active LRU and Inactive LRU Page cache Swap cache Buffers Flags

16 Page Migration Major Data Structures Updated while Migrating
Processes Buffers LRU lists 1. Memcopy 2. Remapping using rmap 3. Update buffers 4. Remove from LRU lists

17 Page Reservation Ways to Pin pages Remove from LRU Lists Reserve Page
Lock Page Page count

18 Free Pages Buddy allocator List of free pages Buddy Order (0-11)
Locality How to deal with already free pages?

19 Invisibility in Action (Buddy allocator)
2 1 Make the ‘power’ pages invisible Request for a free page of order 0 Request for a page of order 1 (Invisibility in action)

20 Invisible Buddy Power Bit Invisibility – divert page allocation
Other methods? Why not always remove the page completely from the buddy allocator? Because the free pages are not necessarily in the buddy

21 Recovery Page in the buddy Pages that were migrated Reverse Recovery
Clear power bit That’s it ! Pages that were migrated Clear Power bit Add to the buddy Reverse Recovery Recover the last pinned page and move backwards

22 Partial Recovery Why would you abort a chip? Easy solution
Locked pages Reserved pages IO activity Easy solution Abort chip Better solution Wait and Pounce

23 Policies

24 Policy Epoch Power decision Chip select
Time interval between two decisions Power decision Disk activity, # chips powered on Chip select Access pattern

25 Chip Selection Mechanism
Chip pattern table Access history over 32 epochs Form a number with the bits and Select the minimum ! How to monitor chip access ? Referenced bit in h/w Clear bits Examine every epoch 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 The least accessed chip is # 6 The least accessed chip is # 7

26 Results

27 Results

28 Chip access pattern

29 Results # Off Available Memory (MB) 512 10 352 15 272 20 192

30 Results

31 BOS architecture Migrate Chip Power Table (CPT) Pin the page
Wake up Kpower_d Wait an Epoch Get system parameters Decide to Power off/on Do Nothing ON Recover PowerPages Clear PowerBit & unPin OFF Select Chip Loop all pages in chip Update Chip Power Table (CPT) If occupied Migrate If page is free Pin the page If Locked or reserved Wait & Pounce

32 Power down/up decision
If ( # disk_access < α ) power_down() elseif ( # disk_access > β ) power_up() elseif (α < # disk_access < β ) take_no_action() α, β – thresholds, α < β

33 Results

34 Results Other workloads Application # chips ON Memory used
Xmms Mp3 player 7 112 MB Totem media player (X-server) 25 400 MB Mozilla,X-server, Open-office (together) 12 192 MB

35 Conclusion

36 Conclusion BOS technique is feasible
BOS helps us to vigorously control memory size Chip allocation and access pattern have no correlation Several applications do not require the full memory Threshold based policy gives reasonable performance An incorrect chip select could increase migration overhead

37 Summary BOS philosophy Implementation of BOS Mechanism Policy
Page migration Invisible buddy Chip recovery Chip access pattern Policy Study of sample workloads Threshold based policy

38 Acknowledgements lxr.linux.no
We would like to thank the following people for their valuable time and for the immensely helpful discussions in the course of this project Remzi H. Arpaci-Dusseau Muthian Sivathanu Vijayan Prabhakaran Lakshmi Bairavasundaram Amit Jhawar for resources

39 ?

40 References Huang et.al. “Design and Implementation of Power-Aware Virtual Memory”, USENIX 2003. Lebeck et.al. “ Power Aware Page Allocation”, ASPLOS 2000. Li et.al. “Performance directed energy management for main memory and disks”, ASPLOS 2004. Delaluz et.al. “Scheduler-Based DRAM Energy Management”, DAC 2002.

41 Related Work Power Aware Virtual Memory [1] Per process chip select
Localized per process page allocation Performance not considered Execution Time based energy management [ref] Hardware support for energy management Various power modes in RAMBUS Various power modes in disks

42 Tough nuts to crack Absolutely no Documentation for Linux 2.6 memcpy()
Alternate recovery mechanism Multiple chip select policy Alternate Allocator mechanism Removing from LRU


Download ppt "Performance directed energy management using BOS technique"

Similar presentations


Ads by Google