How to Optimize Caching for Transactions
July 12, 2023
tl;dr: Current caching policies optimize for the wrong metric on transactional workloads; we should really be caching the groups of objects that are accessed together. To improve latency at scale, application developers often layer caching systems, such as Memcached and Redis…
TAOBench: A Deep Dive into Meta’s Social Network Workload
November 3, 2022
tl;dr: Meta’s social network workload contains a variety of interesting features that we capture in a new benchmark, TAOBench. As we saw in a previous blog post, there is a crucial need for a new social network benchmark. To address this issue, we present TAOBench, the first…
Where Are All the Social Network Benchmarks?
November 1, 2022
tl;dr: Despite the enduring popularity of social networks, there are few benchmarks that accurately capture the production behavior of this important application domain. To address this gap, we introduce TAOBench, a new benchmark that replicates Meta’s social graph workloads…
Expanding the CAP Tradeoff Frontier at Scale
August 11, 2022
tl;dr: Distributed systems must balance their needs for high availability and low latency with consistency guarantees; providing a mostly hit happy path for requests enables these systems to push the boundaries of this tradeoff. Distributed systems must choose between…
RAMP-TAO Transactions
August 18, 2021
What the research is RAMP-TAO is a new protocol that improves the developer experience on TAO, Facebook’s online social graph store, by providing stronger transactional guarantees. It is the first protocol to provide transactional semantics over an eventually consistent massive…