Segcache: a memory-efficient, scalable cache for small objects with TTL

In collaboration with Carnegie Mellon University, Twitter is building the next generation of storage backend, Segcache, into Pelikan. Segcache enables high memory efficiency, high throughput, and excellent scalability for Twitter’s cache workloads.

This design provides the biggest benefit for workloads that access predominantly small objects and use TTL (time-to-live) <sup... read more


Taming Tail Latency and Achieving Predictability

Twitter is accelerating its Pelikan Cache framework by using the Intel® Ethernet 800 Series Network Adapter with Application Device Queues (ADQ).

Delivering data from in-memory cache should be the fastest method among all possible remote sources in a data center. (As described by Wikipedia, cache is “a hardware or... read more


Why Pelikan

This post was originally written as an internal document. Some links, project names, and content are removed when adapting to a public audience.

TL;DR

Twemcache and Redis both solve some subset of caching problems at Twitter, and neither does it perfectly. Pelikan addresses many of the issues that cause... read more


Memory Matters

This is the fourth post in our blog series about the design, implementation and usage of caching in datacenters.

Memory allocation and free don’t always rank high on performance tips unless you need to be almost always Blazingly FastTM, which happens to be what is expected from a cache... read more


Separation of Concerns

This is the third post in our blog series about the design, implementation and usage of caching in datacenters.

The most important design decision we adopted in building the server is to separate performance-sensitive processing from the rest, and separate different types of performance-sensitive processing from each other. This... read more


Server First

This is the second post in our blog series about the design, implementation and usage of caching in datacenters.

If you don’t care why we choose to work on cache server first, skip the post.

The mode of cache – in-process, local, or remote – profoundly affects how the... read more


Caching in datacenters

This is the first post in our blog series about the design, implementation and usage of caching in datacenters.

There are many different definitions of caching. And indeed caching is ubiquitous as long as locality can be taken advantage of. From CPU to CDN, from hardware controllers to... read more


subscribe via RSS