Laso Rodríguez, RubénGarcía Lorenzo, ÓscarFernández Rivera, FranciscoCabaleiro Domínguez, José CarlosFernández Pena, Anselmo TomásLorenzo del Castillo, Juan Ángel2025-01-242025-01-242021Laso R, Lorenzo OG, Rivera FF, Cabaleiro C, Pena TF, Lorenzo JA. LBMA and IMAR2: Weighted lottery based migration strategies for NUMA multiprocessing servers. Concurrency Computat Pract Exper. 2021; 33:e5950. https://doi.org/10.1002/cpe.59501532-0626https://hdl.handle.net/10347/38988This is the peer reviewed version of the following article: Laso R, Lorenzo OG, Rivera FF, Cabaleiro C, Pena TF, Lorenzo JA. LBMA and IMAR2: Weighted lottery based migration strategies for NUMA multiprocessing servers. Concurrency Computat Pract Exper. 2021; 33:e5950, which has been published in final form at https://doi.org/10.1002/cpe.5950. This article may be used for non-commercial purposes in accordance with Wiley Terms and Conditions for Use of Self-Archived Versions. This article may not be enhanced, enriched or otherwise transformed into a derivative work, without express permission from Wiley or by statutory rights under applicable legislation. Copyright notices must not be removed, obscured or modified. The article must be linked to Wiley’s version of record on Wiley Online Library and any embedding, framing or otherwise making available the article or pages thereof by third parties from platforms, services and websites other than Wiley Online Library must be prohibited.Multicore NUMA systems present on-board memory hierarchies and communication networks that influence performance when executing shared memory parallel codes. Characterizing this influence is complex, and understanding the effect of particular hardware configurations on different codes is of paramount importance. In this article, monitoring information extracted from hardware counters at runtime is used to characterize the behavior of each thread for an arbitrary number of multithreaded processes running in a multiprocessing environment. This characterization is given in terms of number of operations per second, operational intensity, and latency of memory accesses. We propose a runtime tool, executed in user space, that uses this information to guide two different thread migration strategies for improving execution efficiency by increasing locality and affinity without requiring any modification in the running codes. Different configurations of NAS Parallel OpenMP benchmarks running concurrently on multicore NUMA systems were used to validate the benefits of our proposal, in which up to four processes are running simultaneously. In more than the 95% of the executions of our tool, results outperform those of the operating system (OS) and produces up to 38% improvement in execution time over the OS for heterogeneous workloads, under different and realistic locality and affinity scenarios.engHardware countersPerformanceRoofline modelThread migrationLBMA and IMAR2: Weighted lottery based migration strategies for NUMA multiprocessing serversjournal article10.1002/cpe.5950open access