JArena:多线程科学应用中用于NUMA感知的分区共享内存
JArena: Partitioned Shared Memory for NUMA-awareness in Multi-threaded Scientific Applications
摘要:
分布式共享存储器(DSM)体系结构被广泛应用于当今的计算机设计中,以缓解不断扩大的处理-存储器间隙,并且不可避免地表现出对共享存储器并行应用的非均匀存储器访问(NUMA)。如果不能实现完全的NUMA感知,应用程序的性能会显著下降,尤其是在当今拥有数十到数百个内核的众核平台上。然而,首次触摸和内存策略等传统方法在虚假页面共享、碎片化或易用性方面都失败了。在本文中,我们提出了一个分区共享内存的方法,允许多线程应用程序实现充分的NUMA意识,只有轻微的代码更改,并开发一个companying NUMA意识堆管理器,消除虚假的页面共享,最大限度地减少碎片。在一个256核cc-NUMA计算节点上的实验表明,该方法实现了真正的NUMA感知,并随着核使用的增加,将典型多线程科学应用的性能提高了4.3倍。
英文摘要:
The distributed shared memory (DSM) architecture is widely used in today's computer design to mitigate the ever-widening processing-memory gap, and inevitably exhibits non-uniform memory access (NUMA) to shared-memory parallel applications. Failure to achieve full NUMA-awareness can significantly downgrade application performance, especially on today's manycore platforms with tens to hundreds of cores. Yet traditional approaches such as first-touch and memory policy fail short in either false page-sharing, fragmentation, or ease-of-use. In this paper, we propose a partitioned shared memory approach which allows multi-threaded applications to achieve full NUMA-awareness with only minor code changes and develop a companying NUMA-aware heap manager which eliminates false page-sharing and minimizes fragmentation. Experiments on a 256-core cc-NUMA computing node show that the proposed approach achieves true NUMA-awareness and improves the performance of typical multi-threaded scientific applications up to 4.3 folds with the increased use of cores.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。