Top Banner
UNIVERSITY OF NIVERSITY OF MASSACHUSETTS ASSACHUSETTS , A , AMHERST MHERST Department of Computer Science Department of Computer Science 1 Automatic Heap Sizing: Taking Real Memory into Account Ting Yang, Emery Berger, Matthew Hertz, Scott Kaplan , Eliot M oss Department of Computer Science Department of Compu ter Science University of Massachusetts Amherst College Amherst MA 01003 Amherst MA 0100 2 {tingy,emery,hertz,moss}@cs.umass.edu [email protected]
22

Automatic Heap Sizing: Taking Real Memory into Account

Jan 31, 2016

Download

Documents

Baylee

Automatic Heap Sizing: Taking Real Memory into Account. Ting Yang , Emery Berger, Matthew Hertz, Scott Kaplan ¶ , Eliot Moss Department of Computer Science Department of Computer Science ¶ University of Massachusetts Amherst College - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science

1

Automatic Heap Sizing:Taking Real Memory into Account

Ting Yang, Emery Berger, Matthew Hertz, Scott Kaplan¶, Eliot Moss

Department of Computer Science Department of Computer Science¶

University of Massachusetts Amherst College Amherst MA 01003 Amherst MA 01002

{tingy,emery,hertz,moss}@cs.umass.edu [email protected]

Page 2: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 2

Appel _213_javac60MB real memory

Too small:GC a lot

Too large:page a lot

Optimal

Problem & Motivation

Heap size vs Running time

Page 3: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 3

Problem & Motivation Multiprogramming makes it harder:

Amount of available real memory changes Impossible to select heap size a priori Strategy: adjust adaptively during executio

n

Page 4: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 4

Outline

Problem & MotivationProblem & Motivation Paging behavior of Garbage CollectionPaging behavior of Garbage Collection VMM: collecting the information we VMM: collecting the information we

needneed Collector: adjusting heap size Collector: adjusting heap size

adaptivelyadaptively Experimental resultsExperimental results Conclusion & Future workConclusion & Future work

Page 5: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 5

GC Paging Behavior

For strategy to work, need to relate: GC algorithm, heap size, and footprint

Analysis methodology: Obtain reference trace: simulate Jikes RVM under DS

S Process with LRU stack # faults at all memory sizes

GCs and programs traced: Mark-Sweep (MS), Semi-Space (SS), and Appel GCs SPECjvm98, ipsixql, and pseudojbb benchmarks

Page 6: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 6

Heap Size = 240Mb

Memory = 145Mb

# of Faults ≈ 1000

50 seconds

extreme paging

substantial paging:

“looping” behavior

fits into memory

Fault curve: Relationship of heap size, real memory & page faults

Heap size=

0.5 second

Page 7: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 7

Relationship between heap size and footprint

99870

76314802 .

..

R

xy

Page fault threshold =Our definition of footprint:

The amount of memory needed so that the time spent on page faults is lower than a ce

rtain percentage of total execution time

Page 8: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 8

HeapUtilCurrentFPyAvailMemor

HeapUtilFootprint

HeapSize

A Linear Model:Heap size vs. Footprint

Heap footprint model:

Heaputil : SS 0.5; MS: 1 base : Jikes RVM plus live data size

How the GC can use this model:

baseHeapSizeHeapUtilFootprint

Page 9: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 9

Strategy Overview

VMM ( in OS)VMM ( in OS) Knows memory allocation / available memory Needs to track/calculate application footprint

Garbage Collector (in User Space)Garbage Collector (in User Space) Has ability to change heap size Needs info: available memory, footprint

Request:mem alloc

footprint

Send: mem alloc

footprint

Page 10: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 10

Outline

Problem & MotivationProblem & Motivation Paging behavior of Garbage CollectionPaging behavior of Garbage Collection VMM: collecting the information we VMM: collecting the information we

needneed Collector: adjusting heap size Collector: adjusting heap size

adaptivelyadaptively Experimental resultsExperimental results Conclusion & Future workConclusion & Future work

Page 11: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 11

d e f g h i j k l m n c k l m ncb c d e f g h i j k l m n c k l m n

aba abc defghijklmn abc defghijklm n abdefghijckl n m abc defghijk mn l abc defghijlmn k abdefghijklmn c

4

n

321 1

Approach to Measuring Footprint

Memory reference sequence

LRU Queue

Pages in Least Recently Used order

Hit Histogram

Fault Curve

0000000000 0000

m n

1 14

l m nk l m nc k l m na b c d e f g h i j k l m n c k l m n

5

1

1 14114

i

i ihitfault 1

12 pages5 pages

Associated with each LRU position

Page 12: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 12

VMM design: SegQ [SKW’99,KMC’02]

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

LRU Queue

Hit Histogram

Hot set Cold set Evicted set

0 0 0 0 0 0 0 0 0 0 0

Hot / Cold Boundary

0 0 0 0 0 0 0 0 0 0 0

CLOCK algorithm Strict LRU

• Decay histogram periodically

• Adaptive control of hot set size

FootprintMajor fault (on disk)Minor fault (in memory)

Page 13: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 13

VMM design: SegQ [SKW’99,KMC’02]

Hot set Cold set Evicted set

Hot / Cold Boundary

CLOCK algorithm Strict LRU

Footprint

What is the footprint w.r.t 5%?

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 14: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 14

Outline

Problem & MotivationProblem & Motivation Paging behavior of Garbage CollectionPaging behavior of Garbage Collection VMM: collecting the information we VMM: collecting the information we

needneed Collector: adjusting heap size Collector: adjusting heap size

adaptivelyadaptively Experimental resultsExperimental results Conclusion & Future workConclusion & Future work

Page 15: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 15

Collector Design:

Communicate with VMM after GC First GC:

Appel, SS: HeapUtil = 0.5 Following GCs:

Calculate HeapUtil from history

HeapUtilCurrentFPyAvailMemor

HeapSize

Page 16: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 16

Outline

Problem & MotivationProblem & Motivation Paging behavior of Garbage CollectionPaging behavior of Garbage Collection VMM: collecting the information we VMM: collecting the information we

needneed Collector: adjusting heap size adaptivelyCollector: adjusting heap size adaptively Experimental resultsExperimental results Conclusion & Future workConclusion & Future work

Page 17: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 17

Experiments

Experimental setting: Jikes RVM 2.0.3 Dynamic SimpleScalar: extended with new VMM model Major fault = 5 million instructions = 5 ms @ 1 Gips Minor fault = 2000 instructions = 2 µs Page fault cost threshold = 5% - 10% Histogram collecting cost threshold = 1%

Adapting to fixed memory pressure Adapting to dynamic memory pressure

Add/Remove 15MB real memory after 2 billion insts

Page 18: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 18

Memory under-utilized

Optimal heap

Paging a lot

Larger heap Fewer GCs Less P

aging

60MB Real MemoryAppel _213_javac

Page 19: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 19

60MB Real MemoryAppel _213_javac

Increase memory: 15MBat 2 billion instructions

Page 20: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 20

60MB Real MemoryAppel _213_javac

Decrease memory: 15MBat 2 billion instructions

Page 21: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 21

Conclusion: Automatic Heap Sizing

New collector usually picks heap size that: Maximizes memory utilization (reducing GCs) While avoiding paging Linear model works well in practice Improves performance by up to 8x under pressure Cost of collecting information is low: around 1%

New collector adapts quickly to steady and to changing real memory allocations Within 1 or 2 major GCs

Page 22: Automatic Heap Sizing: Taking Real Memory into Account

UUNIVERSITY OF NIVERSITY OF MMASSACHUSETTSASSACHUSETTS, A, AMHERST • MHERST • Department of Computer Science Department of Computer Science 22

Ongoing Work Implement in real kernel Extend to more collectors Adjust during allocation, not just after G

C

Detailed graphs & tech report: http://www-ali.cs.umass.edu/~tingy/CRAMM