You are viewing content from a past/completed QCon -


In-Memory Caching: Curb Tail Latency with Pelikan

In-memory caching in a distributed setting is widely used these days, and users usually expect it to be "fast and cheap". One important but often overlooked aspect of cache is tail latency– for many real-time applications, tail latency plays an outsized role in determining the overall performance and reliability.

Controlling tail latency, however, is tricky business, and much harder to achieve than good average latency. It requires understanding the details and subtleties in low-level system behavior, including memory management, threading model, locking, network I/O, etc.

Pelikan is a framework to implement distributed caches such as Memcached and Redis. This talk discusses the system aspects that are important to the performance, especially tail latency, of such services. It also covers the decisions we made in Pelikan, and how they help us reason about performance even before we run benchmarks.


Yao Yue

Distributed Systems Engineer Working on Cache @Twitter

Distributed Systems Engineer Working on Cache at Twitter

Read more
Find Yao Yue at:


Churchill, G flr.


Performance Mythbusting


LatencyHigh PerformanceTwitterInterview AvailableSilicon Valley


From the same track

SESSION + Live Q&A Testing

Continuous Performance Testing

In our world of continuous delivery with repeatable builds and automated deployments, performance testing is often bolted on as an afterthought. This can be an acceptable strategy until your application becomes popular, after which customers can start complaining about application response. As...

Mark Price

Performance Engineering Specialist at Aitu Software

SESSION + Live Q&A High Performance

High Performance Managed Languages

Common wisdom dictates that native languages are the only means of building high-performance applications. How do managed runtimes such as those available to .NET, Java, and even JavaScript, yes even JavaScript compare? Many applications requiring high-performance are now developed for managed...

Martin Thompson

High Performance & Low Latency Specialist

SESSION + Live Q&A High Performance

Async Or Bust!?

Asynchronous is the new normal! Or is it? Many of our languages, runtimes, and libraries are built around synchronous behaviour and usage as we keep trying to make RPC work by force of will. Primitives such as futures and promises present a synchronous facade. Blocking I/O dominates the vast...

Todd Montgomery

Ex-NASA researcher

SESSION + Live Q&A High Performance

Performance Testing in Java

Writing software is regarded by many developers as a craft or an art. However when it comes to performance tuning and/or testing many believe it to be more of a dark art. Nothing farther from the truth. We can gain a lot by applying a concrete methodology and similar reasoning techniques we...

Andres Almiray

Java/Groovy Developer and Java Champion

Ix-chel Ruiz

Groovy Enthusiast, Teacher of Computer Science

SESSION + Live Q&A Open Space

Performance Open Space

View full Schedule