EDBT 2026 Demo / reviewers in the wild / expert
Keir Fraser
dblp:46/4243
· DBLP profile ↗
12ranked-venue papers
1as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 1 first-authorSoftware engineering, systems software and programming languages · 4Computer networks · 2Databases, data management, data science and information retrieval · 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
4 papers |
Cloud and datacenter computing · 36% Memory systems · 34% Storage systems · 20% | |
| Software engineering, system software, and programming languages
6 papers |
Concurrent programming · 70% Operating systems · 22% Programming languages and type systems · 8% | |
| Human-computer interaction and pervasive computing
1 paper |
Personal fabrication and tangible interfaces · 50% Design research and methods · 50% | |
| Computer networks
1 paper |
Internet architecture and protocols · 81% Routing and switching · 19% |
Topics — the 22 heaviest of 24, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems
non-volatile memory |
0.2 | 1 | 2014 | Strata: scalable high-performance storage on virtualized non-volatile memory · FAST 2014 |
Concurrent programming › transactional memory
software transactional memory |
0.1 | 2 | 2007 | Concurrent programming without locks · ACM Trans. Comput. Syst. 2007 Language support for lightweight transactions · OOPSLA 2003 |
Cloud and datacenter computing
virtualization |
0.1 | 2 | 2005 | Live Migration of Virtual Machines · NSDI 2005 Xen and the art of virtualization · SOSP 2003 |
Concurrent programming › non-blocking algorithms
non-blocking data structures |
0.1 | 1 | 2007 | Concurrent programming without locks · ACM Trans. Comput. Syst. 2007 |
Concurrent programming › synchronization
non-blocking synchronization |
0.1 | 1 | 2007 | Concurrent programming without locks · ACM Trans. Comput. Syst. 2007 |
Storage systems
file systems |
0.1 | 1 | 2014 | Strata: scalable high-performance storage on virtualized non-volatile memory · FAST 2014 |
Storage systems
scalable storage |
0.1 | 1 | 2014 | Strata: scalable high-performance storage on virtualized non-volatile memory · FAST 2014 |
Concurrent programming
synchronization |
0.1 | 1 | 2005 | Revocable locks for non-blocking programming · PPoPP 2005 |
Cloud and datacenter computing › virtualization › virtual machine migration
live migration |
0.1 | 1 | 2005 | Live Migration of Virtual Machines · NSDI 2005 |
Parallel and multicore computing › synchronization
lock-free synchronization |
0.1 | 1 | 2005 | Revocable locks for non-blocking programming · PPoPP 2005 |
Programming languages and type systems › concurrent programming languages
language constructs for concurrency |
0.0 | 1 | 2003 | Language support for lightweight transactions · OOPSLA 2003 |
Operating systems › system security › operating system security › protection mechanism › isolation
performance isolation |
0.0 | 1 | 2003 | Xen and the art of virtualization · SOSP 2003 |
Operating systems › system security › operating system security › protection mechanism › isolation
resource isolation |
0.0 | 1 | 2003 | Xen and the art of virtualization · SOSP 2003 |
Cloud and datacenter computing › virtualization
virtual machine monitor |
0.0 | 1 | 2003 | Xen and the art of virtualization · SOSP 2003 |
Internet architecture and protocols
network interface design |
0.0 | 1 | 2001 | Arsenic: A User-Accessible Gigabit Ethernet Interface · INFOCOM 2001 |
Operating systems › i/o
i/o subsystem |
0.0 | 1 | 2001 | Arsenic: A User-Accessible Gigabit Ethernet Interface · INFOCOM 2001 |
Concurrent programming
atomicity |
0.0 | 1 | 2007 | Concurrent programming without locks · ACM Trans. Comput. Syst. 2007 |
Concurrent programming
concurrency control |
0.0 | 1 | 2005 | Revocable locks for non-blocking programming · PPoPP 2005 |
Concurrent programming › synchronization
locking |
0.0 | 1 | 2003 | Language support for lightweight transactions · OOPSLA 2003 |
Cloud and datacenter computing › virtualization › virtual machine management
server consolidation |
0.0 | 1 | 2003 | Xen and the art of virtualization · SOSP 2003 |
Internet architecture and protocols
quality of service |
0.0 | 1 | 2001 | Arsenic: A User-Accessible Gigabit Ethernet Interface · INFOCOM 2001 |
Routing and switching › traffic engineering
traffic scheduling and shaping |
0.0 | 1 | 2001 | Arsenic: A User-Accessible Gigabit Ethernet Interface · INFOCOM 2001 |
Methods — techniques the papers use, named apart from their topics
paravirtualization · 0.1performance measurement · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Strata: scalable high-performance storage on virtualized non-volatile memory
Brendan Cully, Jake Wires, Dutch T. Meyer, Kevin Jamieson 0002, Keir Fraser, Tim Deegan, Daniel Stodden, Geoffrey Lefebvre, Daniel Ferstay, Andy Warfield |
FAST | 5 |
| 2008 | A transactional approach to lock scalabilityabstractMost software transactional memory implementations execute code using fine-grained optimistic concurrency control. This does not perform well with low contention data structures where fine grained conflict detection means manipulating metadata for every object touched and optimistic concurrency control imposes the overhead of making thread private shadow copies. Also, a purely optimistic approach does not coexist naturally with legacy code that is either already concurrent using locks or does IO operations that cannot be revoked. We try to address these problems by presenting a new form of the reader writer locks used by the vast majority of concurrent code today. Along with the traditional lock/unlock operations, these new locks support STM-like management of shadow versions that can be used when desired by the programmer. We show how existing lock based code can be scaled to perform as well as an STM, with few changes to the existing code base. We also show as a corollary that our design allows construction of data structures that retain strict fairness between threads, while simultaneously allowing disjoint access parallelism. Amitabha Roy 0002, Keir Fraser, Steven Hand 0001 |
SPAA | 2 |
| 2007 | Concurrent programming without locksabstractMutual exclusion locks remain the de facto mechanism for concurrency control on shared-memory data structures. However, their apparent simplicity is deceptive: It is hard to design scalable locking strategies because locks can harbor problems such as priority inversion, deadlock, and convoying. Furthermore, scalable lock-based systems are not readily composable when building compound operations. In looking for solutions to these problems, interest has developed in nonblocking systems which have promised scalability and robustness by eschewing mutual exclusion while still ensuring safety. However, existing techniques for building nonblocking systems are rarely suitable for practical use, imposing substantial storage overheads, serializing nonconflicting operations, or requiring instructions not readily available on today's CPUs. In this article we present three APIs which make it easier to develop nonblocking implementations of arbitrary data structures. The first API is a multiword compare-and-swap operation (MCAS) which atomically updates a set of memory locations. This can be used to advance a data structure from one consistent state to another. The second API is a word-based software transactional memory (WSTM) which can allow sequential code to be reused more directly than with MCAS and which provides better scalability when locations are being read rather than being updated. The third API is an object-based software transactional memory (OSTM). OSTM allows a simpler implementation than WSTM, but at the cost of reengineering the code to use OSTM objects. We present practical implementations of all three of these APIs, built from operations available across all of today's major CPU families. We illustrate the use of these APIs by using them to build highly concurrent skip lists and red-black trees. We compare the performance of the resulting implementations against one another and against high-performance lock-based systems. These results demonstrate that it is possible to build useful nonblocking data structures with performance comparable to, or better than, sophisticated lock-based designs. Keir Fraser, Tim Harris 0001 |
ACM Trans. Comput. Syst. | 1 |
| 2005 | Are Virtual Machine Monitors Microkernels Done Right?
Steven Hand 0001, Andy Warfield, Keir Fraser, Evangelos Kotsovinos, Daniel J. Magenheimer |
HotOS | 3 |
| 2005 | Parallax: Managing Storage for a Million Machines
Andy Warfield, Russ Ross, Keir Fraser, Christian Limpach, Steven Hand 0001 |
HotOS | 3 |
| 2005 | Live Migration of Virtual Machines
Keir Fraser, Steven Hand 0001, Jacob Gorm Hansen, Eric Jul, Christian Limpach, Ian Pratt 0001, Andy Warfield |
NSDI | 2 |
| 2005 | Revocable locks for non-blocking programmingabstractIn this paper we present a new form of revocable lock that streamlines the construction of higher level concurrency abstractions such as atomic multi-word heap updates. The key idea is to expose revocation by displacing the previous lock holder's execution to a safe address. This provides mutual exclusion without needing to block threads. This brings many simplifications, often removing the need for dynamic memory management and letting us strip operations from common-case execution paths. As well as streamlining algorithms' design, our results show that the technique leads to improved performance and scalability across a range of levels of contention. Tim Harris 0001, Keir Fraser |
PPoPP | 2 |
| 2005 | Facilitating the Development of Soft Devices
Andy Warfield, Steven Hand 0001, Keir Fraser, Tim Deegan |
USENIX ATC, General Track | 3 |
| 2003 | Language support for lightweight transactionsabstractConcurrent programming is notoriously difficult. Current abstractions are intricate and make it hard to design computer systems that are reliable and scalable. We argue that these problems can be addressed by moving to a declarative style of concurrency control in which programmers directly indicate the safety properties that they require. In our scheme the programmer demarks sections of code which execute within lightweight software-based transactions that commit atomically and exactly once. These transactions can update shared data, instantiate objects, invoke library features and so on. They can also block, waiting for arbitrary boolean conditions to become true. Transactions which do not access the same shared memory locations can commit concurrently. Furthermore, in general, no performance penalty is incurred for memory accesses outside transactions.We present a detailed design of this proposal along with an implementation and evaluation. We argue that the resulting system (i) is easier for mainstream programmers to use, (ii) prevents lock-based priority-inversion and deadlock problems and (iii) can offer performance advantages. Tim Harris 0001, Keir Fraser |
OOPSLA | 2 |
| 2003 | Xen and the art of virtualizationabstractNumerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of performance. Others sacrifice security or functionality for speed. Few offer resource isolation or performance guarantees; most provide only best-effort provisioning, risking denial of service.This paper presents Xen, an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, but without sacrificing either performance or functionality. This is achieved by providing an idealized virtual machine abstraction to which operating systems such as Linux, BSD and Windows XP, can be ported with minimal effort.Our design is targeted at hosting up to 100 virtual machine instances simultaneously on a modern server. The virtualization approach taken by Xen is extremely efficient: we allow operating systems such as Linux and Windows XP to be hosted simultaneously for a negligible performance overhead --- at most a few percent compared with the unvirtualized case. We considerably outperform competing commercial and freely available solutions in a range of microbenchmarks and system-wide tests. Paul Barham 0001, Boris Dragovic, Keir Fraser, Steven Hand 0001, Tim Harris 0001, Alex Ho, Rolf Neugebauer, Ian Pratt 0001, Andy Warfield |
SOSP | 3 |
| 2002 | A Practical Multi-word Compare-and-Swap Operation
Tim Harris 0001, Keir Fraser, Ian Pratt 0001 |
DISC | 2 |
| 2001 | Arsenic: A User-Accessible Gigabit Ethernet InterfaceabstractArsenic is a gigabit Ethernet NIC which exports an extended interface to the operating system and user applications. Unlike conventional adaptors, it implements some of the protection and multiplexing functions traditionally performed by the operating system. This enables applications to be given direct access to their own 'virtual interface', allowing them to send and receive packets without operating system interaction. Packet filters uploaded to the interface card by the operating system are used to demultiplex received packets to their destination application, and to validate packets before transmission. Transmit traffic shaping and scheduling mechanisms enable the bandwidth used by applications to be controlled. These features allow protocol processing to be moved into user-space shared libraries without sacrificing the security and resource management functionality that the operating system normally provides. The paper describes Arsenic's design and implementation, and outlines how it is integrated into the Linux 2.3 operating system. Performance measurements are presented that show Arsenic supports low latency, high bandwidth communication while offering greater CPU efficiency and better quality of service than conventional devices. Ian Pratt 0001, Keir Fraser |
INFOCOM | 2 |