Author:
Auerbach Joshua,Bacon David F.,Iercan Daniel,Kirsch Christoph M.,Rajan V. T.,Röck Harald,Trummer Rainer
Abstract
Exotasks
are a novel Java programming construct that achieve three important goals. They achieve low latency while allowing the fullest use of Java language features, compared to previous attempts to restrict the Java language for use in the submillisecond domain. They support pluggable schedulers, allowing easy implementation of new scheduling paradigms in a real-time Java system. They can achieve deterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. To achieve these goals, the program is divided into tasks with private heaps. Tasks may be strongly isolated, communicating only with each other and guaranteeing determinism, or weakly isolated, allowing some communication with the rest of the Java application. Scheduling of the tasks' execution, garbage collection, and value passing is accomplished by the pluggable scheduler. Schedulers that we have written employ logical execution time (LET) in association with strong isolation to achieve time portability. We have also built a quad-rotor model helicopter, the JAviator, which we use to evaluate our implementation of Exotasks in an experimental embedded version of IBM's J9 real-time virtual machine. Our experiments show that we are able to maintain very low scheduling jitter and deterministic behavior in the face of variations in both software load and hardware platform. We also show that Exotasks perform nearly as well as Eventrons on a benchmark audio application.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Software
Reference39 articles.
1. AICAS. The Jamaica virtual machine. http://www.aicas.com. AICAS. The Jamaica virtual machine. http://www.aicas.com.
2. A real-time Java virtual machine with applications in avionics
3. Armstrong J. Virding R. Wikstrm C. and Williams M. 1996. Concurrent Programming in Erlang 2nd Ed. Prentice-Hall. Armstrong J. Virding R. Wikstrm C. and Williams M. 1996. Concurrent Programming in Erlang 2nd Ed. Prentice-Hall.
4. Design and implementation of a comprehensive real-time java virtual machine
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. The Perfect Getaway;ACM Transactions on Embedded Computing Systems;2017-09-15
2. Separate compilation of hierarchical real-time programs into linear-bounded Embedded Machine code;Science of Computer Programming;2012-02
3. The Logical Execution Time Paradigm;Advances in Real-Time Systems;2011-10-27
4. Tailor-made JVMs for statically configured embedded systems;Concurrency and Computation: Practice and Experience;2011-05-12
5. Lime;ACM SIGPLAN Notices;2010-10-17