EDBT 2026 Demo / reviewers in the wild / expert
Paul E. McKenney
dblp:12/1073
· DBLP profile ↗
19ranked-venue papers
8as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 2 first-authorSoftware engineering, systems software and programming languages · 7 · 3 first-authorComputer networks · 4 · 3 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
7 papers |
Concurrent programming · 62% Operating systems · 24% Program verification · 7% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 84% Memory systems · 16% |
Topics — the 22 heaviest of 24, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › synchronization
read-copy-update |
0.9 | 3 | 2020 | An HTM-based update-side synchronization for RCU on NUMA systems · EuroSys 2020 Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel · ASPLOS 2018 User-Level Implementations of Read-Copy Update · IEEE Trans. Parallel Distributed Syst. 2012 |
Concurrent programming
synchronization |
0.6 | 2 | 2020 | An HTM-based update-side synchronization for RCU on NUMA systems · EuroSys 2020 User-Level Implementations of Read-Copy Update · IEEE Trans. Parallel Distributed Syst. 2012 |
Parallel and multicore computing
synchronization |
0.5 | 2 | 2020 | An HTM-based update-side synchronization for RCU on NUMA systems · EuroSys 2020 The RCU-Reader Preemption Problem in VMs · USENIX ATC 2017 |
Operating systems › kernel › kernel design
kernel synchronization |
0.5 | 2 | 2018 | Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel · ASPLOS 2018 User-Level Implementations of Read-Copy Update · IEEE Trans. Parallel Distributed Syst. 2012 |
Concurrent programming
memory models |
0.3 | 1 | 2018 | Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux Kernel · ASPLOS 2018 |
Operating systems › resource management › memory management
virtual memory |
0.3 | 1 | 2017 | The RCU-Reader Preemption Problem in VMs · USENIX ATC 2017 |
Software testing
mutation testing |
0.2 | 1 | 2015 | How Verified is My Code? Falsification-Driven Verification (T) · ASE 2015 |
Parallel and multicore computing › transactional memory
hardware transactional memory |
0.1 | 1 | 2020 | An HTM-based update-side synchronization for RCU on NUMA systems · EuroSys 2020 |
Memory systems
non-uniform memory access |
0.1 | 1 | 2020 | An HTM-based update-side synchronization for RCU on NUMA systems · EuroSys 2020 |
Concurrent programming
concurrent data structures |
0.1 | 1 | 2011 | Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming · USENIX ATC 2011 |
Concurrent programming › non-blocking algorithms
wait-free synchronization |
0.0 | 1 | 2012 | User-Level Implementations of Read-Copy Update · IEEE Trans. Parallel Distributed Syst. 2012 |
Parallel and multicore computing
concurrent programming |
0.0 | 1 | 2011 | Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming · USENIX ATC 2011 |
Transport protocols and congestion control
TCP |
0.0 | 1 | 1992 | Efficient Demultiplexing of Incoming TCP Packets · SIGCOMM 1992 |
Internet architecture and protocols › packet scheduling
fair queueing |
0.0 | 1 | 1990 | Stochastic Fairness Queueing · INFOCOM 1990 |
Physical-layer communications › channel coding › error control coding
forward error correction |
0.0 | 1 | 1990 | Packet Recovery in High-Speed Networks Using Coding and Buffer Management · INFOCOM 1990 |
Wireless networking
packet recovery |
0.0 | 1 | 1990 | Packet Recovery in High-Speed Networks Using Coding and Buffer Management · INFOCOM 1990 |
Internet architecture and protocols
packet scheduling |
0.0 | 1 | 1990 | Stochastic Fairness Queueing · INFOCOM 1990 |
Transport protocols and congestion control › transport protocols
reliable data transfer |
0.0 | 1 | 1990 | Packet Recovery in High-Speed Networks Using Coding and Buffer Management · INFOCOM 1990 |
Operating systems
network stack |
0.0 | 1 | 1992 | Efficient Demultiplexing of Incoming TCP Packets · SIGCOMM 1992 |
Wireless networking
medium access control |
0.0 | 1 | 1991 | Physical- and Link-Layer Modeling of Packet-Radio Network Performance · IEEE J. Sel. Areas Commun. 1991 |
Wireless networking
packet radio network |
0.0 | 1 | 1991 | Physical- and Link-Layer Modeling of Packet-Radio Network Performance · IEEE J. Sel. Areas Commun. 1991 |
Internet architecture and protocols
buffer management |
0.0 | 1 | 1990 | Packet Recovery in High-Speed Networks Using Coding and Buffer Management · INFOCOM 1990 |
Methods — techniques the papers use, named apart from their topics
logging · 0.9hardware transactional memory · 0.9fine-grained locking · 0.9herd simulator · 0.3formal verification · 0.3executable formal model · 0.3cat language · 0.3mutation analysis · 0.2model checking · 0.2locking · 0.1relativistic programming · 0.1simulation · 0.0performance analysis · 0.0analytical modeling · 0.0probabilistic analysis · 0.0analytic modeling · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | An HTM-based update-side synchronization for RCU on NUMA systemsabstractRead-copy update (RCU) can provide ideal scalability for read-mostly workloads, but some believe that it provides only poor performance for updates. This belief is due to the lack of RCU-centric update synchronization mechanisms. RCU instead works with a range of update-side mechanisms, such as locking. In fact, many developers embrace simplicity by using global locking. Logging, hardware transactional memory, or fine-grained locking can provide better scalability, but each of these approaches has limitations, such as imposing overhead on readers or poor scalability on non-uniform memory access (NUMA) systems, mainly due to their lack of NUMA-aware design principles. Seongjae Park, Paul E. McKenney, Laurent Dufour, Heon Young Yeom |
EuroSys | 2 |
| 2019 | A critical RCU safety property is... ease of use!abstractSome might argue that read-copy update (RCU) is too low-level to be targeted by hackers, but the advent of Row Hammer [19] demonstrated the naïveté of such views. After all, if black-hat hackers are ready, willing, and able to exploit hardware bugs such as Row Hammer, they are assuredly ready, willing, and able to exploit bugs in RCU. Nor is it any longer the case that RCU's involvement in exploitable Linux-kernel bugs is strictly theoretical. However, this bug involved not RCU's correctness, but rather its ease of use. Nevertheless, it was a real bug that really needed fixing. This paper describes this bug and the road to its eventual fix. Paul E. McKenney |
SYSTOR | 1 |
| 2018 | Frightening Small Children and Disconcerting Grown-ups: Concurrency in the Linux KernelabstractConcurrency in the Linux kernel can be a contentious topic. The Linux kernel mailing list features numerous discussions related to consistency models, including those of the more than 30 CPU architectures supported by the kernel and that of the kernel itself. How are Linux programs supposed to behave? Do they behave correctly on exotic hardware? A formal model can help address such questions. Better yet, an executable model allows programmers to experiment with the model to develop their intuition. Thus we offer a model written in the cat language, making it not only formal, but also executable by the herd simulator. We tested our model against hardware and refined it in consultation with maintainers. Finally, we formalised the fundamental law of the Read-Copy-Update synchronisation mechanism, and proved that one of its implementations satisfies this law. Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, Alan S. Stern |
ASPLOS | 3 |
| 2018 | Verification of tree-based hierarchical read-copy update in the Linux kernelabstractRead-Copy Update (RCU) is a scalable, high-performance Linux-kernel synchronization mechanism that runs low-overhead readers concurrently with updaters. Production-quality RCU implementations are decidedly non-trivial and their stringent validation is mandatory. This suggests use of formal verification. Previous formal verification efforts for RCU either focus on simple implementations or use modeling languages. In this paper, we construct a model directly from the source code of Tree RCU in the Linux kernel, and use the CBMC program analyzer to verify its safety and liveness properties. To the best of our knowledge, this is the first verification of a significant part of RCU's source code - an important step towards integration of formal verification into the Linux kernel's regression test suite. Lihao Liang, Paul E. McKenney, Daniel Kroening, Tom Melham |
DATE | 2 |
| 2018 | How verified (or tested) is my code? Falsification-driven verification and testing
Alex Groce, Iftekhar Ahmed 0001, Carlos Jensen, Paul E. McKenney, Josie Holmes |
Autom. Softw. Eng. | 4 |
| 2017 | The RCU-Reader Preemption Problem in VMs
Aravinda Prasad, K. Gopinath, Paul E. McKenney |
USENIX ATC | 3 |
| 2015 | How Verified is My Code? Falsification-Driven Verification (T)abstractFormal verification has advanced to the point that developers can verify the correctness of small, critical modules. Unfortunately, despite considerable efforts, determining if a "verification" verifies what the author intends is still difficult. Previous approaches are difficult to understand and often limited in applicability. Developers need verification coverage in terms of the software they are verifying, not model checking diagnostics. We propose a methodology to allow developers to determine (and correct) what it is that they have verified, and tools to support that methodology. Our basic approach is based on a novel variation of mutation analysis and the idea of verification driven by falsification. We use the CBMC model checker to show that this approach is applicable not only to simple data structures and sorting routines, and verification of a routine in Mozilla's JavaScript engine, but to understanding an ongoing effort to verify the Linux kernel Read-Copy-Update (RCU) mechanism. Alex Groce, Iftekhar Ahmed 0001, Carlos Jensen, Paul E. McKenney |
ASE | 4 |
| 2012 | User-Level Implementations of Read-Copy UpdateabstractRead-copy update (RCU) is a synchronization technique that often replaces reader-writer locking because RCU's read-side primitives are both wait-free and an order of magnitude faster than uncontended locking. Although RCU updates are relatively heavy weight, the importance of read-side performance is increasing as computing systems become more responsive to changes in their environments. RCU is heavily used in several kernel-level environments. Unfortunately, kernel-level implementations use facilities that are often unavailable to user applications. The few prior user-level RCU implementations either provided inefficient read-side primitives or restricted the application architecture. This paper fills this gap by describing efficient and flexible RCU implementations based on primitives commonly available to user-level applications. Finally, this paper compares these RCU implementations with each other and with standard locking, which enables choosing the best mechanism for a given workload. This work opens the door to widespread user-application use of RCU. Mathieu Desnoyers, Paul E. McKenney, Alan S. Stern, Michel R. Dagenais, Jonathan Walpole |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2011 | Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming
Josh Triplett, Paul E. McKenney, Jonathan Walpole |
USENIX ATC | 2 |
| 2007 | Why the grass may not be greener on the other side: a comparison of locking vs. transactional memoryabstractThe advent of multi-core and multi-threaded processor architectures highlights the need to address the well-known shortcomings of the ubiquitous lock-based synchronization mechanisms. The emerging transactional-memory synchronization mechanism is viewed as a promising alternative to locking for high-concurrency environments, including operating systems. This paper presents a constructive critique of locking and transactional memory: their strengths, weaknesses, and challenges Paul E. McKenney, Maged M. Michael, Jonathan Walpole |
PLOS@SOSP | 1 |
| 2007 | Performance of memory reclamation for lockless synchronization
Thomas E. Hart, Paul E. McKenney, Angela Demke Brown, Jonathan Walpole |
J. Parallel Distributed Comput. | 2 |
| 2006 | Making lockless synchronization fast: performance implications of memory reclamationabstractAchieving high performance for concurrent applications on modern multiprocessors remains challenging. Many programmers avoid locking to improve performance, while others replace locks with non-blocking synchronization to protect against deadlock, priority inversion, and convoying. In both cases, dynamic data structures that avoid locking, require a memory reclamation scheme that reclaims nodes once they are no longer in use. The performance of existing memory reclamation schemes has not been thoroughly evaluated. We conduct the first fair and comprehensive comparison of three recent schemes -quiescent-state-based reclamation, epoch-based reclamation, and hazard-pointer-based reclamation - using a flexible microbenchmark. Our results show that there is no globally optimal scheme. When evaluating lockless synchronization, programmers and algorithm designers should thus carefully consider the data structure, the workload, and the execution environment, each of which can dramatically affect memory reclamation performance Thomas E. Hart, Paul E. McKenney, Angela Demke Brown |
IPDPS | 2 |
| 2001 | Experience with an efficient parallel kernel memory allocatorabstractAbstract There has been great progress from the traditional allocation algorithms designed for small memories to more modern algorithms exemplified by McKusick's and Karels' allocator (McKusick MK, Karels MJ. Design of a general purpose memory allocator for the 4.3BSD UNIX kernel. In USENIX Conference Proceedings, Berkeley, CA, June 1988). Nonetheless, none of these algorithms have been designed to meet the needs of UNIX kernels supporting commercial data‐processing applications in a shared‐memory multiprocessor environment. On a shared‐memory multiprocessor, memory is a global resource. Therefore, allocator performance depends on synchronization primitives and manipulation of shared data as well as on raw CPU speed. Synchronization primitives and access to shared data depend on system bus interactions. The speed of system buses has not kept pace with that of CPUs, as witnessed by the ever‐larger caches found on recent systems. Thus, the performance of synchronization primitives and of memory allocators that use them have not received the full benefit of increased CPU performance. An earlier paper (McKenney PE, Slingwine J. Efficient kernel memory allocation on shared‐memory multiprocessors. In USENIX Conference Proceedings, Berkeley, CA, February 1993), describes an allocator designed to meet this situation. This article reviews the motivation for and design of the allocator and presents the experience gained during the seven years that the allocator has been in production use. Copyright © 2001 John Wiley & Sons, Ltd. Paul E. McKenney, Jack Slingwine, Phil Krueger |
Softw. Pract. Exp. | 1 |
| 1999 | Differential ProfilingabstractPerformance can be a critical aspect of software quality; in some systems, poor performance can cause financial loss, physical damage, or even death. In such cases, it is imperative to identify system performance problems before deployment, preferably well before implementation. Unfortunately, the size of most software systems grossly exceeds the capacity of current performance-modelling techniques. Hence, there is a need for techniques to quickly identify the portions of the system that are performance-critical. These portions are often small enough to be modelled directly. This paper describes one such technique, differential profiling. Differential profiling combines two or more conventional profiles of a given program run in different situations or conditions. The technique mathematically combines corresponding buckets of the conventional profiles, then sorts the resulting list by these combined values. Different combining functions are suitable for different situations. This combining of conventional profiles frequently yields much greater insight than could be obtained from either of the conventional profiles. Hence, differential profiling helps to locate difficult-to-find performance bottlenecks, such as those that are distributed widely throughout a large program or system, perhaps by being concealed within macros or inlined functions. This paper also describes how this technique may be used to pinpoint certain types of performance bottlenecks in large programs running on large-scale shared-memory multiprocessors. In this environment, the critical bottleneck might consume only a small fraction of the total CPU time, since typical critical sections can consume at most one CPUs worth of computation. This sort of bottleneck, particularly when widely distributed throughout the program under consideration, is often invisible to traditional profiling techniques. Copyright © 1999 John Wiley & Sons, Ltd. Paul E. McKenney |
Softw. Pract. Exp. | 1 |
| 1992 | Efficient Demultiplexing of Incoming TCP PacketsabstractWhen a transport protocol segment arrives at a receiving system, the receiving system must determine which application is to receive the protocol segment. This decision is typically made by looking up a protocol control block (PCB) for the segment, based on information in the segment's header. PCB lookup (a form of demultiplexing) is typically one of the more expensive operations in handling inbound protocol segment [Fe190]. Paul E. McKenney, Ken F. Dove |
SIGCOMM | 1 |
| 1991 | Physical- and Link-Layer Modeling of Packet-Radio Network PerformanceabstractAn analytical model of packet-radio network performance which takes into account the properties of realistic link-layer mechanisms such as the unreliable nature of acknowledgements is presented. The methodology and the derivation of the model are discussed. Computer implementation of this model, which shows that failing to account for the nonideal behavior of acknowledgements overstates throughput by a factor of two, that allowing too many transmission attempts causes throughput to suffer, and that throughput is a strong function of the desired packet reliability and neighborhood size, is discussed.> Paul E. McKenney, Peter E. Bausbacher |
IEEE J. Sel. Areas Commun. | 1 |
| 1990 | Stochastic Fairness QueueingabstractA class of algorithms called stochastic fairness queuing is presented. The algorithms are probabilistic variants of fairness queuing. They do not require an exact mapping and thus are suitable for high-speed software or firmware implementation. The algorithms span a broad range of CPU, memory, and fairness tradeoffs. It is shown that the worst-case execution-speed stochastic fairness queuing is faster than the best-case execution speed of all of the implementations of fair queuing presented. This advantage is larger for protocols with longer addresses, e.g. the ISO protocol suite.> Paul E. McKenney |
INFOCOM | 1 |
| 1990 | Packet Recovery in High-Speed Networks Using Coding and Buffer ManagementabstractA technique for fiber-optic networks based on forward-error correction (FEC) that allows the destination to reconstruct missing data packets by using redundant parity packets that the source adds to each block of data packets is presented. Methods for generating several types of parity packets are described, along with decoding techniques and their implementations. Algorithms are presented for packet interleaving and selective rejection of packets from node buffers, both of which disperse missing packets among many blocks, thereby reducing the required coding complexity. Performance evaluation, by both analytic and simulation models, shows that this technique can result in a reduction of up to three orders of magnitude in the packet loss rate.> Nachum Shacham, Paul E. McKenney |
INFOCOM | 2 |
| 1989 | High-Speed Event Counting and Classification Using a Dictionary Hash Technique
Paul E. McKenney |
ICPP (3) | 1 |