On the impact of scheduler settings on the performance of multi-threaded SIP servers

Multi-threading is a widely used program execution model, where each thread executes independently while sharing some of the process resources. Multi-threaded processes are used for a range of network application servers including web servers, mail servers and SIP proxy servers (SPS) for Voice over IP (VoIP). The process scheduler is a core part of any Operating System and the policy it uses may have a significant impact on the various applications executing on the system. In this work, we investigate the impact of the Linux scheduler on the performance of OpenSIPS, an open source SIP proxy server. The version of Linux used in our study uses a scheduling policy known as “Completely Fair Scheduler” (CFS), and the Linux kernel provides several parameters that may be used to tune the CFS policy. We have collected a large set of experimental data, in a methodical fashion, to characterize the performance of SPS as a function of the number of server threads and the call arrival rate under (1) default CFS setting and (2) with CFS parameters tuned for improved performance. By fine tuning the scheduler parameters, SPS performance is improved in all scenarios, in some cases significantly. To the best of our knowledge, this is the first study that takes into account the scheduler parameters in improving the performance of the SPS. Our results indicate that network operators may increase server capacity without additional capital expenditures, by applying insightful configuration changes to scheduler policy.

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

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

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

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

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

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

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

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

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

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

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