VPA '15Pub Date : 2015-11-15DOI: 10.1145/2835238.2835241
An Huynh, D. Thain, M. Pericàs, K. Taura
{"title":"DAGViz: a DAG visualization tool for analyzing task-parallel program traces","authors":"An Huynh, D. Thain, M. Pericàs, K. Taura","doi":"10.1145/2835238.2835241","DOIUrl":"https://doi.org/10.1145/2835238.2835241","url":null,"abstract":"In task-based parallel programming, programmers can expose logical parallelism of their programs by creating fine-grained tasks at arbitrary places in their code. All other burdens in the parallel execution of these tasks such as thread management, task scheduling, and load balancing are handled automatically by runtime systems. This kind of parallel programming model has been conceived as a promising paradigm that brings intricate parallel programming techniques to a larger audience of programmers because of its high programmability. There have been many languages (e.g., OpenMP, Cilk Plus) and libraries (e.g, Intel TBB, Qthreads, MassiveThreads) supporting task parallelism. However, the nondeterministic nature of task parallel execution which hides runtime scheduling mechanisms from programmers has made it difficult for programmers to understand the cause of suboptimal performance of their programs. As an effort to tackle this problem, and also to clarify differences between task parallel runtime systems, we have developed a toolset that captures and visualizes the trace of an execution of a task parallel program in the form of a directed acyclic graph (DAG). A computation DAG of a task parallel program's run is extracted automatically by our lightweight portable wrapper around all five systems which incurs no intervention into the target systems' code. The DAG is stored in a file and then visualized to analyze performance. We leverage the hierarchical structure of the DAG to enhance the DAG file format and DAG visualization, and make them manageable even with a huge DAG of arbitrarily large numbers of nodes. This DAG visualization provides a task-centric view of the program, which is different from other popular visualizations such as thread-centric timeline visualization and code-centric hotspots analysis. Besides, DAGViz also provides an additional timeline visualization which is constructed by individual nodes of the DAG, and is useful in coordinating user attention to low-parallelism areas on the DAG. We demonstrate usefulness of our DAG visualizations in some case studies. We expect to build other kinds of effective visualizations based on this computation DAG in future work, and make DAGViz an effective tool supporting the process of analyzing task parallel performance and developing scheduling algorithms for task parallel runtime schedulers.","PeriodicalId":232423,"journal":{"name":"VPA '15","volume":"2000 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128796474","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
VPA '15Pub Date : 2015-11-15DOI: 10.1145/2835238.2835243
Benafsh Husain, Alfredo Giménez, J. Levine, T. Gamblin, P. Bremer
{"title":"Relating memory performance data to application domain data using an integration API","authors":"Benafsh Husain, Alfredo Giménez, J. Levine, T. Gamblin, P. Bremer","doi":"10.1145/2835238.2835243","DOIUrl":"https://doi.org/10.1145/2835238.2835243","url":null,"abstract":"Understanding performance data, and more specifically memory access pattern is essential in optimizing scientific applications. Among the various factors affecting performance, such as the hardware architecture, the algorithms, or the system software stack, performance is also often related to the applications' physics. While there exists a number of techniques to collect relevant performance metrics, such as number of cache misses, traditional tools almost exclusively present this data relative to the code or as abstract tuples. This can obscure the data dependent nature of performance bottlenecks and make root-cause analysis difficult. Here we take advantage of the fact that a large class of applications are defined over some domain discretized by a mesh. By projecting the performance data directly onto these meshes, we enable developers to explore the performance data in the context of their application resulting in more intuitive visualizations. We introduce a lightweight, general interface to couple a performance visualization tool, MemAxes, to an external visualization tool, VisIt. This allows us to harness the advanced analytic capabilities of MemAxes to drive the exploration while exploiting the capabilities of VisIt to visualize both application and performance data in the application domain.","PeriodicalId":232423,"journal":{"name":"VPA '15","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127394599","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
VPA '15Pub Date : 2015-11-15DOI: 10.1145/2835238.2835240
Blake Haugen, Stephen Richmond, J. Kurzak, C. Steed, J. Dongarra
{"title":"Visualizing execution traces with task dependencies","authors":"Blake Haugen, Stephen Richmond, J. Kurzak, C. Steed, J. Dongarra","doi":"10.1145/2835238.2835240","DOIUrl":"https://doi.org/10.1145/2835238.2835240","url":null,"abstract":"Task-based scheduling has emerged as one method to reduce the complexity of parallel computing. When using task-based schedulers, developers must frame their computation as a series of tasks with various data dependencies. The scheduler can take these tasks, along with their input and output dependencies, and schedule the task in parallel across a node or cluster. While these schedulers simplify the process of parallel software development, they can obfuscate the performance characteristics of the execution of an algorithm.\u0000 The execution trace has been used for many years to give developers a visual representation of how their computations are performed. These methods can be employed to visualize when and where each of the tasks in a task-based algorithm is scheduled. In addition, the task dependencies can be used to create a directed acyclic graph (DAG) that can also be visualized to demonstrate the dependencies of the various tasks that make up a workload. The work presented here aims to combine these two data sets and extend execution trace visualization to better suit task-based workloads.\u0000 This paper presents a brief description of task-based schedulers and the performance data they produce. It will then describe an interactive extension to the current trace visualization methods that combines the trace and DAG data sets. This new tool allows users to gain a greater understanding of how their tasks are scheduled. It also provides a simplified way for developers to evaluate and debug the performance of their scheduler.","PeriodicalId":232423,"journal":{"name":"VPA '15","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121546529","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
VPA '15Pub Date : 2015-11-15DOI: 10.1145/2835238.2835242
Laura von Rueden, Marc-André Hermanns, M. Behrisch, D. Keim, B. Mohr, F. Wolf
{"title":"Separating the wheat from the chaff: identifying relevant and similar performance data with visual analytics","authors":"Laura von Rueden, Marc-André Hermanns, M. Behrisch, D. Keim, B. Mohr, F. Wolf","doi":"10.1145/2835238.2835242","DOIUrl":"https://doi.org/10.1145/2835238.2835242","url":null,"abstract":"Performance-analysis tools are indispensable for understanding and optimizing the behavior of parallel programs running on increasingly powerful supercomputers. However, with size and complexity of hardware and software on the rise, performance data sets are becoming so voluminous that their analysis poses serious challenges. In particular, the search space that must be traversed and the number of individual performance views that must be explored to identify phenomena of interest becomes too large. To mitigate this problem, we use visual analytics. Specifically, we accelerate the analysis of performance profiles by automatically identifying (1) relevant and (2) similar data subsets and their performance views. We focus on views of the virtual-process topology, showing that their relevance can be well captured with visual-quality metrics and that they can be further assigned to topical groups according to their visual features. A case study demonstrates that our approach helps reduce the search space by up to 80%.","PeriodicalId":232423,"journal":{"name":"VPA '15","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122245800","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
VPA '15Pub Date : 2015-11-15DOI: 10.1145/2835238.2835239
David Beniamine, M. Diener, Guillaume Huard, P. Navaux
{"title":"TABARNAC: visualizing and resolving memory access issues on NUMA architectures","authors":"David Beniamine, M. Diener, Guillaume Huard, P. Navaux","doi":"10.1145/2835238.2835239","DOIUrl":"https://doi.org/10.1145/2835238.2835239","url":null,"abstract":"In modern parallel architectures, memory accesses represent a common bottleneck. Thus, optimizing the way applications access the memory is an important way to improve performance and energy consumption. Memory accesses are even more important with NUMA machines, as the access time to data depends on its location in the memory. Many efforts were made to develop adaptive tools to improve memory accesses at the runtime by optimizing the mapping of data and threads to NUMA nodes. However, theses tools are not able to change the memory access pattern of the original application, therefore a code written without considering memory performance might not benefit from them. Moreover, automatic mapping tools take time to converge towards the best mapping, losing optimization opportunities. A deeper understanding of the memory behavior can help optimizing it, removing the need for runtime analysis.\u0000 In this paper, we present TABARNAC, a tool for analyzing the memory behavior of parallel applications with a focus on NUMA architectures. TABARNAC provides a new visualization of the memory access behavior, focusing on the distribution of accesses by thread and by structure. Such visualization allows the developer to easily understand why performance issues occur and how to fix them. Using TABARNAC, we explain why some applications do not benefit from data and thread mapping. Moreover, we propose several code modifications to improve the memory access behavior of several parallel applications.","PeriodicalId":232423,"journal":{"name":"VPA '15","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132825036","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}