Reflexes: Abstractions for Highly Responsive Systems

Commercial Java virtual machines are designed to maximize the performance of applications at the expense of predictability. High throughput garbage collection algorithms, for example, can introduce pauses of 100 milliseconds or more. We are interested in supporting applications with response times in the tens of microseconds and their integration with larger timing-oblivious applications in the same Java virtual machine. We propose Reflexes, a new abstraction for writing highly responsive systems in Java and investigate the virtual machine support needed to add Reflexes to a Java environment. Our implementation of Reflexes was evaluated on several programs including an audio-processing application running at 22.05KHz. The number of missed deadlines, less than 0.2% for 10 million observations, compares favorably to a native C implementation.

Published in:
Proceedings of the 3rd International ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments
Presented at:
Third International ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments, San Diego, USA, June 13-15, 2007

 Record created 2007-03-27, last modified 2018-03-17

Download fulltext

Rate this document:

Rate this document:
(Not yet reviewed)