EDBT 2026 Demo / reviewers in the wild / expert
Christopher Frost 0001
dblp:69/6042-1
· DBLP profile ↗
7ranked-venue papers
1as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 1 first-authorSystems, architecture and hardware · 2
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
6 papers |
Distributed systems · 48% Storage systems · 38% Memory systems · 11% | |
| Software engineering, system software, and programming languages
4 papers |
Programming languages and type systems · 87% Operating systems · 13% |
Topics — the 20 heaviest of 22, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
distributed database |
0.3 | 2 | 2013 | Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013 Spanner: Google's Globally-Distributed Database · OSDI 2012 |
Distributed systems
consensus |
0.2 | 1 | 2013 | Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013 |
Distributed systems
replication |
0.2 | 1 | 2013 | Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013 |
Distributed systems › replication › update propagation
synchronous replication |
0.2 | 1 | 2013 | Spanner: Google's Globally Distributed Database · ACM Trans. Comput. Syst. 2013 |
Storage systems
crash consistency |
0.1 | 2 | 2007 | Generalized file system dependencies · SOSP 2007 The KudOS architecture for file systems · SOSP 2005 |
Storage systems
file systems |
0.1 | 2 | 2007 | Generalized file system dependencies · SOSP 2007 The KudOS architecture for file systems · SOSP 2005 |
Programming languages and type systems › method dispatch
dynamic dispatch |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems › type checking
modular typechecking |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems › method dispatch
predicate dispatch |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems
type systems |
0.1 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Storage systems › i/o scheduling
disk scheduling |
0.1 | 1 | 2009 | Reducing Seek Overhead with Application-Directed Prefetching · USENIX ATC 2009 |
Storage systems › i/o optimization
disk seek time reduction |
0.1 | 1 | 2009 | Reducing Seek Overhead with Application-Directed Prefetching · USENIX ATC 2009 |
Memory systems
non-volatile memory |
0.1 | 1 | 2009 | Better I/O through byte-addressable, persistent memory · SOSP 2009 |
Memory systems › non-volatile memory
persistent memory |
0.1 | 1 | 2009 | Better I/O through byte-addressable, persistent memory · SOSP 2009 |
Storage systems › non-volatile memory storage
persistent memory systems |
0.1 | 1 | 2009 | Better I/O through byte-addressable, persistent memory · SOSP 2009 |
Storage systems
storage reliability |
0.1 | 1 | 2007 | Generalized file system dependencies · SOSP 2007 |
Storage systems › file systems › write-optimized file system
log-structured file system |
0.1 | 1 | 2005 | The KudOS architecture for file systems · SOSP 2005 |
Distributed systems › distributed coordination and fault tolerance
consensus and replication |
0.0 | 1 | 2012 | Spanner: Google's Globally-Distributed Database · OSDI 2012 |
Programming languages and type systems › object-oriented programming
java |
0.0 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 2009 | Expressive and modular predicate dispatch for Java · ACM Trans. Program. Lang. Syst. 2009 |
Methods — techniques the papers use, named apart from their topics
truetime · 0.2patch-based dependency abstraction · 0.1soft updates · 0.1journalling · 0.1featherweight java · 0.1decision procedures · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Spanner: Google's Globally Distributed DatabaseabstractSpanner is Google’s scalable, multiversion, globally distributed, and synchronously replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This article describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: nonblocking reads in the past, lock-free snapshot transactions, and atomic schema changes, across all of Spanner. James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost 0001, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson C. Hsieh, Sebastian Kanthak, Eugene Kogan, Alexander Lloyd, Sergey Melnik 0001, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Ruth Wang, Dale Woodford |
ACM Trans. Comput. Syst. | 5 |
| 2012 | Spanner: Google's Globally-Distributed Database
James C. Corbett, Jeffrey Dean, Michael Epstein, Andrew Fikes, Christopher Frost 0001, J. J. Furman, Sanjay Ghemawat, Andrey Gubarev, Christopher Heiser, Peter Hochschild, Wilson C. Hsieh, Sebastian Kanthak, Eugene Kogan, Alexander Lloyd, Sergey Melnik 0001, David Mwaura, David Nagle, Sean Quinlan, Rajesh Rao, Lindsay Rolig, Yasushi Saito, Michal Szymaniak, Ruth Wang, Dale Woodford |
OSDI | 5 |
| 2009 | Better I/O through byte-addressable, persistent memoryabstractModern computer systems have been built around the assumption that persistent storage is accessed via a slow, block-based interface. However, new byte-addressable, persistent memory technologies such as phase change memory (PCM) offer fast, fine-grained access to persistent storage. Jeremy Condit, Ed Nightingale, Christopher Frost 0001, Engin Ipek, Benjamin C. Lee, Doug Burger, Derrick Coetzee |
SOSP | 3 |
| 2009 | Reducing Seek Overhead with Application-Directed Prefetching
Steve Vandebogart, Christopher Frost 0001, Eddie Kohler |
USENIX ATC | 2 |
| 2009 | Expressive and modular predicate dispatch for JavaabstractPredicate dispatch is an object-oriented (OO) language mechanism for determining the method implementation to be invoked upon a message send. With predicate dispatch, each method implementation includes a predicate guard specifying the conditions under which the method should be invoked, and logical implication of predicates determines the method overriding relation. Predicate dispatch naturally unifies and generalizes several common forms of dynamic dispatch, including traditional OO dispatch, multimethod dispatch, and functional-style pattern matching. Unfortunately, prior languages supporting predicate dispatch have had several deficiencies that limit the practical utility of this language feature. We describe JPred, a backward-compatible extension to Java supporting predicate dispatch. While prior languages with predicate dispatch have been extensions to toy or nonmainstream languages, we show how predicate dispatch can be naturally added to a traditional OO language. While prior languages with predicate dispatch have required the whole program to be available for typechecking and compilation, JPred retains Java's modular typechecking and compilation strategies. While prior languages with predicate dispatch have included special-purpose algorithms for reasoning about predicates, JPred employs general-purpose, off-the-shelf decision procedures. As a result, JPred's type system is more flexible, allowing several useful programming idioms that are spuriously rejected by those other languages. After describing the JPred language informally, we present an extension to Featherweight Java that formalizes the language and its modular type system, which we have proven sound. Finally, we discuss two case studies that illustrate the practical utility of JPred, including its use in the detection of several errors. Todd D. Millstein, Christopher Frost 0001, Jason Ryder, Alessandro Warth |
ACM Trans. Program. Lang. Syst. | 2 |
| 2007 | Generalized file system dependenciesabstractReliable storage systems depend in part on “write-before” relationships where some changes to stable storage are delayed until other changes commit. A journaled file system, for example, must commit a journal transaction before applying that transaction’s changes, and soft updates [9] and other consistency enforcement mechanisms have similar constraints, implemented in each case in systemdependent ways. We present a general abstraction, the patch, that makes write-before relationships explicit and file system agnostic. A patch-based file system implementation expresses dependencies among writes, leaving lower system layers to determine write orders that satisfy those dependencies. Storage system modules can examine and modify the dependency structure, and generalized file system dependencies are naturally exportable to user level. Our patch-based storage system, Featherstitch, includes several important optimizations that reduce patch overheads by orders of magnitude. Our ext2 prototype runs in the Linux kernel and supports asynchronous writes, soft updates-like dependencies, and journaling. It outperforms similarly reliable ext2 and ext3 configurations on some, but not all, benchmarks. It also supports unusual configurations, such as correct dependency enforcement within a loopback file system, and lets applications define consistency requirements without micromanaging how those requirements are satisfied. Christopher Frost 0001, Mike Mammarella, Eddie Kohler, Andrew de los Reyes, Shant Hovsepian, Andrew Matsuoka |
SOSP | 1 |
| 2005 | The KudOS architecture for file systemsabstractFor robustness, stability, and reboot speed, file system implementations must ensure that the file system's stored image is kept consistent or easy to return to consistency. Advanced consistency mechanisms such as soft updates [2] and journalling make this possible; unfortunately, they are generally tied to a particular file system, and can't be ported or adapted without significant engineering effort. Furthermore, interfaces like fsync () give user code only coarse control over consistency. Applications with custom consistency and performance requirements get little help from conventional file systems, which either impose high overhead (data journalling) or don't guarantee data consistency (soft updates, for example, ensures metadata consistency only). Andrew de los Reyes, Christopher Frost 0001, Eddie Kohler, Mike Mammarella |
SOSP | 2 |