Adaptive thread pool scaling and real-time thread monitoring
M.G.A. Janssen (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Jan S. Rellermeyer – Mentor (TU Delft - Data-Intensive Systems)
Dick H.J. Epema – Graduation committee member (TU Delft - Data-Intensive Systems)
Zaid Al-Ars – Graduation committee member (TU Delft - Computer Engineering)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Thread pools, integrated in programming languages, packages and dependencies are widely used by developers. Thread pools assume they are running alone on the system, which is not always the case. Previous research has shown that adapting thread pool size has been effective under specific conditions. In this research, scaling the thread pool with respect to CPU and network usage is examined. However, simpler metrics can achieve better results. Two solutions are provided for algorithmically scaling the thread pool, both with a different use-case in mind. Next to that an improved way to collect CPU and network metrics is provided, allowing for real-time thread-based measurements. The result of the scaling solution is improved performance, while also offering reduced energy usage. This research shows that when multiple thread pools are running on the same machine, performance and efficiency is improved.