RT info:eu-repo/semantics/article T1 Speculative parallelization A1 González Escribano, Arturo A1 Llanos Ferraris, Diego Rafael K1 Informática K1 1203 Ciencia de Los Ordenadores K1 3304 Tecnología de Los Ordenadores AB 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. PB IEEE Press SN 0018-9162 YR 2006 FD 2006 LK https://uvadoc.uva.es/handle/10324/70440 UL https://uvadoc.uva.es/handle/10324/70440 LA eng NO Computer, vol. 39, no. 12, pp. 126-128, December 2006. NO Producción Científica DS UVaDOC RD 20-ene-2025