Adaptive Manta-Ray Foraging Optimizer for Determining Optimal Thread Count in Multithreaded Applications - Malave, Sachin; Shinde, Subhash (INFOCOMP Journal of Computer Science, 2022)
In high-performance computing, choosing the right thread count has a big impact on execution time and energy consumption. It is typically considered that the total number of threads should equal the number of cores to achieve maximum speedup on multicore processor systems. Any changes in thread count at the hardware and OS levels influence memory bandwidth utilization, thread migration rate, cache miss rate, thread synchronization, and context switching rate. As a result, analysing these parameters for complex multithreaded applications and finding the optimal number of threads is a major challenge. The suggested technique in this paper is an improvement on the traditional Manta-Ray Foraging Optimization, a bio-inspired algorithm that has been used to handle a variety of numerical optimization problems. To determine the next probable solutions based on the present best solution, the suggested approach uses three foraging steps: chain, cyclone, and summersault. The proposed work is simulated on NVIDIA-DGX Intel Xeon-E5 2698-v4 using the well-known benchmark suite PARSEC (The Princeton Application Repository for Shared-Memory Computers). The results show that, compared to the existing approach, the novel AMRFO-based prediction model can determine the ideal number of threads with very low overheads.