Increasing the number of instructions executing in parallel has helped improve processor performance, but the technique is limited. Executing code on parallel threads and processors has fewer limitations, but most computer programs tend to be serial in nature. This paper presents a compiler optimisation that at run-time parallelises code inside a JVM and thereby increases the number of threads. We show Spec JVM benchmark results for this optimisation. The performance on a current desktop processor is slower than without parallel threads, caused by thread creation costs, but with these costs removed the perfor-mance is better than the serial code. We measure the threading costs and discuss how a future computer architecture will en-able this...
The use of multithreading can enhance the performance of a software system. However, its excessive u...
This paper presents super-threading, which generically means the architectural and software mechanis...
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
: Multithreaded architectures hold many promises: the exploitation of intra-thread locality and the ...
The creation of a new loop analysis phase for the Jikes RVM and three new optimizing compilation pha...
In order to speed up the execution of Java applications, JIT com-pilers compile method bytecodes int...
Experimental and commercial parallel machines have matured to a point where it is possible to quanti...
Performance characteristics of irregular programs on parallel architectures were studied. Results in...
Compiler writers usually follow some known rules of thumb on the effectiveness of optimizations when...
Abstract. Although hardware support for Thread-Level Speculation (TLS) can ease the compiler’s tasks...
Threading and concurrency are crucial to building high-performance Java applications -- but they ha...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
The traditional single-core processors are being replaced by chip multiprocessors (CMPs) where sever...
Developing efficient programs for many of the current parallel computers is not easy due to the arch...
The use of multithreading can enhance the performance of a software system. However, its excessive u...
This paper presents super-threading, which generically means the architectural and software mechanis...
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to...
The quest to automatically parallelize general-purpose programs is a longstanding problem in the mic...
: Multithreaded architectures hold many promises: the exploitation of intra-thread locality and the ...
The creation of a new loop analysis phase for the Jikes RVM and three new optimizing compilation pha...
In order to speed up the execution of Java applications, JIT com-pilers compile method bytecodes int...
Experimental and commercial parallel machines have matured to a point where it is possible to quanti...
Performance characteristics of irregular programs on parallel architectures were studied. Results in...
Compiler writers usually follow some known rules of thumb on the effectiveness of optimizations when...
Abstract. Although hardware support for Thread-Level Speculation (TLS) can ease the compiler’s tasks...
Threading and concurrency are crucial to building high-performance Java applications -- but they ha...
Method speculation of object-oriented programs attempts to exploit method-level parallelism (MLP) by...
The traditional single-core processors are being replaced by chip multiprocessors (CMPs) where sever...
Developing efficient programs for many of the current parallel computers is not easy due to the arch...
The use of multithreading can enhance the performance of a software system. However, its excessive u...
This paper presents super-threading, which generically means the architectural and software mechanis...
We have added a Java virtual machine (henceforth JVM) bytecode generator to the optimizing Scheme-to...