Affiliation:
1. VMware Research, Urbana, IL, USA
2. University of Wisconsin–Madison, Madison, WI, USA
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 article 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 article, 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 3× lower latency while providing the same high throughput offered by throughput-optimized Paxos.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture
Reference91 articles.
1. 2021. Memcached Commands. Retrieved from https://github.com/memcached/memcached/wiki/Commands#set.
2. Leveraging sharding in the design of scalable replication protocols
3. Marcos K. Aguilera Naama Ben-David Rachid Guerraoui Virendra J. Marathe Athanasios Xygkis and Igor Zablotchi. 2020. Microsecond consensus for microsecond applications. In Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation (OSDI’20) . Banff Canada.
4. Apache. Kakfa. Retrieved from http://kafka.apache.org/.
5. Apache. 2021. ZooKeeper. Retrieved from https://zookeeper.apache.org/.