VLDB 2026 Research / reviewers in the wild / expert
Gautam Upadhyaya
dblp:02/5502
· DBLP profile ↗
3ranked-venue papers
3as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 2 first-authorSoftware engineering, systems software and programming languages · 1 · 1 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.
| Software engineering, system software, and programming languages
3 papers |
Concurrent programming · 69% Program analysis · 27% Runtime systems and virtual machines · 4% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 93% Distributed systems · 7% |
Topics — the 9 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
atomicity |
0.2 | 2 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 Automatic atomic region identification in shared memory SPMD programs · OOPSLA 2010 |
Program analysis
static analysis |
0.1 | 1 | 2010 | Automatic atomic region identification in shared memory SPMD programs · OOPSLA 2010 |
Concurrent programming › atomicity
strong atomicity |
0.1 | 1 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 |
Parallel and multicore computing › parallel programming models
dataflow programming |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing › parallel computing
parallel programming languages |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Parallel and multicore computing › parallelization strategies
task-level parallelism |
0.1 | 1 | 2007 | Expressing and exploiting concurrency in networked applications with aspen · PPoPP 2007 |
Concurrent programming › atomicity
atomic sections |
0.0 | 1 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 2010 | Using data structure knowledge for efficient lock generation and strong atomicity · PPoPP 2010 |
Methods — techniques the papers use, named apart from their topics
directed graph program representation · 0.1lock generation · 0.1data structure knowledge · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | Automatic atomic region identification in shared memory SPMD programsabstractThis paper presents TransFinder, a compile-time tool that automatically determines which statements of an unsynchronized multithreaded program must be enclosed in atomic regions to enforce conflict-serializability. Unlike previous tools, TransFinder requires no programmer input (beyond the program) and is more efficient in both time and space. Gautam Upadhyaya, Samuel P. Midkiff, Vijay S. Pai |
OOPSLA | 1 |
| 2010 | Using data structure knowledge for efficient lock generation and strong atomicityabstractTo achieve high-performance on multicore systems, sharedmemory parallel languages must efficiently implement atomic operations. The commonly used and studied paradigms for atomicity are fine-grained locking, which is both difficult to program and error-prone; optimistic software transactions, which require substantial overhead to detect and recover from atomicity violations; and compiler-generation of locks from programmer-specified atomic sections, which leads to serialization whenever imprecise pointer analysis suggests the mere possibility of a conflicting operation. This paper presents a new strategy for compiler-generated locking that uses data structure knowledge to facilitate more precise alias and lock generation analyses and reduce unnecessary serialization. Implementing and evaluating these ideas in the Java language shows that the new strategy achieves eight-thread speedups of 0.83 to 5.9 for the five STAMP benchmarks studied, outperforming software transactions on all but one benchmark, and nearly matching programmer-specified fine-grained locks on all but one benchmark. The results also indicate that compiler knowledge of data structures improves the effectiveness of compiler analysis, boosting eight-thread performance by up to 300%. Further, the new analysis allows for software support of strong atomicity with less than 1% overhead for two benchmarks and less than 20% for three others.The strategy also nearly matches the performance of programmer-specified fine-grained locks for the SPECjbb2000 benchmark, which has traditionally not been amenable to static analyses. Gautam Upadhyaya, Samuel P. Midkiff, Vijay S. Pai |
PPoPP | 1 |
| 2007 | Expressing and exploiting concurrency in networked applications with aspenabstractThis paper presents Aspen, a high-level programming language thattargets both high-productivity programming and runtime support formanaging resources needed by a computation. Programs in Aspen arerepresented as directed graphs, where the edges are well-definedunidirectional communication channels and the nodes are instances of computational modules that process the incoming data. The resulting representation of a program closely resembles a flow chart describing the flow of computation in a server application and exposing the communicationat a high level of abstraction. This strategy for program composition naturally allows parallelism and data sharing to be factored out of the core computational logic of a program, facilitating a division of labor between parallelism expertsand application experts and also easing code development and maintenance. Aspen automatically and transparently supports task-level parallelism among module instancesand data-level parallelism across different flows in an application or, in some cases, across different work items within a flow. Aspen automatically and adaptively allocates threads to modules according to the dynamic workload seen at those modules. Gautam Upadhyaya, Vijay S. Pai, Samuel P. Midkiff |
PPoPP | 1 |