School of Computer Science Intranet
Ian Rogers, Jisheng Zhao, Chris Kirkham, Ian Watson
Automatic and non-automatic loop parallelisation optimizations are routinely used in high-performance scientific computing. This paper presents an automatic parallelisation optimization that uniquely is performed in the runtime environment of a JVM. This work is motivated by a future chip multiprocessor architecture in which it is envisaged lightweight thread operations will be cheap. Running the optimisation on a current dual CPU machine yields performance improvements of upto a 79% speedup. However, when current thread creation costs and the more representative workload of the Spec JVM benchmark are considered, performance shows an overall slow down. We therefore consider the optimisation unsuitable for use currently, but one that will become common in future architectures. Architectures which may well have speculative parallelisation support, that the presented approach can be extended to include.