Program Transformation to Identify List-Based Parallel Skeletons

Algorithmic skeletons are used as building-blocks to ease the task of parallel programming by abstracting the details of parallel implementation from the developer. Most existing libraries provide implementations of skeletons that are defined over flat data types such as lists or arrays. However, sk...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Electronic proceedings in theoretical computer science Ročník 216; číslo Proc. VPT 2016; s. 118 - 136
Hlavní autoři: Kannan, Venkatesh, Hamilton, G. W.
Médium: Journal Article
Jazyk:angličtina
Vydáno: Open Publishing Association 16.07.2016
ISSN:2075-2180, 2075-2180
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Algorithmic skeletons are used as building-blocks to ease the task of parallel programming by abstracting the details of parallel implementation from the developer. Most existing libraries provide implementations of skeletons that are defined over flat data types such as lists or arrays. However, skeleton-based parallel programming is still very challenging as it requires intricate analysis of the underlying algorithm and often uses inefficient intermediate data structures. Further, the algorithmic structure of a given program may not match those of list-based skeletons. In this paper, we present a method to automatically transform any given program to one that is defined over a list and is more likely to contain instances of list-based skeletons. This facilitates the parallel execution of a transformed program using existing implementations of list-based parallel skeletons. Further, by using an existing transformation called distillation in conjunction with our method, we produce transformed programs that contain fewer inefficient intermediate data structures.
ISSN:2075-2180
2075-2180
DOI:10.4204/EPTCS.216.7