About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Publication
LCTES 2008
Conference paper
Flexible Task Graphs: A unified restricted thread programming model for Java
Abstract
The disadvantages of unconstrained shared-memory multi-threadingin Java, especially with regard to latency and determinism in realtimesystems, have given rise to a variety of language extensionsthat place restrictions on how threads allocate, share, and communicatememory, leading to order-of-magnitude reductions in latencyand jitter. However, each model makes different trade-offs with respectto expressiveness, efficiency, enforcement, and latency, andno one model is best for all applications.In this paper we present Flexible Task Graphs (Flexotasks), asingle system that allows different isolation policies and mechanismsto be combined in an orthogonal manner, subsuming fourpreviously proposed models as well as making it possible to usenew combinations best suited to the needs of particular applications.We evaluate our implementation on top of the IBM Web-Sphere Real Time Java virtual machine using both a microbenchmarkand a 30 KLOC avionics collision detector. We show thatFlexotasks are capable of executing periodic threads at 10 KHzwith a standard deviation of 1-2μs and that it achieves significantly better performance than RTSJ's scoped memory constructs whileremaining impervious to interference from global garbage collection. Copyright © 2008 ACM.