EDBT 2026 Demo / reviewers in the wild / expert
Adarsh Yoga
dblp:121/1842
· DBLP profile ↗
5ranked-venue papers
4as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 4 first-authorSystems, architecture and hardware · 2 · 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.
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 69% Performance modeling and evaluation · 31% | |
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 72% Program analysis · 28% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel computing › parallel program analysis
parallelism profiling |
0.7 | 2 | 2019 | Parallelism-centric what-if and differential analyses · PLDI 2019 A parallelism profiler with what-if analyses for OpenMP programs · SC 2018 |
Parallel and multicore computing › parallel programming models
task parallelism |
0.4 | 1 | 2019 | Parallelism-centric what-if and differential analyses · PLDI 2019 |
Parallel and multicore computing › parallel programming models › directive-based programming
OpenMP |
0.3 | 1 | 2018 | A parallelism profiler with what-if analyses for OpenMP programs · SC 2018 |
Performance modeling and evaluation
what-if analysis |
0.3 | 1 | 2018 | A parallelism profiler with what-if analyses for OpenMP programs · SC 2018 |
Performance modeling and evaluation › profiling
causal profiling |
0.3 | 1 | 2017 | A fast causal profiler for task parallel programs · ESEC/SIGSOFT FSE 2017 |
Performance modeling and evaluation
profiling |
0.3 | 1 | 2017 | A fast causal profiler for task parallel programs · ESEC/SIGSOFT FSE 2017 |
Concurrent programming › concurrency bug detection
data race detection |
0.2 | 1 | 2016 | Parallel data race detection for task parallel programs with locks · SIGSOFT FSE 2016 |
Parallel and multicore computing › parallel programming runtimes
task-based runtime |
0.2 | 2 | 2017 | A fast causal profiler for task parallel programs · ESEC/SIGSOFT FSE 2017 Parallel data race detection for task parallel programs with locks · SIGSOFT FSE 2016 |
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing |
0.2 | 2 | 2017 | A fast causal profiler for task parallel programs · ESEC/SIGSOFT FSE 2017 Parallel data race detection for task parallel programs with locks · SIGSOFT FSE 2016 |
Program analysis › concurrent program analysis
parallel program analysis |
0.1 | 1 | 2018 | A parallelism profiler with what-if analyses for OpenMP programs · SC 2018 |
Methods — techniques the papers use, named apart from their topics
profiling · 0.7static compiler instrumentation · 0.5dynamic execution graph analysis · 0.5what-if analysis · 0.4series-parallel performance model · 0.4differential analysis · 0.4hardware performance counters · 0.3causal profiling · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Parallelism-centric what-if and differential analysesabstractThis paper proposes TaskProf2, a parallelism profiler and an adviser for task parallel programs. As a parallelism profiler, TaskProf2 pinpoints regions with serialization bottlenecks, scheduling overheads, and secondary effects of execution. As an adviser, TaskProf2 identifies regions that matter in improving parallelism. To accomplish these objectives, it uses a performance model that captures series-parallel relationships between various dynamic execution fragments of tasks and includes fine-grained measurement of computation in those fragments. Using this performance model, TaskProf2’s what-if analyses identify regions that improve the parallelism of the program while considering tasking overheads. Its differential analyses perform fine-grained differencing of an oracle and the observed performance model to identify static regions experiencing secondary effects. We have used TaskProf2 to identify regions with serialization bottlenecks and secondary effects in many applications. Adarsh Yoga, Santosh Nagarakatte |
PLDI | 1 |
| 2018 | A parallelism profiler with what-if analyses for OpenMP programs
Nader Boushehrinejadmoradi, Adarsh Yoga, Santosh Nagarakatte |
SC | 2 |
| 2017 | A fast causal profiler for task parallel programsabstractThis paper proposes TASKPROF, a profiler that identifies parallelism bottlenecks in task parallel programs. It leverages the structure of a task parallel execution to perform fine-grained attribution of work to various parts of the program. TASKPROF’s use of hardware performance counters to perform fine-grained measurements minimizes perturbation. TASKPROF’s profile execution runs in parallel using multi-cores. TASKPROF’s causal profile enables users to estimate improvements in parallelism when a region of code is optimized even when concrete optimizations are not yet known. We have used TASKPROF to isolate parallelism bottlenecks in twenty three applications that use the Intel Threading Building Blocks library. We have designed parallelization techniques in five applications to increase parallelism by an order of magnitude using TASKPROF. Our user study indicates that developers are able to isolate performance bottlenecks with ease using TASKPROF. Adarsh Yoga, Santosh Nagarakatte |
ESEC/SIGSOFT FSE | 1 |
| 2016 | Atomicity violation checker for task parallel programsabstractTask based programming models (e.g., Cilk, Intel TBB, X10, Java Fork-Join tasks) simplify multicore programming in contrast to programming with threads. In a task based model, the programmer specifies parallel tasks and the runtime maps these tasks to hardware threads. The runtime automatically balances the load using work-stealing and provides performance portability. However, interference between parallel tasks can result in concurrency errors. This paper proposes a dynamic analysis technique to detect atomicity violations in task parallel programs, which could occur in different schedules for a given input without performing interleaving exploration. Our technique leverages the series-parallel dynamic execution structure of a task parallel program to identify parallel accesses. It also maintains access history metadata with each shared memory location to identify parallel accesses that can cause atomicity violations in different schedules. To streamline metadata management, the access history metadata is split into global metadata that is shared by all tasks and local metadata that is specific to each task. The global metadata tracks a fixed number of access histories for each shared memory location that capture all possible access patterns necessary for an atomicity violation. Our prototype tool for Intel Threading Building Blocks (TBB) detects atomicity violations that can potentially occur in different interleavings for a given input with performance overheads similar to Velodrome atomicity checker for thread based programs. Adarsh Yoga, Santosh Nagarakatte |
CGO | 1 |
| 2016 | Parallel data race detection for task parallel programs with locksabstractProgramming with tasks is a promising approach to write performance portable parallel code. In this model, the programmer explicitly specifies tasks and the task parallel runtime employs work stealing to distribute tasks among threads. Similar to multithreaded programs, task parallel programs can also exhibit data races. Unfortunately, prior data race detectors for task parallel programs either run the program serially or do not handle locks, and/or detect races only in the schedule observed by the analysis. This paper proposes PTRacer, a parallel on-the-fly data race detector for task parallel programs that use locks. PTRacer detects data races not only in the observed schedule but also those that can happen in other schedules (which are permutations of the memory operations in the observed schedule) for a given input. It accomplishes the above goal by leveraging the dynamic execution graph of a task parallel execution to determine whether two accesses can happen in parallel and by maintaining constant amount of access history metadata with each distinct set of locks held for each shared memory location. To detect data races (beyond the observed schedule) in programs with branches sensitive to scheduling decisions, we propose static compiler instrumentation that records memory accesses that will be executed in the other path with simple branches. PTRacer has performance overheads similar to the state-of-the-art race detector for task parallel programs, SPD3, while detecting more races in programs with locks. Adarsh Yoga, Santosh Nagarakatte, Aarti Gupta |
SIGSOFT FSE | 1 |