Skip to content

Our upcoming EuroSys paper on reducing tail latency in key-value datastores

In our Eurosys 2017 paper, we focus on how to reduce tail latency in key-value stores by scheduling multiget requests more efficiently. We develop scheduling heuristics that leverage information about the properties of these requests and demonstrate, via experiments on an AWS cluster, that we can reduce the median, 95th, and 99th percentile latencies by factors of 1.5, 1.5, and 1.9, respectively.

This is joint work with Marco Canini (KAUST), Lalith Suresh (VMware Research), and Sean Braithwaite (SoundCloud). The full abstract is as follows:

We 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, 95th, and 99th percentile latencies by factors of 1.5, 1.5, and 1.9, respectively.