Locality vs. Balance: Exploring Data Mapping Policies on NUMA Systems

Locality vs. Balance: Exploring Data Mapping Policies on NUMA Systems
复制标题

局部性与平衡:探索 NUMA 系统上的数据映射策略

DOI:
10.1109/pdp.2015.11
复制
发表时间:
2015
期刊:
2015 23rd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing
影响因子:
--
通讯作者:
P. Navaux
P. Navaux
中科院分区:
--
文献类型:
--
作者:
M. Diener;E. Cruz;P. Navaux

文献摘要

被引文献

相似文献

在具有非均匀内存访问(NUMA)行为的并行体系结构中,对数字节点的内存页面映射会影响并行应用程序的性能。为了改善传统数据映射策略,可以采用两种基本策略:优化局部性或平衡记忆访问。在基于局部的策略中,内存页面映射到最访问页面的节点。在基于平衡的策略中,映射内存页面,以使每个内存控制器解决的内存访问数量相似。在本文中,我们对这些数据映射策略进行了深入的探索,以实现并行应用的性能。我们介绍了描述其内存访问行为并评估其对数据映射的适用性的指标。我们还提出了专注于区域,平衡或两者兼而有之的新映射策略。这些政策对三种不同的NUMA架构进行了评估,并具有NAS-OMP和PARSEC基准套件的应用。结果表明,每个策略的性能改进取决于应用程序和机器的特征。与默认的一键式映射相比,选择错误的策略实际上可能会损害性能。与传统的地图策略和仅关注区域或平衡的政策相比,考虑到当地和平衡的结果最大。此外,它避免了由错误的数据映射引起的性能降低。
In parallel architectures that have a Non-Uniform Memory Access (NUMA) behavior, the mapping of memory pages to NUMA nodes influences the performance of parallel applications. In order to improve traditional data mapping policies, two basic strategies can be employed: optimizing locality or balance of memory accesses. In a locality-based policy, memory pages are mapped to nodes that access the page the most. In a balance-based policy, memory pages are mapped such that the number of memory accesses resolved by each memory controller is similar. In this paper, we perform an in-depth exploration of these data mapping policies on the performance of parallel applications. We introduce metrics that describe their memory access behavior and evaluate their suitability for data mapping. We also present new mapping policies that focus on locality, balance or both. These policies were evaluated on three different NUMA architectures with applications from the NAS-OMP and PARSEC benchmark suites. Results show that the performance improvements of each policy depend on the characteristics of the applications and machines. Choosing the wrong policy can actually hurt the performance compared to the default first-touch mapping. Compared to traditional mapping policies and to policies that only focus on either locality or balance, taking into account both locality and balance results in the highest improvements. Furthermore, it avoids the performance reduction caused by the wrong data mapping.