In this work, we examines the workload of Facebook's photo-serving stack and the effectiveness of the many layers of caching it employs. Facebook's image-management infrastructure is complex and geographically distributed. It includes browser caches on end-user systems, Edge Caches at ~20 PoPs, an Origin Cache, and for some kinds of images, additional caching via Akamai. The underlying image storage layer is widely distributed, and includes multiple data centers.
We instrumented every Facebook-controlled layer of the stack and sampled the resulting event stream to obtain traces covering over 77 million requests for more than 1 million unique photos. This permits us to study traffic patterns, cache access patterns, geolocation of clients and servers, and to explore correlation between properties of the content and accesses. Our results (1) quantify the overall traffic percentages served by different layers: 65.5% browser cache, 20.0% Edge Cache, 4.6% Origin Cache, and 9.9% Backend storage, (2) reveal that a significant portion of photo requests are routed to remote PoPs and data centers as a consequence both of load-balancing and peering policy, (3) demonstrate the potential performance benefits of coordinating Edge Caches and adopting S4LRU eviction algorithms at both Edge and Origin layers, and (4) show that the popularity of photos is highly dependent on content age and conditionally dependent on the social-networking metrics we considered. In this talk, I will present our instrumentation challenges and the process we conducted to derive those results.
Qi Huang (http://www.cs.cornell.edu/~qhuang) is a final-year PhD student at Computer Science of Cornell University. He has been working on tackling the emerging adaptivity problems seen in today's distributed system infrastructure, which often observes diverse workload patterns. And currently he is focusing on the cache design for both static and dynamic contents in a collaboration with Facebook. In general, Qi's research interest lies in the area of distributed systems, and the projects he has worked on also intersect with networking and storage in the context of cloud computing. Before joining Cornell, he obtained his bachelor degrees from Huazhong University of Science and Technology, Wuhan, China.