Wait-Free Queue Algorithms for the Real-time Java Specification
Paper in proceedings, 2006
Efficient algorithmic implementations of wait-free queue classes in the Real-time Specification for Java are presented in this paper. The algorithms are designed to exploit the unidirectional nature of these queues and the priority-based scheduling in the specification. The proposed implementations support multiple real-time threads to access the queue in a wait-free manner and at the same time keep the "Write Once, Run Anywhere" principle of Java. Experiments show our implementations outperform the reference implementations, especially with high priority tasks.
In the implementations, we introduce a new solution to the "enabled late-write" problem discussed in . The problem is caused by using only memory read/write operations. The new solution is more efficient, with respect to space complexity, compared to previous wait-free implementations, without losing in time complexity.