TU Darmstadt / ULB / TUbiblio

Skipping Non-essential Instructions Makes Data-Dependence Profiling Faster

Morew, Nicolas ; Norouzi, Mohammad ; Jannesari, Ali ; Wolf, Felix (2020)
Skipping Non-essential Instructions Makes Data-Dependence Profiling Faster.
26th International Conference on Parallel and Distributed Computing. Warsaw, Poland (24.-28.08.2020)
doi: 10.1007/978-3-030-57675-2_1
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Data-dependence profiling is a dynamic program-analysis technique to discover potential parallelism in sequential programs. Unlike purely static analysis, which may overestimate the number of dependences because it does not know many pointers values and array indices at compile time, profiling has the advantage of recording data dependences that actually occur at runtime. But it has the disadvantage of significantly slowing down program execution, often by a factor of 100. In our earlier work, we lowered the overhead of data-dependence profiling by excluding polyhedral loops, which can be handled statically using certain compilers. However, neither does every program contain polyhedral loops, nor are statically identifiable dependences restricted to such loops. In this paper, we introduce an orthogonal approach, focusing on data dependences between accesses to scalar variables - across the entire program, inside and outside loops. We first analyze the program statically and identify memory-access instructions that create data dependences that would appear in any execution of these instructions. Then, we exclude these instructions from instrumentation, allowing the profiler to skip them at runtime and avoid the associated overhead. We evaluate our approach with 49 benchmarks from three benchmark suites. We improved the profiling time of all programs by at least 38%, with a median reduction of 61% across all the benchmarks.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2020
Autor(en): Morew, Nicolas ; Norouzi, Mohammad ; Jannesari, Ali ; Wolf, Felix
Art des Eintrags: Bibliographie
Titel: Skipping Non-essential Instructions Makes Data-Dependence Profiling Faster
Sprache: Englisch
Publikationsjahr: 18 August 2020
Verlag: Springer
Buchtitel: Euro-Par 2020: Parallel Processing
Reihe: Lecture Notes in Computer Science
Band einer Reihe: 12247
Veranstaltungstitel: 26th International Conference on Parallel and Distributed Computing
Veranstaltungsort: Warsaw, Poland
Veranstaltungsdatum: 24.-28.08.2020
DOI: 10.1007/978-3-030-57675-2_1
Kurzbeschreibung (Abstract):

Data-dependence profiling is a dynamic program-analysis technique to discover potential parallelism in sequential programs. Unlike purely static analysis, which may overestimate the number of dependences because it does not know many pointers values and array indices at compile time, profiling has the advantage of recording data dependences that actually occur at runtime. But it has the disadvantage of significantly slowing down program execution, often by a factor of 100. In our earlier work, we lowered the overhead of data-dependence profiling by excluding polyhedral loops, which can be handled statically using certain compilers. However, neither does every program contain polyhedral loops, nor are statically identifiable dependences restricted to such loops. In this paper, we introduce an orthogonal approach, focusing on data dependences between accesses to scalar variables - across the entire program, inside and outside loops. We first analyze the program statically and identify memory-access instructions that create data dependences that would appear in any execution of these instructions. Then, we exclude these instructions from instrumentation, allowing the profiler to skip them at runtime and avoid the associated overhead. We evaluate our approach with 49 benchmarks from three benchmark suites. We improved the profiling time of all programs by at least 38%, with a median reduction of 61% across all the benchmarks.

Freie Schlagworte: LOEWE|SF4.0
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Parallele Programmierung
Hinterlegungsdatum: 04 Apr 2024 09:10
Letzte Änderung: 02 Jul 2024 09:40
PPN: 519501446
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