Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters

This paper introduces several novel load-balancing algorithms for distributing Session Initiation Protocol (SIP) requests to a cluster of SIP servers. Our load balancer improves both throughput and response time versus a single node while exposing a single interface to external clients. We present the design, implementation, and evaluation of our system using a cluster of Intel x86 machines running Linux. We compare our algorithms to several well-known approaches and present scalability results for up to 10 nodes. Our best algorithm, Transaction Least-Work-Left (TLWL), achieves its performance by integrating several features: knowledge of the SIP protocol, dynamic estimates of back-end server load, distinguishing transactions from calls, recognizing variability in call length, and exploiting differences in processing costs for different SIP transactions. By combining these features, our algorithm provides finer-grained load balancing than standard approaches, resulting in throughput improvements of up to 24% and response-time improvements of up to two orders of magnitude. We present a detailed analysis of occupancy to show how our algorithms significantly reduce response time.

[1]  Mark Handley,et al.  SIP: Session Initiation Protocol , 1999, RFC.

[2]  D. Estrin,et al.  RSVP: a new resource reservation protocol , 1993, IEEE Communications Magazine.

[3]  Henning Schulzrinne,et al.  RTP: A Transport Protocol for Real-Time Applications , 1996, RFC.

[4]  Mor Harchol-Balter,et al.  Evaluation of Task Assignment Policies for Supercomputing Servers: The Case for Load Unbalancing and Fairness , 2004, Cluster Computing.

[5]  Daniel A. Reed,et al.  NCSA's World Wide Web Server: Design and Performance , 1995, Computer.

[6]  Daniel M. Dias,et al.  High-Performance Web Site Design Techniques , 2000, IEEE Internet Comput..

[7]  Roy T. Fielding,et al.  Hypertext Transfer Protocol - HTTP/1.1 , 1997, RFC.

[8]  Willy Zwaenepoel,et al.  Efficient Support for P-HTTP in Cluster-Based Web Servers , 1999, USENIX Annual Technical Conference, General Track.

[9]  Henning Schulzrinne,et al.  Session Initiation Protocol (SIP) Server Overload Control: Design and Evaluation , 2008, IPTComm.

[10]  Erich M. Nahum,et al.  Locality-aware request distribution in cluster-based network servers , 1998, ASPLOS VIII.

[11]  Amin Vahdat,et al.  Interposed request routing for scalable network storage , 2000, TOCS.

[12]  Arun Iyengar,et al.  A Scalable and Highly Available System for Serving Dynamic Data at Frequently Accessed Web Sites , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[13]  Daniel M. Dias,et al.  A scalable and highly available web server , 1996, COMPCON '96. Technologies for the Information Superhighway Digest of Papers.

[14]  Henning Schulzrinne,et al.  An Offer/Answer Model with Session Description Protocol (SDP) , 2002, RFC.

[15]  Mor Harchol-Balter,et al.  On Choosing a Task Assignment Policy for a Distributed Server System , 1998, J. Parallel Distributed Comput..

[16]  Ellen W. Zegura,et al.  A novel server selection technique for improving the response time of a replicated service , 1998, Proceedings. IEEE INFOCOM '98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century (Cat. No.98.

[17]  Henning Schulzrinne,et al.  Failover, load sharing and server architecture in SIP telephony , 2007, Comput. Commun..

[18]  Gianfranco Ciardo,et al.  EQUILOAD: a load balancing policy for clustered web servers , 2001, Perform. Evaluation.

[19]  Robert Martin McCool,et al.  Lessons Learned Administering Netscape's Internet Site , 1997, IEEE Internet Comput..

[20]  Peter Druschel,et al.  TCP Implementation Enhancements for Improving Webserver Performance , 1999 .

[21]  Ping Pan,et al.  Internet Engineering Task Force , 1995 .

[22]  Vishal Misra,et al.  PBS: a unified priority-based scheduler , 2007, SIGMETRICS '07.

[23]  Philip S. Yu,et al.  The state of the art in locally distributed Web-server systems , 2002, CSUR.

[24]  Guerney D. H. Hunt,et al.  Network Dispatcher: A Connection Router for Scalable Internet Services , 1998, Comput. Networks.

[25]  Erich M. Nahum,et al.  Evaluating SIP Proxy Server Performance , 2007 .

[26]  Henning Schulzrinne,et al.  Failover and Load Sharing in SIP Telephony , 2004 .

[27]  Willy Zwaenepoel,et al.  Scalable Content-aware Request Distribution in Cluster-based Network Servers , 2000, USENIX Annual Technical Conference, General Track.

[28]  Volker Hilt,et al.  Controlling overload in networks of SIP servers , 2008, 2008 IEEE International Conference on Network Protocols.