Demo Data from VLDB 2026 / reviewers in the wild / expert
Peter Pirkelbauer
dblp:31/1579
· DBLP profile ↗
18ranked-venue papers
8as first author
1since 2021 · last 2025
0000-0003-4185-5008ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 4 first-author · 1 since 2021Systems, architecture and hardware · 4 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 1 first-authorArtificial intelligence and machine learning · 1Databases, data management, data science and information retrieval · 1 · 1 since 2021
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
1 paper |
Parallel and multicore computing · 100% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing › parallel algorithms › parallel primitives
parallel reduction |
0.4 | 1 | 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over Tasks · ACM Trans. Archit. Code Optim. 2019 |
Parallel and multicore computing › parallel programming models
task parallelism |
0.4 | 1 | 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over Tasks · ACM Trans. Archit. Code Optim. 2019 |
Parallel and multicore computing
task scheduling |
0.4 | 1 | 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over Tasks · ACM Trans. Archit. Code Optim. 2019 |
Parallel and multicore computing
load balancing |
0.1 | 1 | 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over Tasks · ACM Trans. Archit. Code Optim. 2019 |
Parallel and multicore computing › load balancing › dynamic load balancing
work stealing |
0.1 | 1 | 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over Tasks · ACM Trans. Archit. Code Optim. 2019 |
Methods — techniques the papers use, named apart from their topics
lock-free techniques · 0.4generic programming · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | FormalSpecCpp: A Dataset of C++ Formal Specifications created using LLMsabstractFormalSpecCpp is a dataset designed to fill the gap in standardized benchmarks for verifying formal specifications in C++ programs. To the best of our knowledge, this is the first comprehensive collection of C++ programs with well-defined preconditions and postconditions. It provides a structured benchmark for evaluating specification inference tools and testing the accuracy of generated specifications. Researchers and developers can use this dataset to benchmark specification inference tools, fine-tune Large Language Models (LLMs) for automated specification generation, and analyze the role of formal specifications in improving program verification and automated testing. By making this dataset publicly available, we aim to advance research in program verification, specification inference, and AIassisted software development. The dataset and the code are available at https://github.com/MadhuNimmo/FormalSpecCpp. Madhurima Chakraborty, Peter Pirkelbauer, Qing Yi |
MSR | 2 |
| 2020 | XPlacer: Automatic Analysis of Data Access Patterns on Heterogeneous CPU/GPU SystemsabstractThis paper presents XPlacer, a framework to automatically analyze problematic data access patterns in C++ and CUDA code. XPlacer records heap memory operations in both host and device code for later analysis. To this end, XPlacer instruments read and write operations, function calls, and kernel launches. Programmers mark points in the program execution where the recorded data is analyzed and anomalies diagnosed. XPlacer reports data access anti-patterns, including alternating CPU/GPU accesses to the same memory, memory with low access density, and unnecessary data transfers. The diagnostic also produces summative information about the recorded accesses, which aids users in identifying code that could degrade performance. The paper evaluates XPlacer using LULESH, a Lawrence Livermore proxy application, Rodina benchmarks, and an implementation of the Smith-Waterman algorithm. XPlacer diagnosed several performance issues in these codes. The elimination of a performance problem in LULESH resulted in a 3x speedup on a heterogeneous platform combining Intel CPUs and Nvidia GPUs. Peter Pirkelbauer, Pei-Hung Lin, Tristan Vanderbruggen, Chunhua Liao |
IPDPS | 1 |
| 2020 | Optimized Transactional Data Structure Approach to Concurrency Control for In-Memory DatabasesabstractThe optimistic concurrency control (OCC) utilized by in-memory databases performs writes on thread-local copies and makes the writes visible upon passing validation. However, high contention workloads suffer from failure of the validation step due to non-semantic memory access conflicts, leading to frequent transaction aborts. In this work, we improve the commit rate of in-memory databases by replacing OCC and the underlying indexing of key-value entries in the Silo database with a lock-free transactional dictionary. To further optimize the transactional commit rate, we present transactional merging, a technique that relaxes the semantic conflict resolution of transactional data structures by merging conflicting operations to reduce aborts. Transactional merging guarantees strict serializability through a strategy that recovers the correct abstract state given that a transaction attempting to merge operations aborts. The experimental evaluation demonstrates that the lock-free transactional dictionary with transactional merging achieves an average speedup of 175% over OCC and the Masstree indexing used in the Silo database for write-dominated workloads on a non-uniform memory access system. Christina L. Peterson, Amalee Wilson, Peter Pirkelbauer, Damian Dechev |
SBAC-PAD | 3 |
| 2019 | Exploring dynamic load imbalance solutions with the CoMD proxy application
Olga Pearce, Hadia Ahmed, Rasmus W. Larsen, Peter Pirkelbauer, David F. Richards |
Future Gener. Comput. Syst. | 4 |
| 2019 | Blaze-Tasks: A Framework for Computing Parallel Reductions over TasksabstractCompared to threads, tasks are a more fine-grained alternative. The task parallel programming model offers benefits in terms of better performance portability and better load-balancing for problems that exhibit nonuniform workloads. A common scenario of task parallel programming is that a task is recursively decomposed into smaller sub-tasks. Depending on the problem domain, the number of created sub-tasks may be nonuniform, thereby creating potential for significant load imbalances in the system. Dynamic load-balancing mechanisms will distribute the tasks across available threads. The final result of a computation may be modeled as a reduction over the results of all sub-tasks. This article describes a simple, yet effective prototype framework, Blaze-Tasks, for task scheduling and task reductions on shared memory architectures. The framework has been designed with lock-free techniques and generic programming principles in mind. Blaze-Tasks is implemented entirely in C++17 and is thus portable. To load-balance the computation, Blaze-Tasks uses task stealing. To manage contention on a task pool, the number of lock-free attempts to steal a task depends on the distance between thief and pool owner and the estimated number of tasks in a victim’s pool. This article evaluates the Blaze framework on Intel and IBM dual-socket systems using nine benchmarks and compares its performance with other task parallel frameworks. While Cilk outperforms Blaze on Intel on most benchmarks, the evaluation shows that Blaze is competitive with OpenMP and other library-based implementations. On IBM, the experiments show that Blaze outperforms other approaches on most benchmarks. Peter Pirkelbauer, Amalee Wilson, Christina L. Peterson, Damian Dechev |
ACM Trans. Archit. Code Optim. | 1 |
| 2017 | Ariadne: Hybridizing Directed Model Checking and Static AnalysisabstractWhile directed model checking has proven to be a powerful tool in the fight against concurrency bugs, scalability remains a concern due to the combinatorial explosion in size of the state space. Overcoming that combinatorial explosion requires the selection and/or parameterization of meta*-heuristics, but we are left with a persistent problem of having to provide or compute specialized knowledge of the program under consideration, and this limits the practical value of the technique. To circumvent that, this paper investigates directed model checking as a platform for the synthesis of results from other analyses. We introduce an open-source tool, Ariadne, which translates reports of suspected race conditions of a static analyzer (Petablox) to instrumentation using a source-to-source compiler (ROSE) that can be exploited by a model checker (Java Pathfinder). We detail the algorithm used, present experimental results, and outline directions for future research. Reed Milewicz, Peter Pirkelbauer |
ICST | 2 |
| 2017 | Refinement of structural heuristics for model checking of concurrent programs through data mining
Reed Milewicz, Peter Pirkelbauer |
Comput. Lang. Syst. Struct. | 2 |
| 2016 | A Portable Lock-Free Bounded Queue
Peter Pirkelbauer, Reed Milewicz, Juan Felipe Gonzalez |
ICA3PP | 1 |
| 2016 | Lightweight runtime checking of C programs with RTC
Reed Milewicz, Rajeshwar Vanka, James Tuck 0001, Daniel J. Quinlan, Peter Pirkelbauer |
Comput. Lang. Syst. Struct. | 5 |
| 2013 | SimpleConcepts: Support for Constraints on Generic Types in C++
Reed Milewicz, Marjan Mernik, Peter Pirkelbauer |
FedCSIS | 3 |
| 2010 | Understanding and Effectively Preventing the ABA Problem in Descriptor-Based Lock-Free DesignsabstractAn increasing number of modern real-time systems and the nowadays ubiquitous multicore architectures demand the application of programming techniques for reliable and efficient concurrent synchronization. Some recently developed Compare-And-Swap (CAS) based nonblocking techniques hold the promise of delivering practical and safer concurrency. The ABA problem is a fundamental problem to many CAS-based designs. Its significance has increased with the suggested use of CAS as a core atomic primitive for the implementation of portable lock-free algorithms. The ABA problem's occurrence is due to the intricate and complex interactions of the application's concurrent operations and, if not remedied, ABA can significantly corrupt the semantics of a nonblocking algorithm. The current state of the art leaves the elimination of the ABA hazards to the ingenuity of the software designer. In this work we provide the first systematic and detailed analysis of the ABA problem in lock-free Descriptor-based designs. We study the semantics of Descriptor-based lock-free data structures and propose a classification of their operations that helps us better understand the ABA problem and subsequently derive an effective ABA prevention scheme. Our ABA prevention approach outperforms by a large factor the use of the alternative CAS-based ABA prevention schemes. It offers speeds comparable to the use of the architecture-specific CAS2 instruction used for version counting. We demonstrate our ABA prevention scheme by integrating it into an advanced nonblocking data structure, a lock-free dynamically resizable array. Damian Dechev, Peter Pirkelbauer, Bjarne Stroustrup |
ISORC | 2 |
| 2010 | Support for the Evolution of C++ Generic Functions
Peter Pirkelbauer, Damian Dechev, Bjarne Stroustrup |
SLE | 1 |
| 2010 | Source Code Rejuvenation Is Not Refactoring
Peter Pirkelbauer, Damian Dechev, Bjarne Stroustrup |
SOFSEM | 1 |
| 2010 | Dynamic algorithm selection for runtime concepts
Peter Pirkelbauer, Sean Parent, Mat Marcus, Bjarne Stroustrup |
Sci. Comput. Program. | 1 |
| 2010 | Design and evaluation of C++ open multi-methods
Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup |
Sci. Comput. Program. | 1 |
| 2007 | Open multi-methods for c++abstractMultiple dispatch - the selection of a function to be invoked based on the dynamic type of two or more arguments - is a solution to several classical problems in object-oriented programming. Open multi-methods generalize multiple dispatch towards open-class extensions, which improve separation of concerns and provisions for retroactive design. We present the rationale, design, implementation, and performance of a language feature, called open multi-methods, for C++. Our open multi-methods support both repeated and virtual inheritance. Our call resolution rules generalize both virtual function dispatch and overload resolution semantics. After using all information from argument types, these rules can resolve further ambiguities by using covariant return types. Great care was taken to integrate open multi-methods with existing C++ language features and rules. We describe a model implementation and compare its performance and space requirements to existing open multi-method extensions and workaround techniques for C++. Compared to these techniques, our approach is simpler to use, catches more user mistakes, and resolves more ambiguities through link-time analysis, runs significantly faster, and requires less memory. In particular, the runtime cost of calling an open multi method is constant and less than the cost of a double dispatch (two virtual function calls). Finally, we provide a sketch of a design for open multi-methods in the presence of dynamic loading and linking of libraries. Peter Pirkelbauer, Yuriy Solodkyy, Bjarne Stroustrup |
GPCE | 1 |
| 2006 | Lock-Free Dynamically Resizable Arrays
Damian Dechev, Peter Pirkelbauer, Bjarne Stroustrup |
OPODIS | 2 |
| 1997 | Zero-Overhead Exeption Handling Using Metaprogramming
Markus Hof, Hanspeter Mössenböck, Peter Pirkelbauer |
SOFSEM | 3 |