Obtaining synchronization-free code with maximum parallelism

This paper addresses the problem of extracting the maximum synchronization-free parallelism that may be present in loops. In order to reduce communication and synchronization overheads, some parallelizing compilers try to identify independent computational partitions - if there are any - of a sequen...

Descripción completa

Detalles Bibliográficos
Autores: Gavaldà Mestre, Ricard|||0000-0003-4736-7179, Ayguadé Parra, Eduard|||0000-0002-5146-103X, Torres Viñals, Jordi|||0000-0003-1963-7418
Tipo de recurso: informe técnico
Fecha de publicación:1996
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/82908
Acceso en línea:https://hdl.handle.net/2117/82908
Access Level:acceso abierto
Palabra clave:Synchronization
Free-code
Parallel computation
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
Descripción
Sumario:This paper addresses the problem of extracting the maximum synchronization-free parallelism that may be present in loops. In order to reduce communication and synchronization overheads, some parallelizing compilers try to identify independent computational partitions - if there are any - of a sequential program. We focus on the case of loops with constant dependence distance vectors. We consider a statement instance as a basic unit that can be allocated to a processor, in contrast other methods that use an iteration instance. We show that a previously proposed family of scheduling heuristics (Graph Traversal Scheduling) is optimal in the sense that no more parallelism can be expressed with synchronization-free code. Furthermore, we give a quasi-linear time algorithm to find such an optimal Graph Traversal Scheduling.