This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Speculative parallelization
December 2006 (vol. 39 no. 12)
pp. 126-128
A. Gonzalez-Escribano, Departamento de Informatica, Valladolid Univ.
D.R. Llanos, Departamento de Informatica, Valladolid Univ.
The most promising technique for automatically parallelizing loops when the system cannot determine dependences at compile time is speculative parallelization. Also called thread-level speculation, this technique assumes optimistically that the system can execute all iterations of a given loop in parallel. A hardware or software monitor divides the iterations into blocks and assigns them to different threads, one per processor, with no prior dependence analysis. If the system discovers a dependence violation at runtime, it stops the incorrectly computed work and restarts it with correct values. Of course, the more parallel the loop, the more benefits this technique delivers. To better understand how speculative parallelization works, it is necessary to distinguish between private and shared variables. Informally speaking, private variables are those that the program always modifies in each iteration before using them. On the other hand, values stored in shared variables are used in different iterations.
Index Terms:
system monitoring,multi-threading,parallelising compilers,program control structures,runtime dependence violation discovery,speculative parallelization,automatic loop parallelization,program compiler,thread-level speculation,hardware monitor,software monitor,program dependence analysis,Hardware,Monitoring,Runtime,Performance loss,Concurrent computing,Speculative parallelization,How Things Work
Citation:
A. Gonzalez-Escribano, D.R. Llanos, "Speculative parallelization," Computer, vol. 39, no. 12, pp. 126-128, Dec. 2006, doi:10.1109/MC.2006.441
Usage of this product signifies your acceptance of the Terms of Use.