ACM Home Page
Please provide us with feedback. Feedback
Static determination of allocation rates to support real-time garbage collection
Full text PdfPdf (176 KB)
Source ACM SIGPLAN Notices archive
Volume 40 ,  Issue 7  (July 2005) table of contents
Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
SESSION: Real-time techniques table of contents
Pages: 193 - 202  
Year of Publication: 2005
ISSN:0362-1340
Also published in ...
Authors
Tobias Mann  Washington University in St. Louis
Morgan Deters  Washington University in St. Louis
Rob LeGrand  Washington University in St. Louis
Ron K. Cytron  Washington University in St. Louis
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 33,   Citation Count: 3
Additional Information:

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/1070891.1065938
What is a DOI?

ABSTRACT

While it is generally accepted that garbage-collected languages offer advantages over languages in which objects must be explicitly deallocated, real-time developers are leery of the adverse effects a garbage collector might have on real-time performance. Semiautomatic approaches based on regions have been proposed, but incorrect usage could cause unbounded storage leaks or program failure. Moreover, correct usage cannot be guaranteed at compile time. Recently, real-time garbage collectors have been developed that provide a guaranteed fraction of the CPU to the application, and the correct operation of those collectors has been proven, subject only to the specification of certain statistics related to the type and rate of objects allocated by the application. However, unless those statistics are provided or estimated appropriately, the collector may fail to collect dead storage at a rate sufficient to pace the application's need for storage. Overspecification of those statistics is safe but leaves the application with less than its possible share of the CPU, which may prevent the application from meeting its deadlines.In this paper we present a static analysis to bound conservatively an application's allocation rate. The analysis is based on a data flow framework that requires interprocedural evaluation. We present the framework and results from analyzing some Java benchmarks. Because static analysis is necessarily conservative, we also present measurements of our benchmarks' actual allocation rates.Our work is a necessary step toward making real-time garbage collectors attractive to the hard-real-time community. By guaranteeing a bound on statistics provided to a real-time collector, we can guarantee the operation of the collector for a given application.


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
Lisa Carnahan and Marcus Ruark. Requirements for real-time extensions for the java platform (final draft). Technical report, NIST, 1999.
6
 
7
Martin R. Linenweber. A study in Java bytecode engineering with PCESjava. Master's thesis, Washington University in St. Louis, 2003.
 
8
Tobias Mann and Ron K. Cytron. Automatic Determination of Factors for Real-Time Garbage Collection. In Washington University technical report #WUCS-04-45, St. Louis, Missouri, 2004.
 
9
 
10
Kelvin Nilsen. Issues in the design and implementation of real-time Java. Java Developer's Journal, 1(1):44, 1996.
11
12
13
 
14
15
 
16
Paul R. Wilson. Uniprocessor garbage collection techniques (Long Version). Submitted to ACM Computing Surveys, 1994.


Collaborative Colleagues:
Tobias Mann: colleagues
Morgan Deters: colleagues
Rob LeGrand: colleagues
Ron K. Cytron: colleagues