SESSION + Live Q&A
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.
Speaker
Yao Yue
Distributed Systems Engineer Working on Cache @Twitter
Distributed Systems Engineer Working on Cache at Twitter
Read moreFind Yao Yue at:
From the same track
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
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
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
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