Transparent Contribution of Memory

10
University of Massachusetts, Amherst Transparent Contribution of Memory James Cipar, Mark Corner, Emery Berger

description

Transparent Contribution of Memory. James Cipar, Mark Corner, Emery Berger. University of Massachusetts, Amherst. Motivation. Applications depend on contributed resources CPU cycles, disk space, memory, network bandwidth etc. Condor, Folding/SETI@home - PowerPoint PPT Presentation

Transcript of Transparent Contribution of Memory

Page 1: Transparent Contribution of Memory

University of Massachusetts, Amherst

Transparent Contribution of Memory

James Cipar, Mark Corner, Emery Berger

Page 2: Transparent Contribution of Memory

Motivation

Applications depend on contributed resources

CPU cycles, disk space, memory, network bandwidth etc.

Condor, Folding/SETI@home

Compete with local applications for memory

Up to 50% performance impact on local applications

Page 3: Transparent Contribution of Memory

Transparent Memory Manager

Operating system mechanism

Contributory applications can be run as-is

No special programming techniques or recompilation

Contribute memory without affecting local performance

Detects local application’s working set size

Limits contributory applications accordingly

Dynamically adjusts to local working set

Can protect the performance of any local working set

Gives as much memory as possible to contributory applications

Page 4: Transparent Contribution of Memory

Overview: What it Does

Trace memory accesses of local applications

Simulate LRU queue of local memory

Include out-of-core memory in simulation

Determine local working set size

Limit contributory applications to the leftovers

Page 5: Transparent Contribution of Memory

Measuring Working Set Size

Trace memory accesses

Simulate LRU queue

Cumulative histogram of LRU access pattern

This shows predicted hit rate for any allocation

Allow a 5% increase in miss rate

Page 6: Transparent Contribution of Memory

Experimental Setup

Compare TMM to static allocations

How much memory is contributed

What is the performance impact

Three typical working sets of different sizes

Web browsing

Viewing a large image

Plotting a large dataset

User takes a break, and resumes after a few minutes

Contributory application runs during break

Record page faults after user resumes work

Page 7: Transparent Contribution of Memory

Amount of Memory Contributed

0

50

100

150

200

250

300

350

Small Medium Large

Working Set

Con

trib

uted

Mem

ory

Lim

it (M

B)

TMM

Static-25%

Static-50%

Static-75%

Page 8: Transparent Contribution of Memory

Local Application’s Page Faults

0

50

100

150

200

250

Small Medium Large

Working Set

Fau

lts/

seco

nd

Linux w/o Contribution

Linux w/ Contribution

TMM

25% Local

50% Local

75% Local

Page 9: Transparent Contribution of Memory

Related Work

Page 10: Transparent Contribution of Memory

Conclusions

Dynamically determines appropriate memory limits

Prevents local applications from being swapped out

Allows memory-intensive contributory applications