Algorithmic Nuggets in Content Delivery

This paper "peeks under the covers" at the subsystems that provide the basic functionality of a leading content delivery network. Based on our experiences in building one of the largest distributed systems in the world, we illustrate how sophisticated algorithmic research has been adapted to balance the load between and within server clusters, manage the caches on servers, select paths through an overlay routing network, and elect leaders in various contexts. In each instance, we first explain the theory underlying the algorithms, then introduce practical considerations not captured by the theoretical models, and finally describe what is implemented in practice. Through these examples, we highlight the role of algorithmic research in the design of complex networked systems. The paper also illustrates the close synergy that exists between research and industry where research ideas cross over into products and product requirements drive future research.

[1]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[2]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[3]  Robert W. Irving,et al.  The Stable marriage problem - structure and algorithms , 1989, Foundations of computing series.

[4]  Ravindra K. Ahuja,et al.  Network Flows: Theory, Algorithms, and Applications , 1993 .

[5]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[6]  Daniel M. Lewin,et al.  Consistent hashing and random trees : algorithms for caching in distributed networks , 1998 .

[7]  Duane Wessels,et al.  Cache Digests , 1998, Comput. Networks.

[8]  David R. Karger,et al.  Web Caching with Consistent Hashing , 1999, Comput. Networks.

[9]  A. Roth,et al.  The Redesign of the Matching Market for American Physicians: Some Engineering Aspects of Economic Design , 1999, The American economic review.

[10]  David F. Channell Pasteur's Quadrant: Basic Science and Technological Innovation , 1999 .

[11]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[12]  Michel Balinski,et al.  Many-to-many matching: stable polyandrous polygamy (or polygamous polyandry) , 2000, Discret. Appl. Math..

[13]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[14]  Mischa Schwartz,et al.  ACM SIGCOMM computer communication review , 2001, CCRV.

[15]  Bruce M. Maggs,et al.  Globally Distributed Content Delivery , 2002, IEEE Internet Comput..

[16]  Bruce M. Maggs,et al.  Designing overlay multicast networks for streaming , 2003, SPAA '03.

[17]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..

[18]  Ramesh K. Sitaraman,et al.  A transport layer for live streaming in a content delivery network , 2004, Proceedings of the IEEE.

[19]  H. Rahul,et al.  Towards Realizing the Performance and Availability Benefits of a Global Overlay Network , 2005 .

[20]  Eli Upfal,et al.  Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2005 .

[21]  Parag A. Pathak,et al.  The New York City High School Match , 2005 .

[22]  Alvin E. Roth,et al.  Pairwise Kidney Exchange , 2004, J. Econ. Theory.

[23]  K. Iwama,et al.  A Survey of the Stable Marriage Problem and Its Variants , 2008, International Conference on Informatics Education and Research for Knowledge-Circulating Society (icks 2008).

[24]  Ramesh K. Sitaraman,et al.  The Akamai network: a platform for high-performance internet applications , 2010, OPSR.

[25]  Bruce M. Maggs,et al.  Algorithms for Constructing Overlay Networks For Live Streaming , 2011, ArXiv.

[26]  J. Gabszewicz,et al.  On Gale and Shapley "college admissions and the stability of marriage" , 2012 .

[27]  L. S. Shapley,et al.  College Admissions and the Stability of Marriage , 2013, Am. Math. Mon..

[28]  V. Kamakshamma,et al.  Load balancing in Content Delivery Networks in Novel Distributed Equilibrium , 2014 .

[29]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[30]  Ramesh K. Sitaraman,et al.  Overlay Networks: An Akamai Perspective , 2014 .

[31]  Ramesh K. Sitaraman,et al.  End-User Mapping: Next Generation Request Routing for Content Delivery , 2015, Computer communication review.

[32]  Ramesh K. Sitaraman,et al.  End-User Mapping: Next Generation Request Routing for Content Delivery , 2015, Comput. Commun. Rev..