Title :
Exploiting method-level parallelism in single-threaded Java programs
Author :
Chen, Michael K. ; Olukotun, Kunle
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA, USA
Abstract :
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by executing sequential method invocations in parallel, while still maintaining correct sequential ordering of data dependencies and memory accesses. In this paper, we show why the Java virtual machine is an effective environment for exploiting method-level parallelism, and demonstrate how method speculation can potentially speed up single-threaded general purpose Java programs. Results from our study show that significant speedups can be achieved on data-parallel applications with minimal programmer and compiler effort. On control-flow dependent programs, moderate speedups have been achieved, suggesting more significant performance improvements on these types of programs may come from more careful analysis or re-coding of the application. For both classes of applications, we discover performance debugging drastically improves speedups by eliminating or minimizing dependencies that limit the effectiveness of method speculation
Keywords :
object-oriented programming; parallel programming; Java virtual machine; method speculation; method-level parallelism; object-oriented programs; performance debugging; single-threaded Java programs; Buffer storage; Concurrent computing; Hardware; Java; Object oriented modeling; Out of order; Parallel processing; Read-write memory; Registers; Yarn;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 1998. Proceedings. 1998 International Conference on
Conference_Location :
Paris
Print_ISBN :
0-8186-8591-3
DOI :
10.1109/PACT.1998.727190