Cost-aware resource management for decentralized internet services

Decentralized network services, such as naming systems, content distribution networks, and publish-subscribe systems, play an increasingly critical role and are required to provide high performance, low latency service, achieve high availability in the presence of network and node failures, and handle a large volume of users. Judicious utilization of expensive system resources, such as memory space, network bandwidth, and number of machines, is fundamental to achieving the above properties. Yet, current network services rely on ad hoc mechanisms and heuristic based techniques to manage scarce resources and, consequently, fall short of expectations. This thesis presents a principled approach for building high performance, robust, and scalable network services. The key contribution of this thesis is to show that near-optimal resolution of the fundamental cost-benefit tradeoff between resource consumption and performance through mathematical optimization enables network services to meet system-wide performance goals efficiently. This thesis develops a practical approach for near-optimal resource management in three stages: analytically model the cost-performance tradeoff as a constrained optimization problem, determine a near-optimal resource allocation strategy on the fly, and enforce the derived strategy through light-weight, decentralized mechanisms. It builds on self-organizing structured overlays, which provide failure resilience and scalability, and complements them with stronger performance guarantees and robustness under sudden changes in workload. This work enables applications to meet system-wide performance targets, such as low average response times, high cache hit rates, and small update dissemination times with minimal resource consumption. Alternatively, applications can make the best use of available resources, such as storage and bandwidth, and derive maximum advantage in performance. I have implemented an extensible framework called Honeycomb to perform near-optimal resource management on structured overlays based on the above approach and built three critical network services using it. These services consist of a new name system for the Internet called CoDoNS that distributes data associated with domain names, an open-access content distribution network called CobWeb that caches web content for faster access by users, and an online information monitoring system called Corona that notifies users about changes to web pages. Simulations and performance measurements from a planetary-scale deployment show that these services provide unprecedented performance improvement over the current state of the art.

[1]  George Kingsley Zipf,et al.  Human behavior and the principle of least effort , 1949 .

[2]  Lawrence W. Dowdy,et al.  Comparative Models of the File Assignment Problem , 1982, CSUR.

[3]  Benjamin W. Wah File Placement on Distributed Computer Systems , 1984, Computer.

[4]  Paul V. Mockapetris,et al.  Domain names - implementation and specification , 1987, RFC.

[5]  Paul V. Mockapetris,et al.  Domain names - concepts and facilities , 1987, RFC.

[6]  Paul V. Mockapetris,et al.  Development of the domain name system , 1988, SIGCOMM '88.

[7]  Rahul Simha,et al.  A Microeconomic Approach to Optimal Resource Allocation in Distributed Computer Systems , 1989, IEEE Trans. Computers.

[8]  William H. Press,et al.  Numerical Recipes in Fortran 77: The Art of Scientific Computing 2nd Editionn - Volume 1 of Fortran Numerical Recipes , 1992 .

[9]  Peter B. Danzig,et al.  An analysis of wide-area name server traffic: a study of the Internet Domain Name System , 1992, SIGCOMM 1992.

[10]  Peter B. Danzig,et al.  Common DNS Implementation Errors and Suggested Fixes , 1993, RFC.

[11]  Robbert van Renesse,et al.  Light-weight process groups in the Isis system , 1993, Distributed Syst. Eng..

[12]  Steven Glassman,et al.  A Caching Relay for the World Wide Web , 1994, Comput. Networks ISDN Syst..

[13]  Azer Bestavros,et al.  Demand-based document dissemination to reduce traffic and balance load in distributed information systems , 1995, Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing.

[14]  ZHANGLi-xia,et al.  A reliable multicast framework for light-weight sessions and application level framing , 1995 .

[15]  Carl A. Waldspurger,et al.  Lottery and stride scheduling: flexible proportional-share resource management , 1995 .

[16]  Mark Crovella,et al.  Characteristics of WWW Client-based Traces , 1995 .

[17]  Thomas P. Brisco DNS Support for Load Balancing , 1995, RFC.

[18]  Virgílio A. F. Almeida,et al.  Characterizing reference locality in the WWW , 1996, Fourth International Conference on Parallel and Distributed Information Systems.

[19]  Peter B. Danzig,et al.  A Hierarchical Internet Object Cache , 1996, USENIX Annual Technical Conference.

[20]  Martin F. Arlitt,et al.  Web server workload characterization: the search for invariants , 1996, SIGMETRICS '96.

[21]  Tim Bray,et al.  Measuring the Web , 1996, World Wide Web J..

[22]  Edward A. Fox,et al.  Removal Policies in Network Caches for World-Wide Web Documents , 1996, SIGCOMM.

[23]  Jeffrey C. Mogul,et al.  Using predictive prefetching to improve World Wide Web latency , 1996, CCRV.

[24]  Sanjoy Paul,et al.  RMTP: a reliable multicast transport protocol , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[25]  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.

[26]  Syam Gadde,et al.  Reduce, reuse, recycle: an approach to building large Internet caches , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[27]  Sandy Irani,et al.  Cost-Aware WWW Proxy Caching Algorithms , 1997, USENIX Symposium on Internet Technologies and Systems.

[28]  Michael J. Feeley,et al.  The Measured Access Characteristics of World-Wide-Web Client Proxy Caches , 1997, USENIX Symposium on Internet Technologies and Systems.

[29]  Keith W. Ross,et al.  Hash routing for collections of shared Web caches , 1997, IEEE Netw..

[30]  Eric A. Brewer,et al.  System Design Issues for Internet Middleware Services: Deductions from a Large Client Trace , 1997, USENIX Symposium on Internet Technologies and Systems.

[31]  Duane Wessels,et al.  Internet Cache Protocol (ICP), version 2 , 1997, RFC.

[32]  Donald E. Eastlake,et al.  Domain Name System Security Extensions , 1997, RFC.

[33]  Darrell D. E. Long,et al.  Exploring the Bounds of Web Latency Reduction from Caching and Prefetching , 1997, USENIX Symposium on Internet Technologies and Systems.

[34]  Marc Abrams,et al.  Proxy Caching That Estimates Page Load Delays , 1997, Comput. Networks.

[35]  Randy Bush,et al.  Clarifications to the DNS Specification , 1997, RFC.

[36]  Anja Feldmann,et al.  Rate of Change and other Metrics: a Live Study of the World Wide Web , 1997, USENIX Symposium on Internet Technologies and Systems.

[37]  Van Jacobson,et al.  Adaptive web caching: towards a new global caching architecture , 1998, Comput. Networks.

[38]  Edward A. Fox,et al.  Analysis and modeling of world wide web traffic , 1998 .

[39]  Mark P. Andrews Negative Caching of DNS Queries (DNS NCACHE) , 1998, RFC.

[40]  Duane Wessels,et al.  ICP and the Squid web cache , 1998, IEEE J. Sel. Areas Commun..

[41]  Guruduth Banavar,et al.  Gryphon: An Information Flow Based Approach to Message Brokering , 1998, ArXiv.

[42]  Anja Feldmann,et al.  Performance of Web proxy caching in heterogeneous bandwidth environments , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[43]  Wei Lin,et al.  Web prefetching between low-bandwidth clients and proxies: potential and performance , 1999, SIGMETRICS '99.

[44]  Li Fan,et al.  Web caching and Zipf-like distributions: evidence and implications , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[45]  Bo Li,et al.  On the optimal placement of web proxies in the Internet , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[46]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1999, Theory of Computing Systems.

[47]  Kenneth P. Birman,et al.  Bimodal multicast , 1999, TOCS.

[48]  Alec Wolman,et al.  Organization-Based Analysis of Web-Object Sharing and Caching , 1999, USENIX Symposium on Internet Technologies and Systems.

[49]  Michael Dahlin,et al.  Design considerations for distributed caching on the Internet , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[50]  Wei HanOregon Conquer : a Continual Query System for Update Monitoring in the Www , 1999 .

[51]  Ingrid Zukerman,et al.  Predicting users' requests on the WWW , 1999 .

[52]  Luigi Rizzo,et al.  Replacement policies for a proxy cache , 2000, TNET.

[53]  Craig E. Wills,et al.  The Contribution of DNS Lookup Costs to Web Object Retrieval , 2000 .

[54]  Michael J. Franklin,et al.  Efficient Filtering of XML Documents for Selective Dissemination of Information , 2000, VLDB.

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

[56]  Richard Monson-Haefel,et al.  Java message service , 2000 .

[57]  Calton Pu,et al.  WebCQ-detecting and delivering information changes on the web , 2000, CIKM '00.

[58]  Bill Segall,et al.  Content Based Routing with Elvin4 , 2000 .

[59]  G. Voelker,et al.  On the scale and performance of cooperative Web proxy caching , 2000, OPSR.

[60]  Anees Shaikh,et al.  On the effectiveness of DNS-based server selection , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[61]  H. Federrath Freenet : A Distributed Anonymous Information Storage and Retrieval System in Designing Privacy Enhancing Technologies , 2001 .

[62]  Evi Nemeth,et al.  DNS measurements at a root server , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[63]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[64]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[65]  Michael B. Jones,et al.  Herald: achieving a global event notification service , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[66]  David J. DeWitt,et al.  The Niagara Internet Query System , 2001, IEEE Data Eng. Bull..

[67]  Miguel Castro,et al.  SCRIBE: The Design of a Large-Scale Event Notification Infrastructure , 2001, Networked Group Communication.

[68]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[69]  Yuval Shavitt,et al.  Constrained mirror placement on the Internet , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[70]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[71]  Balachander Krishnamurthy,et al.  On the use and performance of content distribution networks , 2001, IMW '01.

[72]  Lili Qiu,et al.  On the placement of Web server replicas , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[73]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[74]  Kirk L. Johnson,et al.  The measured performance of content distribution networks , 2001, Comput. Commun..

[75]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[76]  kc claffy,et al.  DNS Root/gTLD Performance Measurements , 2001 .

[77]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[78]  Robert Tappan Morris,et al.  DNS performance and the effectiveness of caching , 2001, IMW '01.

[79]  Moni Naor,et al.  Viceroy: a scalable and dynamic emulation of the butterfly , 2002, PODC '02.

[80]  Marvin Theimer,et al.  Reclaiming space from duplicate files in a serverless distributed file system , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[81]  Mary Baker,et al.  Peer-to-Peer Caching Schemes to Address Flash Crowds , 2002, IPTPS.

[82]  Rahul Sharma,et al.  Java¿ Message Service API Tutorial and Reference: Messaging for the J2EE¿ Platform , 2002 .

[83]  Robert Tappan Morris,et al.  Serving DNS Using a Peer-to-Peer Lookup Service , 2002, IPTPS.

[84]  Rajeev Rastogi,et al.  Efficient filtering of XML documents with XPath expressions , 2002, Proceedings 18th International Conference on Data Engineering.

[85]  Vivek S. Pai,et al.  The effectiveness of request redirection on CDN robustness , 2002, OSDI '02.

[86]  Fred B. Schneider,et al.  COCA: a secure distributed online certification authority , 2002 .

[87]  Edith Cohen,et al.  Replication strategies in unstructured peer-to-peer networks , 2002, SIGCOMM.

[88]  Antony I. T. Rowstron,et al.  Squirrel: a decentralized peer-to-peer web cache , 2002, PODC '02.

[89]  Michael B. Jones,et al.  Overlook: scalable name service on an overlay network , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[90]  Edith Cohen,et al.  Search and replication in unstructured peer-to-peer networks , 2002, ICS '02.

[91]  David Mazières,et al.  Kademlia: A Peer-to-Peer Information System Based on the XOR Metric , 2002, IPTPS.

[92]  Robert Tappan Morris,et al.  Ivy: a read/write peer-to-peer file system , 2002, OSDI '02.

[93]  Miguel Castro,et al.  Secure routing for structured peer-to-peer overlay networks , 2002, OSDI '02.

[94]  Jacob R. Lorch,et al.  Farsite: federated, available, and reliable storage for an incompletely trusted environment , 2002, OSDI '02.

[95]  Geoffrey M. Voelker,et al.  Whole Page Performance , 2002 .

[96]  Hector Garcia-Molina,et al.  Effective page refresh policies for Web crawlers , 2003, TODS.

[97]  George Varghese,et al.  Cone: Augmenting DHTs to Support Distributed Resource Discovery , 2003 .

[98]  Miguel Castro,et al.  SplitStream: high-bandwidth multicast in cooperative environments , 2003, SOSP '03.

[99]  Ramesh Govindan,et al.  Incrementally improving lookup latency in distributed hash table systems , 2003, SIGMETRICS '03.

[100]  David Mazières,et al.  Sloppy Hashing and Self-Organizing Clusters , 2003, IPTPS.

[101]  Michael B. Jones,et al.  SkipNet: A Scalable Overlay Network with Practical Locality Properties , 2003, USENIX Symposium on Internet Technologies and Systems.

[102]  Pierre Sens,et al.  Proceedings of Hotos Ix: the 9th Workshop on Hot Topics in Operating Systems Hotos Ix: the 9th Workshop on Hot Topics in Operating Systems Post: a Secure, Resilient, Cooperative Messaging System * , 2022 .

[103]  Hari Balakrishnan,et al.  Modeling TTL-based Internet caches , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[104]  Moni Naor,et al.  A Simple Fault Tolerant Distributed Hash Table , 2003, IPTPS.

[105]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[106]  Edith Cohen,et al.  Proactive caching of DNS records: addressing a performance bottleneck , 2003, Comput. Networks.

[107]  Indranil Gupta,et al.  Kelips: Building an Efficient and Stable P2P DHT through Increased Memory and Background Overhead , 2003, IPTPS.

[108]  Mary Baker,et al.  CUP: Controlled Update Propagation in Peer-to-Peer Networks , 2003, USENIX Annual Technical Conference, General Track.

[109]  Peter Druschel,et al.  Proximity Neighbor Selection in Tree-Based Structured Peer-to-Peer Overlays , 2003 .

[110]  Indranil Gupta,et al.  A churn-resistant peer-to-peer web caching system , 2003, SSRS '03.

[111]  Stefan Savage,et al.  Structured superpeers: leveraging heterogeneity to provide constant-time lookup , 2003, Proceedings the Third IEEE Workshop on Internet Applications. WIAPP 2003.

[112]  Anjali Gupta,et al.  One Hop Lookups for Peer-to-Peer Overlays , 2003, HotOS.

[113]  Sandeep Pandey,et al.  Monitoring the dynamic web to respond to continuous queries , 2003, WWW '03.

[114]  David R. Karger,et al.  Koorde: A Simple Degree-Optimal Distributed Hash Table , 2003, IPTPS.

[115]  Scott Shenker,et al.  Querying the Internet with PIER , 2003, VLDB.

[116]  Scott Shenker,et al.  Making gnutella-like P2P systems scalable , 2003, SIGCOMM '03.

[117]  Anjali Gupta,et al.  Efficient Routing for Peer-to-Peer Overlays , 2004, NSDI.

[118]  Larry L. Peterson,et al.  Reliability and Security in the CoDeeN Content Distribution Network , 2004, USENIX Annual Technical Conference, General Track.

[119]  Robert Tappan Morris,et al.  Designing a DHT for Low Latency and High Throughput , 2004, NSDI.

[120]  Praveen Yalagandula,et al.  A scalable distributed information management system , 2004, SIGCOMM 2004.

[121]  Sandeep Pandey,et al.  WIC: A General-Purpose Algorithm for Monitoring Web Information Sources , 2004, VLDB.

[122]  David Mazières,et al.  Democratizing Content Publication with Coral , 2004, NSDI.

[123]  Azer Bestavros,et al.  Changes in Web client access patterns: Characteristics and caching implications , 1999, World Wide Web.

[124]  Michael Walfish,et al.  A layered naming architecture for the internet , 2004, SIGCOMM '04.

[125]  Emin Gün Sirer,et al.  The design and implementation of a next generation name service for the internet , 2004, SIGCOMM.

[126]  Michael Walfish,et al.  Untangling the Web from DNS , 2004, NSDI.

[127]  Anees Shaikh,et al.  On the responsiveness of DNS-based network control , 2004, IMC '04.

[128]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[129]  Emin Gün Sirer,et al.  Beehive: O(1) Lookup Performance for Power-Law Query Distributions in Peer-to-Peer Overlays , 2004, NSDI.

[130]  David E. Culler,et al.  Operating Systems Support for Planetary-Scale Network Services , 2004, NSDI.

[131]  John Kubiatowicz,et al.  Handling churn in a DHT , 2004 .

[132]  Zhe Wang,et al.  CoDNS: Improving DNS Performance and Reliability via Cooperative Lookups , 2004, OSDI.

[133]  James Robertson,et al.  UsenetDHT: A Low Overhead Usenet Server , 2004, IPTPS.

[134]  Yanlei Diao,et al.  Towards an Internet-Scale XML Dissemination Service , 2004, VLDB.

[135]  Emin Gün Sirer,et al.  Peer-to-Peer Authentication with a Distributed Single Sign-On Service , 2004, IPTPS.

[136]  Scott Shenker,et al.  Fixing the Embarrassing Slowness of OpenDHT on PlanetLab , 2005, WORLDS.

[137]  Miguel Castro,et al.  Debunking some myths about structured and unstructured overlays , 2005, NSDI.

[138]  Yin Zhang,et al.  XTreeNet: scalable overlay networks for XML content dissemination and querying (synopsis) , 2005, 10th International Workshop on Web Content Caching and Distribution (WCW'05).

[139]  Ion Stoica,et al.  Non-Transitive Connectivity and DHTs , 2005, WORLDS.

[140]  David R. Karger,et al.  OverCite: A Cooperative Digital Research Library , 2005, IPTPS.

[141]  Emin Gün Sirer,et al.  Meridian: a lightweight network location service without virtual coordinates , 2005, SIGCOMM '05.

[142]  Emin Gün Sirer,et al.  Client behavior and feed characteristics of RSS, a publish-subscribe system for web micronews , 2005, IMC '05.

[143]  Peter Druschel,et al.  FeedTree: Sharing Web Micronews with Peer-to-Peer Event Notification , 2005, IPTPS.

[144]  Emin Gün Sirer,et al.  Perils of transitive trust in the domain name system , 2005, IMC '05.

[145]  Mark Handley,et al.  The Case for Pushing DNS , 2005 .

[146]  Johannes Gehrke,et al.  Guaranteeing correctness and availability in P2P range indices , 2005, SIGMOD '05.

[147]  Scott Rose,et al.  Protocol Modifications for the DNS Security Extensions , 2005, RFC.

[148]  Venugopalan Ramasubramanian,et al.  Optimal Resource Utilization in Content Distribution Networks , 2005 .

[149]  Daniel Massey,et al.  Protocol Modifications for the DNS Security Extensions RFC 4035 | NIST , 2005 .

[150]  Emin Gün Sirer,et al.  Corona: A High Performance Publish-Subscribe System for the World Wide Web , 2006, NSDI.

[151]  Emin Gün Sirer,et al.  A Practical Approach to Peer-to-Peer Publish-Subscribe , 2006, login Usenix Mag..

[152]  Emin Gün Sirer,et al.  ClosestNode.com: an open access, scalable, shared geocast service for distributed systems , 2006, OPSR.

[153]  Lixia Zhang,et al.  Impact of configuration errors on DNS robustness , 2004, IEEE Journal on Selected Areas in Communications.