Cluster-based scalable network services

We identify three fundamental requirements for scalable network services: incremental scalability and overflow growth provisioning, 24x7 availability through fault masking, and cost-effectiveness. We argue that clusters of commodity workstations interconnected by a high-speed SAN are exceptionally well-suited to meeting these challenges for Internet-server workloads, provided the software infrastructure for managing partial failures and administering a large cluster does not have to be reinvented for each new service. To this end, we propose a general, layered architecture for building cluster-based scalable network services that encapsulates the above requirements for reuse, and a service-programming model based on composable workers that perform transformation, aggregation, caching, and customization (TACC) of Internet content. For both performance and implementation simplicity, the architecture and TACC programming model exploit BASE, a weaker-than-ACID data semantics that results from trading consistency for availability and relying on soft state for robustness in failure management. Our architecture can be used as an off the shelf infrastructural platform for creating new network services, allowing authors to focus on the content of the service (by composing TACC building blocks) rather than its implementation. We discuss two real implementations of services based on this architecture: TranSend, a Web distillation proxy deployed to the UC Berkeley dialup IP population, and HotBot, the commercial implementation of the Inktomi search engine. We present detailed measurements of TranSend's performance based on substantial client traces, as well as anecdotal evidence from the TranSend and HotBot experience, to support the claims made for the architecture.

[1]  F. J. Corbató,et al.  Introduction and overview of the multics system , 1965, AFIPS '65 (Fall, part I).

[2]  Eric C. Rosen,et al.  The New Routing Algorithm for the ARPANET , 1980, IEEE Trans. Commun..

[3]  Joel F. Bartlett,et al.  A NonStop kernel , 1981, SOSP.

[4]  John F. Shoch,et al.  The “worm” programs—early experience with a distributed computation , 1982, CACM.

[5]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[6]  Kai Li,et al.  Shared virtual memory on loosely coupled multiprocessors , 1986 .

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

[8]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[9]  David D. Clark,et al.  Policy routing in Internet protocols , 1989, RFC.

[10]  Jaj Jacques Roufs,et al.  PERCEPTUAL IMAGE QUALITY: CONCEPT AND MEASUREMENT , 1992 .

[11]  Alan L. Cox,et al.  Lazy release consistency for software distributed shared memory , 1992, ISCA '92.

[12]  Eric S. Raymond,et al.  The New Hacker's Dictionary, 2nd Ed. , 1993 .

[13]  Richard S. Hall,et al.  A case for caching file objects inside internetworks , 1993, SIGCOMM '93.

[14]  Deborah Estrin,et al.  An architecture for wide-area multicast routing , 1994, SIGCOMM.

[15]  Walter Willinger,et al.  On the self-similar nature of Ethernet traffic , 1993, SIGCOMM '93.

[16]  Deborah Estrin,et al.  An architecture for wide-area multicast routing , 1994, SIGCOMM 1994.

[17]  M. Theimer,et al.  The Bayou Architecture: support for data sharing among mobile users , 1994, Workshop on Mobile Computing Systems and Applications.

[18]  Marvin Theimer,et al.  The Bayou Architecture: Support for Data Sharing Among Mobile Users , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[19]  John Riedl,et al.  GroupLens: an open architecture for collaborative filtering of netnews , 1994, CSCW '94.

[20]  Peter B. Danzig,et al.  Harvest: A Scalable, Customizable Discovery and Access System , 1994 .

[21]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[22]  Alan L. Cox,et al.  TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems , 1994, USENIX Winter.

[23]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[24]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[25]  Azer Bestavros,et al.  Explaining World Wide Web Traffic Self-Similarity , 1995 .

[26]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.

[27]  Jeffrey C. Mogul,et al.  Operating systems support for busy Internet servers , 1995, Proceedings 5th Workshop on Hot Topics in Operating Systems (HotOS-V).

[28]  Srinivasan Seshan,et al.  Improving TCP/IP performance over wireless networks , 1995, MobiCom '95.

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

[30]  Daniel Andresen,et al.  Scalability issues for high performance digital libraries on the World Wide Web , 1996, Proceedings of the Third Forum on Research and Technology Advances in Digital Libraries,.

[31]  Jim Miller,et al.  Application-Specific Proxy Servers as HTTP Stream Transducers , 1996, World Wide Web journal.

[32]  Neil G. Smith The UK National Web Cache - The State of the Art , 1996, Comput. Networks.

[33]  Eric A. Brewer,et al.  Adapting to network and client variability via on-demand dynamic distillation , 1996, ASPLOS VII.

[34]  Kimmo E. E. Raatikainen,et al.  Enhanced Services for World-Wide Web in Mobile WAN Environment , 1996 .

[35]  Peter B. Danzig,et al.  A Hierarchical Internet Object Cache , 1996, USENIX ATC.

[36]  Mary Meeker,et al.  The Internet Report , 1996 .

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

[38]  Eric A. Brewer,et al.  Programming the Internet from the Server-Side with Tcl and Audience1 , 1996, Tcl/Tk Workshop.

[39]  Dawson R. Engler,et al.  Server operating systems , 1996, EW 7.

[40]  Deborah Estrin,et al.  The PIM architecture for wide-area multicast routing , 1996, TNET.

[41]  Eric A. Brewer,et al.  Reducing WWW Latency and Bandwidth Requirements by Real-Time Distillation , 1996, Comput. Networks.

[42]  Adapting to Network and Client Variability via On-Demand Dynamic Distillation , 1996, ASPLOS.

[43]  Murray S. Mazer,et al.  Pan-Browser Support for Annotations and Other Meta-Information on the World Wide Web , 1996, Comput. Networks.

[44]  David E. Culler,et al.  High-performance local area communication with fast sockets , 1997 .

[45]  Paul P. Maglio,et al.  How to personalize the Web , 1997, CHI.

[46]  David A. Wagner,et al.  Privacy-enhancing technologies for the Internet , 1997, Proceedings IEEE COMPCON 97. Digest of Papers.

[47]  Bruce A. Mah,et al.  An empirical model of HTTP network traffic , 1997, Proceedings of INFOCOM '97.

[48]  Bill N. Schilit,et al.  Digestor: Device-Independent Access to the World Wide Web , 1997, Comput. Networks.

[49]  David E. Culler,et al.  Using smart clients to build scalable services , 1997 .

[50]  Eric Anderson,et al.  Extensible, Scalable Monitoring for Clusters of Computers , 1997, LISA.

[51]  B. R. Badrinath,et al.  A framework for environment aware mobile applications , 1997, Proceedings of 17th International Conference on Distributed Computing Systems.

[52]  Daniel Duchamp,et al.  A proxy-based filtering mechanism for the mobile environment , 1998 .

[53]  David A. Wagner,et al.  TAZ Servers and the Rewebber Network: Enabling Anonymous Publishing on the World Wide Web , 1998, First Monday.