Speedy transactions in multicore in-memory databases

Быстрые транзакции в многопроцессорных базах данных, хранящих данные в памяти
Samuel Madden, Barbara Liskov, Stephen Tu, Wenting Zheng, Eddie Kohler
2013-10-08

TPC-C benchmarkin-memory databasesmulticore scalabilityoptimistic concurrency controlserializability
Silo is a new in-memory database that achieves excellent performance and scalability on modern multicore machines. Silo was designed from the ground up to use system memory and caches efficiently. For instance, it avoids all centralized contention points, including that of centralized transaction ID assignment. Silo's key contribution is a commit protocol based on optimistic concurrency control that provides serializability while avoiding all shared-memory writes for records that were only read. Though this might seem to complicate the enforcement of a serial order, correct logging and recovery is provided by linking periodically-updated epochs with the commit protocol. Silo provides the same guarantees as any serializable database without unnecessary scalability bottlenecks or much additional latency. Silo achieves almost 700,000 transactions per second on a standard TPC-C workload mix on a 32-core machine, as well as near-linear scalability. Considered per core, this is several times higher than previously reported results.
1
Its optimistic-concurrency-control commit protocol provides serializability without shared-memory writes for records that were only read.
2
Periodically updated epochs linked with the commit protocol enable correct logging and recovery despite the decentralized commit process.
3
Silo achieves nearly 700,000 transactions per second on a standard TPC-C workload using 32 cores, with near-linear scalability and several-times-higher per-core performance than prior reported results.
4
Silo eliminates centralized contention points, including centralized transaction ID assignment, to improve scalability.
5
Silo is an in-memory database designed to efficiently use system memory and caches on modern multicore machines.

Silo, an in-memory database running on modern multicore machines

The scalability, transaction throughput, and serializable optimistic-concurrency-control commit protocol of Silo, including its avoidance of centralized contention and shared-memory writes for read-only records

Publication Details
Publication Date
2013-10-08
Journal
Publisher
ISSN
Access Type
Author Information
Authors
Samuel Madden
Barbara Liskov
Stephen Tu
Wenting Zheng
Eddie Kohler
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%