Performance evaluation of multi-core, multi-threaded SIP proxy servers (SPS)

Process schedulers are part of the core functionality of an operating system (OS), and have been enhanced over the years to account for multiple cores in the processors and to support multi-threaded applications. In this study, we investigate the impact of the Linux scheduler's load-balancing algorithm on the performance of multi-threaded OpenSIPS (an open source SIP proxy server, SPS) running on a multi-core processor system. Linux uses the “completely fair scheduler” (CFS) scheduling policy and provides parameters specifically tunable in a multi-core environment. We conducted extensive experiments and analyzed the collected data to characterize the performance of SPS as a function of the number of CPU cores, the number of server threads and the call arrival rate. Based on our analysis, we show how to configure the various scheduler parameters as a function of the number of CPU cores to achieve a significant improvement in SPS performance. We further present a capacity planning model as a tool that service providers may use to obtain a first-order approximation of the capacity of their system that yields a good match to experimental results.

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

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

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

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

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

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

[7]  Asser N. Tantawi,et al.  Design, Implementation, and Performance of a Load Balancer for SIP Server Clusters , 2012, IEEE/ACM Transactions on Networking.

[8]  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).

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

[10]  George N. Rouskas,et al.  Evaluation of SIP proxy server performance: Packet-level measurements and queuing model , 2013, 2013 IEEE International Conference on Communications (ICC).

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

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