A Framework for Evaluating Server Performance: Application to SIP Proxy Servers.

KRISHNAMURTHY, RAMESH . A Framework for Evaluating Server Performance: Application to SIP Proxy Servers. (Under the direction of Dr. George N. Rouskas.) The growing number of applications that use the Session Initiation Protocol (SIP) to manage media sessions over IP is placing increasing demands on the SIP proxy servers (SPS) that make up the core of the SIP network. In this work we investigated the performance of OpenSIPS, an open source SIP proxy server. We collected a large set of experimental data to characterize the performance of the SPS under various call arrival rates and inter-arrival time distributions. Based on these measurements, in the first part, we studied a single SPS server thread on a single-core CPU hardware and modeled the SIP proxy server as an M/G/1 queue. A key component of the model is a parameter that captures the interrupt overhead, i.e., the impact of interrupts and the resulting cache-misses on socket queue service times. For the second part, we studied the performance of multiple SPS server threads on a singlecore CPU hardware. We measured the call rate where the SPS server starts experiencing losses greater than 1% and developed a prediction model for the drop probability as a function of call rate and number of server threads. We also introduced a new parameter to capture the overhead of multiple server threads, in addition to the interrupt overhead. For the third part, we investigated the impact of the Linux scheduler settings on the performance of single-core, multi-threaded SIP proxy servers, in terms of packet service time, waiting time, and packet drop rate (PDR) to capture the impact on end-user experience. Based on the results of a large set of experiments across a wide range of traffic loads and number of server threads, we developed a methodology to configure the scheduler parameters such that it resulted in significant gains in SPS performance compared to industry-recommended “server” mode operation. Importantly, the gains in performance were the result of setting the scheduler parameters to appropriate values, without the need for adding server capacity or other capital expenditures. For the final phase of our research, we investigated the impact of the Linux scheduler’s load-balancing algorithm on the performance of multi-threaded SIP proxy server running on a multi-core processor system. We conducted extensive experiments and developed a practical guidelines for tuning the scheduler to a “enhanced multi-core server mode” that results in significant gains in performance, thus addressing one of the most crucial needs in today’s data center: to extract performance gains from the existing computing infrastructures. We further developed a capacity planning model that provides a good first-order approximation of the total capacity of the SPS system in terms of the call arrival rate that may be supported without affecting user experience in terms of dropped call. Our measurement and modeling methodology is general, and can be applied to characterize the performance of a wide range of network application protocols.

[1]  Ali R. Hurson,et al.  Effects of Multithreading on Cache Performance , 1999, IEEE Trans. Computers.

[2]  Rudra Dutta,et al.  Performance and scalability of M/M/c based queuing model of the SIP Proxy Server - a practical approach , 2009, 2009 Australasian Telecommunication Networks and Applications Conference (ATNAC).

[3]  S. Wittevrongel,et al.  Queueing Systems , 2019, Introduction to Stochastic Processes and Simulation.

[4]  Fang Liu,et al.  Characterizing and modeling the behavior of context switch misses! , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[5]  Christian Benvenuti Understanding Linux Network Internals , 2005 .

[6]  Jonathan D. Rosenberg,et al.  Network Working Group Requirements for Management of Overload in the Session Initiation Protocol , 2008 .

[7]  Baochun Li,et al.  Demand forecast and performance prediction in peer-assisted on-demand streaming systems , 2011, 2011 Proceedings IEEE INFOCOM.

[8]  Himzo Bajric,et al.  Basic telephony SIP end - to - end performance metrics , 2012, 2012 IX International Symposium on Telecommunications (BIHTEL).

[9]  Mauricio Cortes,et al.  Towards Stateless Core: Improving SIP Proxy Scalability , 2006 .

[10]  K. K. Ramakrishnan,et al.  Eliminating receive livelock in an interrupt-driven kernel , 1996, TOCS.

[11]  SchulzrinneHenning,et al.  The impact of TLS on SIP server performance , 2012 .

[12]  Alan L. Cox,et al.  Explaining the Impact of Network Transport Protocols on SIP Proxy Performance , 2008, ISPASS 2008 - IEEE International Symposium on Performance Analysis of Systems and software.

[13]  Seongsoo Hong,et al.  Improving Interactivity via VT-CFS and Framework-Assisted Task Characterization for Linux/Android Smartphones , 2012, 2012 IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[14]  Rudra Dutta,et al.  Measurements and Analysis of M/M/1 and M/M/c Queuing Models of the SIP Proxy Server , 2009, 2009 Proceedings of 18th International Conference on Computer Communications and Networks.

[15]  Alan B. Johnston,et al.  SIP: Understanding the Session Initiation Protocol , 2001 .

[16]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[17]  Rajkumar Buyya,et al.  Cost of Virtual Machine Live Migration in Clouds: A Performance Evaluation , 2009, CloudCom.

[18]  Gilad Kutiel,et al.  Cost-aware live migration of services in the cloud , 2010, SYSTOR '10.

[19]  Mauro Femminella,et al.  Optimal deployment of open source application servers providing multimedia services , 2014, IEEE Network.

[20]  Zheng Shaoren,et al.  Analysis and evaluation of the TCP/IP protocol stack of LINUX , 2000, WCC 2000 - ICCT 2000. 2000 International Conference on Communication Technology Proceedings (Cat. No.00EX420).

[21]  Erich M. Nahum,et al.  SIP server performance on multicore systems , 2010, IBM J. Res. Dev..

[22]  Petr Tuma,et al.  When Misses Differ: Investigating Impact of Cache Misses on Observed Performance , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[23]  Erich M. Nahum,et al.  Evaluating SIP server performance , 2007, SIGMETRICS '07.

[24]  Khaled Salah,et al.  Improving snort performance under linux , 2009, IET Commun..

[25]  Vijay K. Gurbani,et al.  Characterizing Session Initiation Protocol (SIP) Network Performance and Reliability , 2005, ISAS.

[26]  Kang G. Shin,et al.  The impact of concurrency gains on the analysis and control of multi-threaded Internet services , 2004, IEEE INFOCOM 2004.

[27]  Martin Bichler,et al.  Planning vs. Dynamic Control: Resource Allocation in Corporate Clouds , 2016, IEEE Transactions on Cloud Computing.

[28]  Erich M. Nahum,et al.  Cache behavior of network protocols , 1997, SIGMETRICS '97.

[29]  Evgenia Smirni,et al.  Model-Driven System Capacity Planning under Workload Burstiness , 2010, IEEE Transactions on Computers.

[30]  Flavio E. Goncalves,et al.  Building Telephony Systems with OpenSIPS 1.6 , 2010 .

[31]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[32]  Wenji Wu,et al.  The performance analysis of linux networking - Packet receiving , 2007, Comput. Commun..

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

[34]  Bill Hartner,et al.  TCPIP Network Stack Performance in Linux Kernel 2 . 4 and 2 . 5 , 2010 .

[35]  Jordi Torres,et al.  Understanding tuning complexity in multithreaded and hybrid web servers , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[36]  Varsha Apte,et al.  A Measurement Study of the Linux TCP/IP Stack Performance and Scalability on SMP systems , 2006, 2006 1st International Conference on Communication Systems Software & Middleware.

[37]  R. Dutta,et al.  Comparative Study of M/M/1 and M/D/1 Models of a SIP Proxy Server , 2008, 2008 Australasian Telecommunication Networks and Applications Conference.

[38]  Ajoy Kumar Datta,et al.  CPU Scheduling for Power/Energy Management on Multicore Processors Using Cache Miss and Context Switch Data , 2014, IEEE Transactions on Parallel and Distributed Systems.

[39]  Al Morton,et al.  Basic Telephony SIP End-to-End Performance Metrics , 2011, RFC.

[40]  Asser N. Tantawi,et al.  Load Balancing for SIP Server Clusters , 2009, IEEE INFOCOM 2009.

[41]  Bryan Veal,et al.  Performance scalability of a multi-core web server , 2007, ANCS '07.