VLDB 2026 Research / reviewers in the wild / expert
Donald Nguyen
dblp:48/4701 · also Donald D. Nguyen
· DBLP profile ↗
16ranked-venue papers
4as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 13 · 3 first-authorSoftware engineering, systems software and programming languages · 7 · 4 first-author
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
12 papers |
Parallel and multicore computing · 72% High-performance computing · 14% Electronic design automation · 4% | |
| Software engineering, system software, and programming languages
4 papers |
Concurrent programming · 100% | |
| Theoretical computer science
3 papers |
Graph algorithms and graph theory · 60% Automated reasoning and model checking · 40% |
Topics — the 29 heaviest of 32, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel programming models |
0.5 | 3 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 Deterministic galois: on-demand, portable and parameterless · ASPLOS 2014 The tao of parallelism in algorithms · PLDI 2011 |
Parallel and multicore computing
task scheduling |
0.4 | 2 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 A lightweight infrastructure for graph analytics · SOSP 2013 |
Concurrent programming
transactional memory |
0.3 | 1 | 2017 | What Scalable Programs Need from Transactional Memory · ASPLOS 2017 |
Parallel and multicore computing › transactional memory
transactional memory scalability |
0.3 | 1 | 2017 | What Scalable Programs Need from Transactional Memory · ASPLOS 2017 |
Parallel and multicore computing
parallel graph algorithms |
0.2 | 1 | 2016 | DSMR: a shared and distributed memory algorithm for single-source shortest path problem · PPoPP 2016 |
Parallel and multicore computing › parallel algorithms › graph algorithms
single-source shortest path |
0.2 | 1 | 2016 | DSMR: a shared and distributed memory algorithm for single-source shortest path problem · PPoPP 2016 |
Parallel and multicore computing › parallelizing compiler
dependence graph |
0.2 | 1 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 |
Concurrent programming
deterministic execution |
0.2 | 1 | 2014 | Deterministic galois: on-demand, portable and parameterless · ASPLOS 2014 |
Concurrent programming › concurrency models
nondeterminism |
0.2 | 1 | 2014 | Deterministic galois: on-demand, portable and parameterless · ASPLOS 2014 |
Parallel and multicore computing › deterministic execution
deterministic parallelism |
0.2 | 1 | 2014 | Deterministic galois: on-demand, portable and parameterless · ASPLOS 2014 |
High-performance computing › sparse linear algebra
matrix ordering |
0.2 | 1 | 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction · SC 2014 |
Parallel and multicore computing
parallel algorithms |
0.2 | 1 | 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction · SC 2014 |
High-performance computing › sparse linear algebra
sparse matrix computation |
0.2 | 1 | 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction · SC 2014 |
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication |
0.2 | 1 | 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction · SC 2014 |
Electronic design automation › high-level synthesis
scheduling |
0.2 | 2 | 2014 | Synthesizing concurrent schedulers for irregular algorithms · ASPLOS 2011 Deterministic galois: on-demand, portable and parameterless · ASPLOS 2014 |
Parallel and multicore computing › graph processing
parallel graph analytics |
0.2 | 1 | 2013 | A lightweight infrastructure for graph analytics · SOSP 2013 |
Processor architecture and microarchitecture
speculative execution |
0.2 | 1 | 2013 | A lightweight infrastructure for graph analytics · SOSP 2013 |
Parallel and multicore computing › parallel algorithms
irregular algorithms |
0.1 | 2 | 2011 | Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 Synthesizing concurrent schedulers for irregular algorithms · ASPLOS 2011 |
Concurrent programming › concurrency theory
commutativity |
0.1 | 1 | 2011 | Exploiting the commutativity lattice · PLDI 2011 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2010 | Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 |
Performance modeling and evaluation
benchmarking |
0.1 | 1 | 2017 | What Scalable Programs Need from Transactional Memory · ASPLOS 2017 |
Graph algorithms and graph theory
network analysis |
0.1 | 1 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 |
Automated reasoning and model checking › satisfiability › SAT solving
parallel SAT solving |
0.1 | 1 | 2006 | Poster reception - Alef parallel SAT solver for HPC hardware · SC 2006 |
Automated reasoning and model checking
satisfiability |
0.1 | 1 | 2006 | Poster reception - Alef parallel SAT solver for HPC hardware · SC 2006 |
Memory systems › data locality
cache locality optimization |
0.1 | 1 | 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront Reduction · SC 2014 |
Parallel and multicore computing
domain-specific language |
0.0 | 1 | 2013 | A lightweight infrastructure for graph analytics · SOSP 2013 |
Machine learning › Graph learning
graph algorithms |
0.0 | 1 | 2011 | The tao of parallelism in algorithms · PLDI 2011 |
Machine learning and data management
machine learning for systems |
0.0 | 1 | 2009 | Machine learning-based prefetch optimization for data center applications · SC 2009 |
Parallel and multicore computing
parallel computing |
0.0 | 1 | 2006 | Poster reception - Alef parallel SAT solver for HPC hardware · SC 2006 |
Methods — techniques the papers use, named apart from their topics
software transactional memory · 0.6hardware transactional memory · 0.6kinetic dependence graph · 0.4incremental graph update · 0.4on-demand determinism · 0.4synthesis · 0.2dijkstra's algorithm · 0.2dependence graph analysis · 0.2delta-stepping · 0.2sloan algorithm · 0.2reverse cuthill-mckee · 0.2machine learning-based prefetching · 0.1problem partitioning · 0.1parallel SAT algorithms · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | What Scalable Programs Need from Transactional MemoryabstractTransactional memory (TM) has been the focus of numerous studies, and it is supported in processors such as the IBM Blue Gene/Q and Intel Haswell. Many studies have used the STAMP benchmark suite to evaluate their designs. However, the speedups obtained for the STAMP benchmarks on all TM systems we know of are quite limited; for example, with 64 threads on the IBM Blue Gene/Q, we observe a median speedup of 1.4X using the Blue Gene/Q hardware transactional memory (HTM), and a median speedup of 4.1X using a software transactional memory (STM). Donald Nguyen, Keshav Pingali |
ASPLOS | 1 |
| 2016 | DSMR: A Parallel Algorithm for Single-Source Shortest Path ProblemabstractThe Single Source Shortest Path (SSSP) problem consists in finding the shortest paths from a vertex (the source vertex) to all other vertices in a graph. SSSP has numerous applications. For some algorithms and applications, it is useful to solve the SSSP problem in parallel. This is the case of Betweenness Centrality which solves the SSSP problem for multiple source vertices in large graphs. In this paper, we introduce the Dijkstra Strip Mined Relaxation (DSMR) algorithm, an efficient parallel SSSP algorithm for shared and distributed-memory systems. We also introduce a set of preprocessing optimization techniques that significantly reduce the communication overhead without increasing the total amount of work dramatically. Our results show that, DSMR is faster than the best previous algorithm, parallel Δ-Stepping, by up-to 7.38×. Saeed Maleki, Donald Nguyen, Andrew Lenharth, María Jesús Garzarán, David A. Padua, Keshav Pingali |
ICS | 2 |
| 2016 | DSMR: a shared and distributed memory algorithm for single-source shortest path problemabstractThe Single-Source Shortest Path (SSSP) problem is to find the shortest paths from a source vertex to all other vertices in a graph. In this paper, we introduce the Dijkstra Strip-Mined Relaxation (DSMR) algorithm, an efficient parallel SSSP algorithm for shared and distributed memory systems. Our results show that, DSMR is faster than parallel Δ-Stepping by a factor of up-to 1.66. Saeed Maleki, Donald Nguyen, Andrew Lenharth, María Jesús Garzarán, David A. Padua, Keshav Pingali |
PPoPP | 2 |
| 2015 | Kinetic Dependence GraphsabstractTask graphs or dependence graphs are used in runtime systems to schedule tasks for parallel execution. In problem domains such as dense linear algebra and signal processing, dependence graphs can be generated from a program by static analysis. However, in emerging problem domains such as graph analytics, the set of tasks and dependences between tasks in a program are complex functions of runtime values and cannot be determined statically. In this paper, we introduce a novel approach for exploiting parallelism in such programs. This approach is based on a data structure called the kinetic dependence graph (KDG), which consists of a dependence graph together with update rules that incrementally update the graph to reflect changes in the dependence structure whenever a task is completed. Muhammad Amber Hassaan, Donald Nguyen, Keshav Pingali |
ASPLOS | 2 |
| 2015 | Priority Queues Are Not Good Concurrent Priority Schedulers
Andrew Lenharth, Donald Nguyen, Keshav Pingali |
Euro-Par | 2 |
| 2014 | Deterministic galois: on-demand, portable and parameterlessabstractNon-determinism in program execution can make program development and debugging difficult. In this paper, we argue that solutions to this problem should be on-demand, portable and parameterless. On-demand means that the programming model should permit the writing of non-deterministic programs since these programs often perform better than deterministic ones for the same problem. Portable means that the program should produce the same answer even if it is run on different machines. Parameterless means that if there are machine-dependent scheduling parameters that must be tuned for good performance, they must not affect the output. Donald Nguyen, Andrew Lenharth, Keshav Pingali |
ASPLOS | 1 |
| 2014 | Parallelization of Reordering Algorithms for Bandwidth and Wavefront ReductionabstractMany sparse matrix computations can be speeded up if the matrix is first reordered. Reordering was originally developed for direct methods but it has recently become popular for improving the cache locality of parallel iterative solvers since reordering the matrix to reduce bandwidth and wave front can improve the locality of reference of sparse matrix-vector multiplication (SpMV), the key kernel in iterative solvers. In this paper, we present the first parallel implementations of two widely used reordering algorithms: Reverse Cut hill-McKee (RCM) and Sloan. On 16 cores of the Stampede supercomputer, our parallel RCM is 5.56 times faster on the average than a state-of-the-art sequential implementation of RCM in the HSL library. Sloan is significantly more constrained than RCM, but our parallel implementation achieves a speedup of 2.88X on the average over sequential HSL-Sloan. Reordering the matrix using our parallel RCM and then performing 100 SpMV iterations is twice as fast as using HSL-RCM and then performing the SpMV iterations, it is also 1.5 times faster than performing the SpMV iterations without reordering the matrix. Konstantinos I. Karantasis, Andrew Lenharth, Donald Nguyen, María Jesús Garzarán, Keshav Pingali |
SC | 3 |
| 2014 | Brief announcement: parallelization of asynchronous variational integrators forshared memory architecturesabstractAsynchronous variational integrators (AVIs) are used in computational mechanics and graphics to solve complex contact mechanics problems. The parallelization of AVI is difficult problem because it is not possible to build a dependence graph for AVI either at compile-time or at runtime. However, we show that if the dependence graph for AVI can be updated incrementally as the computation is performed, it is possible to parallelize AVI in a systematic way. Using this approach, we are able to obtain speedups of up to 20 on 24 cores for relatively small AVI problems. Muhammad Amber Hassaan, Donald Nguyen, Keshav Pingali |
SPAA | 2 |
| 2013 | A lightweight infrastructure for graph analyticsabstractSeveral domain-specific languages (DSLs) for parallel graph analytics have been proposed recently. In this paper, we argue that existing DSLs can be implemented on top of a general-purpose infrastructure that (i) supports very fine-grain tasks, (ii) implements autonomous, speculative execution of these tasks, and (iii) allows application-specific control of task scheduling policies. To support this claim, we describe such an implementation called the Galois system. Donald Nguyen, Andrew Lenharth, Keshav Pingali |
SOSP | 1 |
| 2011 | Synthesizing concurrent schedulers for irregular algorithmsabstractScheduling is the assignment of tasks or activities to processors for execution, and it is an important concern in parallel programming. Most prior work on scheduling has focused either on static scheduling of applications in which the dependence graph is known at compile-time or on dynamic scheduling of independent loop iterations such as in OpenMP. Donald Nguyen, Keshav Pingali |
ASPLOS | 1 |
| 2011 | Exploiting the commutativity lattice
Milind Kulkarni 0001, Donald Nguyen, Dimitrios Prountzos, Keshav Pingali |
PLDI | 2 |
| 2011 | The tao of parallelism in algorithmsabstractFor more than thirty years, the parallel programming community has used the dependence graph as the main abstraction for reasoning about and exploiting parallelism in "regular" algorithms that use dense arrays, such as finite-differences and FFTs. In this paper, we argue that the dependence graph is not a suitable abstraction for algorithms in new application areas like machine learning and network analysis in which the key data structures are "irregular" data structures like graphs, trees, and sets. Keshav Pingali, Donald Nguyen, Milind Kulkarni 0001, Martin Burtscher, Muhammad Amber Hassaan, Rashid Kaleem, Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Méndez-Lojo, Dimitrios Prountzos |
PLDI | 2 |
| 2010 | Structure-driven optimizations for amorphous data-parallel programsabstractIrregular algorithms are organized around pointer-based data structures such as graphs and trees, and they are ubiquitous in applications. Recent work by the Galois project has provided a systematic approach for parallelizing irregular applications based on the idea of optimistic or speculative execution of programs. However, the overhead of optimistic parallel execution can be substantial. In this paper, we show that many irregular algorithms have structure that can be exploited and present three key optimizations that take advantage of algorithmic structure to reduce speculative overheads. We describe the implementation of these optimizations in the Galois system and present experimental results to demonstrate their benefits. To the best of our knowledge, this is the first system to exploit algorithmic structure to optimize the execution of irregular programs. Mario Méndez-Lojo, Donald Nguyen, Dimitrios Prountzos, Muhammad Amber Hassaan, Milind Kulkarni 0001, Martin Burtscher, Keshav Pingali |
PPoPP | 2 |
| 2009 | Prefetch optimizations on large-scale applications via parameter value predictionabstractA typical data center application requires the processor cycles of thousands of machines. Even a single-digit performance improvement can significantly reduce the cost and power consumption of a data center. Unfortunately, achieving sustained improvement, even if modest, is difficult. Data centers are dynamic environments where applications are frequently released and servers are continually upgraded. For maintainability and fault tolerance, the physical capabilities and configuration of the servers are abstracted from the application programmer. Shih-Wei Liao, Tzu-Han Hung, Donald Nguyen, Hucheng Zhou, Chinyen Chou, Chia-Heng Tu |
ICS | 3 |
| 2009 | Machine learning-based prefetch optimization for data center applicationsabstractPerformance tuning for data centers is essential and complicated. It is important since a data center comprises thousands of machines and thus a single-digit performance improvement can significantly reduce cost and power consumption. Unfortunately, it is extremely difficult as data centers are dynamic environments where applications are frequently released and servers are continually upgraded. Shih-Wei Liao, Tzu-Han Hung, Donald Nguyen, Chinyen Chou, Chia-Heng Tu, Hucheng Zhou |
SC | 3 |
| 2006 | Poster reception - Alef parallel SAT solver for HPC hardwareabstractSolvers for the Boolean satisfiability problem (SAT) are an enabling technology for a diverse set of applications, including formal verification of both hardware and software, mathematics, and planning. However, solver performance, measured in terms of speed and maximum problem size, is a limiting factor to the application of SAT to real-world problems. We are developing a parallel SAT solver, Alef, to take advantage of HPC hardware.The Alef parallel SAT solver utilizes algorithms and heuristics that improve its performance over existing approaches. We are developing the solver to run well on commercially available HPC hardware. Our analysis shows that our algorithms combined with the low message latency of supercomputers are likely to produce a significant performance improvement over existing solvers in terms of speed and maximum problem size. Our poster will describe the algorithms we are using, illustrate our approach to problem partitioning, and present our performance analysis to date. James R. Ezick, Samuel B. Luckenbill, Donald Nguyen, Péter Szilágyi, John Starks, Richard A. Lethin |
SC | 3 |