用于多核处理系统中的域分解感知处理器分配的系统、方法和计算机可存取介质技术方案

技术编号:33198552 阅读:13 留言:0更新日期:2022-04-24 00:30
用于将多个任务分配给多个计算节点的示例性系统、方法和计算机可存取介质可以包括例如:接收与计算节点相关的第一信息,其中,第一信息可以包括计算节点中的每一个中的核的数目;通过分离计算节点中的每一个中的核的数目来生成第二信息;以及基于第二信息将任务分配给计算节点。第一信息还可以包括:(i)计算节点中的每一个之间的网络连接的距离;以及(ii)网络连接的带宽。可以基于任务来生成第二信息。可以基于任务的维数来生成第二信息。可以基于节点之间的通信数目的最小化来分配任务。节点之间的通信数目的最小化来分配任务。节点之间的通信数目的最小化来分配任务。

【技术实现步骤摘要】
【国外来华专利技术】用于多核处理系统中的域分解感知处理器分配的系统、方法和计算机可存取介质
[0001]相关申请的交叉引用
[0002]本申请涉及并且要求2019年6月12日提交的美国专利申请第62/860,480号和2019年12月12日提交的美国专利申请第62/947,375号的优先权,上述美国专利申请的全部公开内容通过引用并入本文。


[0003]本公开总体上涉及多核处理,更具体地,涉及用于多核处理系统中的域分解感知处理器分配的示例性系统、方法和计算机可存取介质的示例性实施方式。

技术介绍

[0004]在2007年至2018年之间,在高性能计算(“HPC”)中使用的处理器设计从每个处理器4个核增长到28个核,并且互连带宽从大约1Gbps增长到大约100Gbps。然而,自2018年中期以来,已经有将处理器核的计数提升到64(例如,每个双处理器计算节点有128个核)的新的突破性的处理器设计。这些新的处理器设计显著降低了计算成本,提供了更高的经济效率。不幸的是,互连技术没有跟上处理器价格和性能的改进。
[0005]随着每个处理器的核数的增加,对处理器与计算机之间的扩展通信的需求也增加。多轨互连端口的使用可以通过促进多于1个互连链路以在节点之间传输数据来促进以太网、Omnipath和Mellanox Infmiband之类的扩展。不幸的是,这需要互连基础设施的尺寸和成本的两倍、三倍或者甚至四倍。因此,这降低或消除了大型核计数处理器系统的价格优势。
[0006]实际上,为了使互连电缆所维持的带宽加倍,光纤或铜电缆的数目应该加倍。这导致互连结构以指数成本增加,而处理器核的成本以指数速率降低。
[0007]作为互连性能的替选,可以使用参考的空间局部性来修改进程间通信性能,其中可能交换数据的消息传递接口(Message Passing Interface“MPI”)进程在可能的程度上共同位于同一节点上。工作负荷管理器(例如,SLURM、PBS、Torque、SGE、LSF等)对进程放置策略具有有限的支持,其中没有一个实现高效的网格拓扑。对于MPI,可以将进程的放置留给工作负荷管理器,尽管OpenMPI可以提供通过用户提供的等级文件手动重载该放置的能力。然而,来自Hewlett

Packard Enterprise的专有技术Craypat在其专有MPI实现中并入了处理放置机制,其支持2D和3D网格拓扑,其主要限制限制了其使用。
[0008]快速发展的突破性的处理器设计意味着HPC系统越来越多地由异构处理器技术组成。当前,优化跨异构系统的通信的进程放置技术可能仍然是未知的。特别地,现有的MPI进程放置机制是静态的。因此,必须提前知道计算节点配置和初始进程放置映射。这种限制妨碍了工作负荷管理工具优化系统利用的能力。此外,现有的MPI进程放置机制是特定于版本的;为了利用该特征,用户必须将其应用移植到这些特定的MPI版本。
[0009]Craypat是支持网格拓扑进程放置的唯一MPI进程放置机制,Craypat可以限于二
维(2D)和三维(3D)通信模式,并且不支持多程序多数据(“MPMD”)编程范例或者异构计算节点配置。
[0010]因此,提供用于多核处理系统中的处理器分配的示例性系统、方法和计算机可存取介质可能是有益的,其可以解决和/或克服上文所描述的缺陷中的至少一些。

技术实现思路

[0011]因此,可以提供根据本公开的示例性实施方式的用于将多个任务分配给多个计算节点的示例性系统、方法和计算机可存取介质。例如,可以接收与计算节点相关的第一信息,其中,第一信息可以包括计算节点中的每一个中的核的数目。此外,可以通过分离计算节点中的每一个中的核的数目来生成第二信息,并且基于第二信息将任务分配给计算节点。第一信息还可以非穷举地包括:(i)计算节点的网络连接的距离;(ii)网络连接的带宽;以及(iii)网络连接的接近度(例如节点内的总线位置)。第一信息还可以包括到最近相邻节点的距离。可以非穷举地基于任务的维数或者任务之间的通信模式或统计的任何其他先验知识来生成第二信息。可以基于节点间通信数目的最小化来分配任务。
[0012]在本公开的一些示例性实施方式中,可以获得与和任务中的至少一个相关联的问题特性相关的信息,并且可以基于问题特性将任务分配给计算节点。问题特性可以包括:(i)网格中的第一维数;(ii)网格的轴中的第二维数;或者(iii)网格在消息传递接口进程中的第三点数。问题特性可以是多维的。例如,沿着轴的维度可以进一步由与沿着该轴的通信相关联的百分比或权重的附加来表征。可以基于问题特性来确定最佳子网格布局,并且可以基于最佳子网格布局来分配任务。任务可以是消息传递接口进程。可以确定计算节点的计算拓扑。可以在确定计算拓扑之后生成第二信息。
[0013]在本公开的某些示例性实施方式中,可以确定与计算拓扑中的变化相关的第三信息,可以通过基于第三信息分离核的数目来生成第四信息,并且可以基于第三信息和第四信息来重新分配任务。可以轮询计算节点,并且可以基于轮询来生成第一信息。可以生成第二信息,并且可以使用工作负荷管理器来分配任务。可以执行模拟,模拟可以包括:模拟任务到计算节点的分配,并且可以基于模拟来分配任务。可以基于应用统计来执行模拟,其中,应用统计可以包括来自先前模拟的统计。
[0014]在当结合所附权利要求书阅读对本公开内容的示例性实施方式的以下详细描述时,本公开内容的示例性实施方式的这些目的、特征和优点以及其他目的、特征和优点将变得明显。
附图说明
[0015]根据以下结合示出本公开内容的说明性实施方式的附图作出的详细描述,本公开内容的其他目的、特征和优点将变得明显,在附图中:
[0016]图1是根据本公开的示例性实施方式的用于优化多核系统上的进程之间的通信的示例性系统的示例图;
[0017]图2是根据本公开的示例性实施方式的用于将图1所示的部件A1(例如,计算节点信息)划分为多个子部件的示例性系统的示例图;
[0018]图3是根据本公开的示例性实施方式的用于将图1所示的部件(例如,应用信息)划
分为多个子部件的系统的示例图;
[0019]图4是根据本公开的示例性实施方式的用于将图1所示的部件(例如,通信管理)划分为多个子部件的方法的示例性流程图;
[0020]图5是根据本公开的示例性实施方式的用于与工作负荷管理器实用程序对接的示例性方法的示例性流程图;
[0021]图6是根据本公开的示例性实施方式的用于为各种执行场景提供先验数据交换估计的示例性系统的示例图;
[0022]图7是根据本公开的示例性实施方式的二维进程数据网格的示例图;
[0023]图8是根据本公开的示例性实施方式的图7中所示的二维数据网格的相关联的默认MPI进程放置的示例图;
[0024]图9是示出根据本公开的示例性实施方式的用于图8中所示的进程放置的节点内和节点间通信的示例图;
[0025]图10是本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种非暂态计算机可存取介质,其上存储有用于将多个任务分配给多个计算节点的计算机可执行指令,其中,当计算机装置执行所述指令时,所述计算机装置被配置成执行以下过程,所述过程包括:接收与所述计算节点相关的第一信息,其中,所述第一信息包括所述计算节点中的每一个中的核的数目;通过分离所述计算节点中的每一个中的核的数目来生成第二信息;以及基于所述第二信息将所述任务分配给所述计算节点。2.根据权利要求1所述的计算机可存取介质,其中,所述第一信息还包括:(i)所述计算节点中的每一个之间的网络连接的距离;以及(ii)所述网络连接的带宽。3.根据权利要求1所述的计算机可存取介质,其中,所述第一信息还包括到至少一个最近相邻节点的距离。4.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置被配置成:基于所述任务来生成所述第二信息。5.根据权利要求4所述的计算机可存取介质,其中,所述计算机装置被配置成:基于所述任务的维数来生成所述第二信息。6.根据权利要求4所述的计算机可存取介质,其中,所述计算机装置还被配置成:获得与和所述任务中的至少一个相关联的至少一个问题特性相关的信息;以及基于所述至少一个问题特性将所述任务分配给所述计算节点。7.根据权利要求6所述的计算机可存取介质,其中,所述至少一个问题特性包括以下中的至少一个:(i)网格中的第一维数;(ii)所述网格的至少一个轴中的第二维数;或者(iii)所述网格在消息传递接口进程中的第三点数。8.根据权利要求6所述的计算机可存取介质,其中,所述计算机装置被配置成:基于所述至少一个问题特性来确定最佳子网格布局;以及基于所述最佳子网格布局来分配所述任务。9.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置被配置成:基于所述节点之间的通信数目的最小化来分配所述任务。10.根据权利要求1所述的计算机可存取介质,其中,所述任务是消息传递接口进程。11.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置还被配置成:确定所述计算节点的计算拓扑。12.根据权利要求11所述的计算机可存取介质,其中,所述计算机装置被配置成:在确定所述计算拓扑之后生成所述第二信息。13.根据权利要求11所述的计算机可存取介质,其中,所述计算机装置还被配置成:确定与所述计算拓扑中的变化相关的第三信息;通过基于所述第三信息分离所述核的数目来生成第四信息;以及基于所述第三信息和所述第四信息来重新分配所述任务。14.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置被配置成:轮询所述计算节点;以及基于所述轮询来生成所述第一信息。15.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置被配置成:生成所
述第二信息,并且使用工作负荷管理器来分配所述任务。16.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置还被配置成:执行至少一个模拟,所述至少一个模拟包括:模拟所述任务到所述计算节点的分配;以及基于所述至少一个模拟来分配所述任务。17.根据权利要求1所述的计算机可存取介质,其中,所述计算机装置被配置成:基于至少一个应用统计来执行所述至少一个模拟。18.根据权利要求17所述的计算机可存取介质,其中,所述至少一个应用统计包括来自至少一个先前模拟的统计。19.一种用于将多个任务分配给多个计算节点的系统,包括:计算机硬件装置,所述计算机硬件装置被配置成:接收与所述计算节点相关的第一信息,其中,所述第一信息包括所述计算节点中的每一个中的核的数目;通过分离所述计算节点中的每一个中的核的数目来生成第二信息;以及基于所述第二信息将所述任务分配给所述计算节点。20.根据权利要求19所述的系统,其中,所述第一信息还包括:(i)所述计算节点中的每一个之间的网络连接的距离;以及(ii)所述网络连接的带宽。21.根据权利要求19所述的系统,其中,所述第一信息还包括到至少一个最近相邻节点的距离。22.根据权利要求19所述的系统,其中,所述计算机硬件装置被配置成:基于所述任务来生成所述第二信息。23.根据权利要求22所述的系统,其中,所述计算机硬件装置被配置成:基于所述任务的维数来生成所述第二信息。24.根据权利要求22所述的系统,其中,所述计算机硬件装置还被配置成:获得与和所述任务中的至少一个相关联的至少一个问题特性相关的信息;以及基于所述至少一个问题特性将所述任务分配给所述计算节点。25.根据权利要求24所述的系统,其中,所述至少一个问题特性包括以下中的至少一个...

【专利技术属性】
技术研发人员:伯努瓦
申请(专利权)人:纽约大学阿布扎比公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1