Thread Assignment of Multithreaded Network Applications in Multicore/Multithreaded Processors

Petar Radojkovic, Vladimir Cakarevic, Javier Verdu, Alex Pajuelo, Francisco J. Cazorla, Mario Nemirovsky, Mateo Valero
2013 IEEE Transactions on Parallel and Distributed Systems  
The introduction of multithreaded processors comprised of a large number of cores with many shared resources makes thread scheduling, and in particular optimal assignment of running threads to processor hardware contexts to become one of the most promising ways to improve the system performance. However, finding optimal thread assignments for workloads running in state-ofthe-art multicore/multithreaded processors is an NP-complete problem. In this paper, we propose BlackBox scheduler, a
more » ... ic method for thread assignment of multithreaded network applications running on multicore/multithreaded processors. The method requires minimum information about the target processor architecture and no data about the hardware requirements of the applications under study. The proposed method is evaluated with an industrial case study for a set of multithreaded network applications running on the UltraSPARC T2 processor. In most of the experiments, the proposed thread assignment method detected the best actual thread assignment in the evaluation sample. The method improved the system performance from 5% to 48% with respect to load balancing algorithms used in state-of-the-art OSs, and up to 60% with respect to a naive thread assignment.
doi:10.1109/tpds.2012.311 fatcat:hxgtffkq6vdl5juwwy553dctl4