Title :
Compiler support for dynamic speculative pre-execution
Author :
Ro, Won W. ; Gaudiot, Jean-Luc
Author_Institution :
Dept. of Electr. Eng., Univ. of Southern California, SC, USA
Abstract :
Speculative pre-execution is a promising prefetching technique which uses an auxiliary assisting thread in addition to the main program flow. A prefetching thread (p-thread), which contains the future probable cache miss instructions and backward slice, can run on the spare hardware context for data prefetching. Recently, various forms of speculative pre-execution have been developed, including hardware-based and software-based approaches. The hardware-based approach has the advantage of using runtime information dynamically. However, it requires a complex implementation and also lacks global information such as data and control flow. On the other hand, the software-oriented approach cannot cope with dynamic events and imposes additional software overhead As a compromise, this paper introduces a hybrid model enhanced with novel compiler support for the dynamic pre-execution of a p-thread.
Keywords :
cache storage; multi-threading; optimising compilers; parallelising compilers; performance evaluation; auxiliary assisting thread; backward slice; compiler support; dynamic speculative pre-execution; hardware-based pre-execution; hybrid model; main program flow; p-thread; prefetching; probable cache miss instructions; software-based pre-execution; spare hardware context; Circuits; Data mining; Delay; Dynamic compiler; Hardware; Multithreading; Prefetching; Program processors; Runtime; Yarn;
Conference_Titel :
Interaction Between Compilers and Computer Architectures, 2003. INTERACT-7 2003. Proceedings. Seventh Workshop on
Print_ISBN :
0-7695-1889-3
DOI :
10.1109/INTERA.2003.1192352