TU Darmstadt / ULB / TUbiblio

Dissecting sequential programs for parallelization - an approach based on computational units

Atre, Rohit ; Huda, Zia Ul ; Jannesari, Ali ; Wolf, Felix (2018)
Dissecting sequential programs for parallelization - an approach based on computational units.
In: Concurrency and Computation: Practice and Experience, 31 (5)
doi: 10.1002/cpe.4770
Artikel, Bibliographie

Kurzbeschreibung (Abstract)

When trying to parallelize a sequential program, programmers routinely struggle during the first step: finding out which code sections can be made to run in parallel. While identifying such code sections, most of the current parallelism discovery techniques focus on specific language constructs. In contrast, we propose to concentrate on the computations performed by a program. In our approach, a program is treated as a collection of computations communicating with one another using a number of variables. Each computation is represented as a computational unit (CU). A CU contains the inputs and outputs of a computation, and the three phases of a computation are read, compute, and write. Based on the notion of CU, which ensures that the read phase executes before the write phase, we present a unified framework to identify both loop parallelism and task parallelism in sequential programs. We conducted a range of experiments on 23 applications from four different benchmark suites. Our approach accurately identified the parallelization opportunities in benchmark applications based on comparison with their parallel versions. We have also parallelized the opportunities identified by our approach that were not implemented in the parallel versions of the benchmarks and reported the speedup.

Typ des Eintrags: Artikel
Erschienen: 2018
Autor(en): Atre, Rohit ; Huda, Zia Ul ; Jannesari, Ali ; Wolf, Felix
Art des Eintrags: Bibliographie
Titel: Dissecting sequential programs for parallelization - an approach based on computational units
Sprache: Englisch
Publikationsjahr: 29 Juni 2018
Verlag: Wiley
Titel der Zeitschrift, Zeitung oder Schriftenreihe: Concurrency and Computation: Practice and Experience
Jahrgang/Volume einer Zeitschrift: 31
(Heft-)Nummer: 5
Veranstaltungstitel: 10th International Symposium on High-Level Parallel Programming and Applications
Veranstaltungsort: Valladolid, Spain
Veranstaltungsdatum: 10.-11. Juli 2017
DOI: 10.1002/cpe.4770
Kurzbeschreibung (Abstract):

When trying to parallelize a sequential program, programmers routinely struggle during the first step: finding out which code sections can be made to run in parallel. While identifying such code sections, most of the current parallelism discovery techniques focus on specific language constructs. In contrast, we propose to concentrate on the computations performed by a program. In our approach, a program is treated as a collection of computations communicating with one another using a number of variables. Each computation is represented as a computational unit (CU). A CU contains the inputs and outputs of a computation, and the three phases of a computation are read, compute, and write. Based on the notion of CU, which ensures that the read phase executes before the write phase, we present a unified framework to identify both loop parallelism and task parallelism in sequential programs. We conducted a range of experiments on 23 applications from four different benchmark suites. Our approach accurately identified the parallelization opportunities in benchmark applications based on comparison with their parallel versions. We have also parallelized the opportunities identified by our approach that were not implemented in the parallel versions of the benchmarks and reported the speedup.

Zusätzliche Informationen:

Art.No.: e4770

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Parallele Programmierung
Hinterlegungsdatum: 20 Apr 2018 12:22
Letzte Änderung: 11 Jun 2024 14:40
PPN: 519038037
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen