[发明专利]一种利用非统一存储器访问架构特点提升并行化NumPy计算性能的方法有效

专利信息
申请号: 202110122117.7 申请日: 2021-01-27
公开(公告)号: CN112860530B 公开(公告)日: 2022-09-27
发明(设计)人: 梁嘉迪;杜云飞;卢宇彤;肖侬 申请(专利权)人: 中山大学
主分类号: G06F11/34 分类号: G06F11/34;G06F9/445;G06F9/50
代理公司: 深圳市创富知识产权代理有限公司 44367 代理人: 高冰
地址: 510275 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 利用 统一 存储器 访问 架构 特点 提升 并行 numpy 计算 性能 方法
【说明书】:

发明公开了一种利用非统一内存访问架构特点提升并行化NumPy计算性能的方法,所述方法包括针对NUMA架构及NumPy并行计算的特点分析;针对NumPy并行计算及NUMA架构优化的CPU分配程序与基于CPU分配程序及进程绑定的优化版NumPy并行计算系统。本发明的有益效果在于,可以由CPU分配器根据NUMA架构计算机以及NumPy并行计算的特点,生成一个CPU配置文件,利用进程绑定,把进程绑定到适合的CPU核心上运行。这样可以更有效地利用计算机的硬件资源的同时,减少进程迁移带来的性能问题,提升并行计算的性能。

技术领域

本发明属于计算机算法性能提升的研究技术领域,特别涉及一种利用非统一存储器访问架构特点提升并行化NumPy计算性能的方法。

背景技术

NumPy是Python语言的一个矩阵及多维数组计算库。它使用C实现各算法中的核心计算部分,使得它的运行效率可以达到编译语言的水平。它还可以通过连接BLAS与LAPACK以进一步提升线性代数运算的性能。NumPy的常用领域包括科学计算、机器学习、数据分析、数据可视化等,而这些领域对性能的需求日渐提高,NumPy是一个串行计算的计算库,并行计算是提升NumPy性能的一种有效思路。

现代计算机应用对处理器的性能需求日渐提升,为了给这些应用提高更多处理器核心,出现了更多非统一存储器访问(NUMA)架构的计算机处理器。与传统的统一存储器访问架构不同,在非统一存储器访问架构的处理器中,存储器的访问时间取决于存储器相对于处理器的位置。虽然两者同样由计算机中的所有物理存储器组成全局的地址空间,但在NUMA架构中存储器在物理上是分布式的。处理器访问它的本地存储器时速度比非本地存储器更快。

因为处理器在访问本地存储器时速度更快,所以一般操作系统在处理多线程任务时,会更倾向于把同一个进程的线程分配到同一个NUMA节点当中,以此提升线程间数据交换的效率。然而这种方式并不是对所有应用场景都是最好的。

如图1所示,描述了一台典型的NUMA架构计算机的架构图。当中包含存储器、CPU插槽、NUMA节点、CPU核心等。其他典型的计算机部件例如硬盘及网络等被省略。

图1中的计算机有两个CPU插槽,分别为Socket0和Socket1,它们各自对应一个相同的CPU。

每个CPU当中包含8个核心,并且被分为两个NUMA节点,其中Socket0中的CPU被分为NUMA0及NUMA1;Socket1中的CPUl被分为NUMA2及NUMA3。其中每个NUMA节点当中皆有4个核心。

与NUMA节点对应地,存储器也被分为了对于每个NUMA节点的本地存储器,它们分别是RAM0、RAM1、RAM2及RAM3。

以NUMA0当中的核心为例,其访问RAM0中的数据时具有相对更小的延迟。而访问RAM1中的数据时因为需要经过NUMA1,延迟会变得较大。访问RAM2或RAM3中的数据因为要进行跨插槽的数据交换,这个时候访问延迟会再进一步提升。

为了确保应用的性能,在一般的操作系统中,会把并行计算应用中的线程尽量分配到相同的NUMA节点的核心当中。同样地,在并行编程模型例如MPI当中,默认也是尽量较少的NUMA节点数量,并尽量使用当中的全部核心。

这样的方式减少了程序中在核心间进行数据交换的延迟,某上程度上可以提升应用的性能。然而,这样的方式可能减少了存储器及存储器带宽的利用率,这个问题将在后续部分进行详细说明。

NumPy并行计算版本主要服务的目标是科学计算、机器学习、数据分析、数据可视化等。这些领域一般都有计算量大、可接受的计算延迟较大等特点。

由于NumPy中相当多的计算操作都是对矩阵中每一个元素进行相同的操作,这些操作显然是易于并行的,而且并行的时候也基本不需要进行进程间的数据交换。这样使得即是进程在不同的NUMA节点上,也不会为计算带来巨大的延迟。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110122117.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top