Formalizing Data Locality in Task Parallel Applications

Author(s):  
Germán Ceballos ◽  
Erik Hagersten ◽  
David Black-Schaffer
Author(s):  
Jing Chen ◽  
Pirah Noor Soomro ◽  
Mustafa Abduljabbar ◽  
Madhavan Manivannan ◽  
Miquel Pericas

2013 ◽  
Vol 21 (3-4) ◽  
pp. 123-136 ◽  
Author(s):  
Stephen L. Olivier ◽  
Bronis R. de Supinski ◽  
Martin Schulz ◽  
Jan F. Prins

Task parallelism raises the level of abstraction in shared memory parallel programming to simplify the development of complex applications. However, task parallel applications can exhibit poor performance due to thread idleness, scheduling overheads, andwork time inflation– additional time spent by threads in a multithreaded computation beyond the time required to perform the same work in a sequential computation. We identify the contributions of each factor to lost efficiency in various task parallel OpenMP applications and diagnose the causes of work time inflation in those applications. Increased data access latency can cause significant work time inflation in NUMA systems. Our locality framework for task parallel OpenMP programs mitigates this cause of work time inflation. Our extensions to the Qthreads library demonstrate that locality-aware scheduling can improve performance up to 3X compared to the Intel OpenMP task scheduler.


2009 ◽  
Vol 180 ◽  
pp. 012046 ◽  
Author(s):  
Michael Wilde ◽  
Ioan Raicu ◽  
Allan Espinosa ◽  
Zhao Zhang ◽  
Ben Clifford ◽  
...  

2019 ◽  
Vol 5 ◽  
pp. e190 ◽  
Author(s):  
Bérenger Bramas

The task-based approach has emerged as a viable way to effectively use modern heterogeneous computing nodes. It allows the development of parallel applications with an abstraction of the hardware by delegating task distribution and load balancing to a dynamic scheduler. In this organization, the scheduler is the most critical component that solves the DAG scheduling problem in order to select the right processing unit for the computation of each task. In this work, we extend our Heteroprio scheduler that was originally created to execute the fast multipole method on multi-GPUs nodes. We improve Heteroprio by taking into account data locality during task distribution. The main principle is to use different task-lists for the different memory nodes and to investigate how locality affinity between the tasks and the different memory nodes can be evaluated without looking at the tasks’ dependencies. We evaluate the benefit of our method on two linear algebra applications and a stencil code. We show that simple heuristics can provide significant performance improvement and cut by more than half the total memory transfer of an execution.


2008 ◽  
Vol 24 (5) ◽  
pp. 354-370 ◽  
Author(s):  
Sven Schulz ◽  
Wolfgang Blochinger ◽  
Markus Held ◽  
Clemens Dangelmayr

2006 ◽  
Vol 5 (2) ◽  
pp. 81-94 ◽  
Author(s):  
Wolfgang Blochinger ◽  
Michael Kaufmann ◽  
Martin Siebenhaller

This paper deals with a visualization-based approach to performance analyzing and tuning of highly irregular task-parallel applications. At its core lies a novel automatic layout algorithm for execution graphs which is based on Sugiyama's framework. Our visualization enables the application designer to reliably detect manifestations of parallel overhead and to investigate on their individual root causes. We particularly focus on structural properties of task-parallel computations which are hard to detect in a more analytical way, for example, false sharing and false parallelism. In addition, we discuss embedding our visualization into an integrated development environment, realizing a seamless work-flow for implementation, execution, analysis, and tuning of parallel programs.


2020 ◽  
Vol 138 ◽  
pp. 55-64 ◽  
Author(s):  
Jannis Klinkenberg ◽  
Philipp Samfass ◽  
Michael Bader ◽  
Christian Terboven ◽  
Matthias S. Müller

Sign in / Sign up

Export Citation Format

Share Document