skip to main content
10.1145/780732.780740acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

Efficient memory-reference checks for real-time java

Published: 11 June 2003 Publication History

Abstract

The scoped-memory feature is central to the Real-Time Specification for Java. It allows greater control over memory management, in particular the deallocation of objects without the use of a garbage collector. To preserve the safety of storage references associated with Java since its inception, the use of scoped memory is constrained by a set of rules in the specification. While a program's adherence to the rules can be partially checked at compile-time, undecidability issues imply that some---perhaps, many---checks may be required at run-time. Poor implementations of those run-time checks could adversely affect overall performance and predictability, the latter being a founding principle of the specification.In this paper we present efficient algorithms for managing scoped memories and the checks they impose on programs. Implementations and results published to date require time linear in the depth of scope nesting; our algorithms operate in constant time. We describe our approach and present experiments quantifying the gains in efficiency.

References

[1]
K. Arnold, J. Gosling, and D. Holmes. The Java Programming Language. Addison-Wesley, Boston, 2000.
[2]
D. F. Bacon, P. Cheng, and V. T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 285--298. ACM Press, 2003.
[3]
W. S. Beebee and M. Rinard. An implementation of scoped memory for real-time Java. Lecture Notes in Computer Science, 2211, 2001.
[4]
Bollella, Gosling, Brosgol, Dibble, Furr, Hardin, and Turnbull. The Real-Time Specification for Java. Addison-Wesley, 2000.
[5]
P. Cheng and G. Belloch. A parallel, real-time garbage collector. ACM SIGPLAN Notices, 36(5):125--136, May 2001.
[6]
I. Coorporation. Using the RDTSC Instruction for Performance Monitoring. Technical report, Intel Coorporation, 1997.
[7]
A. Corsaro and D. C. Schmidt. Evaluating Real-Time Java Features and Performance for Real-time Embedded Systems. In Proceedings of the $8^th$ IEEE Real-Time Technology and Applications Symposium, San Jose, Sept. 2002. IEEE.
[8]
A. Corsaro and D. C. Schmidt. The Design and Performance of the jRate Real-Time Java Implementation. In R. Meersman and Z. Tari, editors, On the Move to Meaningful Internet Systems 2002: CoopIS, DOA, and ODBASE, pages 900--921, Berlin, 2002. Lecture Notes in Computer Science 2519, Springer Verlag.
[9]
GNU is Not Unix. GCJ: The GNU Complier for Java. http://gcc.gnu.org/java, 2002.
[10]
R. Jones and R. Lins. Garbage Collection Algorithms for Automatic Dynamic Memory Management. Wiley & Sons, New York, 1996.
[11]
M. A. d. M.-C. M. Teresa Higuera-Toledano. Dynamic Detection of Access Errors and Illegal References in RTSJ. In Proceedings of the 8th IEEE Real-Time Technology and Applications Symposium, San Jose, Sept. 2002. IEEE.
[12]
Norman H. Cohen. Type-Extension Type Tests Can Be Performend In Constant Time. ACM Transactions on Programming Languages and Systems (TOPLAS), 1991.
[13]
M. Tofte and J.-P. Talpin. Region-based memory management. Information and Computation, 132(2):109--176, Feb. 1997.
[14]
J. Whaley and M. Rinard. Compositional pointer and escape analysis for Java programs. ACM SIGPLAN Notices, 34(10):187--206, 1999.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
June 2003
304 pages
ISBN:1581136471
DOI:10.1145/780732
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 38, Issue 7
    Special Issue: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool support for embedded systems (San Diego, CA).
    July 2003
    293 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/780731
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. garbage collection
  2. memory management
  3. object oriented languages
  4. real-time java
  5. scoped memory

Qualifiers

  • Article

Conference

LCTES03
Sponsor:

Acceptance Rates

LCTES '03 Paper Acceptance Rate 29 of 128 submissions, 23%;
Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media