Rein: Taming Tail Latency in Key-Value Stores via Multiget Scheduling
KAUST DepartmentComputer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
Computer Science Program
MetadataShow full item record
AbstractWe tackle the problem of reducing tail latencies in distributed key-value stores, such as the popular Cassandra database.We focus on workloads of multiget requests, which batch together access to several data elements and parallelize read operations across the data store machines. We first analyze a production trace of a real system and quantify the skew due to multiget sizes, key popularity, and other factors. We then proceed to identify opportunities for reduction of tail latencies by recognizing the composition of aggregate requests and by carefully scheduling bottleneck operations that can otherwise create excessive queues. We design and implement a system called Rein, which reduces latency via inter-multiget scheduling using low overhead techniques. We extensively evaluate Rein via experiments in Amazon Web Services (AWS) and simulations. Our scheduling algorithms reduce the median, 95, and 99 percentile latencies by factors of 1.5, 1.5, and 1.9, respectively.
CitationReda W, Canini M, Suresh L, Kostić D, Braithwaite S (2017) Rein. Proceedings of the Twelfth European Conference on Computer Systems - EuroSys ’17. Available: http://dx.doi.org/10.1145/3064176.3064209.
SponsorsWaleed Reda was supported by a fellowship from the Erasmus Mundus Joint Doctorate in Distributed Computing (EMJD-DC) program funded by the European Commission (EACEA) (FPA 2012-0030). This project is in part financially supported by the Swedish Foundation for Strategic Research.
Conference/Event name12th European Conference on Computer Systems, EuroSys 2017