本发明主要应用于计算机。
背景技术:
1、随着计算机硬件技术的飞速发展,numa(non uniform memory accessarchitecture,非统一内存访问结构)成为高性能计算的主流架构。numa系统中包含多个numa节点,每个numa节点上分布着不同的进程任务。
2、飞腾信息技术有限公司在其申请的发明专利文献“numa系统的性能调优方法、装置及计算机设备”(公开号:cn114528075a,申请号:cn202111630836.6)中公开了一种uma系统的性能调优方法。该方法包括:获取待调numa系统中的节点信息;获取当前测试需求所需的内存量以及numa节点量;根据获取的所述节点信息以及所述内存量、numa节点量进行numa节点的调用,并将调用的numa节点绑定对应本地内存。但该方法没有阐述对节点分配的优化方法。
3、以国产飞腾系列处理器为例,该处理器基于arm64体系架构,其下的ft2000p采用numa架构来加速程序运行。在工程运用中,经常出现程序内存跨numa节点分布的情况,导致跨节点内存访问频繁,程序运行效率下降。
技术实现思路
1、为了解决在numa架构平台下因跨numa节点导致程序运行效率低下的问题,本发明提出一种基于numa架构平台下访存性能优化方法。通过搜索程序numa节点最优排布来提高程序在飞腾平台下程序的运行效率,包括以下步骤:
2、步骤a、记录该处理器的numa节点个数和各节点的访存距离;
3、步骤b、初始化退火温度和实验次数,根据程序要用到的节点个数和节点距离随机选择初始访存距离;
4、步骤c、随机选择节点,重新计算跨节点访存距离,若新的访存距离更短,则替换,否则继续;
5、步骤d、设定退火概率,若满足条件,则选择接受新的访存距离,若不满足,则不接受新的访存距离;
6、步骤e、根据实验次数循环,将循环结束时的节点排布作为程序最优numa节点排布。
7、进一步的,所述步骤b中,初始化退火温度t和实验次数g,根据节点个数和节点距离随机选择初始访存距离r为:
8、
9、式中,n表示程序要用到的节点个数,r(m,k)表示m节点和k节点之间的访存距离。
10、进一步的,步骤d中,设定退火概率p,如下式所示:
11、
12、式中,rand(0,1)表示0到1内的随机小数,r2表示节点访存距离。
13、本发明解决跨numa节点导致的运行效率低下问题,有效提高飞腾平台下程序的运行效率,具有实施简单、可复用的优点。
1.一种基于numa架构平台下访存性能优化方法,其特征在于:
2.根据权利要求1所述的一种基于numa架构平台下访存性能优化方法,其特征在于:所述步骤b中,初始化退火温度t和实验次数g,根据节点个数和节点距离随机选择初始访存距离r为:
3.根据权利要求1所述的一种基于numa架构平台下访存性能优化方法,其特征在于:步骤d中,设定退火概率p,如下式所示:
