ACM Home Page
Please provide us with feedback. Feedback
The mapping collector: virtual memory support for generational, parallel, and concurrent compaction
Full text FlvFlv (25:00),  Mp3Mp3 (10.57 MB),  PdfPdf (357 KB)
Source
Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems table of contents
Seattle, WA, USA
SESSION: Programming table of contents
Pages 91-102  
Year of Publication: 2008
ISBN:978-1-59593-958-6
Also published in ...
Authors
Michal Wegiel  University of California: Santa Barbara, Santa Barbara, CA
Chandra Krintz  University of California: Santa Barbara, Santa Barbara, CA
Sponsors
ACM: Association for Computing Machinery
SIGARCH: ACM Special Interest Group on Computer Architecture
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): ,   Downloads (12 Months): ,   Citation Count: 4
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1346281.1346294
What is a DOI?

APPENDICES and SUPPLEMENTS
Supplemental material for The mapping collector: virtual memory support for generational, parallel, and concurrent compaction


ABSTRACT

Parallel and concurrent garbage collectors are increasingly employed by managed runtime environments (MREs) to maintain scalability, as multi-core architectures and multi-threaded applications become pervasive. Moreover, state-of-the-art MREs commonly implement compaction to eliminate heap fragmentation and enable fast linear object allocation.

Our empirical analysis of object demographics reveals that unreachable objects in the heap tend to form clusters large enough to be effectively managed at the granularity of virtual memory pages. Even though processes can manipulate the mapping of the virtual address space through the standard operating system (OS) interface on most platforms, extant parallel/concurrent compactors do not do so to exploit this clustering behavior and instead achieve compaction by performing, relatively expensive, object moving and pointer adjustment.

We introduce the Mapping Collector (MC), which leverages virtual memory operations to reclaim and consolidate free space without moving objects and updating pointers. MC is a nearly-single-phase compactor that is simpler and more efficient than previously reported compactors that comprise two to four phases. Through effective MRE-OS coordination, MC maintains the simplicity of a non-moving collector while providing efficient parallel and concurrent compaction.

We implement both stop-the-world and concurrent MC in a generational garbage collection framework within the open-source HotSpot Java Virtual Machine. Our experimental evaluation using a multiprocessor indicates that MC significantly increases throughput and scalability as well as reduces pause times, relative to state-of-the-art, parallel and concurrent compactors.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
4
5
6
7
 
8
9
10
11
 
12
The DaCapo Benchmark Suite. http://dacapobench.org.
13
 
14
 
15
16
17
 
18
HotSpot Virtual Machine Garbage Collection. http://java.sun.com/javase/technologies/hotspot/gc/index.jsp.
 
19
20
 
21
D. Lea. A memory allocator, 1997. http://gee.cs.oswego.edu/dl/html/malloc.html.
 
22
Open Source J2SE Implementation. http://openjdk.java.net.
23
24
25
26
27
28
 
29
 
30
The SPEC Benchmarks. http://www.spec.org.
31
 
32
The VolanoMark Benchmark. http://www.volano.com/benchmarks.html.
 
33
34
 
35
36


Collaborative Colleagues:
Michal Wegiel: colleagues
Chandra Krintz: colleagues