Exploiting Nil-Externality for Fast Replicated Storage
- 26 October 2021
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles CD-ROM
Abstract
Do some storage interfaces enable higher performance than others? Can one identify and exploit such interfaces to realize high performance in storage systems? This paper answers these questions in the affirmative by identifying nil-externality, a property of storage interfaces. A nil-externalizing (nilext) interface may modify state within a storage system but does not externalize its effects or system state immediately to the outside world. As a result, a storage system can apply nilext operations lazily, improving performance. In this paper, we take advantage of nilext interfaces to build high-performance replicated storage. We implement Skyros, a nilext-aware replication protocol that offers high performance by deferring ordering and executing operations until their effects are externalized. We show that exploiting nil-externality offers significant benefit: for many workloads, Skyros provides higher performance than standard consensus-based replication. For example, Skyros offers 3x lower latency while providing the same high throughput offered by throughput-optimized Paxos.Keywords
This publication has 25 references indexed in Scilit:
- NetPaxosPublished by Association for Computing Machinery (ACM) ,2015
- Lazy evaluation of transactions in database systemsPublished by Association for Computing Machinery (ACM) ,2014
- Leveraging sharding in the design of scalable replication protocolsPublished by Association for Computing Machinery (ACM) ,2013
- A survey of rollback-recovery protocols in message-passing systemsACM Computing Surveys, 2002
- Sharing memory robustly in message-passing systemsJournal of the ACM, 1995
- ARIESACM Transactions on Database Systems, 1992
- Implementing fault-tolerant services using the state machine approach: a tutorialACM Computing Surveys, 1990
- Linearizability: a correctness condition for concurrent objectsACM Transactions on Programming Languages and Systems, 1990
- UIO: a uniform I/O system interface for distributed systemsACM Transactions on Computer Systems, 1987
- Optimistic recovery in distributed systemsACM Transactions on Computer Systems, 1985