@article{krishnamurthy_rouskas_2016, title={Performance Evaluation of Multi-Core, Multi-Threaded SIP Proxy Servers (SPS)}, ISSN={["1550-3607"]}, DOI={10.1109/icc.2016.7511427}, abstractNote={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.}, journal={2016 IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC)}, author={Krishnamurthy, Ramesh and Rouskas, George N.}, year={2016} } @inproceedings{krishnamurthy_rouskas_2015, title={On the impact of scheduler settings on the performance of multi-threaded SIP servers}, DOI={10.1109/icc.2015.7249307}, abstractNote={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.}, booktitle={2015 ieee international conference on communications (icc)}, author={Krishnamurthy, R. and Rouskas, George}, year={2015}, pages={6175–6180} }