VLDB 2026 Research / reviewers in the wild / expert
John R. Gilbert
dblp:g/JohnRGilbert · also John Gilbert 0001
· DBLP profile ↗
41ranked-venue papers
7as first author
1since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 20 · 3 first-author · 1 since 2021Theory of computation · 11 · 3 first-authorSoftware engineering, systems software and programming languages · 3Databases, data management, data science and information retrieval · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 3Graphics, computer vision, multimedia, augmented reality and games · 2 · 1 first-authorComputer networks · 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.
| Theoretical computer science
5 papers |
Graph algorithms and graph theory · 48% Distributed computing theory · 48% Computational geometry · 1% | |
| Computer architecture, parallel and distributed computing, and storage systems
6 papers |
Parallel and multicore computing · 63% High-performance computing · 18% GPUs and heterogeneous computing · 17% |
Topics — the 25 heaviest of 27, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel architecture
distributed-memory parallel computing |
0.6 | 1 | 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory Systems · IEEE Trans. Parallel Distributed Syst. 2022 |
Distributed computing theory
distributed graph processing |
0.6 | 1 | 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory Systems · IEEE Trans. Parallel Distributed Syst. 2022 |
Graph algorithms and graph theory
network analysis |
0.6 | 1 | 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory Systems · IEEE Trans. Parallel Distributed Syst. 2022 |
High-performance computing
distributed i/o |
0.2 | 1 | 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory Systems · IEEE Trans. Parallel Distributed Syst. 2022 |
GPUs and heterogeneous computing
GPU computing |
0.2 | 1 | 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory Systems · IEEE Trans. Parallel Distributed Syst. 2022 |
Parallel and multicore computing
parallel programming models |
0.0 | 3 | 1995 | Optimal Evaluation of Array Expressions on Massively Parallel Machines · ACM Trans. Program. Lang. Syst. 1995 Generating Local Address and Communication Sets for Data-Parallel Programs · PPoPP 1993 Automatic Array Alignment in Data-Parallel Programs · POPL 1993 |
Compilers and program optimization › parallel language compilation
data-parallel compilation |
0.0 | 2 | 1993 | Mobile and replicated alignment of arrays in data-parallel programs · SC 1993 Automatic Array Alignment in Data-Parallel Programs · POPL 1993 |
Compilers and program optimization
parallelizing compiler |
0.0 | 2 | 1995 | Optimal Evaluation of Array Expressions on Massively Parallel Machines · ACM Trans. Program. Lang. Syst. 1995 Generating Local Address and Communication Sets for Data-Parallel Programs · PPoPP 1993 |
Parallel and multicore computing
data-parallel programming |
0.0 | 1 | 1995 | Optimal Evaluation of Array Expressions on Massively Parallel Machines · ACM Trans. Program. Lang. Syst. 1995 |
Parallel and multicore computing › parallel programming models
data-parallel language |
0.0 | 2 | 1993 | Generating Local Address and Communication Sets for Data-Parallel Programs · PPoPP 1993 Automatic Array Alignment in Data-Parallel Programs · POPL 1993 |
Parallel and multicore computing › parallel programming models › data-parallel language
high performance fortran |
0.0 | 1 | 1993 | Generating Local Address and Communication Sets for Data-Parallel Programs · PPoPP 1993 |
High-performance computing
distributed memory systems |
0.0 | 2 | 1995 | Optimal Evaluation of Array Expressions on Massively Parallel Machines · ACM Trans. Program. Lang. Syst. 1995 Mobile and replicated alignment of arrays in data-parallel programs · SC 1993 |
Geometric modeling and processing
mesh generation |
0.0 | 1 | 1990 | Provably Good Mesh Generation · FOCS 1990 |
Geometric modeling and processing › mesh generation
triangle mesh generation |
0.0 | 1 | 1990 | Provably Good Mesh Generation · FOCS 1990 |
Computational geometry › triangulation
delaunay triangulation |
0.0 | 1 | 1990 | Provably Good Mesh Generation · FOCS 1990 |
Algorithms and data structures › parallel algorithms
time-optimal algorithms |
0.0 | 1 | 1990 | Provably Good Mesh Generation · FOCS 1990 |
Computational geometry
triangulation |
0.0 | 1 | 1990 | Provably Good Mesh Generation · FOCS 1990 |
Mathematical optimization
least squares |
0.0 | 1 | 1986 | Predicting fill for sparse orthogonal factorization · J. ACM 1986 |
Algorithms and data structures
numerical linear algebra |
0.0 | 1 | 1986 | Predicting fill for sparse orthogonal factorization · J. ACM 1986 |
Mathematical optimization › least squares
sparse least squares |
0.0 | 1 | 1986 | Predicting fill for sparse orthogonal factorization · J. ACM 1986 |
Mathematical optimization › continuous optimization › matrix optimization
sparse matrix factorization |
0.0 | 1 | 1986 | Predicting fill for sparse orthogonal factorization · J. ACM 1986 |
Computational complexity › time-space tradeoffs
graph pebbling |
0.0 | 2 | 1980 | The Pebbling Problem is Complete in Polynomial Space · SIAM J. Comput. 1980 The Pebbling Problem is Complete in Polynomial Space · STOC 1979 |
Computational complexity › complexity classes › PSPACE
PSPACE-completeness |
0.0 | 2 | 1980 | The Pebbling Problem is Complete in Polynomial Space · SIAM J. Comput. 1980 The Pebbling Problem is Complete in Polynomial Space · STOC 1979 |
Compilers and program optimization › code generation › parallel code generation
distributed-memory code generation |
0.0 | 1 | 1993 | Generating Local Address and Communication Sets for Data-Parallel Programs · PPoPP 1993 |
Algorithmic game theory and mechanism design › matching
bipartite matching |
0.0 | 1 | 1986 | Predicting fill for sparse orthogonal factorization · J. ACM 1986 |
Methods — techniques the papers use, named apart from their topics
semiring · 1.1hierarchical parallelism · 1.1communication avoidance · 1.1embedding into metric space · 0.0dynamic programming · 0.0network flow · 0.0finite state machine · 0.0compiler optimization · 0.0alignment analysis · 0.0point insertion · 0.0aspect ratio bound · 0.0symbolic factorization · 0.0bipartite graph matching · 0.0reduction · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Combinatorial BLAS 2.0: Scaling Combinatorial Algorithms on Distributed-Memory SystemsabstractCombinatorial algorithms such as those that arise in graph analysis, modeling of discrete systems, bioinformatics, and chemistry, are often hard to parallelize. The Combinatorial BLAS library implements key computational primitives for rapid development of combinatorial algorithms in distributed-memory systems. During the decade since its first introduction, the Combinatorial BLAS library has evolved and expanded significantly. This article details many of the key technical features of Combinatorial BLAS version 2.0, such as communication avoidance, hierarchical parallelism via in-node multithreading, accelerator support via GPU kernels, generalized semiring support, implementations of key data structures and functions, and scalable distributed I/O operations for human-readable files. Our article also presents several rules of thumb for choosing the right data structures and functions in Combinatorial BLAS 2.0, under various common application scenarios. Ariful Azad, Oguz Selvitopi, Md Taufique Hussain, John R. Gilbert, Aydin Buluç |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2016 | An Empirical Comparison of Graph Laplacian SolversabstractSolving Laplacian linear systems is an important task in a variety of practical and theoretical applications. This problem is known to have solutions that perform in linear times polylogarithmic work in theory, but these algorithms are difficult to implement in practice. We examine existing solution techniques in order to determine the best methods currently available and for which types of problems are they useful. We perform timing experiments using a variety of solvers on a variety of problems and present our results. We discover differing solver behavior between web graphs and a class of synthetic graphs designed to model them. Erik G. Boman, Kevin Deweese, John R. Gilbert |
ALENEX | 3 |
| 2015 | Parallel processing of filtered queries in attributed semantic graphs
Adam Lugowski, Shoaib Kamil 0001, Aydin Buluç, Samuel Williams 0001, Erika Duriakova, Leonid Oliker, Armando Fox, John R. Gilbert |
J. Parallel Distributed Comput. | 8 |
| 2015 | Special issue "Graph analysis for scientific discovery"
Aydin Buluç, Leonid Oliker, John R. Gilbert |
Parallel Comput. | 3 |
| 2014 | Efficient and accurate clustering for large-scale genetic mappingabstractHigh-throughput “next generation” genome sequencing technologies are producing a flood of inexpensive genetic information that is invaluable to genomics research. Sequences of millions of genetic markers are being produced, providing genomics researchers with the opportunity to construct highresolution genetic maps for many complicated genomes. However, the current generation of genetic mapping tools were designed for the small data setting, and are now limited by the prohibitively slow clustering algorithms they employ in the genetic marker-clustering stage. In this work, we present a new approach to genetic mapping based on a fast clustering algorithm that exploits the geometry of the data. Our theoretical and empirical analysis shows that the algorithm can correctly recover linkage groups. Using synthetic and real-world data, including the grand-challenge wheat genome, we demonstrate that our approach can quickly process orders of magnitude more genetic markers than existing tools while retaining - and in some cases even improving - the quality of genetic marker clusters. Veronika Strnadová-Neeley, Aydin Buluç, Jarrod Chapman, John R. Gilbert, Joseph Gonzalez 0001, Stefanie Jegelka, Daniel Rokhsar, Leonid Oliker |
BIBM | 4 |
| 2013 | High-Productivity and High-Performance Analysis of Filtered Semantic GraphsabstractHigh performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry attributes of various types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the computation must view the graph through a filter that passes only those individual vertices and edges of interest. Knowledge Discovery Toolbox (KDT), a Python library for parallel graph computations, is customizable in two ways. First, the user can write custom graph algorithms by specifying operations between edges and vertices. These programmer-specified operations are called semiring operations due to KDT's underlying linear-algebraic abstractions. Second, the user can customize existing graph algorithms by writing filters that return true for those vertices and edges the user wants to retain during algorithm execution. For high productivity, both semiring operations and filters are written in a high-level language, resulting in relatively low performance due to the bottleneck of having to call into the Python virtual machine for each vertex and edge. In this work, we use the Selective Embedded JIT Specialization (SEJITS) approach to automatically translate semiring operations and filters defined by programmers into a lower-level efficiency language, bypassing the upcall into Python. We evaluate our approach by comparing it with the high-performance Combinatorial BLAS engine, and show our approach enables users to write in high-level languages and still obtain the high performance of low-level code. We also present a new roofline model for graph traversals, and show that our high-performance implementations do not significantly deviate from the roofline. Overall, we demonstrate the first known solution to the problem of obtaining high performance from a productivity language when applying graph algorithms selectively on semantic graphs. Aydin Buluç, Erika Duriakova, Armando Fox, John R. Gilbert, Shoaib Kamil 0001, Adam Lugowski, Leonid Oliker, Samuel Williams 0001 |
IPDPS | 4 |
| 2012 | High-performance analysis of filtered semantic graphsabstractHigh performance is a crucial consideration when executing a complex analytic query on a massive semantic graph. In a semantic graph, vertices and edges carry "attributes" of various types. Analytic queries on semantic graphs typically depend on the values of these attributes; thus, the computation must either view the graph through a "filter" that passes only those individual vertices and edges of interest, or else must first materialize a subgraph or subgraphs consisting of only the vertices and edges of interest. The filtered approach is superior due to its generality, ease of use, and memory efficiency, but may carry a performance cost. Aydin Buluç, Armando Fox, John R. Gilbert, Shoaib Kamil 0001, Adam Lugowski, Leonid Oliker, Samuel Williams 0001 |
PACT | 3 |
| 2012 | Scalable complex graph analysis with the knowledge discovery toolboxabstractThe Knowledge Discovery Toolbox (KDT) enables domain experts to perform complex analyses of huge datasets on supercomputers using a high-level language without grappling with the difficulties of writing parallel code, calling parallel libraries, or becoming a graph expert. KDT delivers competitive performance from a general-purpose, reusable library for graphs on the order of 10 billion edges and greater. We describe our approach for supporting arbirary vertex and edge attributes, in-place graph filtering, and graph traversal using pre-defined access patterns. Adam Lugowski, Aydin Buluç, John R. Gilbert, Steven P. Reinhardt |
ICASSP | 3 |
| 2012 | A Flexible Open-Source Toolbox for Scalable Complex Graph AnalysisabstractThe Knowledge Discovery Toolbox (KDT) enables domain experts to perform complex analyses of huge datasets on supercomputers using a high-level language without grappling with the difficulties of writing parallel code, calling parallel libraries, or becoming a graph expert. KDT provides a flexible Python interface to a small set of high-level graph operations; composing a few of these operations is often sufficient for a specific analysis. Scalability and performance are delivered by linking to a state-of-the-art back-end compute engine that scales from laptops to large HPC clusters. KDT delivers very competitive performance from a general-purpose, reusable library for graphs on the order of 10 billion edges and greater. We demonstrate speedup of 1 and 2 orders of magnitude over PBGL and Pegasus, respectively, on some tasks. Examples from simple use cases and key graph-analytic benchmarks illustrate the productivity and performance realized by KDT users. Semantic graph abstractions provide both flexibility and high performance for real-world use cases. Graph-algorithm researchers benefit from the ability to develop algorithms quickly using KDT's graph and underlying matrix abstractions for distributed memory. KDT is available as open-source code to foster experimentation. Adam Lugowski, David M. Alber, Aydin Buluç, John R. Gilbert, Steven P. Reinhardt, Andrew Waranis |
SDM | 4 |
| 2010 | Solving path problems on the GPU
Aydin Buluç, John R. Gilbert, Ceren Budak |
Parallel Comput. | 2 |
| 2009 | Parallel sparse matrix-vector and matrix-transpose-vector multiplication using compressed sparse blocksabstractThis paper introduces a storage format for sparse matrices, called compressed sparse blocks (CSB), which allows both Ax and A,x to be computed efficiently in parallel, where A is an n×n sparse matrix with nnzen nonzeros and x is a dense n-vector. Our algorithms use Θ(nnz) work (serial running time) and Θ(√nlgn) span (critical-path length), yielding a parallelism of Θ(nnz/√nlgn), which is amply high for virtually any large matrix. The storage requirement for CSB is the same as that for the more-standard compressed-sparse-rows (CSR) format, for which computing Ax in parallel is easy but A,x is difficult. Benchmark results indicate that on one processor, the CSB algorithms for Ax and A,x run just as fast as the CSR algorithm for Ax, but the CSB algorithms also scale up linearly with processors until limited by off-chip memory bandwidth. Aydin Buluç, Jeremy T. Fineman, Matteo Frigo, John R. Gilbert, Charles E. Leiserson |
SPAA | 4 |
| 2009 | Linear Representation of Network Traffic
Stefan Karpinski, Elizabeth M. Belding, Kevin C. Almeroth, John R. Gilbert |
Mob. Networks Appl. | 4 |
| 2008 | Challenges and Advances in Parallel Sparse Matrix-Matrix MultiplicationabstractWe identify the challenges that are special to parallel sparse matrix-matrix multiplication (PSpGEMM). We show that sparse algorithms are not as scalable as their dense counterparts, because in general, there are not enough non-trivial arithmetic operations to hide the communication costs as well as the sparsity overheads. We analyze the scalability of 1D and 2D algorithms for PSpGEMM. While the 1D algorithm is a variant of existing implementations, 2D algorithms presented are completely novel. Most of these algorithms are based on the previous research on parallel dense matrix multiplication. We also provide results from preliminary experiments with 2D algorithms. Aydin Buluç, John R. Gilbert |
ICPP | 2 |
| 2008 | On the representation and multiplication of hypersparse matricesabstractMulticore processors are marking the beginning of a new era of computing where massive parallelism is available and necessary. Slightly slower but easy to parallelize kernels are becoming more valuable than sequentially faster kernels that are unscalable when parallelized. In this paper, we focus on the multiplication of sparse matrices (SpGEMM). We first present the issues with existing sparse matrix representations and multiplication algorithms that make them unscalable to thousands of processors. Then, we develop and analyze two new algorithms that overcome these limitations. We consider our algorithms first as the sequential kernel of a scalable parallel sparse matrix multiplication algorithm and second as part of a polyalgorithm for SpGEMM that would execute different kernels depending on the sparsity of the input matrices. Such a sequential kernel requires a new data structure that exploits the hypersparsity of the individual submatrices owned by a single processor after the 2D partitioning. We experimentally evaluate the performance and characteristics of our algorithms and show that they scale significantly better than existing kernels. Aydin Buluç, John R. Gilbert |
IPDPS | 2 |
| 2008 | An empirical study of the performance and productivity of two parallel programming modelsabstractThe choice of parallel programming models and languages is a major factor in program performance and programmer productivity in HPC. However, evaluation of their relative merits is usually done based on conventional wisdom and subjective beliefs. We present a quantitative approach to evaluate such hypotheses statistically and validate them with empirical data. We apply this approach to compare two languages representing the message passing (MPI) and shared memory programming (UPC) paradigms. We formulate hypothesis tests for comparing the performance and productivity of these two models and evaluate them with data from observational studies of HPC programmers. We present and analyze several results, some of which are statistically significant, that demonstrate the promise of empirical evaluation in HPC development. Imran Patel, John R. Gilbert |
IPDPS | 2 |
| 2008 | A pilot study to compare programming effort for two parallel programming models
Lorin Hochstein, Victor R. Basili, Uzi Vishkin, John R. Gilbert |
J. Syst. Softw. | 4 |
| 2007 | An Interactive Environment to Manipulate Large GraphsabstractInteractive environments such as Matlab and Star-P have made numerical computing tremendously accessible to engineers and scientists. They allow people who are not well-versed in the art of numerical computing to nonetheless reap the benefits of numerical computing. The same is not true in general for combinatorial computing. Often, many interesting problems require a mix of numerical and combinatorial computing. Tools developed for numerical computing - such as sparse matrix algorithms - can also be used to develop a comprehensive infrastructure for graph algorithms. We describe the current status of our effort to build a comprehensive infrastructure for operations on large graphs in an interactive parallel environment such as Star-P. John R. Gilbert, Viral B. Shah, Steven P. Reinhardt |
ICASSP (4) | 1 |
| 2006 | A comparative analysis of the information content in long and short SAGE librariesabstractBACKGROUND: Serial Analysis of Gene Expression (SAGE) is a powerful tool to determine gene expression profiles. Two types of SAGE libraries, ShortSAGE and LongSAGE, are classified based on the length of the SAGE tag (10 vs. 17 basepairs). LongSAGE libraries are thought to be more useful than ShortSAGE libraries, but their information content has not been widely compared. To dissect the differences between these two types of libraries, we utilized four libraries (two LongSAGE and two ShortSAGE libraries) generated from the hippocampus of Alzheimer and control samples. In addition, we generated two additional short SAGE libraries, the truncated long SAGE libraries (tSAGE), from LongSAGE libraries by deleting seven 5' basepairs from each LongSAGE tag. RESULTS: One problem that occurred in the SAGE study is that individual tags may have matched to multiple different genes - due to the short length of a tag. We found that the LongSAGE tag maps up to 15 UniGene clusters, while the ShortSAGE and tSAGE tags map up to 279 UniGene clusters. Both long and short SAGE libraries exhibit a large number of orphan tags (no gene information in UniGene), implying the limitation of the UniGene database. Among 100 orphan LongSAGE tags, the complete sequences (17 basepairs) of nine orphan tags match to 17 genomic sequences; four of the orphan tags match to a single genomic sequence. Our data show the potential to resolve 4-9% of orphan LongSAGE tags. Finally, among 400 tSAGE tags showing significant differential expression between AD and control, 79 tags (19.8%) were derived from multiple non-significant LongSAGE tags, implying the false positive results. CONCLUSION: Our data show that LongSAGE tags have high specificity in gene mapping compared to ShortSAGE tags. LongSAGE tags show an advantage over ShortSAGE in identifying novel genes by BLAST analysis. Most importantly, the chances of obtaining false positive results are higher for ShortSAGE than LongSAGE libraries due to their specificity in gene mapping. Therefore, it is recommended that the number of corresponding UniGene clusters (gene or ESTs) of a tag for prioritizing the significant results be considered. Yi-Ju Li, Puting Xu, Xuejun Qin, Donald E. Schmechel, Christine M. Hulette, Jonathan L. Haines, Margaret A. Pericak-Vance, John R. Gilbert |
BMC Bioinform. | 8 |
| 2004 | Sparse Matrices in Matlab*P: Design and Implementation
Viral B. Shah, John R. Gilbert |
HiPC | 2 |
| 2004 | A column approximate minimum degree ordering algorithmabstractSparse Gaussian elimination with partial pivoting computes the factorization PAQ = LU of a sparse matrix A , where the row ordering P is selected during factorization using standard partial pivoting with row interchanges. The goal is to select a column preordering, Q , based solely on the nonzero pattern of A , that limits the worst-case number of nonzeros in the factorization. The fill-in also depends on P , but Q is selected to reduce an upper bound on the fill-in for any subsequent choice of P . The choice of Q can have a dramatic impact on the number of nonzeros in L and U . One scheme for determining a good column ordering for A is to compute a symmetric ordering that reduces fill-in in the Cholesky factorization of A T A . A conventional minimum degree ordering algorithm would require the sparsity structure of A T A to be computed, which can be expensive both in terms of space and time since A T A may be much denser than A . An alternative is to compute Q directly from the sparsity structure of A ; this strategy is used by MATLAB's COLMMD preordering algorithm. A new ordering algorithm, COLAMD, is presented. It is based on the same strategy but uses a better ordering heuristic. COLAMD is faster and computes better orderings, with fewer nonzeros in the factors of the matrix. Timothy A. Davis 0001, John R. Gilbert, Stefan I. Larimore, Esmond G. Ng |
ACM Trans. Math. Softw. | 2 |
| 2004 | Algorithm 836: COLAMD, a column approximate minimum degree ordering algorithmabstractTwo codes are discussed, COLAMD and SYMAMD, that compute approximate minimum degree orderings for sparse matrices in two contexts: (1) sparse partial pivoting, which requires a sparsity preserving column pre-ordering prior to numerical factorization, and (2) sparse Cholesky factorization, which requires a symmetric permutation of both the rows and columns of the matrix being factorized. These orderings are computed by COLAMD and SYMAMD, respectively. The ordering from COLAMD is also suitable for sparse QR factorization, and the factorization of matrices of the form A T A and AA T , such as those that arise in least-squares problems and interior point methods for linear programming problems. The two routines are available both in MATLAB and C-callable forms. They appear as built-in routines in MATLAB Version 6.0. Timothy A. Davis 0001, John R. Gilbert, Stefan I. Larimore, Esmond G. Ng |
ACM Trans. Math. Softw. | 2 |
| 1999 | MEMS CAD Beyond Multi-Million Transistors (Panel)abstractNo abstract available. Kristofer S. J. Pister, Albert P. Pisano, Nicholas Swart, Mike Horton, John Rychcik, John R. Gilbert, Gary K. Fedder |
DAC | 6 |
| 1999 | Separators in Graphs with Negative and Multiple Vertex Weights
Hristo N. Djidjev, John R. Gilbert |
Algorithmica | 2 |
| 1996 | Algorithms for Automatic Alignment of Arrays
Siddhartha Chatterjee, John R. Gilbert, Leonid Oliker, Robert Schreiber, Thomas J. Sheffler |
J. Parallel Distributed Comput. | 2 |
| 1995 | Generating Local Address and Communication Sets for Data-Parallel Programs
Siddhartha Chatterjee, John R. Gilbert, Fred J. E. Long, Robert Schreiber, Shang-Hua Teng |
J. Parallel Distributed Comput. | 2 |
| 1995 | Optimal Evaluation of Array Expressions on Massively Parallel MachinesabstractWe investigate the problem of evaluating Fortran 90-style array expressions on massively parallel distributed-memory machines. On such a machine, an elementwise operation can be performed in constant time for arrays whose corresponding elements are in the same processor. If the arrays are not aligned in this manner, the cost of aligning them is part of the cost of evaluating the expression tree. The choice of where to perform the operation then affects this cost. We describe the communication cost of the parallel machine theoretically as a metric space; we model the alignment problem as that of finding a minimum-cost embedding of the expression tree into this space. We present algorithms based on dynamic programming that solve the embedding problem optimally for several communication cost metrics: multidimensional grids and rings, hypercubes, fat-trees, and the discrete metric. We also extend our approach to handle operations that change the shape of the arrays. Siddhartha Chatterjee, John R. Gilbert, Robert Schreiber, Shang-Hua Teng |
ACM Trans. Program. Lang. Syst. | 2 |
| 1994 | Provably Good Mesh Generation
Marshall W. Bern, David Eppstein, John R. Gilbert |
J. Comput. Syst. Sci. | 3 |
| 1993 | Automatic Array Alignment in Data-Parallel ProgramsabstractData-parallel languages like Fortran 90 express parallelism in the form of operations on data aggregates such as arrays. Misalignment of the operands of an array operation can reduce program performance on a distributed-memory parallel machine by requiring nonlocal data accesses. Determining array alignments that reduce communication is therefore a key issue in compiling such languages. Siddhartha Chatterjee, John R. Gilbert, Robert Schreiber, Shang-Hua Teng |
POPL | 2 |
| 1993 | Generating Local Address and Communication Sets for Data-Parallel ProgramsabstractGenerating local addresses and communication sets is an important issue in distributed-memory implementations of data-parallel languages such as High Performance Fortran. We show that for an array A affinely aligned to a template that is distributed across p processors with a cyclic(k) distribution, and a computation involving the regular section A(l:h:s), the local memory access sequence for any processor is characterized by a finite state machine of at most k states. We present fast algorithms for computing the essential information about these state machines, and extend the framework to handle multidimensional arrays. We also show how to generate communication sets using the state machine approach. Performance results show that this solution requires very little runtime overhead and acceptable preprocessing time. Siddhartha Chatterjee, John R. Gilbert, Fred J. E. Long, Robert Schreiber, Shang-Hua Teng |
PPoPP | 2 |
| 1993 | Mobile and replicated alignment of arrays in data-parallel programsabstractWhen a data-parallel language like FORTRAN 90 is compiled for a distributed-memory machine, aggregate data objects (such as arrays) are distributed across the processor memories. The mapping determines the amount of residual communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: first, an alignment that maps all the objects to an abstract template, and then a distribution that maps the template to the processors. We solve two facets of the problem of finding alignments that reduce residual communication: we determine alignments that vary in loops, and objects that should have replicated alignments. We show that loop-dependent mobile alignment is sometimes necessary for optimum performance, and we provide algorithms with which a compiler can determine good mobile alignments for objects within do loops. We also identify situations in which replicated alignment is either required by the program itself (via spread operations) or can be used to improve performance. We propose an algorithm based on network flow that determines which objects to replicate so as to minimize the total amount of broadcast communication in replication. This work on mobile and replicated alignment extends our earlier work on determining static alignment. Siddhartha Chatterjee, John R. Gilbert, Robert Schreiber |
SC | 2 |
| 1992 | Drawing the Planar Dual
Marshall W. Bern, John R. Gilbert |
Inf. Process. Lett. | 2 |
| 1991 | Approximating Treewidth, Pathwidth, and Minimum Elimination Tree Height
Hans L. Bodlaender, John R. Gilbert, Ton Kloks, Hjálmtyr Hafsteinsson |
WG | 2 |
| 1991 | Optimal Expression Evaluation for Data Parallel Architectures
John R. Gilbert, Robert Schreiber |
J. Parallel Distributed Comput. | 1 |
| 1990 | Provably Good Mesh GenerationabstractSeveral versions of the problem of generating triangular meshes for finite-element methods are studied. It is shown how to triangulate a planar point set or a polygonally bounded domain with triangles of bounded aspect ratio, how to triangulate a planar point set with triangles having no obtuse angles, how to triangulate a point set in arbitrary dimension with simplices of bounded aspect ratio, and how to produce a linear-size Delaunay triangulation of a multidimensional point set by adding a linear number of extra points. All the triangulations have size within a constant factor of optimal and run in optimal time O(n log n+k) with input of size n and output of size k. No previous work on mesh generation simultaneously guarantees well-shaped elements and small total size.> Marshall W. Bern, David Eppstein, John R. Gilbert |
FOCS | 3 |
| 1990 | Parallel symbolic factorization of sparse linear systems
John R. Gilbert, Hjálmtyr Hafsteinsson |
Parallel Comput. | 1 |
| 1988 | Some Nested Dissection Order is Nearly OptimalabstractThe minimum fill problem is the problem to re-order the rows and columns of a given sparse symmetric matrix so that its triangular factor is as sparse as possible. Equivalently, the problem is to find the smallest set of edges whose addition makes a given undirected graph chordal. The problem is known to be NP-complete and no polynomial-time approximation algorithms are known that provide any nontrivial guarantee for arbitrary graphs (matrices), although some heuristics well in practice. Nested dissection is one such heuristic. In this article we prove that every graph with a fixed bound on the vertex degree has a nested dissection order that achieves fill within a factor of O(log n) ofminimum. This does not lead to a polynomial-time approximation algorithm, however, because the proof does not give an efficient method for finding the separators required by nested dissection. John R. Gilbert |
Inf. Process. Lett. | 1 |
| 1988 | A parallel algorithm for sparse symbolic Cholesky factorization on a multiprocessor
Earl Zmijewski, John R. Gilbert |
Parallel Comput. | 2 |
| 1987 | A Parallel Graph Partitioning Algorithm for a Message-Passing Multiprocessor
John R. Gilbert, Earl Zmijewski |
ICS | 1 |
| 1986 | Predicting fill for sparse orthogonal factorizationabstractIn solving large sparse linear least squares problems A x ≃ b, several different numeric methods involve computing the same upper triangular factor R of A . It is of interest to be able to compute the nonzero structure of R , given only the structure of A . The solution to this problem comes from the theory of matchings in bipartite graphs. The structure of A is modeled with a bipartite graph, and it is shown how the rows and columns of A can be rearranged into a structure from which the structure of its upper triangular factor can be correctly computed. Also, a new method for solving sparse least squares problems, called block back-substitution, is presented. This method assures that no unnecessary space is allocated for fill, and that no unnecessary space is needed for intermediate fill. Thomas F. Coleman, Anders Edenbrandt, John R. Gilbert |
J. ACM | 3 |
| 1980 | The Pebbling Problem is Complete in Polynomial SpaceabstractIn this paper we study a pebbling problem that models the storage requirements of various kinds of computation. Sethi has shown this problem to be $NP$-hard and Lingas has shown a generalization to be P-space complete. We prove the original problem P-space complete by using a modification of Lingas’s proof. The pebbling problem is an example of a P-space complete problem not exhibiting any obvious quantifier alternation. John R. Gilbert, Thomas Lengauer, Robert E. Tarjan |
SIAM J. Comput. | 1 |
| 1979 | The Pebbling Problem is Complete in Polynomial SpaceabstractWe examine a pebbling problem which has been used to study the storage requirements of various models of computation. Sethi has shown this problem to be NP-hard and Lingas has shown a generalization to be P-space complete. We prove the original problem P-space complete by employing a modification of Lingas's proof. The pebbling problem is one of the few examples of a P-space complete problem not exhibiting any obvious quantifier alternation. John R. Gilbert, Thomas Lengauer, Robert E. Tarjan |
STOC | 1 |