Abstract
Our objective is to adapt the Java memory management to an embedded system, e.g., a wireless PDA executing concurrent multimedia applications within a single JVM. This paper provides software, and hardware-based solutions detecting both illegal references across the application memory spaces and dangling pointers within an application space. We give an approach to divide/share the memory among the applications executing concurrently in the system. We introduce and define application-specific memory, building upon the real-time specification for Java (RTSJ) from the real-time Java expert group. The memory model used in RTSJ imposes strict rules for assignment between memory areas, preventing the creation of dangling pointers, and thus maintaining the pointer safety of Java. Our implementation solution to ensure the checking of these rules before each assignment inserts write barriers that use a stack-based algorithm. This solution adversely affects both the performance and predictability of the RTSJ applications, which can be improved by using an existing hardware support.
- Baker, H. G. 1991. The treadmill: Real-time garbage collection without motion sickness. In Proc. of Conference on Object and Oriented Programming, Systems Languages and Applications OOPSLA.Google Scholar
- Back, G., Tullmann, P., Stoller, L., Hesienh, W. C., and Lepreau, J. 1998. Java operating systems: Design and implementation. Technical rep. Department of Computer Science, University of Utah, http://www.cs.utah.edu/projects/flux (Aug).Google Scholar
- Bernadat, P., Lambright, D., and Travostino, F. 1998. Towards a resource safe Java for service guarantees in uncooperative environments. In Proceedings of the IEEE Workshop on Programming Languages for Real-Time Industrial Applications.Google Scholar
- Bollella, G., Gosling, J., Brosgol, B., Dibble, P., Furr, S., Hardin, D., and Mturnbull. (The Real-Time for Java Expert Group). Real-Time Specification for Java. RTJEG 2002. http://www.rtj.org. Google Scholar
- Czajkowki, G. 2000. Application isolation in the Java virtual machine. In Proc. of Conference on Object and Oriented Programming, Systems Languages and Applications pages 354--366. OOPSLA, ACM SIGPLAN (Oct.). Google Scholar
- Hardin, D. S. 2001. Real-time objects on the bare metal. An efficient hardware realization of the Java virtual machine. In Proceedings of the 4th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). Google Scholar
- Higuera-Toledano, M. T., Issarny, V., Banatre, M., Cabillic, G., Lesot, J. P., and Parain, F. 2004. Memory management for real-time Java: An efficient solution using hardware support. Real-Time Systems Journal 26, 1. Google Scholar
- Higuera-Toledano, M. T. 2004. Illegal References in a real-time Java concurrent environment. In Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC).Google Scholar
- Higuera-Toledano, M. T. 2003. Hardware-based solutions detecting illegal references in real-time Java”. In Proceedings of 15th Euromicro Conference on Real-Time Systems.Google Scholar
- Issarny, V., Banatre, M., Weiss, F., Weis, Cabillic, G., Courdec, P., Higuer-Toledano, M. T., and Parain, F. 2000. Providing an embedded software environment for wireless PDAs. In Proceegings of the Ninth ACM SIGOPS European Workshop---Beyond the PC: New Challenges for the Operating System (Sept.). Google Scholar
- Java Community Process. 2003. Application Isolation API Specification. http://jcp.org/jsr/detail/121.jsp.Google Scholar
- Jensen, D. W., Greve, D. A., and Wilding, M. M. Secure Reconfigurable Computing. Advanced Technology Center Advanced Technology Center. http://www.klabs.org/richcontent/MAPLDCon99, 1999.Google Scholar
- Kin, S. and Hsu, Y. 2000. Memory system behaviour of Java programs: Methodology and analysis. In Proceedings of the ACM Java Grande 2000 Conference.Google Scholar
- Palacz, K., Czajkowski, G., Daines, L., and Vitek, J. 2002. Incommunicado: Efficient communication for isolates. In Proceedings of the Conference on Object and Oriented Programming, Systems Languages and Applications ACM OOPSLA (Nov.). Google Scholar
- Petit-Bianco, A. and Tromey, T. 1998. Garbage collection for Java in embedded systems. In Proceedings of IEEE Workshop on Programming Languages for Real-Time Industrial Applications (Dec.).Google Scholar
- SPRECJVMS98. 1998. Standard Performance Evaluation Council. SPEC JVM98 benchmarks. Technical report. http://www.spec.org/osg/jvm98.Google Scholar
- Shoeberl, M. 2005. Design and implementation of an efficient stack machine. In Proceedings of the 12th IEEE Reconfigurable Architecture Workshop, RAW 2005, Denver, Colorado (Apr.).Google Scholar
- Sun Microsystems. 2000. picoJava-II Programmer's Reference Manual. Technical Report. Java Community Process (May). http://java.sun.com.Google Scholar
- Sun Microsystems. 2000. KVM Technical Specification. http://java.sun.com (May).Google Scholar
- Uhrig, S., Liemke, C., Pfeffer, M., Becker, J., Brinkschulte, U., and Ungerer, TH. 2002. Implementing real-time scheduling within a multithreaded Java microcontroller. In Proceedings of the 6th Workshop on Multithreaded Execution, Architecture and Compilation MTEAC-6.Google Scholar
- Whitaker, A., Shaw, M., and Gribble, S. D. 2002. A scalable isolation kernel. In Proceedings of the Tenth ACM SIGOPS European Workshop, Saint-Emilion, France (Sept.). Google Scholar
- Wilson, P. R. and Johnston, M. S. 1993. Real-time non-copying garbage collection. In Proc. of Conference on Object and Oriented Programming, Systems Languages and Applications ACM OOPSLA (Workshop on Garbage Collection and Memory Management.) (Sept.).Google Scholar
- Wong, B., Czajkowski, G., and Daymes, L. 2003. Dynamically loaded classes as shared libraries: An approach to improving virtual machine scalability. In Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS). Google Scholar
Index Terms
(auto-classified)Hardware support for detecting illegal references in a multiapplication real-time Java environment
Recommendations
Towards an Analysis of Garbage Collection Techniques for Embedded Real-Time Java Systems
RTCSA '06: Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and ApplicationsFrom a real-time perspective, the Garbage Collector (GC) introduces unpredictable pauses that are not tolerated by real-time tasks. Real-time collectors eliminate this problem but introduce a high overhead. Another approach is to use Memory Regions (MR) ...
Region-Based Memory Management for Real-Time Java
ISORC '01: Proceedings of the Fourth International Symposium on Object-Oriented Real-Time Distributed ComputingAbstract: This paper addresses the issue of improving the performance of memory management for real-time Java applications, building upon the Real-Time Specification for Java (RTSJ) from the Real-Time Java Expert Group. In a first step, a thorough ...
Memory Management for Real-Time Java: An Efficient Solution using Hardware Support
This paper addresses the issue of improving the performance of memory management for real-time Java applications, building upon the real-time specification for Java (RTSJ) from the Real-Time Java Expert Group. In a first step, a collecting dynamic ...






Comments