Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Natacha Crooks

dblp:161/0113 · DBLP profile ↗
← Back
41ranked-venue papers
4as first author
33since 2021 · last 2026
0000-0002-3567-801XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 18 · 2 first-author · 16 since 2021Software engineering, systems software and programming languages · 10 · 1 first-author · 8 since 2021Systems, architecture and hardware · 6 · 1 first-author · 4 since 2021Computer networks · 5 · 3 since 2021Security and privacy · 1 · 1 since 2021

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
23 papers
Distributed systems · 61% Cloud and datacenter computing · 14% Storage systems · 11%
Databases, data mining, and information retrieval
17 papers
Transaction processing and concurrency control · 65% Distributed and cloud data management · 13% Machine learning and data management · 9%
Network and information security
6 papers
Privacy and data protection · 36% Cryptographic protocols and secure computation · 30% Hardware security and side channels · 26%
Computer networks
2 papers
Cellular and mobile networks · 95% Content delivery and video streaming · 5%

Topics — the 30 heaviest of 73, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems › fault tolerance
byzantine fault tolerance
3.452025
Pesto: Cooking up High Performance BFT Queries · SOSP 2025
Autobahn: Seamless high speed BFT · SOSP 2024
BeeGees: Stayin' Alive in Chained BFT · PODC 2023
Transaction processing and concurrency control
concurrency control
2.442024
Towards Optimal Transaction Scheduling · Proc. VLDB Endow. 2024
Mammoths Are Slow: The Overlooked Transactions of Graph Data · Proc. VLDB Endow. 2023
Morty: Scaling Concurrency Control with Re-Execution · EuroSys 2023
Distributed systems
fault tolerance
1.832025
Smart Casual Verification of the Confidential Consortium Framework · NSDI 2025
Dissecting BFT Consensus: In Trusted Components we Trust! · EuroSys 2023
Autobahn: Seamless high speed BFT · SOSP 2024
Distributed systems
replication
1.732025
Picsou: Enabling Replicated State Machines to Communicate Efficiently · OSDI 2025
Keep CALM and CRDT On · Proc. VLDB Endow. 2022
I Can't Believe It's Not Causal! Scalable Causal Consistency with No Slowdown Cascades · NSDI 2017
Transaction processing and concurrency control
transaction scheduling
1.622025
Fair Transaction Processing For Multi-Tenant Databases · Proc. VLDB Endow. 2025
Towards Optimal Transaction Scheduling · Proc. VLDB Endow. 2024
Distributed systems
consensus
1.022025
Autobahn: Seamless high speed BFT · SOSP 2024
Picsou: Enabling Replicated State Machines to Communicate Efficiently · OSDI 2025
Transaction processing and concurrency control › transaction models
long-lived transactions
0.912025
TuskFlow: An Efficient Graph Database for Long-Running Transactions · Proc. VLDB Endow. 2025
Distributed and cloud data management › cloud database
multi-tenant database
0.912025
Fair Transaction Processing For Multi-Tenant Databases · Proc. VLDB Endow. 2025
Transaction processing and concurrency control
transaction isolation
0.912025
TuskFlow: An Efficient Graph Database for Long-Running Transactions · Proc. VLDB Endow. 2025
Electronic design automation › hardware verification and test
formal verification
0.912025
Smart Casual Verification of the Confidential Consortium Framework · NSDI 2025
Cloud and datacenter computing › cloud storage
multi-cloud storage
0.912025
SkyStore: Cost-Optimized Object Storage Across Regions and Clouds · Proc. VLDB Endow. 2025
Storage systems
object storage
0.912025
SkyStore: Cost-Optimized Object Storage Across Regions and Clouds · Proc. VLDB Endow. 2025
Distributed systems › replication
state machine replication
0.912025
Picsou: Enabling Replicated State Machines to Communicate Efficiently · OSDI 2025
Transaction processing and concurrency control › concurrency control
multiversion concurrency control
0.812024
Towards Optimal Transaction Scheduling · Proc. VLDB Endow. 2024
Cryptographic protocols and secure computation › multi-party protocols
byzantine agreement
0.812024
Autobahn: Seamless high speed BFT · SOSP 2024
Cloud and datacenter computing › cloud economics
cloud cost optimization
0.812024
SkyPIE: A Fast & Accurate Oracle for Object Placement · Proc. ACM Manag. Data 2024
Cloud and datacenter computing
cloud storage
0.812024
SkyPIE: A Fast & Accurate Oracle for Object Placement · Proc. ACM Manag. Data 2024
Distributed systems › distributed algorithms
distributed protocols
0.812024
Optimizing Distributed Protocols with Query Rewrites · Proc. ACM Manag. Data 2024
Distributed systems › distributed resource management
object placement
0.812024
SkyPIE: A Fast & Accurate Oracle for Object Placement · Proc. ACM Manag. Data 2024
Memory systems
protocol optimization
0.812024
Optimizing Distributed Protocols with Query Rewrites · Proc. ACM Manag. Data 2024
Machine learning and data management › data management for machine learning
feature store
0.712023
RALF: Accuracy-Aware Scheduling for Feature Store Maintenance · Proc. VLDB Endow. 2023
Transaction processing and concurrency control › concurrency control
serializable concurrency control
0.712023
Morty: Scaling Concurrency Control with Re-Execution · EuroSys 2023
Cellular and mobile networks › mobile networks › mobile network architecture
cellular network architecture
0.712023
LOCA: A Location-Oblivious Cellular Architecture · NSDI 2023
Cellular and mobile networks › mobility management
location management
0.712023
LOCA: A Location-Oblivious Cellular Architecture · NSDI 2023
Hardware security and side channels
trusted execution environments
0.712023
Dissecting BFT Consensus: In Trusted Components we Trust! · EuroSys 2023
Transaction processing and concurrency control › serializability
serializable transactions
0.622025
Obladi: Oblivious Serializable Transactions in the Cloud · OSDI 2018
Pesto: Cooking up High Performance BFT Queries · SOSP 2025
Performance modeling and evaluation
benchmarking
0.612022
TAOBench: An End-to-End Benchmark for Social Networking Workloads · Proc. VLDB Endow. 2022
Distributed systems › replication › replicated data types
conflict-free replicated data types
0.612022
Keep CALM and CRDT On · Proc. VLDB Endow. 2022
Distributed systems
consistency models
0.612022
Keep CALM and CRDT On · Proc. VLDB Endow. 2022
Distributed systems › consistency models
coordination-free consistency
0.612022
Keep CALM and CRDT On · Proc. VLDB Endow. 2022

Methods — techniques the papers use, named apart from their topics

strategy-proof scheduling · 1.7on-demand synchronization · 1.7model checking · 1.7leaderless design · 1.7formal specification · 1.7fair sharing · 1.7convex optimization · 1.5replication · 0.9partitioning · 0.9graph entity tagging · 0.9deterministic reordering · 0.9TTL-based placement · 0.9partially synchronous consensus · 0.8order-insensitivity analysis · 0.8integer linear programming · 0.8greedy scheduling · 0.8geometric algorithms · 0.8geometric algorithm · 0.8
YearPublicationVenuePosition
2026 Supporting Our AI Overlords: Redesigning Data Systems to be Agent-First
Soujanya Ponnapalli, Shreya Shankar, Sepanta Zeighami, Alan Zhu 0001, Shubham Agarwal 0007, Samion Suwito, Ion Stoica, Matei Zaharia, Alvin Cheung, Natacha Crooks, Joseph Gonzalez 0001, Aditya G. Parameswaran
CIDR13
2026 HarborMaster: Rollback Detection for Trusted Distributed Computing
Shubham Mishra, Alexander Thomas, Nurzhan Abdrassilov, Kaiyuan Chen 0001, Natacha Crooks, John Kubiatowicz
Proc. VLDB Endow.5
2025 Real Life Is Uncertain. Consensus Should Be Too!
abstract
Modern distributed systems rely on consensus protocols to build a fault-tolerant-core upon which they can build applications. Consensus protocols are correct under a specific failure model, where up to f machines can fail. We argue that this f -threshold failure model oversimplifies the real world and limits potential opportunities to optimize for cost or performance. We argue instead for a probabilistic failure model that captures the complex and nuanced nature of faults observed in practice. Probabilistic consensus protocols can explicitly leverage individual machine failure curves and explore side-stepping traditional bottlenecks such as majority quorum intersection, enabling systems that are more reliable, efficient, cost-effective, and sustainable.
Reginald Frank, Octavio Lomeli, Neil Giridharan, Soujanya Ponnapalli, Marcos K. Aguilera, Natacha Crooks
HotOS6
2025 Designing a Datacenter-wide Distributed Shared Log
abstract
Distributed shared logs simplify the implementation and interoperation of data stores. This paper addresses a simple question: Is it feasible to build a single, datacenter-wide distributed shared log that can support all the data stores running in a datacenter? We answer in the affirmative by presenting RingWorld, a scalable log based on a ring of programmable switches that can sustain tens of billions of appends per second while maintaining low latency. We hope the design of RingWorld will propel the adoption of shared logs as a core part of datacenter infrastructure.
Micah Murray, Aisha Mushtaq, Natacha Crooks, Aurojit Panda, Scott Shenker
HotOS4
2025 Smart Casual Verification of the Confidential Consortium Framework
Heidi Howard, Markus Alexander Kuppe, Edward Ashton, Amaury Chamayou, Natacha Crooks
NSDI5
2025 Picsou: Enabling Replicated State Machines to Communicate Efficiently
Reginald Frank, Micah Murray, Chawinphat Tankuranand, Junseo Yoo, Ethan Xu, Natacha Crooks, Suyash Gupta 0001, Manos Kapritsos
OSDI6
2025 Pesto: Cooking up High Performance BFT Queries
abstract
This paper presents Pesto, a high-performance Byzantine Fault Tolerant (BFT) database that offers full SQL compatibility. Pesto intentionally forgoes the use of State Machine Replication (SMR); SMR-based designs offer poor performance due to the several round trips required to order transactions. Pesto, instead, allows for replicas to remain inconsistent, and only synchronizes on demand to ensure that the database remain serializable in the presence of concurrent transactions and malicious actors. On TPC-C, Pesto matches the throughput of Peloton [20] and Postgres [21], two unreplicated SQL database systems, while increasing throughput by 2.3x compared to classic SMR-based BFT-architectures, and reducing latency by 2.7x to 3.9x. Pesto's leaderless design minimizes the impact of replica failures and ensures robust performance.
Florian Suri-Payer, Neil Giridharan, Liam Arzola, Shir Cohen, Lorenzo Alvisi, Natacha Crooks
SOSP6
2025 Fair Transaction Processing For Multi-Tenant Databases
abstract
Multi-tenant transactional databases frequently observe contention on shared data, leading to a need for performance isolation. Databases typically provide performance isolation via a request rate limit or quota per tenant, but this approach can lead to system underutilization. Traditionally, fair sharing has been applied to achieve both performance isolation and high utilization in other domains. In this paper, we address the problem of fair sharing for transactions, which introduces new challenges because client requests do not acquire resources all at once. We propose DRFT, the first fair transaction scheduling algorithm that ensures both the share guarantee and strategy-proofness by accurately accounting for transactional resource usage. We evaluate DRFT on a range of standard benchmarks and real-world workloads, showing that it ensures fairness with less than a 5% throughput overhead compared to state-of-the-art scheduling policies.
Audrey Cheng, Aaron N. Kabcenell, Jolene Huey, Peter Bailis, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.6
2025 SkyStore: Cost-Optimized Object Storage Across Regions and Clouds
abstract
Modern applications span multiple clouds to reduce costs, avoid vendor lock-in, and leverage low-availability resources in another cloud. However, standard object stores operate within a single cloud, forcing users to manually manage data placement across clouds, i.e., navigate their diverse APIs and handle heterogeneous costs for network and storage. This is often a complex choice: users must either pay to store objects in a remote cloud, or pay to transfer them over the network based on application access patterns and cloud provider cost offerings. To address this, we present SkyStore, a unified object store that addresses cost-optimal data management across regions and clouds. SkyStore introduces a virtual object and bucket API to hide the complexity of interacting with multiple clouds. At its core, SkyStore has a novel TTL-based data placement policy that dynamically replicates and evicts objects according to application access patterns while optimizing for lower cost. Our evaluation shows that across various workloads, SkyStore reduces the overall cost by up to 6X over academic baselines and commercial alternatives like AWS multi-region buckets. SkyStore also has comparable latency, and its availability and fault tolerance are on par with standard cloud offerings.
Xiangxi Mo, Moshe Hershcovitch, Henric Zhang, Audrey Cheng, Guy Girmonsky, Gil Vernik, Michael Factor, Tiemo Bang, Soujanya Ponnapalli, Natacha Crooks, Joseph Gonzalez 0001, Danny Harnik, Ion Stoica
Proc. VLDB Endow.11
2025 TuskFlow: An Efficient Graph Database for Long-Running Transactions
abstract
Mammoth transactions, which involve long-running operations that access many items, are common in graph workloads. Graph analytics tasks, including pattern matching and graph algorithms, can generate large read-write operations that impact significant portions of data, which makes their execution challenging under strict isolation guarantees. Consequently, we face an apparent trade-off between ensuring high isolation and achieving high performance, forcing users to choose between the two. In this work, we present TuskFlow, an experimental graph database based on Neo4j, designed to efficiently handle mammoth transactions on graphs (the technique is applicable to other models such as relational) while maintaining existing transactional semantics. TuskFlow employs a deterministic protocol that safely reorders regular transactions around mammoths within an epoch. Our protocol supports parallel mammoth execution inspired by graph-parallel algorithms. To minimize conflicts with regular transactions, TuskFlow introduces query- and workload-aware optimizations, including graph entity tagging and partitioning. Our experiments demonstrate that, unlike traditional protocols like two-phase locking or MVCC, TuskFlow avoids blocking write transactions and improves tail latency by up to 45×.
Georgios Theodorakis, Hugo Firth, James Clarkson, Natacha Crooks, Jim Webber
Proc. VLDB Endow.4
2024 Optimizing the cloud? Don't train models. Build oracles!
Tiemo Bang, Conor Power, Siavash Ameli, Natacha Crooks, Joseph M. Hellerstein
CIDR4
2024 Autobahn: Seamless high speed BFT
abstract
Today's practical, high performance Byzantine Fault Tolerant (BFT) consensus protocols operate in the partial synchrony model. However, existing protocols are inefficient when deployments are indeed partially synchronous. They deliver either low latency during fault-free, synchronous periods (good intervals) or robust recovery from events that interrupt progress (blips). At one end, traditional, view-based BFT protocols optimize for latency during good intervals, but, when blips occur, can suffer from performance degradation (hangovers) that can last beyond the return of a good interval. At the other end, modern DAG-based BFT protocols recover more gracefully from blips, but exhibit lackluster latency during good intervals. To close the gap, this work presents Autobahn, a novel high-throughput BFT protocol that offers both low latency and seamless recovery from blips. By combining a highly parallel asynchronous data dissemination layer with a low-latency, partially synchronous consensus mechanism, Autobahn (i) avoids the hangovers incurred by traditional BFT protocols and (ii) matches the throughput of state of the art DAG-based BFT protocols while cutting their latency in half, matching the latency of traditional BFT protocols.
Neil Giridharan, Florian Suri-Payer, Ittai Abraham, Lorenzo Alvisi, Natacha Crooks
SOSP5
2024 Granular Synchrony
abstract
Today’s mainstream network timing models for distributed computing are synchrony, partial synchrony, and asynchrony. These models are coarse-grained and often make either too strong or too weak assumptions about the network. This paper introduces a new timing model called granular synchrony that models the network as a mixture of synchronous, partially synchronous, and asynchronous communication links. The new model is not only theoretically interesting but also more representative of real-world networks. It also serves as a unifying framework where current mainstream models are its special cases. We present necessary and sufficient conditions for solving crash and Byzantine fault-tolerant consensus in granular synchrony. Interestingly, consensus among n parties can be achieved against f ≥ n/2 crash faults or f ≥ n/3 Byzantine faults without resorting to full synchrony.
Neil Giridharan, Ittai Abraham, Natacha Crooks, Kartik Nayak, Ling Ren 0001
DISC3
2024 SkyPIE: A Fast & Accurate Oracle for Object Placement
abstract
Cloud object stores offer vastly different price points for object storage as a function of workload and geography. Poor object placement can thus lead to significant cost overheads. Prior cost-saving techniques attempt to optimize placement policies on the fly, deciding object placements for each object individually. In practice, these techniques do not scale to the size of the modern cloud. In this work, we leverage the static nature and pay-per-use pricing model of cloud environments to explore a different approach. Rather than computing object placements on the fly, we precompute a SkyPIE oracle---a lookup structure representing all possible placement policies and the workloads for which they are optimal. Internally, SkyPIE represents placement policies as a matrix of cost-hyperplanes, which we effectively precompute through pruning and convex optimization. By leveraging a fast geometric algorithm, online queries then are 1 to 8 orders of magnitude faster but as accurate as Integer-Linear-Programming. This makes exact optimization tractable for real workloads and we show >10x cost savings compared to state-of-the-art heuristic approaches.
Tiemo Bang, Chris Douglas, Natacha Crooks, Joseph M. Hellerstein
Proc. ACM Manag. Data3
2024 Optimizing Distributed Protocols with Query Rewrites
abstract
Distributed protocols such as 2PC and Paxos lie at the core of many systems in the cloud, but standard implementations do not scale. New scalable distributed protocols are developed through careful analysis and rewrites, but this process is ad hoc and error-prone. This paper presents an approach for scaling any distributed protocol by applying rule-driven rewrites, borrowing from query optimization. Distributed protocol rewrites entail a new burden: reasoning about spatiotemporal correctness. We leverage order-insensitivity and data dependency analysis to systematically identify correct coordination-free scaling opportunities. We apply this analysis to create preconditions and mechanisms for coordination-free decoupling and partitioning, two fundamental vertical and horizontal scaling techniques. Manual rule-driven applications of decoupling and partitioning improve the throughput of 2PC by 5× and Paxos by 3×, and match state-of-the-art throughput in recent work. These results point the way toward automated optimizers for distributed protocols based on correct-by-construction rewrite rules.
David C. Y. Chu, Rithvik Panchapakesan, Shadaj Laddad, Lucky Katahanas, Chris Liu, Kaushik Shivakumar, Natacha Crooks, Joseph M. Hellerstein, Heidi Howard
Proc. ACM Manag. Data7
2024 Towards Optimal Transaction Scheduling
abstract
Maximizing transaction throughput is key to high-performance database systems, which focus on minimizing data access conflicts to improve performance. However, finding efficient schedules that reduce conflicts remains an open problem. For efficiency, previous scheduling techniques consider only a small subset of possible schedules. In this work, we propose systematically exploring the entire schedule space, proactively identifying efficient schedules, and executing them precisely during execution to improve throughput. We introduce a greedy scheduling policy, SMF, that efficiently finds fast schedules and outperforms state-of-the-art search techniques. To realize the benefits of these schedules in practice, we develop a schedule-first concurrency control protocol, MVSchedO, that enforces fine-grained operation orders. We implement both in our system R-SMF, a modified version of RocksDB, to achieve up to a 3.9× increase in throughput and 3.2× reduction in tail latency on a range of benchmarks and real-world workloads.
Audrey Cheng, Aaron N. Kabcenell, Peter Bailis, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.6
2023 Morty: Scaling Concurrency Control with Re-Execution
abstract
Serializable systems often perform poorly under high contention. In this work, we analyze this performance limitation through a novel take on conflict windows. Through the lens of these windows, we develop a new concurrency control technique that leverages transaction re-execution to improve throughput scalability under high contention. Our system, Morty, achieves up to 1.7x-96x the throughput of state-of-the-art systems, with similar or better latency.
Matthew Burke 0001, Florian Suri-Payer, Jeffrey Helt, Lorenzo Alvisi, Natacha Crooks
EuroSys5
2023 Dissecting BFT Consensus: In Trusted Components we Trust!
abstract
The growing interest in reliable multi-party applications has fostered widespread adoption of Byzantine Fault-Tolerant (bft) consensus protocols. Existing bft protocols need f more replicas than Paxos-style protocols to prevent equivocation attacks. trust-bft protocols seek to minimize this cost by making use of trusted components at replicas.
Suyash Gupta 0001, Sajjad Rahnama, Shubham Pandey, Natacha Crooks, Mohammad Sadoghi
EuroSys4
2023 LOCA: A Location-Oblivious Cellular Architecture
Zhihong Luo, Silvery D. Fu, Natacha Crooks, Shaddi Hasan, Christian Maciocco, Sylvia Ratnasamy, Scott Shenker
NSDI3
2023 Take Out the TraChe: Maximizing (Tra)nsactional Ca(che) Hit Rate
Audrey Cheng, David C. Y. Chu, Terrance Li, Natacha Crooks, Joseph M. Hellerstein, Ion Stoica, Xiangyao Yu
OSDI5
2023 BeeGees: Stayin' Alive in Chained BFT
abstract
Modern chained Byzantine Fault Tolerant (BFT) systems leverage a combination of pipelining and leader rotation to obtain both efficiency and fairness. These protocols, however, require a sequence of three or four consecutive honest leaders to commit operations. Therefore, even simple leader failures such as crashes can weaken liveness, resulting in high commit latency or lack of commit all together. We show that, unfortunately, this vulnerability is inherent to all existing BFT protocols that rotate leaders with pipelined agreement. To resolve this liveness shortcoming we present BeeGees1, a novel chained BFT protocol that successfully commits blocks even with non-consecutive honest leaders. It does this while also maintaining quadratic word complexity with threshold signatures, linear word complexity with SNARKs, and responsiveness between consecutive honest leaders. BeeGees reduces the expected commit latency of HotStuff by a factor of three under failures, and the worst-case latency by a factor of seven.
Neil Giridharan, Florian Suri-Payer, Matthew Ding 0001, Heidi Howard, Ittai Abraham, Natacha Crooks
PODC6
2023 Mammoths Are Slow: The Overlooked Transactions of Graph Data
abstract
This paper argues for better concurrency control to support mammoth transactions , which read and write to many items. While these requests are prevalent on graph data, few systems support them efficiently. Currently, developers must make the uncomfortable choice between accepting dismal performance or abandoning transactional semantics. Applications deserve better: we believe that inherent graph properties provide a path forward to designing efficient concurrency control that preserves strong isolation.
Audrey Cheng, Jack Waudby, Hugo Firth, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.4
2023 RALF: Accuracy-Aware Scheduling for Feature Store Maintenance
abstract
Feature stores (also sometimes referred to as embedding stores) are becoming ubiquitous in model serving systems: downstream applications query these stores for auxiliary inputs at inference-time. Stored features are derived by featurizing rapidly changing base data sources. Featurization can be costly prohibitively expensive to trigger on every data update, particularly for features that are vector embeddings computed by a model. Yet, existing systems naively apply a one-size-fits-all policy as to when/how to update these features, and do not consider query access patterns or impacts on prediction accuracy. This paper introduces RALF, which orchestrates feature updates by leveraging downstream error feedback to minimize feature store regret , a metric for how much featurization degrades downstream accuracy. We evaluate with representative feature store workloads, anomaly detection and recommendation, using real-world datasets. We run system experiments with a 275,077 key anomaly detection workload on 800 cores to show up to a 32.7% reduction in prediction error or up to 1.6X compute cost reduction with accuracy-aware scheduling.
Sarah Wooders, Xiangxi Mo, Amit Narang, Ion Stoica, Joseph M. Hellerstein, Natacha Crooks, Joseph Gonzalez 0001
Proc. VLDB Endow.7
2022 Treaty: Secure Distributed Transactions
abstract
Distributed transaction processing is a fundamental building block for large-scale data management in the cloud. Given the threats of security violations in untrusted cloud environments, our work focuses on: How to design a distributed transactional KV store that achieves high-performance serializable transactions, while providing strong security properties?We introduce Treaty, a secure distributed transactional KV storage system that supports serializable ACID transactions while guaranteeing strong security properties: confidentiality, integrity, and freshness. Treaty leverages trusted execution environments (TEEs) to bootstrap its security properties, but it extends the trust provided by the limited enclave (volatile) memory region within a single node to build a secure (stateful) distributed transactional KV store over the untrusted storage, network and machines. To achieve this, Treaty embodies a secure two-phase commit protocol co-designed with a high-performance network library for TEEs. Further, Treaty ensures secure and crash-consistent persistency of committed transactions using a stabilization protocol. Our evaluation on a real hardware testbed based on the YCSB and TPC-C benchmarks shows that Treaty incurs reasonable overheads, while achieving strong security properties.
Dimitra Giantsidi, Maurice Bailleu, Natacha Crooks, Pramod Bhatotia
DSN3
2022 Reflections on trusting distributed trust
abstract
Many systems today distribute trust across multiple parties such that the system provides certain security properties if a subset of the parties are honest. In the past few years, we have seen an explosion of academic and industrial cryptographic systems built on distributed trust, including secure multi-party computation applications (e.g., private analytics, secure learning, and private key recovery) and blockchains. These systems have great potential for improving security and privacy, but face a significant hurdle on the path to deployment. We initiate study of the following problem: a single organization is, by definition, a single party, and so how can a single organization build a distributed-trust system where corruptions are independent? We instead consider an alternative formulation of the problem: rather than ensuring that a distributed-trust system is set up correctly by design, what if instead, users can audit a distributed-trust deployment? We propose a framework that enables a developer to efficiently and cheaply set up any distributed-trust system in a publicly auditable way. To do this, we identify two application-independent building blocks that we can use to bootstrap arbitrary distributed-trust applications: secure hardware and an append-only log. We show how to leverage existing implementations of these building blocks to deploy distributed-trust systems, and we give recommendations for infrastructure changes that would make it easier to deploy distributed-trust systems in the future.
Emma Dauterman, Vivian Fang, Natacha Crooks, Raluca A. Popa
HotNets3
2022 Brief Announcement: It's not easy to relax: liveness in chained BFT protocols
abstract
Modern chained Byzantine Fault Tolerant (BFT) systems leverage a combination of pipelining and leader rotation to obtain both efficiency and fairness. These protocols, however, require a sequence of three or four consecutive honest leaders to commit operations. Therefore, even simple leader failures such as crashes can weaken liveness both theoretically and practically. Obtaining a chained BFT protocol that reaches decisions even if the sequence of honest leaders is non-consecutive, remains an open question. To resolve this question we present BeeGees, a novel chained BFT protocol that successfully commits blocks even with non-consecutive honest leaders. It does this while also maintaining quadratic word complexity with threshold signatures, linear word complexity with SNARKs, and responsiveness between consecutive honest leaders. BeeGees reduces the expected commit latency of HotStuff by a factor of three under failures, and the worst-case latency by a factor of seven.
Ittai Abraham, Natacha Crooks, Neil Giridharan, Heidi Howard, Florian Suri-Payer
DISC2
2022 TAOBench: An End-to-End Benchmark for Social Networking Workloads
abstract
The continued emergence of large social network applications has introduced a scale of data and query volume that challenges the limits of existing data stores. However, few benchmarks accurately simulate these request patterns, leaving researchers in short supply of tools to evaluate and improve upon these systems. In this paper, we present a new benchmark, TAOBench, that captures the social graph workload at Meta. We open source workload configurations along with a benchmark that leverages these request features to both accurately model production workloads and generate emergent application behavior. We ensure the integrity of TAOBench's workloads by validating them against their production counterparts. We also describe several benchmark use cases at Meta and report results for five popular distributed database systems to demonstrate the benefits of using TAOBench to evaluate system tradeoffs as well as identify and address performance issues. Our benchmark fills a gap in the available tools and data that researchers and developers have to inform system design decisions.
Audrey Cheng, Aaron N. Kabcenell, Shilpa Lawande, Hamza Qadeer, Harrison Tin, Ryan Zhao, Peter Bailis, Mahesh Balakrishnan 0001, Nathan Bronson, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.12
2022 Keep CALM and CRDT On
abstract
Despite decades of research and practical experience, developers have few tools for programming reliable distributed applications without resorting to expensive coordination techniques. Conflict-free replicated datatypes (CRDTs) are a promising line of work that enable coordination-free replication and offer certain eventual consistency guarantees in a relatively simple object-oriented API. Yet CRDT guarantees extend only to data updates; observations of CRDT state are unconstrained and unsafe. We propose an agenda that embraces the simplicity of CRDTs, but provides richer, more uniform guarantees. We extend CRDTs with a query model that reasons about which queries are safe without coordination by applying monotonicity results from the CALM Theorem, and lay out a larger agenda for developing CRDT data stores that let developers safely and efficiently interact with replicated application state.
Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein
Proc. VLDB Endow.5
2021 New Directions in Cloud Programming
Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein, Mae Milano
CIDR2
2021 A Client-centric Approach to Transactional Datastores
abstract
Traditional brick-and-mortar services are increasingly moving online and companies rely on ever larger data analytics to optimise their business logic. Similarly, most medical practices favour electronic health records over paper documents: 84% of American hospitals store medical records electronically [19], an 8-fold increase since 2008. In this data-driven world, data is money. It must be collected efficiently, even as it spans multiple heterogeneous, geo-distributed sources. Data must be stored reliably, even in the presence of failures. As the sensitivity of the data being stored increases, so does the need to store it securely in the presence of human attacks. Data must also be accessed consistently, even under high load.
Natacha Crooks
SIGMOD Conference1
2021 Snoopy: Surpassing the Scalability Bottleneck of Oblivious Storage
abstract
Existing oblivious storage systems provide strong security by hiding access patterns, but do not scale to sustain high throughput as they rely on a central point of coordination. To overcome this scalability bottleneck, we present Snoopy, an object store that is both oblivious and scalable such that adding more machines increases system throughput. Snoopy contributes techniques tailored to the high-throughput regime to securely distribute and efficiently parallelize every system component without prohibitive coordination costs. These techniques enable Snoopy to scale similarly to a plaintext storage system. Snoopy achieves 13.7x higher throughput than Obladi, a state-of-the-art oblivious storage system. Specifically, Obladi reaches a throughput of 6.7K requests/s for two million 160-byte objects and cannot scale beyond a proxy and server machine. For the same data size, Snoopy uses 18 machines to scale to 92K requests/s with average latency under 500ms.
Emma Dauterman, Vivian Fang, Ioannis Demertzis, Natacha Crooks, Raluca A. Popa
SOSP4
2021 Basil: Breaking up BFT with ACID (transactions)
abstract
This paper presents Basil, the first transactional, leaderless Byzantine Fault Tolerant key-value store. Basil leverages ACID transactions to scalably implement the abstraction of a trusted shared log in the presence of Byzantine actors. Unlike traditional BFT approaches, Basil executes non-conflicting operations in parallel and commits transactions in a single round-trip during fault-free executions. Basil improves throughput over traditional BFT systems by four to five times, and is only four times slower than TAPIR, a non-Byzantine replicated system. Basil's novel recovery mechanism further minimizes the impact of failures: with 30% Byzantine clients, throughput drops by less than 25% in the worst-case.
Florian Suri-Payer, Matthew Burke 0001, Zheng Wang 0078, Lorenzo Alvisi, Natacha Crooks
SOSP6
2021 RAMP-TAO: Layering Atomic Transactions on Facebook's Online TAO Data Store
abstract
Facebook's graph store TAO, like many other distributed data stores, traditionally prioritizes availability, efficiency, and scalability over strong consistency or isolation guarantees to serve its large, read-dominant workloads. As product developers build diverse applications on top of this system, they increasingly seek transactional semantics. However, providing advanced features for select applications while preserving the system's overall reliability and performance is a continual challenge. In this paper, we first characterize developer desires for transactions that have emerged over the years and describe the current failure-atomic (i.e., write) transactions offered by TAO. We then explore how to introduce an intuitive read transaction API. We highlight the need for atomic visibility guarantees in this API with a measurement study on potential anomalies that occur without stronger isolation for reads. Our analysis shows that 1 in 1,500 batched reads reflects partial transactional updates, which complicate the developer experience and lead to unexpected results. In response to our findings, we present the RAMP-TAO protocol, a variation based on the Read Atomic Multi-Partition (RAMP) protocols that can be feasibly deployed in production with minimal overhead while ensuring atomic visibility for a read-optimized workload at scale.
Audrey Cheng, Anthony Simpson, Neil Wheaton, Shilpa Lawande, Nathan Bronson, Peter Bailis, Natacha Crooks, Ion Stoica
Proc. VLDB Endow.9
2018 Obladi: Oblivious Serializable Transactions in the Cloud
Natacha Crooks, Matthew Burke 0001, Ethan Cecchetti, Sitar Harel, Rachit Agarwal 0001, Lorenzo Alvisi
OSDI1
2017 I Can't Believe It's Not Causal! Scalable Causal Consistency with No Slowdown Cascades
Syed Akbar Mehdi, Cody Littley, Natacha Crooks, Lorenzo Alvisi, Nathan Bronson, Wyatt Lloyd
NSDI3
2017 Seeing is Believing: A Client-Centric Specification of Database Isolation
abstract
This paper introduces the first state-based formalization of isolation guarantees. Our approach is premised on a simple observation: applications view storage systems as black-boxes that transition through a series of states, a subset of which are observed by applications. Defining isolation guarantees in terms of these states frees definitions from implementation-specific assumptions. It makes immediately clear what anomalies, if any, applications can expect to observe, thus bridging the gap that exists today between how isolation guarantees are defined and how they are perceived. The clarity that results from definitions based on client-observable states brings forth several benefits. First, it allows us to easily compare the guarantees of distinct, but semantically close, isolation guarantees. We find that several well-known guarantees, previously thought to be distinct, are in fact equivalent, and that many previously incomparable flavors of snapshot isolation can be organized in a clean hierarchy. Second, freeing definitions from implementation-specific artefacts can suggest more efficient implementations of the same isolation guarantee. We show how a client-centric implementation of parallel snapshot isolation can be more resilient to slowdown cascades, a common phenomenon in large-scale datacenters.
Natacha Crooks, Youer Pu, Lorenzo Alvisi, Allen Clement
PODC1
2017 Bringing Modular Concurrency Control to the Next Level
abstract
This paper presents Tebaldi, a distributed key-value store that explores new ways to harness the performance opportunity of combining different specialized concurrency control mechanisms (CCs) within the same database. Tebaldi partitions conflicts at a fine granularity and matches them to specialized CCs within a hierarchical framework that is modular, extensible, and able to support a wide variety of concurrency control techniques, from single-version to multiversion and from lock-based to timestamp-based. When running the TPC-C benchmark, Tebaldi yields more than 20× the throughput of the basic two-phase locking protocol, and over 3.7× the throughput of Callas, a recent system that, like Tebaldi, aims to combine different CCs.
Chunzhi Su, Natacha Crooks, Cong Ding 0001, Lorenzo Alvisi
SIGMOD Conference2
2017 Geo-distribution of actor-based services
abstract
Many service applications use actors as a programming model for the middle tier, to simplify synchronization, fault-tolerance, and scalability. However, efficient operation of such actors in multiple, geographically distant datacenters is challenging, due to the very high communication latency. Caching and replication are essential to hide latency and exploit locality; but it is not a priori clear how to combine these techniques with the actor programming model. We present Geo, an open-source geo-distributed actor system that improves performance by caching actor states in one or more datacenters, yet guarantees the existence of a single latest version by virtue of a distributed cache coherence protocol. Geo's programming model supports both volatile and persistent actors, and supports updates with a choice of linearizable and eventual consistency. Our evaluation on several workloads shows substantial performance benefits, and confirms the advantage of supporting both replicated and single-instance coherence protocols as configuration choices. For example, replication can provide fast, always-available reads and updates globally, while batching of linearizable storage accesses at a single location can boost the throughput of an order processing workload by 7x.
Philip A. Bernstein, Sebastian Burckhardt, Sergey Bykov, Natacha Crooks, Jose M. Faleiro, Gabriel Kliot, Alok Gautam Kumbhare, Muntasir Raihan Rahman, Vivek Shah 0001, Adriana Szekeres, Jorgen Thelin
Proc. ACM Program. Lang.4
2016 Scalable and Private Media Consumption with Popcorn
Trinabh Gupta, Natacha Crooks, Whitney Mulhern, Srinath Setty, Lorenzo Alvisi, Michael Walfish
NSDI2
2016 TARDiS: A Branch-and-Merge Approach To Weak Consistency
abstract
This paper presents the design, implementation, and evaluation of TARDiS (Transactional Asynchronously Replicated Divergent Store), a transactional key-value store explicitly designed for weakly-consistent systems. Reasoning about these systems is hard, as neither causal consistency nor per-object eventual convergence allow applications to deal satisfactorily with write-write conflicts. TARDiS instead exposes as its fundamental abstraction the set of conflicting branches that arise in weakly-consistent systems. To this end, TARDiS introduces a new concurrency control mechanism: branch-on-conflict. On the one hand, TARDiS guarantees that storage will appear sequential to any thread of execution that extends a branch, keeping application logic simple. On the other, TARDiS provides applications, when needed, with the tools and context necessary to merge branches atomically, when and how applications want. Since branch-on-conflict in TARDiS is fast, weakly-consistent applications can benefit from adopting this paradigm not only for operations issued by different sites, but also, when appropriate, for conflicting local operations. We find that TARDiS reduces coding complexity for these applications and that judicious branch-on-conflict can improve their local throughput at each site by two to eight times.
Natacha Crooks, Youer Pu, Nancy Estrada, Trinabh Gupta, Lorenzo Alvisi, Allen Clement
SIGMOD Conference1
2015 Musketeer: all for one, one for all in data processing systems
abstract
Many systems for the parallel processing of big data are available today. Yet, few users can tell by intuition which system, or combination of systems, is "best" for a given workflow. Porting workflows between systems is tedious. Hence, users become "locked in", despite faster or more efficient systems being available. This is a direct consequence of the tight coupling between user-facing front-ends that express workflows (e.g., Hive, SparkSQL, Lindi, GraphLINQ) and the back-end execution engines that run them (e.g., MapReduce, Spark, PowerGraph, Naiad).
Ionel Gog, Malte Schwarzkopf, Natacha Crooks, Matthew P. Grosvenor, Allen Clement, Steven Hand 0001
EuroSys3