Demo Data from EDBT 2026 / reviewers in the wild / expert
David Klaftenegger
dblp:140/8023
· DBLP profile ↗
5ranked-venue papers
3as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 3 first-authorSoftware engineering, systems software and programming languages · 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.
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Distributed systems · 41% Parallel and multicore computing · 39% Memory systems · 20% | |
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 70% Runtime systems and virtual machines · 30% |
Topics — the 8 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › synchronization
locking |
0.3 | 1 | 2018 | Queue Delegation Locking · IEEE Trans. Parallel Distributed Syst. 2018 |
Concurrent programming
synchronization |
0.3 | 1 | 2018 | Queue Delegation Locking · IEEE Trans. Parallel Distributed Syst. 2018 |
Parallel and multicore computing › synchronization
lock contention |
0.3 | 1 | 2018 | Queue Delegation Locking · IEEE Trans. Parallel Distributed Syst. 2018 |
Distributed systems › distributed programming
actor model |
0.3 | 1 | 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform · ACM Trans. Program. Lang. Syst. 2017 |
Distributed systems › distributed system dependability
reliable distributed systems |
0.3 | 1 | 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor Platform · ACM Trans. Program. Lang. Syst. 2017 |
Memory systems › shared memory
distributed shared memory |
0.2 | 1 | 2015 | Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory · HPDC 2015 |
Parallel and multicore computing
synchronization |
0.2 | 1 | 2015 | Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory · HPDC 2015 |
Memory systems
cache coherence |
0.1 | 1 | 2015 | Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared Memory · HPDC 2015 |
Methods — techniques the papers use, named apart from their topics
critical section delegation · 0.7partitioning · 0.6chaos monkey testing · 0.6self-invalidation · 0.2self-downgrade · 0.2passive data classification directories · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Queue Delegation LockingabstractThe scalability of parallel programs is often bounded by the performance of synchronization mechanisms used to protect critical sections. The performance of these mechanisms is in turn determined by their sequential execution time, efficient use of hardware, and ability to avoid waiting. In this article, we describe queue delegation (QD) locking, a family of locks that both delegate critical sections and enable detaching execution. Threads delegate work to the thread currently holding the lock and are able to detach, i.e., immediately continue their execution until they need a result from a previously delegated critical section. We show how to use queue delegation to build synchronization algorithms with lower overhead and higher throughput than existing algorithms, even when critical sections need to communicate results back immediately. Experiments when using up to 64 threads to access a shared priority queue show that QD locking provides 10 times higher throughput than Pthreads mutex locks and outperforms leading delegation algorithms. Also, when mixing parallel reads with delegated write operations, QD locking outperforms competing algorithms with an advantage ranging from 9.5 up to 207 percent increased throughput. Last but not least, continuing execution instead of waiting for the execution of critical sections leads to increased parallelism and better scalability. As we will see, queue delegation locking uses simple building blocks whose overhead is low even in uncontended use. All these make the technique useful in a wide variety of applications. David Klaftenegger, Konstantinos Sagonas, Kjell Winblad |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2017 | Scaling Reliably: Improving the Scalability of the Erlang Distributed Actor PlatformabstractDistributed actor languages are an effective means of constructing scalable reliable systems, and the Erlang programming language has a well-established and influential model. While the Erlang model conceptually provides reliable scalability, it has some inherent scalability limits and these force developers to depart from the model at scale. This article establishes the scalability limits of Erlang systems and reports the work of the EU RELEASE project to improve the scalability and understandability of the Erlang reliable distributed actor model. We systematically study the scalability limits of Erlang and then address the issues at the virtual machine, language, and tool levels. More specifically: (1) We have evolved the Erlang virtual machine so that it can work effectively in large-scale single-host multicore and NUMA architectures. We have made important changes and architectural improvements to the widely used Erlang/OTP release. (2) We have designed and implemented Scalable Distributed (SD) Erlang libraries to address language-level scalability issues and provided and validated a set of semantics for the new language constructs. (3) To make large Erlang systems easier to deploy, monitor, and debug, we have developed and made open source releases of five complementary tools, some specific to SD Erlang. Throughout the article we use two case studies to investigate the capabilities of our new technologies and tools: a distributed hash table based Orbit calculation and Ant Colony Optimisation (ACO). Chaos Monkey experiments show that two versions of ACO survive random process failure and hence that SD Erlang preserves the Erlang reliability model. While we report measurements on a range of NUMA and cluster architectures, the key scalability experiments are conducted on the Athos cluster with 256 hosts (6,144 cores). Even for programs with no global recovery data to maintain, SD Erlang partitions the network to reduce network traffic and hence improves performance of the Orbit and ACO benchmarks above 80 hosts. ACO measurements show that maintaining global recovery data dramatically limits scalability; however, scalability is recovered by partitioning the recovery data. We exceed the established scalability limits of distributed Erlang, and do not reach the limits of SD Erlang for these benchmarks at this scale (256 hosts, 6,144 cores). Philip W. Trinder, Natalia Chechina, Nikolaos S. Papaspyrou, Konstantinos Sagonas, Simon J. Thompson, Stephen Adams 0002, Stavros Aronis, Robert Baker 0001, Eva Bihari, Olivier Boudeville, Francesco Cesarini, Maurizio Di Stefano, Sverker Eriksson, Viktória Fördós, Amir Ghaffari, Aggelos Giantsios, Rickard Green, Csaba Hoch, David Klaftenegger, Huiqing Li, Kenneth Lundin, Kenneth MacKenzie, Katerina Roukounaki, Yiannis Tsiouris, Kjell Winblad |
ACM Trans. Program. Lang. Syst. | 19 |
| 2015 | Turning Centralized Coherence and Distributed Critical-Section Execution on their Head: A New Approach for Scalable Distributed Shared MemoryabstractA coherent global address space in a distributed system enables shared memory programming in a much larger scale than a single multicore or a single SMP. Without dedicated hardware support at this scale, the solution is a software distributed shared memory (DSM) system. However, traditional approaches to coherence (centralized via "active" home-node directories) and critical-section execution (distributed across nodes and cores) are inherently unfit for such a scenario. Instead, it is crucial to make decisions locally and avoid the long latencies imposed by both network and software message handlers. Likewise, synchronization is fast if it rarely involves communication with distant nodes (or even other sockets). To minimize the amount of long-latency communication required in both coherence and critical section execution, we propose a DSM system with a novel coherence protocol, and a novel hierarchical queue delegation locking approach. More specifically, we propose an approach, suitable for Data-Race-Free programs, based on self-invalidation, self-downgrade, and passive data classification directories that require no message handlers, thereby incurring no extra latency. For fast synchronization we extend Queue Delegation Locking to execute critical sections in large batches on a single core before passing execution along to other cores, sockets, or nodes, in that hierarchical order. The result is a software DSM system called Argo which localizes as many decisions as possible and allows high parallel performance with little overhead on synchronization when compared to prior DSM implementations. Stefanos Kaxiras, David Klaftenegger, Magnus Norgren, Alberto Ros 0001, Konstantinos Sagonas |
HPDC | 2 |
| 2014 | Delegation Locking Libraries for Improved Performance of Multithreaded Programs
David Klaftenegger, Konstantinos Sagonas, Kjell Winblad |
Euro-Par | 1 |
| 2014 | Brief announcement: queue delegation lockingabstractThe scalability of parallel programs is often bounded by the performance of synchronization mechanisms used to protect critical sections. The performance of these mechanisms is in turn determined by their ability to use modern hardware efficiently and do useful work while or instead of waiting. This brief announcement sketches the idea and implementation of queue delegation locking, a synchronization mechanism that provides high throughput by allowing threads to efficiently delegate their critical sections to the thread currently holding the lock and by allowing threads that do not need a result from their critical section to continue executing immediately after delegating their work. Experiments show that queue delegation locking outperforms leading synchronization mechanisms due to the combination of its fast operation transfer with its ability to allow threads to continue doing useful work instead of waiting. Thanks to its simple building blocks, even its uncontended overhead is low, making queue delegation locking useful in a wide variety of applications. David Klaftenegger, Konstantinos Sagonas, Kjell Winblad |
SPAA | 1 |