The major specific contributions are: (1) We introduce a new compiler analysis to identify the memory accesses which do not need to be speculatively buffered, and develop an algorithm and a compiler infrastructure for instruction labeling in order to eliminate unnecessary buffering of speculative data. Our results show that for our benchmarks, over 60% of the references in non-parallelizable code sections do not need to be speculatively buffered. (2) We propose a compiler-assisted speculative execution (CASE) model which allows the compiler to communicate the idempotency property to the hardware in order to minimize the speculative states to preserve the sequential semantics of the program. (3) We introduce code transformation and generatio...
[[abstract]]Speculative multithreading (SpMT) architecture can exploit thread-level parallelism that...
Recent proposals for multithreaded architectures employ speculative execution to allow threads with ...
With speculative parallelization, code sections that cannot be fully analyzed by the compiler are ag...
Abstract. The traditional target machine of a parallelizing compiler can execute code sections eithe...
The emerging hardware support for thread-level speculation opens new opportunities to parallelize se...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
Speculative parallelization is a technique that tries to extract parallelism of loops that can not b...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
The basic idea under speculative parallelization (also called thread-level spec-ulation) [2, 6, 7] i...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
This paper proposes a new compiler technique that enables speculative execution of alternative progr...
Speculative parallelization can provide significant sources of additional thread-level parallelism, ...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
Recent proposals for multithreaded architectures employ speculative execution to allow threads with ...
[[abstract]]Speculative multithreading (SpMT) architecture can exploit thread-level parallelism that...
Recent proposals for multithreaded architectures employ speculative execution to allow threads with ...
With speculative parallelization, code sections that cannot be fully analyzed by the compiler are ag...
Abstract. The traditional target machine of a parallelizing compiler can execute code sections eithe...
The emerging hardware support for thread-level speculation opens new opportunities to parallelize se...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
Speculative parallelization is a technique that tries to extract parallelism of loops that can not b...
Speculative thread-level parallelization is a promising way to speed up codes that compilers fail to...
The basic idea under speculative parallelization (also called thread-level spec-ulation) [2, 6, 7] i...
Effectively utilizing available parallelism is becoming harder and harder as systems evolve to many-...
This paper proposes a new compiler technique that enables speculative execution of alternative progr...
Speculative parallelization can provide significant sources of additional thread-level parallelism, ...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
Recent proposals for multithreaded architectures employ speculative execution to allow threads with ...
[[abstract]]Speculative multithreading (SpMT) architecture can exploit thread-level parallelism that...
Recent proposals for multithreaded architectures employ speculative execution to allow threads with ...
With speculative parallelization, code sections that cannot be fully analyzed by the compiler are ag...