Demo Data from EDBT 2026 / reviewers in the wild / expert
Austin T. Clements
dblp:21/659
· DBLP profile ↗
10ranked-venue papers
5as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 2 first-authorSystems, architecture and hardware · 5 · 4 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
6 papers |
Operating systems · 75% Programming languages and type systems · 9% Concurrent programming · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
9 papers |
Storage systems · 45% Performance modeling and evaluation · 26% Parallel and multicore computing · 14% | |
| Databases, data mining, and information retrieval
1 paper |
Transaction processing and concurrency control · 50% Database system architecture and tuning · 50% |
Topics — the 20 heaviest of 24, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Storage systems
file systems |
0.4 | 3 | 2017 | Scaling a file system to many cores using an operation log · SOSP 2017 Decentralized Deduplication in SAN Cluster File Systems · USENIX ATC 2009 PersiFS: a versioned file system with an efficient representation · SOSP 2005 |
Performance modeling and evaluation › parallel performance evaluation
multicore scalability |
0.4 | 3 | 2017 | The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors · ACM Trans. Comput. Syst. 2015 An Analysis of Linux Scalability to Many Cores · OSDI 2010 Scaling a file system to many cores using an operation log · SOSP 2017 |
Operating systems › resource management › memory management
address space management |
0.3 | 2 | 2013 | RadixVM: scalable address spaces for multithreaded applications · EuroSys 2013 Scalable address spaces using RCU balanced trees · ASPLOS 2012 |
Operating systems › resource management › memory management
virtual memory |
0.3 | 2 | 2013 | RadixVM: scalable address spaces for multithreaded applications · EuroSys 2013 Scalable address spaces using RCU balanced trees · ASPLOS 2012 |
Operating systems › kernel › kernel design
kernel scalability |
0.2 | 2 | 2012 | Scalable address spaces using RCU balanced trees · ASPLOS 2012 An Analysis of Linux Scalability to Many Cores · OSDI 2010 |
Memory systems › memory management
virtual memory |
0.2 | 1 | 2013 | RadixVM: scalable address spaces for multithreaded applications · EuroSys 2013 |
Operating systems › resource management › memory management › virtual memory
page fault handling |
0.1 | 1 | 2012 | Scalable address spaces using RCU balanced trees · ASPLOS 2012 |
Concurrent programming › synchronization
read-copy-update |
0.1 | 1 | 2012 | Scalable address spaces using RCU balanced trees · ASPLOS 2012 |
Transaction processing and concurrency control › consistency
transactional consistency |
0.1 | 1 | 2010 | Transactional Consistency and Automatic Management in an Application Data Cache · OSDI 2010 |
Storage systems › file systems
cluster file systems |
0.1 | 1 | 2009 | Decentralized Deduplication in SAN Cluster File Systems · USENIX ATC 2009 |
Storage systems › data reduction › data deduplication
distributed deduplication |
0.1 | 1 | 2009 | Decentralized Deduplication in SAN Cluster File Systems · USENIX ATC 2009 |
Compilers and program optimization › compiler construction
extensible compiler |
0.1 | 1 | 2008 | Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008 |
Programming languages and type systems
language design |
0.1 | 1 | 2008 | Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008 |
Programming languages and type systems › language design
language extension |
0.1 | 1 | 2008 | Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008 |
Storage systems › file systems › versioning
versioning file system |
0.1 | 1 | 2005 | PersiFS: a versioned file system with an efficient representation · SOSP 2005 |
Parallel and multicore computing › thread-level parallelism
multithreaded applications |
0.0 | 1 | 2013 | RadixVM: scalable address spaces for multithreaded applications · EuroSys 2013 |
Memory systems › memory interference
cache line contention |
0.0 | 1 | 2012 | Scalable address spaces using RCU balanced trees · ASPLOS 2012 |
Distributed systems
distributed coordination and fault tolerance |
0.0 | 1 | 2010 | Transactional Consistency and Automatic Management in an Application Data Cache · OSDI 2010 |
Storage systems
storage reliability |
0.0 | 1 | 2009 | Decentralized Deduplication in SAN Cluster File Systems · USENIX ATC 2009 |
Operating systems
systems programming |
0.0 | 1 | 2008 | Xoc, an extension-oriented compiler for systems programming · ASPLOS 2008 |
Methods — techniques the papers use, named apart from their topics
test generation · 0.4formalization · 0.4radix tree metadata · 0.3distributed reference counting · 0.3commutativity analysis · 0.3TLB shootdown targeting · 0.3read-copy-update · 0.3balanced binary tree · 0.3deduplication · 0.1compiler extension framework · 0.1snapshotting · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Scaling a file system to many cores using an operation logabstractIt is challenging to simultaneously achieve multicore scalability and high disk throughput in a file system. For example, even for commutative operations like creating different files in the same directory, current file systems introduce cache-line conflicts when updating an in-memory copy of the on-disk directory block, which limits scalability. Srivatsa S. Bhat, Rasha Eqbal, Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich |
SOSP | 3 |
| 2015 | The Scalable Commutativity Rule: Designing Scalable Software for Multicore ProcessorsabstractWhat opportunities for multicore scalability are latent in software interfaces, such as system call APIs? Can scalability challenges and opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions, we introduce the scalable commutativity rule: whenever interface operations commute, they can be implemented in a way that scales. This rule is useful throughout the development process for scalable multicore software, from the interface design through implementation, testing, and evaluation. This article formalizes the scalable commutativity rule. This requires defining a novel form of commutativity, SIM commutativity , that lets the rule apply even to complex and highly stateful software interfaces. We also introduce a suite of software development tools based on the rule. Our Commuter tool accepts high-level interface models, generates tests of interface operations that commute and hence could scale, and uses these tests to systematically evaluate the scalability of implementations. We apply Commuter to a model of 18 POSIX file and virtual memory system operations. Using the resulting 26,238 scalability tests, Commuter highlights Linux kernel problems previously observed to limit application scalability and identifies previously unknown bottlenecks that may be triggered by future workloads or hardware. Finally, we apply the scalable commutativity rule and Commuter to the design and implementation sv6, a new POSIX-like operating system. sv6’s novel file and virtual memory system designs enable it to scale for 99% of the tests generated by Commuter . These results translate to linear scalability on an 80-core x86 machine for applications built on sv6’s commutative operations. Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich, Robert T. Morris, Eddie Kohler |
ACM Trans. Comput. Syst. | 1 |
| 2013 | RadixVM: scalable address spaces for multithreaded applicationsabstractRadixVM is a new virtual memory system design that enables fully concurrent operations on shared address spaces for multithreaded processes on cache-coherent multicore computers. Today, most operating systems serialize operations such as mmap and munmap, which forces application developers to split their multithreaded applications into multiprocess applications, hoard memory to avoid the overhead of returning it, and so on. RadixVM removes this burden from application developers by ensuring that address space operations on non-overlapping memory regions scale perfectly. It does so by combining three techniques: 1) it organizes metadata in a radix tree instead of a balanced tree to avoid unnecessary cache line movement; 2) it uses a novel memory-efficient distributed reference counting scheme; and 3) it uses a new scheme to target remote TLB shootdowns and to often avoid them altogether. Experiments on an 80 core machine show that RadixVM achieves perfect scalability for non-overlapping regions: if several threads mmap or munmap pages in parallel, they can run completely independently and induce no cache coherence traffic. Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich |
EuroSys | 1 |
| 2013 | The scalable commutativity rule: designing scalable software for multicore processorsabstractWhat fundamental opportunities for scalability are latent in interfaces, such as system call APIs? Can scalability opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions this paper introduces the following rule: Whenever interface operations commute, they can be implemented in a way that scales. This rule aids developers in building more scalable software starting from interface design and carrying on through implementation, testing, and evaluation. Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich, Robert T. Morris, Eddie Kohler |
SOSP | 1 |
| 2012 | Scalable address spaces using RCU balanced treesabstractSoftware developers commonly exploit multicore processors by building multithreaded software in which all threads of an application share a single address space. This shared address space has a cost: kernel virtual memory operations such as handling soft page faults, growing the address space, mapping files, etc. can limit the scalability of these applications. In widely-used operating systems, all of these operations are synchronized by a single per-process lock. This paper contributes a new design for increasing the concurrency of kernel operations on a shared address space by exploiting read-copy-update (RCU) so that soft page faults can both run in parallel with operations that mutate the same address space and avoid contending with other page faults on shared cache lines. To enable such parallelism, this paper also introduces an RCU-based binary balanced tree for storing memory mappings. An experimental evaluation using three multithreaded applications shows performance improvements on 80 cores ranging from 1.7x to 3.4x for an implementation of this design in the Linux 2.6.37 kernel. The RCU-based binary tree enables soft page faults to run at a constant cost with an increasing number of cores,suggesting that the design will scale well beyond 80 cores. Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich |
ASPLOS | 1 |
| 2010 | An Analysis of Linux Scalability to Many Cores
Silas Boyd-Wickizer, Austin T. Clements, Yandong Mao, Aleksey Pesterev, M. Frans Kaashoek, Robert Morris 0005, Nickolai Zeldovich |
OSDI | 2 |
| 2010 | Transactional Consistency and Automatic Management in an Application Data Cache
Dan R. K. Ports, Austin T. Clements, Irene Zhang, Samuel Madden 0001, Barbara Liskov |
OSDI | 2 |
| 2009 | Decentralized Deduplication in SAN Cluster File Systems
Austin T. Clements, Irfan Ahmad 0005, Murali Vilayannur |
USENIX ATC | 1 |
| 2008 | Xoc, an extension-oriented compiler for systems programmingabstractToday's system programmers go to great lengths to extend the languages in which they program. For instance, system-specific compilers find errors in Linux and other systems, and add support for specialized control flow to Qt and event-based programs. These compilers are difficult to build and cannot always understand each other's language changes. However, they can greatly improve code understandability and correctness, advantages that should be accessible to all programmers. Russ Cox, Tom Bergan, Austin T. Clements, M. Frans Kaashoek, Eddie Kohler |
ASPLOS | 3 |
| 2005 | PersiFS: a versioned file system with an efficient representationabstractThe availability of previous file versions is invaluable for recovering from file corruption or user errors such as accidental deletions. Versioned file systems address this need by retaining earlier versions of changed files. Many existing file systems, such as Plan 9, WAFL, AFS, and others, use a snap-shotting approach: they record and archive the state of the file system at periodic intervals. However, this fails to capture modifications that are made between snapshots. Our system, PersiFS, is continuously versioned, meaning that it stores every modification, and thus allows access to the file system state as it appeared at any specified time. To make this feasible, we use a number of efficient data structures to optimize both access time and disk space. Dan R. K. Ports, Austin T. Clements, Erik D. Demaine |
SOSP | 2 |