Demo Data from EDBT 2026 / reviewers in the wild / expert
Dimitrios Prountzos
dblp:06/5033
· DBLP profile ↗
7ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 3 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
7 papers |
Parallel and multicore computing · 86% High-performance computing · 14% | |
| Software engineering, system software, and programming languages
4 papers |
Compilers and program optimization · 33% Program synthesis and code generation · 28% Concurrent programming · 19% | |
| Theoretical computer science
3 papers |
Graph algorithms and graph theory · 67% Algorithms and data structures · 33% |
Topics — the 14 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel programming models |
0.3 | 2 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 The tao of parallelism in algorithms · PLDI 2011 |
Parallel and multicore computing
speculative parallelization |
0.2 | 2 | 2011 | A shape analysis for optimizing parallel graph programs · POPL 2011 Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 |
Compilers and program optimization
program transformation |
0.2 | 1 | 2015 | Synthesizing parallel graph programs via automated planning · PLDI 2015 |
Parallel and multicore computing › parallel algorithms › parallel algorithm design
asynchronous parallel algorithms |
0.2 | 1 | 2013 | Betweenness centrality: algorithms and implementations · PPoPP 2013 |
Graph algorithms and graph theory › centrality
betweenness centrality |
0.2 | 1 | 2013 | Betweenness centrality: algorithms and implementations · PPoPP 2013 |
Algorithms and data structures
parallel algorithms |
0.2 | 1 | 2013 | Betweenness centrality: algorithms and implementations · PPoPP 2013 |
Program synthesis and code generation › concurrent program synthesis
parallel program synthesis |
0.1 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
High-performance computing › performance optimization
auto-tuning |
0.1 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
Concurrent programming › concurrency theory
commutativity |
0.1 | 1 | 2011 | Exploiting the commutativity lattice · PLDI 2011 |
Program analysis › static analysis › pointer analysis
shape analysis |
0.1 | 1 | 2011 | A shape analysis for optimizing parallel graph programs · POPL 2011 |
Parallel and multicore computing
parallel graph algorithms |
0.1 | 1 | 2011 | A shape analysis for optimizing parallel graph programs · POPL 2011 |
Parallel and multicore computing › parallel algorithms
irregular algorithms |
0.1 | 1 | 2010 | Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 |
Graph algorithms and graph theory
graph algorithms |
0.0 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
Machine learning › Graph learning
graph algorithms |
0.0 | 1 | 2011 | The tao of parallelism in algorithms · PLDI 2011 |
Methods — techniques the papers use, named apart from their topics
automated planning · 0.4schedule specification · 0.4inference techniques · 0.4auto-tuning · 0.4dependence graph analysis · 0.4scheduling · 0.3operator formulation · 0.3shape analysis · 0.2speculative execution · 0.1optimistic execution · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Synthesizing parallel graph programs via automated planningabstractWe describe a system that uses automated planning to synthesize correct and efficient parallel graph programs from high-level algorithmic specifications. Automated planning allows us to use constraints to declaratively encode program transformations such as scheduling, implementation selection, and insertion of synchronization. Each plan emitted by the planner satisfies all constraints simultaneously, and corresponds to a composition of these transformations. In this way, we obtain an integrated compilation approach for a very challenging problem domain. We have used this system to synthesize parallel programs for four graph problems: triangle counting, maximal independent set computation, preflow-push maxflow, and connected components. Experiments on a variety of inputs show that the synthesized implementations perform competitively with hand-written, highly-tuned code. Dimitrios Prountzos, Roman Manevich, Keshav Pingali |
PLDI | 1 |
| 2013 | Betweenness centrality: algorithms and implementationsabstractBetweenness centrality is an important metric in the study of social networks, and several algorithms for computing this metric exist in the literature. This paper makes three contributions. First, we show that the problem of computing betweenness centrality can be formulated abstractly in terms of a small set of operators that update the graph. Second, we show that existing parallel algorithms for computing betweenness centrality can be viewed as implementations of different schedules for these operators, permitting all these algorithms to be formulated in a single framework. Third, we derive a new asynchronous parallel algorithm for betweenness centrality that (i) works seamlessly for both weighted and unweighted graphs, (ii) can be applied to large graphs, and (iii) is able to extract large amounts of parallelism. We implemented this algorithm and compared it against a number of publicly available implementations of previous algorithms on two different multicore architectures. Our results show that the new algorithm is the best performing one in most cases, particularly for large graphs and large thread counts, and is always competitive against other algorithms. Dimitrios Prountzos, Keshav Pingali |
PPoPP | 1 |
| 2012 | Elixir: a system for synthesizing concurrent graph programsabstractAlgorithms in new application areas like machine learning and network analysis use "irregular" data structures such as graphs, trees and sets. Writing efficient parallel code in these problem domains is very challenging because it requires the programmer to make many choices: a given problem can usually be solved by several algorithms, each algorithm may have many implementations, and the best choice of algorithm and implementation can depend not only on the characteristics of the parallel platform but also on properties of the input data such as the structure of the graph. One solution is to permit the application programmer to experiment with different algorithms and implementations without writing every variant from scratch. Auto-tuning to find the best variant is a more ambitious solution. These solutions require a system for automatically producing efficient parallel implementations from high-level specifications. Elixir, the system described in this paper, is the first step towards this ambitious goal. Application programmers write specifications that consist of an operator, which describes the computations to be performed, and a schedule for performing these computations. Elixir uses sophisticated inference techniques to produce efficient parallel code from such specifications. Dimitrios Prountzos, Roman Manevich, Keshav Pingali |
OOPSLA | 1 |
| 2011 | Exploiting the commutativity lattice
Milind Kulkarni 0001, Donald Nguyen, Dimitrios Prountzos, Keshav Pingali |
PLDI | 3 |
| 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 | 11 |
| 2011 | A shape analysis for optimizing parallel graph programsabstractComputations on unstructured graphs are challenging to parallelize because dependences in the underlying algorithms are usually complex functions of runtime data values, thwarting static parallelization. One promising general-purpose parallelization strategy for these algorithms is optimistic parallelization. Dimitrios Prountzos, Roman Manevich, Keshav Pingali, Kathryn S. McKinley |
POPL | 1 |
| 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 | 3 |