Open Access

ARTICLE

A Perfect Knob to Scale Thread Pool on Runtime

Faisal Bahadur1,*, Arif Iqbal Umar1, Insaf Ullah2, Fahad Algarni3, Muhammad Asghar Khan2, Samih M. Mostafa4
1 Department of Information Technology, Hazara University, Mansehra, 21300, Pakistan
2 Hamdard Institute of Engineering and Technology, Islamabad Campus, Pakistan
3 College of Computing and Information Technology, The University of Bisha, Bisha, Saudi Arabia
4 Faculty of Computers and Information, South Valley University, Qena, 83523, Egypt
* Corresponding Author: Faisal Bahadur. Email:
(This article belongs to this Special Issue: Social Networks Analysis and Knowledge Management)

Computers, Materials & Continua 2022, 72(1), 1483-1493. https://doi.org/10.32604/cmc.2022.024936

Received 05 November 2021; Accepted 22 December 2021; Issue published 24 February 2022

Abstract

Scalability is one of the utmost nonfunctional requirement of server applications, because it maintains an effective performance parallel to the large fluctuating and sometimes unpredictable workload. In order to achieve scalability, thread pool system (TPS) has been used extensively as a middleware service in server applications. The size of thread pool is the most significant factor, that affects the overall performance of servers. Determining the optimal size of thread pool dynamically on runtime is a challenging problem. The most widely used and simple method to tackle this problem is to keep the size of thread pool equal to the request rate, i.e., the frequency-oriented thread pool (FOTP). The FOTPs are the most widely used TPSs in the industry, because of the implementation simplicity, the negligible overhead and the capability to use in any system. However, the frequency-based schemes only focused on one aspect of changes in the load, and that is the fluctuations in request rate. The request rate alone is an imperfect knob to scale thread pool. Thus, this paper presents a workload profiling based FOTP, that focuses on request size (service time of request) besides the request rate as a knob to scale thread pool on runtime, because we argue that the combination of both truly represents the load fluctuation in server-side applications. We evaluated the results of the proposed system against state of the art TPS of Oracle Corporation (by a client-server-based simulator) and concluded that our system outperformed in terms of both; the response times and throughput.

Keywords

Scalability; performance; middleware; workload profiling; multi-threading; thread pool

Cite This Article

F. Bahadur, A. Iqbal Umar, I. Ullah, F. Algarni, M. Asghar Khan et al., "A perfect knob to scale thread pool on runtime," Computers, Materials & Continua, vol. 72, no.1, pp. 1483–1493, 2022.



This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • 742

    View

  • 506

    Download

  • 1

    Like

Share Link

WeChat scan