Services that share a storage infrastructure should realize the same efficiency, within their share of time, as when they have the infrastructure to themselves. Unfortunately, traditional systems offer nothing close to this ideal, with inter-service disk and cache interference creating large and unpredictable inefficiencies. A new metric, the R-value, is an explicitly configured lower bound on the storage efficiency a service will receive (relative to its non-sharing performance), no matter what services it shares the infrastructure with. The Argon storage server explicitly manages its resources to bound the inefficiency arising from inter-service disk and cache interference in traditional systems. The goal is to provide each service with at least a configured fraction of the throughput it achieves when it has the storage server to itself, within its share of the server -- a service allocated 1/nth of a server should get nearly 1/nth (or more) of the throughput it would get alone. The Argon storage server uses prefetching, write coalescing, cache partitioning, and quanta-based disk scheduling policies to ensure R-value commitments are met. For more information, see the extended overview.
Argon’s high-level architecture. Argon makes use of cache partitioning, request
amortization, and quanta-based disk time scheduling. |
FACULTY
Anastassia Ailamaki
Chuck Cranor
Greg Ganger
Garth Gibson
STUDENTS
Matthew Wachs
Elie Krevat
Deepti Chheda
Eno Thereska
Michael Abd-El-Malek
We thank the members and companies of the PDL Consortium: Amazon, Datadog, Google, Honda, Intel Corporation, IBM, Jane Street, Meta, Microsoft Research, Oracle Corporation, Pure Storage, Salesforce, Samsung Semiconductor Inc., Two Sigma, and Western Digital for their interest, insights, feedback, and support.