Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00015
A. Calotoiu, M. Geisenhofer, F. Kummer, M. Ritter, Jens Weber, T. Hoefler, M. Oberlack, F. Wolf
{"title":"Empirical Modeling of Spatially Diverging Performance","authors":"A. Calotoiu, M. Geisenhofer, F. Kummer, M. Ritter, Jens Weber, T. Hoefler, M. Oberlack, F. Wolf","doi":"10.1109/HUSTProtools51951.2020.00015","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00015","url":null,"abstract":"A common simplification made when modeling the performance of a parallel program is the assumption that the performance behavior of all processes or threads is largely uniform. Empirical performance-modeling tools such as Extra-P exploit this common pattern to make their modeling process more noise resilient, mitigating the effect of outliers by summarizing performance measurements of individual functions across all processes. While the underlying assumption does not equally hold for all applications, knowing the qualitative differences in how the performance of individual processes changes as execution parameters are varied can reveal important performance bottlenecks such as malicious patterns of load imbalance. A challenge for empirical modeling tools, however, arises from the fact that the behavioral class of a process may depend on the process configuration, letting process ranks migrate between classes as the number of processes grows. In this paper, we introduce a novel approach to the problem of modeling of spatially diverging performance based on a certain type of process clustering. We apply our technique to identify a previously unknown performance bottleneck in the BoSSS fluid-dynamics code. Removing it made the code regions in question running up to 20 times and the application as a whole run up to 4.5 times faster.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"13 1","pages":"71-80"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80718273","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00012
Camille Coti, J. Denny, K. Huck, Seyong Lee, A. Malony, S. Shende, J. Vetter
{"title":"OpenACC Profiling Support for Clang and LLVM using Clacc and TAU","authors":"Camille Coti, J. Denny, K. Huck, Seyong Lee, A. Malony, S. Shende, J. Vetter","doi":"10.1109/HUSTProtools51951.2020.00012","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00012","url":null,"abstract":"Since its launch in 2010, OpenACC has evolved into one of the most widely used portable programming models for accelerators on HPC systems today. Clacc is a project funded by the US Exascale Computing Project (ECP) to bring OpenACC support for C and C++ to the popular Clang and LLVM compiler infrastructure. In this paper, we describe Clacc’s support for the OpenACC Profiling Interface, a critical component of the OpenACC specification that standardizes an interface that profiling tools and libraries can depend upon across OpenACC implementations. As part of Clacc’s general strategy to build OpenACC support upon OpenMP, we describe how Clacc builds OpenACC Profiling Interface support upon an extended version of OMPT. We then describe how a major profiling and tracing toolkit within ECP, the TAU Performance System, takes advantage of this support. We also describe TAU’s selective instrumentation support for OpenACC. Finally, using Clacc and TAU, we present example visualizations for several SPEC ACCEL OpenACC benchmarks running on an IBM AC922 node, and we show that the associated performance overhead is negligible.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"5 1","pages":"38-48"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83770689","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00009
B. Driscoll, Zhengji Zhao
{"title":"Automation of NERSC Application Usage Report","authors":"B. Driscoll, Zhengji Zhao","doi":"10.1109/HUSTProtools51951.2020.00009","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00009","url":null,"abstract":"Tracking and monitoring the applications run on the NERSC super computers is an important endeavor central to understanding NERSC workloads, providing targeted application support, and predicting future software needs. Annually and upon request, we report to our stakeholder, the Department of Energy (DOE), how computing cycles are split between applications, repositories (projects), DOE offices, and Science Categories. In the past, generating the application usage report was a time consuming process and required much duplication of work from year to year. The results yielded were not extensible to new date ranges nor readily available to curious developers who wanted to see how their programs were being used and how that use compared to the use of other programs over time. This work aimed to streamline the application usage data retrieval and presentation process and remedy these inconveniences. Our work has made it possible for anyone on the web to view a NERSC application usage report for any date range of interest. The website we created can generate a machine time breakdown by applications, repositories, DOE Offices, or Science Categories for any given time period in less than 15 seconds.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"67 1","pages":"10-18"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83161997","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00016
Gen Xu, H. Ibeid, Xin Jiang, V. Svilan, Zhaojuan Bian
{"title":"Simulation-Based Performance Prediction of HPC Applications: A Case Study of HPL","authors":"Gen Xu, H. Ibeid, Xin Jiang, V. Svilan, Zhaojuan Bian","doi":"10.1109/HUSTProtools51951.2020.00016","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00016","url":null,"abstract":"We propose a simulation-based approach for performance modeling of parallel applications on high-performance computing platforms. Our approach enables full-system performance modeling: (1) the hardware platform is represented by an abstract yet high-fidelity model; (2) the computation and communication components are simulated at a functional level, where the simulator allows the use of the components native interface; this results in a (3) fast and accurate simulation of full HPC applications with minimal modifications to the application source code. This hardware/software hybrid modeling methodology allows for low overhead, fast, and accurate exascale simulation and can be easily carried out on a standard client platform (desktop or laptop). We demonstrate the capability and scalability of our approach with High Performance LINPACK (HPL), the benchmark used to rank supercomputers in the TOP500 list. Our results show that our modeling approach can accurately and efficiently predict the performance of HPL at the scale of the TOP500 list supercomputers. For instance, the simulation of HPL on Frontera takes less than five hours with an error rate of four percent.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"6 1","pages":"81-88"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85324201","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00011
A. Maji, Lev Gorenstein, Geoffrey Lentner
{"title":"Demystifying Python Package Installation with conda-env-mod","authors":"A. Maji, Lev Gorenstein, Geoffrey Lentner","doi":"10.1109/HUSTProtools51951.2020.00011","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00011","url":null,"abstract":"Novice users face significant challenges while installing and using Python packages in an HPC environment. Due to the inherent design of tools like Pip and Conda and how packages look for libraries, installing Python packages as a non-root user is complicated and often leads to broken packages with conflicting dependencies. With the growing popularity of Python in the HPC community, supporting users with their package installation needs is an evolving issue for the HPC center staff. In this paper, we present the design and implementation of conda-env-mod—a tool for simplifying the installation and use of Python packages in HPC clusters. conda-env-mod simplifies and streamlines the creation of virtual environments and provides users with environment modules for activating the environments. Users can install individual packages into isolated environments reducing chances of conflict (both current and future) and can activate multiple environments using modules as needed. After users load necessary modules, they can simply run pip and conda to install packages just like they would on their desktop. It also helps create Jupyter kernels and allows users to use external packages in a central JupyterHub installation with ease. conda-env-mod hides the complexity of configuring the package managers and setting up the users’ runtime environments and, thereby, reduces the barriers for novice Python users. Over the last three months (June-August, 2020), more than 160 users have used conda-env-mod to install and manage custom Python packages, while our deep learning package installations, facilitated by conda-env-mod, have been used by 60 plus users.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"3 1","pages":"27-37"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90230829","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/hustprotools51951.2020.00005
{"title":"Message from the ProTools 2020 Workshop Chairs","authors":"","doi":"10.1109/hustprotools51951.2020.00005","DOIUrl":"https://doi.org/10.1109/hustprotools51951.2020.00005","url":null,"abstract":"","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"117 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75759685","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}
{"title":"HPC Software Tracking Strategies for a Diverse Workload","authors":"Heechang Na, Zhi-Qiang You, Troy Baer, Shameema Oottikkal, Trey Dockendorf, Scott Brozell","doi":"10.1109/HUSTProtools51951.2020.00008","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00008","url":null,"abstract":"This paper discusses and reviews various tools that Ohio Supercomputer Center (OSC) uses for tracking High-Performance Computing (HPC) software usage. Tracking software usage is a key element to support a diverse user community. OSC maintains three data pools: batch job database, data from user executions, and license server logs. We utilize various tools and databases to collect, store and analyze software usage data. These includes pbsacct, Spark, XALT, Lmod, Splunk, License log, Ganglia, and Prometheus/Grafana. We discuss the coverage and gaps for each pool and present some use cases.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"12 1","pages":"1-9"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81266431","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}
Meta: AvaliacaoPub Date : 2020-11-01DOI: 10.1109/HUSTProtools51951.2020.00013
S. Brink, Ian Lumsden, Connor Scully-Allison, Katy Williams, Olga Pearce, T. Gamblin, M. Taufer, Katherine E. Isaacs, A. Bhatele
{"title":"Usability and Performance Improvements in Hatchet","authors":"S. Brink, Ian Lumsden, Connor Scully-Allison, Katy Williams, Olga Pearce, T. Gamblin, M. Taufer, Katherine E. Isaacs, A. Bhatele","doi":"10.1109/HUSTProtools51951.2020.00013","DOIUrl":"https://doi.org/10.1109/HUSTProtools51951.2020.00013","url":null,"abstract":"Performance analysis is critical for pinpointing bottlenecks in parallel applications. Several profilers exist to instrument parallel programs on HPC systems and gather performance data. Hatchet is an open-source Python library that can read profiling output of several tools, and enables the user to perform a variety of programmatic analyses on hierarchical performance profiles. In this paper, we augment Hatchet to support new features: a query language for representing call path patterns that can be used to filter a calling context tree, visualization support for displaying and interacting with performance profiles, and new operations for performing analyses on multiple datasets. Additionally, we present performance optimizations in Hatchet’s HPCToolkit reader and the unify operation to enable scalable analysis of large datasets.","PeriodicalId":38836,"journal":{"name":"Meta: Avaliacao","volume":"49 1","pages":"49-58"},"PeriodicalIF":0.0,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80757964","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}