Enabling Lightweight Transactions with Precision Time
- Pulkit A. Misra ,
- Jeffrey S. Chase ,
- Johannes Gehrke ,
- Alvin R. Lebeck
Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems |
Distributed transactional storage is an important service in today’s data centers. Achieving high performance without high complexity is often a challenge for these systems due to sophisticated consistency protocols and multiple layers of abstraction. In this paper we show how to combine two emerging technologies—Software-Defined Flash (SDF) and precise synchronized clocks—to improve performance and reduce complexity for transactional storage within the data center.
We present a distributed transactional system (called MILANA) as a layer above a durable multi-version key-value store (called SEMEL) for read-heavy workloads within a data center. SEMEL exploits write behavior of SSDs to maintain a time-ordered sequence of versions for each key efficiently and durably. MILANA adds a variant of optimistic concurrency control above SEMEL’s API to service read requests from a consistent snapshot and to enable clients to make fast local commit or abort decisions for read-only transactions.
Experiments with the prototype reveal up to 43% lower transaction abort rates using IEEE Precision Time Protocol (PTP) vs. the standard Network Time Protocol (NTP). Under the Retwis benchmark, client-local validation of read-only transactions yields a 35% reduction in latency and 55% increase in transaction throughput.