Every day people upload more than 350 million photos to Facebook (as of Dec 2012) and view many more in their News Feeds and on their friends’ Timelines. Facebook stores these photos on Haystack machines that are optimized to store photos. But there is also a deep and distributed photo-serving stack with many layers of caches that delivers photos to people so they can view them.
We recently published an academic study of this stack in SOSP. In this post, we describe the stack and then cover four of our many findings:
1. How effective each layer of the stack is.
2. How the popularity distribution of photos changes across layers.
3. The effect of increasing cache sizes.
4. The effect of more advanced caching algorithms.