Thread partitioning and value prediction for exploiting speculative thread-level parallelism

Speculative thread-level parallelism has been recently proposed as a source of parallelism to improve the performance in applications where parallel threads are hard to find. However, the efficiency of this execution model strongly depends on the performance of the control and data speculation techn...

Descripción completa

Detalles Bibliográficos
Autores: Marcuello, Pedro, González Colás, Antonio María|||0000-0002-0009-0996, Tubella Murgadas, Jordi|||0000-0001-8669-0740
Tipo de recurso: artículo
Fecha de publicación:2004
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/101437
Acceso en línea:https://hdl.handle.net/2117/101437
https://dx.doi.org/10.1109/TC.2004.1261823
Access Level:acceso abierto
Palabra clave:Parallel processing (Electronic computers)
Compilers (Computer programs)
Speculative thread-level parallelism
Value prediction
Branch prediction
Thread spawning policies
Clustered architectures
Processament en paral·lel (Ordinadors)
Compiladors (Programes d'ordinador)
Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors
Descripción
Sumario:Speculative thread-level parallelism has been recently proposed as a source of parallelism to improve the performance in applications where parallel threads are hard to find. However, the efficiency of this execution model strongly depends on the performance of the control and data speculation techniques. Several hardware-based schemes for partitioning the program into speculative threads are analyzed and evaluated. In general, we find that spawning threads associated to loop iterations is the most effective technique. We also show that value prediction is critical for the performance of all of the spawning policies. Thus, a new value predictor, the increment predictor, is proposed. This predictor is specially oriented for this kind of architecture and clearly outperforms the adapted versions of conventional value predictors such as the last value, the stride, and the context-based, especially for small-sized history tables.