Demo Data from VLDB 2026 / reviewers in the wild / expert
Paul Hargrove
dblp:01/1703 · also Paul H. Hargrove
· DBLP profile ↗
14ranked-venue papers
0as first author
0since 2021 · last 2019
0000-0001-6691-5287ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 12Software engineering, systems software and programming languages · 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 |
Parallel and multicore computing · 36% High-performance computing · 35% Cloud and datacenter computing · 18% | |
| Software engineering, system software, and programming languages
1 paper |
Concurrent programming · 50% Program analysis · 50% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Cloud and datacenter computing › datacenter operations
node failure prediction |
0.3 | 1 | 2018 | Doomsday: predicting which node will fail when on supercomputers · SC 2018 |
High-performance computing › system resilience
supercomputer reliability |
0.3 | 1 | 2018 | Doomsday: predicting which node will fail when on supercomputers · SC 2018 |
Parallel and multicore computing › parallel computing › parallel program debugging
deterministic replay |
0.2 | 1 | 2016 | OPR: deterministic group replay for one-sided communication · PPoPP 2016 |
Parallel and multicore computing › parallel computing › parallel communication
one-sided communication |
0.2 | 1 | 2016 | OPR: deterministic group replay for one-sided communication · PPoPP 2016 |
Concurrent programming › concurrency bug detection
data race detection |
0.1 | 1 | 2011 | Efficient data race detection for distributed memory parallel programs · SC 2011 |
Program analysis
dynamic analysis |
0.1 | 1 | 2011 | Efficient data race detection for distributed memory parallel programs · SC 2011 |
Distributed systems › fault tolerance › proactive fault tolerance
failure prediction |
0.1 | 1 | 2018 | Doomsday: predicting which node will fail when on supercomputers · SC 2018 |
Distributed systems
fault tolerance |
0.1 | 1 | 2016 | OPR: deterministic group replay for one-sided communication · PPoPP 2016 |
High-performance computing
collective communication |
0.1 | 1 | 2006 | Poster reception - Optimized collectives for PGAS languages with one-sided communication · SC 2006 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2006 | Poster reception - Optimized collectives for PGAS languages with one-sided communication · SC 2006 |
Parallel and multicore computing › parallel programming models › distributed memory programming models
partitioned global address space |
0.1 | 1 | 2006 | Poster reception - Optimized collectives for PGAS languages with one-sided communication · SC 2006 |
Parallel and multicore computing › parallel computing › parallel programming languages
unified parallel c |
0.0 | 1 | 2011 | Efficient data race detection for distributed memory parallel programs · SC 2011 |
Distributed systems › distributed communication
communication patterns |
0.0 | 1 | 2006 | Poster reception - Optimized collectives for PGAS languages with one-sided communication · SC 2006 |
Methods — techniques the papers use, named apart from their topics
thread schedule control · 0.2record and replay · 0.2dynamic analysis · 0.2deterministic replay · 0.2one-sided communication · 0.1benchmarking · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | UPC++: A High-Performance Communication Framework for Asynchronous ComputationabstractUPC++ is a C++ library that supports high-performance computation via an asynchronous communication framework. This paper describes a new incarnation that differs substantially from its predecessor, and we discuss the reasons for our design decisions. We present new design features, including future-based asynchrony management, distributed objects, and generalized Remote Procedure Call (RPC). We show microbenchmark performance results demonstrating that one-sided Remote Memory Access (RMA) in UPC++ is competitive with MPI-3 RMA; on a Cray XC40 UPC++ delivers up to a 25% improvement in the latency of blocking RMA put, and up to a 33% bandwidth improvement in an RMA throughput test. We showcase the benefits of UPC++ with irregular applications through a pair of application motifs, a distributed hash table and a sparse solver component. Our distributed hash table in UPC++ delivers near-linear weak scaling up to 34816 cores of a Cray XC40. Our UPC++ implementation of the sparse solver component shows robust strong scaling up to 2048 cores, where it outperforms variants communicating using MPI by up to 3.1x. UPC++ encourages the use of aggressive asynchrony in low overhead RMA and RPC, improving programmer productivity and delivering high performance in irregular applications. John Bachan, Scott B. Baden, Steven Hofmeyr, Mathias Jacquelin, Amir Kamil, Dan Bonachea, Paul Hargrove, Hadia Ahmed |
IPDPS | 7 |
| 2018 | Doomsday: predicting which node will fail when on supercomputers
Anwesha Das 0001, Frank Mueller 0001, Paul Hargrove, Eric Roman, Scott B. Baden |
SC | 3 |
| 2017 | DINO: Divergent node cloning for sustained redundancy in HPC
Arash Rezaei, Frank Mueller 0001, Paul Hargrove, Eric Roman |
J. Parallel Distributed Comput. | 3 |
| 2016 | SReplay: Deterministic Sub-Group Replay for One-Sided CommunicationabstractReplay of parallel execution is required by HPC debuggers and resilience mechanisms. Up-to-date, there is no existing deterministic replay solution for one-sided communication. The essential problem is that the readers of updated data do not have any information on which remote threads produced the updates, the conventional happens-before based ordering tracking techniques are challenging to work at scale. This paper presents SReplay, the first software tool for sub-group deterministic record and replay for one-sided communication. SReplay allows the user to specify and record the execution of a set of threads of interest (sub-group), and then deterministically replays the execution of the sub-group on a local machine without starting the remaining threads. SReplay ensures sub-group determinism using a hybrid data- and order-replay technique. SReplay maintains scalability by a combination of local logging and approximative event order tracking within sub-group. Our evaluation on deterministic and nondeterministic UPC programs shows that SReplay introduces an overhead ranging from 1.3x to 29x, when running on 1,024 cores and tracking up to 16 threads. Xuehai Qian, Koushik Sen, Paul Hargrove, Costin Iancu |
ICS | 3 |
| 2016 | A Hartree-Fock Application Using UPC++ and the New DArray LibraryabstractThe Hartree-Fock (HF) method is the fundamental first step for incorporating quantum mechanics into many-electron simulations of atoms and molecules, and it is an important component of computational chemistry toolkits like NWChem. The GTFock code is an HF implementation that, while it does not have all the features in NWChem, represents crucial algorithmic advances that reduce communication and improve load balance by doing an up-front static partitioning of tasks, followed by work stealing whenever necessary. To enable innovations in algorithms and exploit next generation exascale systems, it is crucial to support quantum chemistry codes using expressive and convenient programming models and runtime systems that are also efficient and scalable. This paper presents an HF implementation similar to GTFock using UPC++, a partitioned global address space model that includes flexible communication, asynchronous remote computation, and a powerful multidimensional array library. UPC++ offers runtime features that are useful for HF such as active messages, a rich calculus for array operations, hardware-supported fetch-and-add, and functions for ensuring asynchronous runtime progress. We present a new distributed array abstraction, DArray, that is convenient for the kinds of random-access array updates and linear algebra operations on block-distributed arrays with irregular data ownership. We analyze the performance of atomic fetch-and-add operations (relevant for load balancing) and runtime attentiveness, then compare various techniques and optimizations for each. Our optimized implementation of HF using UPC++ and the DArrays library shows up to 20% improvement over GTFock with Global Arrays at scales up to 24,000 cores. David Ozog, Amir Kamil, Yili Zheng, Paul Hargrove, Jeff R. Hammond, Allen D. Malony, Wibe de Jong, Katherine A. Yelick |
IPDPS | 4 |
| 2016 | OPR: deterministic group replay for one-sided communicationabstractThe ability to reproduce a parallel execution is desirable for debugging and program reliability purposes. In debugging (13), the programmer needs to manually step back in time, while for resilience (6) this is automatically performed by the the application upon failure. To be useful, replay has to faithfully reproduce the original execution. For parallel programs the main challenge is inferring and maintaining the order of conflicting operations (data races). Deterministic record and replay (R&R) techniques have been developed for multithreaded shared memory programs (5), as well as distributed memory programs (14). Our main interest is techniques for large scale scientific (3; 4) programming models. Xuehai Qian, Koushik Sen, Paul Hargrove, Costin Iancu |
PPoPP | 3 |
| 2014 | An Evaluation of One-Sided and Two-Sided Communication Paradigms on Relaxed-Ordering InterconnectabstractThe Cray Gemini interconnect hardware provides multiple transfer mechanisms and out-of-order message delivery to improve communication throughput. In this paper we quantify the performance of one-sided and two-sided communication paradigms with respect to: 1) the optimal available hardware transfer mechanism, 2) message ordering constraints, 3) per node and per core message concurrency. In addition to using Cray native communication APIs, we use UPC and MPI micro-benchmarks to capture one- and two-sided semantics respectively. Our results indicate that relaxing the message delivery order can improve performance up to 4.6x when compared with strict ordering. When hardware allows it, high-level one-sided programming models can already take advantage of message reordering. Enforcing the ordering semantics of two-sided communication comes with a performance penalty. Furthermore, we argue that exposing out-of-order delivery at the application level is required for the next-generation programming models. Any ordering constraints in the language specifications reduce communication performance for small messages and increase the number of active cores required for peak throughput. Khaled Z. Ibrahim, Paul Hargrove, Costin Iancu, Katherine A. Yelick |
IPDPS | 2 |
| 2014 | Affinity-aware checkpoint restartabstractCurrent checkpointing techniques employed to overcome faults for HPC applications result in inferior application performance after restart from a checkpoint for a number of applications. This is due to a lack of page and core affinity awareness of the checkpoint/restart (C/R) mechanism, i.e., application tasks originally pinned to cores may be restarted on different cores, and in case of non-uniform memory architectures (NUMA), quite common today, memory pages associated with tasks on a NUMA node may be associated with a different NUMA node after restart. This work contributes a novel design technique for C/R mechanisms to preserve task-to-core maps and NUMA node specific page affinities across restarts. Experimental results with BLCR, a C/R mechanism, enhanced with affinity awareness demonstrate significant performance benefits of 37%-73% for the NAS Parallel Benchmark codes and 6-12% for NAMD with negligible overheads instead of up to nearly four times longer an execution times without affinity-aware restarts on 16 cores. Ajay Saini, Arash Rezaei, Frank Mueller 0001, Paul Hargrove, Eric Roman |
Middleware | 4 |
| 2011 | Efficient data race detection for distributed memory parallel programsabstractIn this paper we present a precise data race detection technique for distributed memory parallel programs. Our technique, which we call Active Testing, builds on our previous work on race detection for shared memory Java and C programs and it handles programs written using shared memory approaches as well as bulk communication. Active testing works in two phases: in the first phase, it performs an imprecise dynamic analysis of an execution of the program and finds potential data races that could happen if the program is executed with a different thread schedule. In the second phase, active testing re-executes the program by actively controlling the thread schedule so that the data races reported in the first phase can be confirmed. A key highlight of our technique is that it can scalably handle distributed programs with bulk communication and single- and splitphase barriers. Another key feature of our technique is that it is precise---a data race confirmed by active testing is an actual data race present in the program; however, being a testing approach, our technique can miss actual data races. We implement the framework for the UPC programming language and demonstrate scalability up to a thousand cores for programs with both fine-grained and bulk (MPI style) communication. The tool confirms previously known bugs and uncovers several unknown ones. Our extensions capture constructs proposed in several modern programming languages for High Performance Computing, most notably non-blocking barriers and collectives. Chang-Seo Park, Koushik Sen, Paul Hargrove, Costin Iancu |
SC | 3 |
| 2011 | Tuning collective communication for Partitioned Global Address Space programming models
Rajesh Nishtala, Yili Zheng, Paul Hargrove, Katherine A. Yelick |
Parallel Comput. | 3 |
| 2010 | Checkpoint/Restart-Enabled Parallel Debugging
Joshua Hursey, Chris January, Mark O'Connor, Paul Hargrove, David Lecomber, Jeffrey M. Squyres, Andrew Lumsdaine |
EuroMPI | 4 |
| 2009 | CIFTS: A Coordinated Infrastructure for Fault-Tolerant SystemsabstractConsiderable work has been done on providing fault tolerance capabilities for different software components on large-scale high-end computing systems. Thus far, however, these fault-tolerant components have worked insularly and independently and information about faults is rarely shared. Such lack of system-wide fault tolerance is emerging as one of the biggest problems on leadership-class systems. In this paper, we propose a coordinated infrastructure, named CIFTS, that enables system software components to share fault information with each other and adapt to faults in a holistic manner. Central to the CIFTS infrastructure is a Fault Tolerance Backplane (FTB) that enables fault notification and awareness throughout the software stack, including fault-aware libraries, middleware, and applications. We present details of the CIFTS infrastructure and the interface specification that has allowed various software programs, including MPICH2, MVAPICH, Open MPI, and PVFS, to plug into the CIFTS infrastructure. Further, through a detailed evaluation we demonstrate the nonintrusive low-overhead capability of CIFTS that lets applications run with minimal performance degradation. Rinku Gupta, Pete Beckman, Ewing L. Lusk, Paul Hargrove, Al Geist, Dhabaleswar K. Panda 0001, Andrew Lumsdaine, Jack J. Dongarra |
ICPP | 5 |
| 2009 | Scaling communication-intensive applications on BlueGene/P using one-sided communication and overlapabstractIn earlier work, we showed that the one-sided communication model found in PGAS languages (such as UPC) offers significant advantages in communication efficiency by decoupling data transfer from processor synchronization. We explore the use of the PGAS model on IBM BlueGene/P, an architecture that combines low-power, quad-core processors with extreme scalability. We demonstrate that the PGAS model, using a new port of the Berkeley UPC compiler and GASNet one-sided communication layer, outperforms two-sided (MPI) communication in both microbenchmarks and a case study of the communication-limited benchmark, NAS FT. We scale the benchmark up to 16, 384 cores of the BlueGene/P and demonstrate that UPC consistently outperforms MPI by as much as 66% for some processor configurations and an average of 32%. In addition, the results demonstrate the scalability of the PGAS model and the Berkeley implementation of UPC, the viability of using it on machines with multicore nodes, and the effectiveness of the BG/P communication layer for supporting one-sided communication and PGAS languages. Rajesh Nishtala, Paul Hargrove, Dan Bonachea, Katherine A. Yelick |
IPDPS | 2 |
| 2006 | Poster reception - Optimized collectives for PGAS languages with one-sided communicationabstractOptimized collective operations are a crucial performance factor for many scientific applications. This work investigates the design and optimization of collectives in the context of Partitioned Global Address Space (PGAS) languages such as Unified Parallel C (UPC). Languages with one-sided communication permit a more flexible and expressive collective interface with application code, in turn enabling more aggressive optimization and more effective utilization of system resources. We investigate the design tradeoffs in a collectives implementation for UPC, ranging from resource management to synchronization mechanisms and target-dependent selection of optimal communication patterns. Our collectives are implemented in the Berkeley UPC compiler using the GASNet communication system, tuned across a wide variety of supercomputing platforms, and benchmarked against MPI collectives. Special emphasis is placed on the newly added Cray XT3 backend for UPC, whose characteristics are benchmarked in detail. Dan Bonachea, Paul Hargrove, Rajesh Nishtala, Michael L. Welcome, Katherine A. Yelick |
SC | 2 |