Open Access
ARTICLE
The Double Edge Sword Based Distributed Executor Service
1 Department of Information Technology, Hazara University, Mansehra, 21300, Pakistan
2 Hamdard Institute of Engineering and Technology, Islamabad 44000, Pakistan
3 College of Computing and Information Technology, The University of Bisha, Bisha, Saudi Arabia
* Corresponding Author: Faisal Bahadur. Email:
(This article belongs to the Special Issue: Recent Trends in Software Engineering and Applications)
Computer Systems Science and Engineering 2022, 42(2), 589-604. https://doi.org/10.32604/csse.2022.022319
Received 03 August 2021; Accepted 06 September 2021; Issue published 04 January 2022
Abstract
Scalability is one of the most important quality attribute of software-intensive systems, because it maintains an effective performance parallel to the large fluctuating and sometimes unpredictable workload. In order to achieve scalability, thread pool system (TPS) (which is also known as executor service) has been used extensively as a middleware service in software-intensive systems. TPS optimization is a challenging problem that determines the optimal size of thread pool dynamically on runtime. In case of distributed-TPS (DTPS), another issue is the load balancing b/w available set of TPSs running at backend servers. Existing DTPSs are overloaded either due to an inappropriate TPS optimization strategy at backend servers or improper load balancing scheme that cannot quickly recover an overload. Consequently, the performance of software-intensive system is suffered. Thus, in this paper, we propose a new DTPS that follows the collaborative round robin load balancing that has the effect of a double-edge sword. On the one hand, it effectively performs the load balancing (in case of overload situation) among available TPSs by a fast overload recovery procedure that decelerates the load on the overloaded TPSs up to their capacities and shifts the remaining load towards other gracefully running TPSs. And on the other hand, its robust load deceleration technique which is applied to an overloaded TPS sets an appropriate upper bound of thread pool size, because the pool size in each TPS is kept equal to the request rate on it, hence dynamically optimizes TPS. We evaluated the results of the proposed system against state of the art DTPSs by a client-server based simulator and found that our system outperformed by sustaining smaller response times.Keywords
Cite This Article
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.