Improving data locality for NUMA-agnostic numerical libraries

Peter Zinterhof · 2016

Modern multi-socket servers are frequently based on the NUMA paradigm, which offers scalability but also introduces potential challenges. Many numerical libraries have not been designed for such architectures specifically, so their node-level performance relies heavily on the inherent quality of their parallelization (e.g. OpenMP) and the use of highly specialized tools and techniques such as thread-pinning and memory page placement. In this paper we propose a simple and portable framework for improving performance of NUMA-agnostic numerical libraries by controlling not only the location of threads but also the location of allocated memory. In addition to many related approaches we also apply fine-grained control over memory placement that is implemented by means of the operating system's first-touch principle.

Read the paper · More papers on PaperTik