Title :
Utilising parallel resources by speculation
Author :
Unger, A. ; Zehendner, E. ; Ungerer, Th
Author_Institution :
Dept. of Comput. Sci., Friedrich-Schiller-Univ., Jena, Germany
Abstract :
This paper introduces Simultaneous Speculation Scheduling, a new compiler technique that enables speculative execution of alternative program paths. In our approach concurrently executed threads are generated that represent alternative program paths. Each thread is the result of a speculation on the outcome of one or more branches. All threads are simultaneously executed although only one of them follows the eventually correct program path. Our technique goes beyond the capabilities of usual global instruction scheduling algorithms, because we overcome most of the restrictions to speculative code motion. The architectural requirements are the ability to run two or more threads in parallel, and an enhanced instruction set to control threads. Our technique aims at multithreaded architectures, in particular simultaneous multithreaded, nanothreaded, and microthreaded processors, but can be modified for multiscalar datascalar, and trace processors. We evaluate our approach using program kernels from the SPECint benchmark suite
Keywords :
multi-threading; processor scheduling; program compilers; SPECint benchmark suite; Simultaneous Speculation Scheduling; compiler technique; concurrently executed threads; multithreaded architectures; parallel resources; program paths; Computer science; Data analysis; Dynamic scheduling; Fault tolerance; Kernel; Out of order; Processor scheduling; Program processors; Scheduling algorithm; Yarn;
Conference_Titel :
Parallel and Distributed Processing, 1999. PDP '99. Proceedings of the Seventh Euromicro Workshop on
Conference_Location :
Funchal
Print_ISBN :
0-7695-0059-5
DOI :
10.1109/EMPDP.1999.746697