[发明专利]一种数据流任务在NUMA平台上的调度方法及系统有效
申请号: | 202010456848.0 | 申请日: | 2020-05-26 |
公开(公告)号: | CN111756802B | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 都政;沙士豪;温志伟;舒继武;罗秋明 | 申请(专利权)人: | 深圳大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/911 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 刘静 |
地址: | 518000 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 任务 numa 平台 调度 方法 系统 | ||
本发明公开了一种数据流任务在NUMA平台上的调度方法及系统,方法包括如下步骤:根据数据流在计算运行中的状态,对数据流图以及数据流任务进行标注;对NUMA平台的节点信息以及节点之间内存的访存带宽进行记录;将数据流的初始任务分配到任意NUMA节点的空闲处理器核;从当前所有空闲处理器核中,选择数据传送时间代价最小的处理器核,并将新就绪的任务调度到传送时间代价最小的处理器核上运行。本发明根据NUMA平台的数据存储特性,结结数据流的特点提出了一种动态调度方法,通过选取合适的NUMA节点作为就绪数据流任务的运算节点,使使数据在节点间传输的所耗费的时间最少,提高整体的计算执行效率。
技术领域
本发明涉及多任务数据处理技术领域,具体涉及一种数据流任务在 NUMA平台上的调度方法及系统。
背景技术
目前处理器的发展方向已经从单纯提高处理器运行速度的方向向多核处理器的方向发展,大型分布式系统也越来越普遍。传统上程序设计采用顺序执行命令的结构进行编程,在该种模式下数据往往是静态的,不断的对数据进行存取的操作。使得程序对于多核处理器以及大型分布式系统的支持不是特别好。而数据流编程强调以数据为驱动动力,明确定义输入以及输出的连接操作。不采用命令的方式,每当数据准备好即输入有效,相关操作就会立即执行,所以数据流编程本质是并行的,可以很好的运行在多核处理器以及大型分布式系统。NUMA采用了分布式存储器模式,不同的是所有节点中的处理器都可以访问全部的系统物理存储器。然而,现有技术中每个处理器访问本节点内的存储器所需要的时间,可能比访问某些远程节点内的存储器所花的时间要少得多。
发明内容
因此,本发明要解决的技术问题在于解决NUMA平台处理器访问节点内的存储器时间长导致计算执行效率低缺陷,从而提供一种基数据流任务在NUMA平台上的调度方法及系统。
为达到上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种数据流任务在NUMA平台上的调度方法,包括如下步骤:
根据数据流在计算运行中的状态,对数据流图以及数据流任务进行标注;
对NUMA平台的节点信息以及节点之间内存的访存带宽进行记录;
将数据流的初始任务分配到任意NUMA节点的空闲处理器核;
从当前所有空闲处理器核中,选择数据传送时间代价最小的处理器核,并将新就绪的任务调度到传送时间代价最小的处理器核上运行,其中,获取当前任务所需的数据量与处理器核在NUMA节点与访问节点的内存访问带宽之比和,得到数据传送时间代价值。
在一实施例中,所述数据流在计算运行中状态包括:已完成任务,标记为F状态;正在运行的任务,标记为R状态;未准备好任务,标记为U 状态;数据流在计算运行开始时,初始任务作为整个数据流图的输入,初始任务为R状态,其余数据流任务全部为U状态,随着数据流计算的推进,不断有R状态的任务运行完成,后继的数据流任务的输入数据准备好而进入到R状态。
在一实施例中,每当一个数据流任务从U状态转换为R状态时,需要一次调度。
在一实施例中,每个任务都记录有自己的预计计算时间和所需的n个输入数据的存储空间大小Dsize=(D0,D1,…,Dn-1),各个任务的n值不相同,初始任务的n=0,其余节点的n值0。
在一实施例中,对NUMA平台的节点信息以及节点之间内存的访存带宽进行记录的步骤,包括:
将NUMA平台的处理器核标记为Ci,j,其中i用于表示处理器核所在的NUMA节点编号,j表示处理器核给其节点内部的编号;
通过将线程和数据绑定到不同得NUMA节点上测试获得交查访问带宽;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大学,未经深圳大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010456848.0/2.html,转载请声明来源钻瓜专利网。