Demo Data from EDBT 2026 / reviewers in the wild / expert
Michael W. Fagan
dblp:91/7062
· DBLP profile ↗
7ranked-venue papers
0as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5Software engineering, systems software and programming languages · 1Theory of computation · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Performance modeling and evaluation · 52% Parallel and multicore computing · 20% Memory systems · 20% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
non-uniform memory access |
0.2 | 1 | 2015 | High performance locks for multi-level NUMA systems · PPoPP 2015 |
Parallel and multicore computing
synchronization |
0.2 | 1 | 2015 | High performance locks for multi-level NUMA systems · PPoPP 2015 |
Performance modeling and evaluation
performance analysis tools |
0.2 | 1 | 2013 | Effective sampling-driven performance tools for GPU-accelerated supercomputers · SC 2013 |
Performance modeling and evaluation › performance diagnosis
performance bottleneck diagnosis |
0.1 | 1 | 2009 | Diagnosing performance bottlenecks in emerging petascale applications · SC 2009 |
Performance modeling and evaluation › profiling
sampling-based profiling |
0.1 | 1 | 2009 | Diagnosing performance bottlenecks in emerging petascale applications · SC 2009 |
Performance modeling and evaluation
analytical modeling |
0.1 | 1 | 2015 | High performance locks for multi-level NUMA systems · PPoPP 2015 |
Performance modeling and evaluation
workload characterization |
0.0 | 1 | 2013 | Effective sampling-driven performance tools for GPU-accelerated supercomputers · SC 2013 |
High-performance computing › supercomputing
petascale computing |
0.0 | 1 | 2009 | Diagnosing performance bottlenecks in emerging petascale applications · SC 2009 |
Methods — techniques the papers use, named apart from their topics
queueing lock analysis · 0.2sampling · 0.2instrumentation · 0.2sampling-based profiling · 0.1dynamic calling context analysis · 0.1binary analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | High performance locks for multi-level NUMA systemsabstractEfficient locking mechanisms are critically important for high performance computers. On highly-threaded systems with a deep memory hierarchy, the throughput of traditional queueing locks, e.g., MCS locks, falls off due to NUMA effects. Two-level cohort locks perform better on NUMA systems, but fail to deliver top performance for deep NUMA hierarchies. In this paper, we describe a hierarchical variant of the MCS lock that adapts the principles of cohort locking for architectures with deep NUMA hierarchies. We describe analytical models for throughput and fairness of Cohort-MCS (C-MCS) and Hierarchical MCS (HMCS) locks that enable us to tailor these locks for high performance on any target platform without empirical tuning. Using these models, one can select parameters such that an HMCS lock will deliver better fairness than a C-MCS lock for a given throughput, or deliver better throughput for a given fairness. Our experiments show that, under high contention, a three-level HMCS lock delivers up to 7.6x higher lock throughput than a C-MCS lock on a 128-thread IBM Power 755 and a five-level HMCS lock delivers up to 72x higher lock throughput on a 4096-thread SGI UV 1000. On the K-means clustering code from the MineBench suit, a three-level HMCS lock reduces the running time by up to 55% compared to the C-MCS lock on a IBM Power 755. Milind Chabbi, Michael W. Fagan, John M. Mellor-Crummey |
PPoPP | 2 |
| 2013 | A new approach for performance analysis of openMP programsabstractThe number of hardware threads is growing with each new generation of multicore chips; thus, one must effectively use threads to fully exploit emerging processors. OpenMP is a popular directive-based programming model that helps programmers exploit thread-level parallelism. In this paper, we describe the design and implementation of a novel performance tool for OpenMP. Our tool distinguishes itself from existing OpenMP performance tools in two principal ways. First, we develop a measurement methodology that attributes blame for work and inefficiency back to program contexts. We show how to integrate prior work on measurement methodologies that employ directed and undirected blame shifting and extend the approach to support dynamic thread-level parallelism in both time-shared and dedicated environments. Second, we develop a novel deferred context resolution method that supports online attribution of performance metrics to full calling contexts within an OpenMP program execution. This approach enables us to collect compact call path profiles for OpenMP program executions without the need for traces. Support for our approach is an integral part of an emerging standard performance tool application programming interface for OpenMP. We demonstrate the effectiveness of our approach by applying our tool to analyze four well-known application benchmarks that cover the spectrum of OpenMP features. In case studies with these benchmarks, insights from our tool helped us significantly improve the performance of these codes. Xu Liu 0001, John M. Mellor-Crummey, Michael W. Fagan |
ICS | 3 |
| 2013 | Effective sampling-driven performance tools for GPU-accelerated supercomputersabstractPerformance analysis of GPU-accelerated systems requires a system-wide view that considers both CPU and GPU components. In this paper, we describe how to extend system-wide, sampling-based performance analysis methods to GPU-accelerated systems. Since current GPUs do not support sampling, our implementation required careful coordination of instrumentation-based performance data collection on GPUs with sampling-based methods employed on CPUs. In addition, we also introduce a novel technique for analyzing systemic idleness in CPU/GPU systems. We demonstrate the effectiveness of our techniques with application case studies on Titan and Keeneland. Some of the highlights of our case studies are: 1) we improved performance for LULESH 1.0 by 30%, 2) we identified a hardware performance problem on Keeneland, 3) we identified a scaling problem in LAMMPS derived from CUDA initialization, and 4) we identified a performance problem that is caused by GPU synchronization operations that suffer delays due to blocking system calls. Milind Chabbi, Karthik Murthy, Michael W. Fagan, John M. Mellor-Crummey |
SC | 3 |
| 2010 | HPCTOOLKIT: tools for performance analysis of optimized parallel programsabstractAbstract HPCT OOLKIT is an integrated suite of tools that supports measurement, analysis, attribution, and presentation of application performance for both sequential and parallel programs. HPCT OOLKIT can pinpoint and quantify scalability bottlenecks in fully optimized parallel programs with a measurement overhead of only a few percent. Recently, new capabilities were added to HPCT OOLKIT for collecting call path profiles for fully optimized codes without any compiler support, pinpointing and quantifying bottlenecks in multithreaded programs, exploring performance information and source code using a new user interface, and displaying hierarchical space–time diagrams based on traces of asynchronous call path samples. This paper provides an overview of HPCT OOLKIT and illustrates its utility for performance analysis of parallel applications. Copyright © 2009 John Wiley & Sons, Ltd. Laksono Adhianto, Michael W. Fagan, Mark W. Krentel, Gabriel Marin, John M. Mellor-Crummey, Nathan R. Tallent |
Concurr. Comput. Pract. Exp. | 3 |
| 2009 | Binary analysis for measurement and attribution of program performanceabstractModern programs frequently employ sophisticated modular designs. As a result, performance problems cannot be identified from costs attributed to routines in isolation; understanding code performance requires information about a routine's calling context. Existing performance tools fall short in this respect. Prior strategies for attributing context-sensitive performance at the source level either compromise measurement accuracy, remain too close to the binary, or require custom compilers. To understand the performance of fully optimized modular code, we developed two novel binary analysis techniques: 1) on-the-fly analysis of optimized machine code to enable minimally intrusive and accurate attribution of costs to dynamic calling contexts; and 2) post-mortem analysis of optimized machine code and its debugging sections to recover its program structure and reconstruct a mapping back to its source code. By combining the recovered static program structure with dynamic calling context information, we can accurately attribute performance metrics to calling contexts, procedures, loops, and inlined instances of procedures. We demonstrate that the fusion of this information provides unique insight into the performance of complex modular codes. This work is implemented in the HPCToolkit performance tools (http://hpctoolkit.org). Nathan R. Tallent, John M. Mellor-Crummey, Michael W. Fagan |
PLDI | 3 |
| 2009 | Diagnosing performance bottlenecks in emerging petascale applicationsabstractCutting-edge science and engineering applications require petascale computing. It is, however, a significant challenge to use petascale computing platforms effectively. Consequently, there is a critical need for performance tools that enable scientists to understand impediments to performance on emerging petascale systems. In this paper, we describe HPCToolkit---a suite of multi-platform tools that supports sampling-based analysis of application performance on emerging petascale platforms. HPCToolkit uses sampling to pinpoint and quantify both scaling and node performance bottlenecks. We study several emerging petascale applications on the Cray XT and IBM BlueGene/P platforms and use HPCToolkit to identify specific source lines --- in their full calling context --- associated with performance bottlenecks in these codes. Such information is exactly what application developers need to know to improve their applications to take full advantage of the power of petascale systems. Nathan R. Tallent, John M. Mellor-Crummey, Laksono Adhianto, Michael W. Fagan, Mark W. Krentel |
SC | 4 |
| 2008 | OpenAD/F: A Modular Open-Source Tool for Automatic Differentiation of Fortran CodesabstractThe Open/ADF tool allows the evaluation of derivatives of functions defined by a Fortran program. The derivative evaluation is performed by a Fortran code resulting from the analysis and transformation of the original program that defines the function of interest. Open/ADF has been designed with a particular emphasis on modularity, flexibility, and the use of open source components. While the code transformation follows the basic principles of automatic differentiation, the tool implements new algorithmic approaches at various levels, for example, for basic block preaccumulation and call graph reversal. Unlike most other automatic differentiation tools, Open/ADF uses components provided by the Open/AD framework, which supports a comparatively easy extension of the code transformations in a language-independent fashion. It uses code analysis results implemented in the OpenAnalysis component. The interface to the language-independent transformation engine is an XML-based format, specified through an XML schema. The implemented transformation algorithms allow efficient derivative computations using locally optimized cross-country sequences of vertex, edge, and face elimination steps. Specifically, for the generation of adjoint codes, Open/ADF supports various code reversal schemes with hierarchical checkpointing at the subroutine level. As an example from geophysical fluid dynamics, a nonlinear time-dependent scalable, yet simple, barotropic ocean model is considered. OpenAD/F's reverse mode is applied to compute sensitivities of some of the model's transport properties with respect to gridded fields such as bottom topography as independent (control) variables. Jean Utke, Uwe Naumann, Michael W. Fagan, Nathan R. Tallent, Michelle Mills Strout, Patrick Heimbach, Chris Hill, Carl Wunsch |
ACM Trans. Math. Softw. | 3 |