Cultural advice

The Australian National University acknowledges, celebrates and pays our respects to the Ngunnawal and Ngambri people of the Canberra region and to all First Nations Australians on whose traditional lands we meet and work, and whose cultures are among the oldest continuing cultures in human history.

Aboriginal and Torres Strait Islander peoples are advised that ANU Library collections may include images, names, voices, and other representations of deceased persons.

Material in the collection may contain terms, language or views that reflect the period in which the item was created and may be considered inappropriate today.

Free-Me: A Static Analysis for Automatic Individual Object Reclamation

dc.contributor.authorGuyer, Samuel Z
dc.contributor.authorMcKinley, Kathryn
dc.contributor.authorFrampton, Daniel
dc.coverage.spatialOttawa Canada
dc.date.accessioned2015-12-08T22:39:05Z
dc.date.createdJune 10-16 2006
dc.date.issued2006
dc.date.updated2015-12-08T10:13:25Z
dc.description.abstractGarbage collection has proven benefits, including fewer memory-related errors and reduced programmer effort. Garbage collection, however, trades space for time. It reclaims memory only when it is invoked: invoking it more frequently reclaims memory quickly, but incurs a significant cost; invoking it less frequently fills memory with dead objects. In contrast, explicit memory management provides prompt low cost reclamation, but at the expense of programmer effort. This work comes closer to the best of both worlds by adding novel compiler and runtime support for compiler inserted frees to a garbage-collected system. The compiler's free-me analysis identifies when objects become unreachable and inserts calls to free. It combines a lightweight pointer analysis with liveness information that detects when short-lived objects die. Our approach differs from stack and region allocation in two crucial ways. First, it frees objects incrementally exactly when they become unreachable, instead of based on program scope. Second, our system does not require allocation-site lifetime homogeneity, and thus frees objects on some paths and not on others. It also handles common patterns: it can free objects in loops and objects created by factory methods. We evaluate free() variations for free-list and bump-pointer allocators. Explicit freeing improves performance by promptly reclaiming objects and reducing collection load. Compared to mark-sweep alone, free-me cuts total time by 22% on average, collector time by 50% to 70%, and allows programs to run in 17% less memory. This combination retains the software engineering benefits of garbage collection while increasing space efficiency and improving performance, and thus is especially appealing for real-time and space constrained systems.
dc.identifier.isbn0362-1340
dc.identifier.urihttp://hdl.handle.net/1885/36091
dc.publisherAssociation for Computing Machinery Inc (ACM)
dc.relation.ispartofseriesACM SIGPLAN conference on Programming language design and implementation (PLDI 2006)
dc.sourceProceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
dc.subjectKeywords: Adaptive; Compiler Assisted; Generational; Liveness; Locality; Mark Sweep; Pointer Analysis; Copying; Information analysis; Pattern recognition; Performance; Program compilers; Software engineering; Static random access storage; Storage allocation (comput Adaptive; Compiler-Assisted; Copying; Generational; Liveness; Locality; Mark-Sweep; Pointer Analysis
dc.titleFree-Me: A Static Analysis for Automatic Individual Object Reclamation
dc.typeConference paper
local.bibliographicCitation.lastpage375
local.bibliographicCitation.startpage364
local.contributor.affiliationGuyer, Samuel Z, Tufts University
local.contributor.affiliationMcKinley, Kathryn, University of Texas
local.contributor.affiliationFrampton, Daniel, College of Engineering and Computer Science, ANU
local.contributor.authoruidFrampton, Daniel, u3293014
local.description.embargo2037-12-31
local.description.notesImported from ARIES
local.description.refereedYes
local.identifier.absfor080499 - Data Format not elsewhere classified
local.identifier.absseo890202 - Application Tools and System Utilities
local.identifier.ariespublicationu4251866xPUB132
local.identifier.doi10.1145/1133255.1134024
local.identifier.scopusID2-s2.0-33745202075
local.type.statusPublished Version

Downloads

Original bundle

Now showing 1 - 2 of 2
Loading...
Thumbnail Image
Name:
01_Guyer_Free-Me:_A_Static_Analysis_for_2006.pdf
Size:
224.16 KB
Format:
Adobe Portable Document Format
Loading...
Thumbnail Image
Name:
02_Guyer_Free-Me:_A_Static_Analysis_for_2006.pdf
Size:
2.89 MB
Format:
Adobe Portable Document Format