ACM Home Page
Please provide us with feedback. Feedback
Eventrons: a safe programming construct for high-frequency hard real-time applications
Full text PdfPdf (339 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation table of contents
Ottawa, Ontario, Canada
SESSION: Language constructs table of contents
Pages: 283 - 294  
Year of Publication: 2006
ISBN:1-59593-320-4
Also published in ...
Authors
Daniel Spoonhower  Carnegie Mellon University
Joshua Auerbach  IBM Research
David F. Bacon  IBM Research
Perry Cheng  IBM Research
David Grove  IBM Research
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 66,   Citation Count: 14
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/1133981.1134015
What is a DOI?

ABSTRACT

While real-time garbage collection has achieved worst-case latencies on the order of a millisecond, this technology is approaching its practical limits. For tasks requiring extremely low latency, and especially periodic tasks with frequencies above 1 KHz, Java programmers must currently resort to the NoHeapRealtimeThread construct of the Real-Time Specification for Java. This technique requires expensive run-time checks, can result in unpredictable low-level exceptions, and inhibits communication with the rest of the garbage-collected application. We present Eventrons, a programming construct that can arbitrarily preempt the garbage collector, yet guarantees safety and allows its data to be visible to the garbage-collected heap. Eventrons are a strict subset of Java, and require no run-time memory access checks. Safety is enforced using a data-sensitive analysis and simple run-time support with extremely low overhead. We have implemented Eventrons in IBM's J9 Java virtual machine, and present experimental results in which we ran Eventrons at frequencies up to 22 KHz (a 45 μs period). Across 10 million periods, 99.997% of the executions ran within 10 μss of their deadline, compared to 99.999% of the executions of the equivalent program written in C.


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
ARNOLD, M., FINK, S. J., GROVE, D., HIND, M., AND SWEENEY, P. F. A survey of adaptive optimization in virtual machines. Proceedings of the IEEE 93, 2 (2005). Special issue on Program Generation, Optimization, and Adaptation.
2
3
 
4
BOLLELLA, G., ET AL. The Real-Time Specification for Java. The Java Series. Addison-Wesley, 2000.
5
6
7
8
 
9
10
 
11
FINK, S., DOLBY, J., AND COLBY, L. Semi-automatic J2EE transaction configuration. Tech. Rep. RC23326, IBM Thomas J. Watson Research Center, Apr. 2004.
12
13
 
14
The Haskell 98 foreign function interface. www.cse.unsw.edu.au/-chak/haskell/ffi/.
 
15
 
16
HIRZEL, M., DIWAN, A., AND HIND, M. Pointer analysis in the pressence of dynamic class loading. In 18th European Conference on Object-Oriented Programming (ECOOP) (June 2004), vol. 3086 of LNCS, pp. 96--122.
 
17
High-Res Timer Kernel Patches. i386-hrt-2.6.10.patch and hrt-common-2.6.10.patch at http://easynews.dl.sourceforge.net/-sourceforge/high-res-timers.
 
18
 
19
 
20
PIZLO, F., FOX, J. M., HOLMES, D., AND VITEK, J. Real-time Java scoped memory: Design patterns and semantics. In Proceedings of the 7th IEEE International Symposium on Object-oriented Real-time distributed Computing (May 2004).
 
21
QIAN, F., AND HENDREN, L. Towards dynamic interprocedural analysis in JVMs. In 3rd Virtual Machine Research and Technology Symposium (VM) (May 2004), pp. 139--150.
22
23
 
24

CITED BY  14

Collaborative Colleagues:
Daniel Spoonhower: colleagues
Joshua Auerbach: colleagues
David F. Bacon: colleagues
Perry Cheng: colleagues
David Grove: colleagues