Transparent Contribution of Memory

1,581 views
1,497 views

Published on

Introduces transparent memory management (TMM), which lets you run background jobs that use your disk and virtual memory without impacting your use of the machine, even after you leave your machine unattended for an extended period of time.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,581
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transparent Contribution of Memory

  1. 1. Transparent Contribution of Memory James Cipar, Mark Corner, Emery Berger University of Massachusetts, Amherst
  2. 2. Motivation <ul><li>Applications depend on contributed resources </li></ul><ul><ul><li>CPU cycles, disk space, memory, network bandwidth etc. </li></ul></ul><ul><ul><li>Condor, Folding/SETI@home </li></ul></ul><ul><li>Compete with local applications for memory </li></ul><ul><ul><li>Up to 50% performance impact on local applications </li></ul></ul>
  3. 3. Transparent Memory Manager <ul><li>Operating system mechanism </li></ul><ul><ul><li>Contributory applications can be run as-is </li></ul></ul><ul><ul><li>No special programming techniques or recompilation </li></ul></ul><ul><li>Contribute memory without affecting local performance </li></ul><ul><ul><li>Detects local application’s working set size </li></ul></ul><ul><ul><li>Limits contributory applications accordingly </li></ul></ul><ul><li>Dynamically adjusts to local working set </li></ul><ul><ul><li>Can protect the performance of any local working set </li></ul></ul><ul><ul><li>Gives as much memory as possible to contributory applications </li></ul></ul>
  4. 4. Overview: What it Does <ul><li>Trace memory accesses of local applications </li></ul><ul><li>Simulate LRU queue of local memory </li></ul><ul><ul><li>Include out-of-core memory in simulation </li></ul></ul><ul><li>Determine local working set size </li></ul><ul><li>Limit contributory applications to the leftovers </li></ul>
  5. 5. Measuring Working Set Size <ul><li>Trace memory accesses </li></ul><ul><li>Simulate LRU queue </li></ul><ul><li>Cumulative histogram of LRU access pattern </li></ul><ul><ul><li>This shows predicted hit rate for any allocation </li></ul></ul><ul><ul><li>Allow a 5% increase in miss rate </li></ul></ul>
  6. 6. Experimental Setup <ul><li>Compare TMM to static allocations </li></ul><ul><ul><li>How much memory is contributed </li></ul></ul><ul><ul><li>What is the performance impact </li></ul></ul><ul><li>Three typical working sets of different sizes </li></ul><ul><ul><li>Web browsing </li></ul></ul><ul><ul><li>Viewing a large image </li></ul></ul><ul><ul><li>Plotting a large dataset </li></ul></ul><ul><li>User takes a break, and resumes after a few minutes </li></ul><ul><ul><li>Contributory application runs during break </li></ul></ul><ul><li>Record page faults after user resumes work </li></ul>
  7. 7. Amount of Memory Contributed
  8. 8. Local Application’s Page Faults
  9. 9. Related Work
  10. 10. Conclusions <ul><li>Dynamically determines appropriate memory limits </li></ul><ul><li>Prevents local applications from being swapped out </li></ul><ul><li>Allows memory-intensive contributory applications </li></ul>

×