Dynamic branch speculation in a speculative parallelization architecture for computer clusters

This article describes a technique for path unfolding for conditional branches in parallel programs executed on clusters. Unfolding paths following control structures makes it possible to break the control dependencies existing in the code and consequently to obtain a high degree of parallelism thro...

Descripción completa

Detalles Bibliográficos
Autores: Puiggalí, Joan, Szymanski, Boleslaw K., Jové Lagunas, Teodor, Marzo i Lázaro, Josep Lluís
Tipo de recurso: artículo
Estado:Versión aceptada para publicación
Fecha de publicación:2013
País:España
Institución:Varias* (Consorci de Biblioteques Universitáries de Catalunya, Centre de Serveis Científics i Acadèmics de Catalunya)
Repositorio:Recercat. Dipósit de la Recerca de Catalunya
OAI Identifier:oai:recercat.cat:10256/15952
Acceso en línea:http://hdl.handle.net/10256/15952
Access Level:acceso abierto
Palabra clave:Ordinadors, Xarxes d' -- Arquitectures
Computer network architectures
Computació distribuïda
Computational grids (Computer systems)
id ES_24c2411c9fa1f299d5bd36bcdc2b7ca2
oai_identifier_str oai:recercat.cat:10256/15952
network_acronym_str ES
network_name_str España
repository_id_str
spelling Dynamic branch speculation in a speculative parallelization architecture for computer clustersPuiggalí, JoanSzymanski, Boleslaw K.Jové Lagunas, TeodorMarzo i Lázaro, Josep LluísOrdinadors, Xarxes d' -- ArquitecturesComputer network architecturesComputació distribuïdaComputational grids (Computer systems)This article describes a technique for path unfolding for conditional branches in parallel programs executed on clusters. Unfolding paths following control structures makes it possible to break the control dependencies existing in the code and consequently to obtain a high degree of parallelism through the use of idle CPUs. The main challenge of this technique is to deal with sequences of control statements. When a control statement appears in a path after a branch, a new conditional block needs to be opened, creating a new code split before the previous one is resolved. Such subsequent code splits increase the cost of speculation management, resulting in reduced profits. Several decision techniques have been developed for improving code splitting and speculation efficiency in single machine architecture. The main contribution of this paper is to apply such techniques to a cluster of single processor systems and evaluate them in such an environment. Our results demonstrate that code splitting in conjunction with branch speculation and the use of statistical information improves the performance measured by the number of processes executed in a time unit. This improvement is particularly significant when the parallelized programs contain iterative structures in which conditions are repeatedly executedWiley2013info:eu-repo/semantics/articleinfo:eu-repo/semantics/acceptedVersionpeer-reviewedapplication/pdfhttp://hdl.handle.net/10256/15952http://hdl.handle.net/10256/15952© Concurrency and Computation: Practice and Experience, 2013, vol. 25, núm. 7, p. 932-960Articles publicats (D-ATC)reponame:Recercat. Dipósit de la Recerca de Catalunyainstname:Varias* (Consorci de Biblioteques Universitáries de Catalunya, Centre de Serveis Científics i Acadèmics de Catalunya)Inglésinfo:eu-repo/semantics/altIdentifier/doi/10.1002/cpe.2872info:eu-repo/semantics/altIdentifier/issn/1532-0626info:eu-repo/semantics/altIdentifier/eissn/1532-0634Tots els drets reservatsinfo:eu-repo/semantics/openAccessoai:recercat.cat:10256/159522026-05-29T05:05:01Z
dc.title.none.fl_str_mv Dynamic branch speculation in a speculative parallelization architecture for computer clusters
title Dynamic branch speculation in a speculative parallelization architecture for computer clusters
spellingShingle Dynamic branch speculation in a speculative parallelization architecture for computer clusters
Puiggalí, Joan
Ordinadors, Xarxes d' -- Arquitectures
Computer network architectures
Computació distribuïda
Computational grids (Computer systems)
title_short Dynamic branch speculation in a speculative parallelization architecture for computer clusters
title_full Dynamic branch speculation in a speculative parallelization architecture for computer clusters
title_fullStr Dynamic branch speculation in a speculative parallelization architecture for computer clusters
title_full_unstemmed Dynamic branch speculation in a speculative parallelization architecture for computer clusters
title_sort Dynamic branch speculation in a speculative parallelization architecture for computer clusters
dc.creator.none.fl_str_mv Puiggalí, Joan
Szymanski, Boleslaw K.
Jové Lagunas, Teodor
Marzo i Lázaro, Josep Lluís
author Puiggalí, Joan
author_facet Puiggalí, Joan
Szymanski, Boleslaw K.
Jové Lagunas, Teodor
Marzo i Lázaro, Josep Lluís
author_role author
author2 Szymanski, Boleslaw K.
Jové Lagunas, Teodor
Marzo i Lázaro, Josep Lluís
author2_role author
author
author
dc.subject.none.fl_str_mv Ordinadors, Xarxes d' -- Arquitectures
Computer network architectures
Computació distribuïda
Computational grids (Computer systems)
topic Ordinadors, Xarxes d' -- Arquitectures
Computer network architectures
Computació distribuïda
Computational grids (Computer systems)
description This article describes a technique for path unfolding for conditional branches in parallel programs executed on clusters. Unfolding paths following control structures makes it possible to break the control dependencies existing in the code and consequently to obtain a high degree of parallelism through the use of idle CPUs. The main challenge of this technique is to deal with sequences of control statements. When a control statement appears in a path after a branch, a new conditional block needs to be opened, creating a new code split before the previous one is resolved. Such subsequent code splits increase the cost of speculation management, resulting in reduced profits. Several decision techniques have been developed for improving code splitting and speculation efficiency in single machine architecture. The main contribution of this paper is to apply such techniques to a cluster of single processor systems and evaluate them in such an environment. Our results demonstrate that code splitting in conjunction with branch speculation and the use of statistical information improves the performance measured by the number of processes executed in a time unit. This improvement is particularly significant when the parallelized programs contain iterative structures in which conditions are repeatedly executed
publishDate 2013
dc.date.none.fl_str_mv 2013
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/acceptedVersion
peer-reviewed
format article
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/10256/15952
http://hdl.handle.net/10256/15952
url http://hdl.handle.net/10256/15952
dc.language.none.fl_str_mv Inglés
language_invalid_str_mv Inglés
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/doi/10.1002/cpe.2872
info:eu-repo/semantics/altIdentifier/issn/1532-0626
info:eu-repo/semantics/altIdentifier/eissn/1532-0634
dc.rights.none.fl_str_mv Tots els drets reservats
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Tots els drets reservats
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Wiley
publisher.none.fl_str_mv Wiley
dc.source.none.fl_str_mv © Concurrency and Computation: Practice and Experience, 2013, vol. 25, núm. 7, p. 932-960
Articles publicats (D-ATC)
reponame:Recercat. Dipósit de la Recerca de Catalunya
instname:Varias* (Consorci de Biblioteques Universitáries de Catalunya, Centre de Serveis Científics i Acadèmics de Catalunya)
instname_str Varias* (Consorci de Biblioteques Universitáries de Catalunya, Centre de Serveis Científics i Acadèmics de Catalunya)
reponame_str Recercat. Dipósit de la Recerca de Catalunya
collection Recercat. Dipósit de la Recerca de Catalunya
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869404718254522368
score 15.81155