一种数据迁移控制方法、数据迁移方法及装置.pdf

上传人:狗** 文档编号:5778617 上传时间:2019-03-18 格式:PDF 页数:28 大小:7.70MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310253280.2

申请日:

2013.06.24

公开号:

CN103324592A

公开日:

2013.09.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/28申请日:20130624|||公开

IPC分类号:

G06F13/28

主分类号:

G06F13/28

申请人:

华为技术有限公司

发明人:

陈昊; 杨宝川; 陆斌

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同达信恒知识产权代理有限公司 11291

代理人:

黄志华

PDF下载: PDF下载
内容摘要

本发明公开了一种CC-NUMA系统中的数据迁移控制方法,通过引入源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。本发明实施例还提供一种CC-NUMA系统中的数据迁移控制装置,以及一种CC-NUMA系统中的数据迁移方法及装置。

权利要求书

权利要求书
1.   一种高速缓存非对称一致性内存访问系统中的数据迁移控制方法,其特征在于,包括:
从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;
根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;
将选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。

2.   如权利要求1所述的方法,其特征在于,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径,具体包括:
接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径。

3.   如权利要求1或2所述的方法,其特征在于,所述方法还包括:
确定所述源端NC中的待采用DMA方式进行迁移的数据的数据量;则
根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径,具体包括:
根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间;
根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。

4.   如权利要求3所述的方法,其特征在于,根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径,具体包括:
从分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;
从所述各条数据传输路径中,选取所述最短时间所对应的传输路径。

5.   如权利要求1所述的方法,其特征在于,采用下述方式获得所述各条数据传输路径所包含的各条传输链路的带宽占用率:
针对所述各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由所述带宽监控组件所记录的、该条数据传输路径所包含的、所述特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;
其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除所述源端NC和所述目的端NC外的其他NC。

6.   一种高速缓存非对称一致性内存访问系统中的数据迁移方法,其特征在于,包括:
源端节点控制器NC接收中央管理器发送的数据传输路径的信息;
所述源端NC通过所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC;
其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。

7.   如权利要求6所述的方法,其特征在于,所述方法还包括:
所述源端NC向所述中央管理器发送请求采用DMA方式迁移数据的请求消息;则
所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。

8.   如权利要求6或7所述的方法,其特征在于,所述方法还包括:
所述源端NC确定所述待采用DMA方式进行迁移的数据的数据量;
将所述数据量的信息发送给所述中央管理器,以使得所述中央管理器:根据所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。

9.   一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置,其特征在于,包括:
数据传输路径确定单元,用于从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;
数据传输路径选取单元,用于根据获得的所述数据传输路径确定单元确定的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;
信息发送单元,用于将数据传输路径选取单元选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。

10.   如权利要求9所述的装置,其特征在于,所述数据传输路径确定单元具体用于:接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径。

11.   如权利要求9或10所述的装置,其特征在于,所述装置还包括:
数据量确定单元,用于确定所述源端NC中的待采用DMA方式进行迁移的数据的数据量;则
所述数据传输路径选取单元具体包括:
时间确定子单元,用于根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确定单元确定的所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间;
数据传输路径选取子单元,用于根据时间确定子单元确定的分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。

12.   如权利要求11所述的装置,其特征在于,所述数据传输路径选取子单元具体用于:从分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从所述各条数据传输路径中,选取所述最短时间所对应的传输路径。

13.   如权利要求9所述的装置,其特征在于,采用下述方式获得所述各条数据传输路径所包含的各条传输链路的带宽占用率:
针对所述各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由所述带宽监控组件所记录的、该条数据传输路径所包含的、所述特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;
其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除所述源端NC和所述目的端NC外的其他NC。

14.   一种高速缓存非对称一致性内存访问系统中的数据迁移装置,其特征在于,包括:
信息接收单元,用于接收中央管理器发送的数据传输路径的信息;
数据传输单元,用于通过信息接收单元接收的所述信息所表示的所述数据传输路径,采用直接内存访问DMA方式,将所述装置中的待采用DMA方式进行迁移的数据传输至目的端节点控制器NC;
其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。

15.   如权利要求14所述的装置,其特征在于,所述装置还包括:
请求消息发送单元,用于向所述中央管理器发送请求采用DMA方式迁移数据的请求消息;则
所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。

16.   如权利要求14或15所述的装置,其特征在于,所述装置还包括:
数据量确定单元,用于确定所述待采用DMA方式进行迁移的数据的数据量;
信息发送单元,用于将数据量确定单元确定的所述数据量的信息发送给所述中央管理器,以使得:所述中央管理器根据所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。

17.   一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置,其特征在于,包括:
处理器,用于从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;
信号发送器,用于将处理器选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。

18.   一种高速缓存非对称一致性内存访问系统中的数据迁移装置,其特征在于,包括:
信号接收器,用于接收中央管理器发送的数据传输路径的信息;
处理器,用于通过信号接收器接收的所述信息所表示的所述数据传输路径,采用直接内存访问DMA方式,将所述装置中的待采用DMA方式进行迁移的数据传输至目的端节点控制器NC;
其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。

说明书

说明书一种数据迁移控制方法、数据迁移方法及装置
技术领域
本发明涉及数据传输技术领域,尤其涉及一种高速缓存非对称一致性内存访问系统中的数据迁移控制方法、数据迁移方法及装置。
背景技术
在基于节点控制器(NC,Node Controller)的高速缓存非对称一致性内存访问(CC‑NUMA,Cache Coherent‑Non Uniform Memory Access)系统中,直接内存访问(DMA,Direct Memory Access)是大数据量的数据迁移的有效方式。下面举例说明现有的基于NC的CC‑NUMA系统中的DMA流程。
如图1所示,以包含8个中央处理器(CPU,Central Processing Unit)S0~S7的CC‑NUMA系统为例,每个NC通过QPI或其他总线连接2个CPU。比如,NC0连接S0和S1,NC1连接S2和S3,等等。两个NC之间的传输链路旁标注的百分比用于标识传输链路的使用百分比,即该传输链路上传输的报文所占用的带宽在该传输链路的额定带宽中的占比。传输链路旁标注的该百分比越高,表示传输链路越繁忙、空闲的带宽越小;反之,则说明该传输链路越空闲、空闲的带宽越大。此外,图1中带有箭头的虚线用于表示数据从源端迁移到目的端的迁移路径,比如,图1中所示的该虚线用于表示:数据从源端NC0迁移到目的端NC1的迁移路径为:将数据直接从源端NC0迁移到目的端NC1,而不需要其他NC对数据进行转发。
现有技术中,在如图1所示的该CC‑NUMA系统中实现DMA的流程主要分为以下三个步骤:
步骤一:源端NC确定需要采用DMA方式进行迁移的数据在源端NC的存储空间中的位置,比如直接确定数据在该存储空间中的起始地址和结束地址,或者根据数据在该存储空间中的起始地址和数据的总量(或称数据长度),来确定数据在该存储空间中的位置;
步骤二:按照数据的迁移路径,执行将处于确定出的上述位置的数据进行迁移;
步骤三:目的端NC在接收到采用DMA方式迁移来的数据后,将该数据存入预设的存储空间。
虽然采用DMA方式对数据进行迁移可以实现在一次数据迁移过程中迁移大量的数据,然而,由于采用DMA方式对数据进行迁移耗时长,从而按照DMA方式对数据进行的迁移过程很可能会和一些跨NC的数据访问所对应的数据迁移过程一起作用,因此容易形成热点传输路径和数据拥塞,降低CC‑NUMA系统的性能。
如何在采用DMA方式对数据进行迁移的过程中避免容易形成热点传输路径和数据拥塞,是CC‑NUMA系统中亟待解决的问题。
发明内容
本发明实施例提供一种CC‑NUMA系统中的数据迁移控制方法、数据迁移方法及装置,用以在CC‑NUMA系统中采用DMA方式对数据进行迁移时,避免形成热点传输路径和数据拥塞。
本发明实施例采用以下技术方案:
第一方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制方法,包括:从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;将选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。
结合第一方面,在第一种可能的实现方式中,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径,具体包括:接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:确定所述源端NC中的待采用DMA方式进行迁移的数据的数据量;则根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径,具体包括:根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间;根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径,具体包括:从分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从所述各条数据传输路径中,选取所述最短时间所对应的传输路径。
结合第一方面,在第四种可能的实现方式中,采用下述方式获得所述各条数据传输路径所包含的各条传输链路的带宽占用率:
针对所述各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由所述带宽监控组件所记录的、该条数据传输路径所包含的、所述特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除所述源端NC和所述目的端NC外的其他NC。
第二方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移方法,包括:源端节点控制器NC接收中央管理器发送的数据传输路径的信息;所述源端NC通过所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC;其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:所述源端NC向所述中央管理器发送请求采用DMA方式迁移数据的请求消息;则所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。
结合第二方面或者第二方面的第一种可能的实现方式中,所述方法还包括:所述源端NC确定所述待采用DMA方式进行迁移的数据的数据量;将所述数据量的信息发送给所述中央管理器,以使得所述中央管理器:根据所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。
第三方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置,包括:数据传输路径确定单元,用于从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;数据传输路径选取单元,用于根据获得的所述数据传输路径确定单元确定的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;信息发送单元,用于将数据传输路径选取单元选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。
结合第三方面,在第一种可能的实现方式中,所述数据传输路径确定单元具体用于:接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后,从所述源端NC和所述目的端NC所共属的CC‑NUMA系统中,确定所述各数据传输路径。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:数据量确定单元,用于确定所述源端NC中的待采用DMA方式进行迁移的数据的数据量;则所述数据传输路径选取单元具体包括:时间确定子单元,用于根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确定单元确定的所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间;数据传输路径选取子单元,用于根据时间确定子单元确定的分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述数据传输路径选取子单元具体用于:从分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从所述各条数据传输路径中,选取所述最短时间所对应的传输路径。
结合第三方面,在第四种可能的实现方式中,采用下述方式获得所述各条数据传输路径所包含的各条传输链路的带宽占用率:
针对所述各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由所述带宽监控组件所记录的、该条数据传输路径所包含的、所述特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除所述源端NC和所述目的端NC外的其他NC。
第四方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置,包括:信息接收单元,用于接收中央管理器发送的数据传输路径的信息;数据传输单元,用于通过信息接收单元接收的所述信息所表示的所述数据传输路径,采用直接内存访问DMA方式,将所述装置中的待采用DMA方式进行迁移的数据传输至目的端节点控制器NC;其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。
结合第四方面,在第一种可能的实现方式中,所述装置还包括:请求消息发送单元,用于向所述中央管理器发送请求采用DMA方式迁移数据的请求消息;则所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:数据量确定单元,用于确定所述待采用DMA方式进行迁移的数据的数据量;信息发送单元,用于将数据量确定单元确定的所述数据量的信息发送给所述中央管理器,以使得:所述中央管理器根据所述各条数据传输路径所包含的各条传输链路的带宽占用率、所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,从所述各条数据传输路径中选取数据传输路径。
第五方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置,包括:处理器,用于从源端节点控制器NC和目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取数据传输路径;其中,所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进行迁移的数据所对应的源端NC和目的端NC;信号发送器,用于将处理器选取的数据传输路径的信息发送给所述源端NC,以使得所述源端NC通过选取的所述数据传输路径,采用直接内存访问DMA方式,将所述源端NC中的待采用DMA方式进行迁移的数据传输至所述目的端NC。
第六方面,提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置,包括:信号接收器,用于接收中央管理器发送的数据传输路径的信息;处理器,用于通过信号接收器接收的所述信息所表示的所述数据传输路径,采用直接内存访问DMA方式,将所述装置中的待采用DMA方式进行迁移的数据传输至目的端节点控制器NC;其中,所述中央管理器采用下述方式确定所述数据传输路径:
从所述源端NC和所述目的端NC所共属的高速缓存非对称一致性内存访问CC‑NUMA系统中,确定所述源端NC和所述目的端NC之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。
本发明实施例的有益效果如下:
通过本发明实施例提供的上述方案,由于引入了源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。
附图说明
图1为现有技术中的基于节点控制器的CC‑NUMA系统拓扑示意图;
图2为本发明实施例提供的一种CC‑NUMA系统中的数据迁移控制方法的具体流程示意图;
图3为本发明实施例提供的一种CC‑NUMA系统中的数据迁移方法的具体流程示意图;
图4为实施例1的实施场景示意图;
图5为实施例1中实现采用DMA的方式迁移数据的流程示意图;
图6a为现有技术中的数据迁移方案采用的具体架构的示意图;
图6b为实施例1中的数据迁移方案采用的具体架构的示意图;
图7为在NC中设置的用于实时监控传输链路的使用百分比的组件的示意图;
图8为实施例1中采用的“平均滑动窗口带宽统计方式”的具体实现原理图;
图9为在大型数据库中实现本发明实施例提供的数据迁移控制方法的示意图;
图10为本发明实施例提供的第一种CC‑NUMA系统中的数据迁移控制装置的具体结构示意图;
图11为本发明实施例提供的第一种CC‑NUMA系统中的数据迁移装置的具体结构示意图;
图12为本发明实施例提供的第二种CC‑NUMA系统中的数据迁移控制装置的具体结构示意图;
图13为本发明实施例提供的第二种CC‑NUMA系统中的数据迁移装置的具体结构示意图。
具体实施方式
通过对现有技术进行研究发现,现有的基于NC的CC‑NUMA系统中,正常的数据传递(即采用非DMA方式进行的数据传输)都是以64Byte为单位的,即数据量为64Byte的数据包为一个高速缓冲存储器队列(cache line)。正常的数据传递的过程的特点为:数据包长度短、数据包交互频率较高。根据该特点可知,正常的数据传递的过程中不适合采用动态路由的方式来确定数据传输路径。这是由于动态路由的原理在于:在按照某数据传输路径对数据进行传输的同时,确定一条新的数据传输路径,由于确定新的数据传输路径必然会耗费一定的时间,而正常的数据传递的过程中传输的数据包的长度较短,因此可能新的数据传输路径还没有确定完成,数据包就已经按照某数据传输路径从源端NC发送到了目的端NC。
由于动态路由不适合应用在小数据包(如数据量为64Byte的数据包)交互频繁的CC‑NUMA系统中,因此当前的基于NC的CC‑NUMA系统中都是使用静态路由的方式。静态路由的原理在于:在进行数据传输之前,就根据某种数据传输路径确定规则,确定源端NC与目的端NC之间的数据传输路径;然后再通过该数据传输路径,将数据从源端NC迁移到目的端NC。
相比于动态路由的方式,上述静态路由的方式更适合应用于小数据包交互频繁的CC‑NUMA系统中。然而,由于基于DMA方式进行的数据迁移的处理对象一般是数据量较大的数据,从而静态路由的方式在基于NC的CC‑NUMA系统中进行DMA方式下的数据迁移时又显得不够灵活。究其原因,主要是由于基于DMA方式进行的数据迁移一般是以KB甚至MB为单位的,从而数据迁移的持续时间比较长,在这样的情况下,一旦某条链路中的小数据包交互频繁态,而该条链路又要基于DMA方式来进行持续时间较长的数据迁移工作,那么该条链路就很容易成为CC‑NUMA系统的热点传输路径而容易出现数据拥塞。
由此可见,基于NC的CC‑NUMA系统中的基于DMA的数据传输过程需要采用一种新型的数据传输路径的确定方式,以避免形成热点传输路径和数据拥塞。
为了解决上述技术问题,本发明实施例提供了一种CC‑NUMA系统中的数据迁移方案。该方案引入了源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。
以下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
首先,本发明实施例提供一种CC‑NUMA系统中的数据迁移控制方法,该方法的具体流程示意图如图2所示,包括如下主要步骤:
步骤21,从源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径。
其中,这里所述的源端NC和目的端NC分别为待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC。
本发明实施例中,用于实施如图2所示的该方法的设备可以是一种数据迁移设备,该设备可以是在接收到源端NC发送的请求采用DMA方式迁移数据的请求消息后,才执行步骤21。
步骤22,根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从确定出的源端NC和目的端NC之间的各条数据传输路径中选取数据传输路径。
本发明实施例中,一种具体的实现从上述各条数据传输路径中选取数据传输路径的方式可以如下:
首先,根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽,以及待迁移数据的数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间;
然后,根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
可选的,由于最优数据传输路径往往是耗费的时间最短的数据传输路径,因此,本发明实施例中,还可以从分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间中确定最短时间,然后再从各条数据传输路径中,选取确定出的该最短时间所对应的数据传输路径。若通过此方式确定出的数据传输路径有多条,则可以通过随机方式选取其中任意一条;或者选取包含的节点(NC)最少的一条数据传输路径。
本发明实施例中,还可以仅仅根据传输链路的带宽占用率和传输链路的额定带宽来确定最优路由路径。比如,可以分别针对源端NC与目的端NC之间的每条数据传输路径分别计算:该数据传输路径所包含的各传输链路的带宽占用率与相应的额定带宽的乘积之和;然后,再通过比较计算出的各乘积之和,确定最优数据传输路径。除此之外,本领域技术人员根据合理的推断而得出的任何以传输链路的带宽占用率作为确定数据传输路径的依据的方式,均在本发明的保护范围之内。
步骤23,将选取的数据传输路径的信息发送给源端NC,以使得源端NC通过选取的数据传输路径,采用DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。
本发明实施例提供的该方法中,可以但不限于采用下述方式获得各条数据传输路径所包含的各条传输链路的带宽占用率:
针对各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由带宽监控组件所记录的、该条数据传输路径所包含的、该特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;
其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC外的其他NC。
通过本发明实施例提供的上述方法,由于引入了源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。
出于与如图2所示的方法的同一发明构思,本发明实施例还提供一种CC‑NUMA系统中的数据迁移方法,该方法的具体流程示意图如图3所示,包括如下主要步骤:
步骤31,源端节点控制器NC接收中央管理器发送的数据传输路径的信息;
其中,该中央管理器可以采用下述方式确定数据传输路径:
从待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;并根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从各条数据传输路径中选取所述数据传输路径。
步骤32,源端NC通过上述数据传输路径的信息所表示的数据传输路径,采用DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。
为了触发中央管理器确定数据传输路径,本发明实施例提供的该方法还可以包括步骤:源端NC向中央管理器发送请求采用DMA方式迁移数据的请求消息。从而中央管理器在接收到该请求消息后,再确定数据传输路径,并发送数据传输路径的信息。
可选的,上述方法还可以包括步骤:源端NC确定待采用DMA方式进行迁移的数据的数据量;并将确定出的该数据量的信息发送给中央管理器。以使得中央管理器可以根据上述各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽,以及该数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间;并根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
由于该方法也可以实现在采用DMA方式迁移数据时,不再盲目地选取数据传输路径,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。
以下结合实际,通过对两个实施例的介绍,详细说明本发明实施例提供的上述方案在实际中的应用。
实施例1
实施例1的实施场景为包含8个CPU的S0~S7的CC‑NUMA系统,如图4所示。该系统包含4个NC,分别为NC0~NC3,且每个NC均通过快速通道互联(QPI,Quick Path Interconnect)或其他总线连接2个CPU。两个NC之间的传输链路旁标注的百分比用于标识传输链路的使用百分比(即带宽利用率),即该传输链路上传输的报文所占用的带宽在该传输链路的额定带宽中的占比。传输链路旁标注的该百分比越高,表示传输链路越繁忙、空闲的带宽越小;反之,则说明该传输链路越空闲、空闲的带宽越大。此外,图4中带有箭头的较粗虚线用于表示数据从源端迁移到目的端的迁移路径;而带有箭头的较细虚线则用于表示中央管理器(Central Manager)获取传输链路的使用百分比的路径。
需要说明的是,实施例1中的该Central Manager是一个独立于NC和CPU外的一个部件,其是一个实际的物理装置,主要作为全局控制器,可以通过带外的方式来实时监控整个CC‑NUMA系统中的热点传输链路,并实现对采用DMA方式进行的迁移的数据的路由方式进行动态调整。在本领域中,NC之间的数据传输是带内传输,也就是通过连接NC的物理传输通道进行传输;而相对于带内传输而言,带外传输是指通过不同于NC之间的物理传输通道的其他单独的物理传输通道进行数据传输。带外传输所使用的传输媒介和带内传输所使用的传输媒介不同,一般说来,在相同的传输场景下,带外传输的传输媒介的传输速率低于带内传输所使用的传输媒介的传输速率。本发明实施例中,上述“带外的方式”即指通过带外传输的方式。
基于带外的方式,该Central Manager可以通过带外的一些接口(例如Smbus,I2C等总线协议),和CC‑NUMA系统中的各个NC建立连接并进行信息交互。Central Manager与NC之间的连接与NC之间的传输链路是相互独立、互不干扰的。
为了使得Central Manager能够获知如图4所示的该CC‑NUMA系统中的每条传输链路的使用百分比,每个NC都可以对自身所包含的、连接有其他NC的端口处的数据流量进行实时统计,从而确定各端口所对应的传输链路的使用百分比。Central Manager基于各NC实时统计的传输链路的使用百分比,就可以动态的对NC发起的采用DMA方式进行传输的数据的路由路径进行确定。可选的,传输链路的使用百分比的信息可以存储于NC的端口的寄存器中。从而Central Manager通过访问各个NC的端口的寄存器,就可以获取到寄存器中存储的传输链路的使用百分比的信息。
具体地,实施例1中实现采用DMA的方式迁移数据的流程示意图如图5所示,主要包括下述步骤:
步骤51,源端NC选择需要采用DMA方式进行迁移的数据(以下简称待迁移数据)所对应的存储空间的地址信息(该地址信息一般包括待迁移数据所对应的起始地址的信息以及待迁移数据的长度),以及确定目的端NC的标识,并且将确定出的存储空间的地址信息、目的端NC的标识以及源端NC自身的标识发送给Central Manager;
比如,存储空间的地址信息、目的端NC的标识以及源端NC自身的标识可以是携带在一个用于请求采用DMA的方式迁移数据的请求消息中发送给Central Manager的。
步骤52,Central Manager根据获得的如图4所示的该CC‑NUMA系统中的每条传输链路的使用百分比,以及源端NC发送来的存储空间的地址信息、目的端NC的标识以及源端NC自身的标识,确定源端NC与目的端NC之间的最优路由路径,并将确定出的该最优路由路径的信息发送给源端NC;
步骤53,源端NC根据Central Manager发送来的最优路由路径的信息,通过该最优路径,将待采用DMA的方式进行迁移的数据传输到目的端NC;
步骤54,目的端NC将接收到的从源端NC迁移来的上述数据进行存储,比如存储到预先设置的存储空间,流程结束。
以下通过对比实施例1中的数据迁移方案和现有技术中的数据迁移方案,详细说明实施例1中的数据迁移方案的优势:
首先,对实施例1中的数据迁移方案和现有技术中的数据迁移方案所采用的具体架构进行对比说明。
现有技术中的数据迁移方案采用的具体架构请参见图6a,实施例1中的数据迁移方案采用的具体架构请参见图6b。由于图6a以及图6b中的数字和字符等的含义与前文所介绍过的图1和图4中对应的数字和字符等的含义相同,因此此处不再赘述。
针对现有技术中的数据迁移方案采用的具体架构而言,由于该架构中并不包含Central Manager这样的设备,从而当有NC欲采用DMA的方式进行数据迁移时,是按照静态路由的方式,通过预先设置好的数据传输路径对数据进行迁移。现有技术中的该方案不会考虑传输链路的使用百分比,从而采用DMA的方式进行的数据迁移过程带是盲目的,难以灵活地避开热点传输路径,甚至会与采用其他方式进行的数据迁移过程相冲突,导致形成热点传输路径,进而引起数据拥塞。
针对实施例1中的数据迁移方案采用的具体架构而言,其通过在原有的CC‑NUMA系统的基础上,引入Central Manager这样一个装置(部件)来实现根据传输链路的使用百分比确定采用DMA的方式进行迁移的数据的数据传输路径,从而降低了按照DMA的方式进行的数据迁移过程的盲目性,通过根据传输链路的使用百分比来合理地选取较优的数据传输路径,就可以实现灵活地避开热点传输路径,避免与采用其他方式进行的数据迁移过程相冲突,因此也就使得CC‑NUMA系统中不易形成热点传输路径,进而也就不易引起数据拥塞。
基于如图6a和图6b所示的具体架构,可以进行下述假设:
1)从源端NC到目的端NC有数据量为A(Byte)的数据需要采用DMA的方式进行传输;
2)每两个NC之间的传输链路的额定带宽均等于固定带宽B(Gbps);
3)不同传输链路所传输的数据量往往存在差异,从而不同传输链路的使用百分比(带宽利用率)往往不同。具体的,针对不同传输链路所假设的使用百分比请见图6a和图6b中的具体数字。
基于上述假设,以下介绍如何根据实施例1中的数据迁移方案中提供的数据传输路径确定方式,在两种场景下分别实现选取最优数据传输路径。
场景一:源端NC为NC0,而目的端NC为NC1
Central Manager根据源端NC和目的端NC的标识NC0和NC1,以及CC‑NUMA系统各NC之间的连接关系,可以确定源端NC和目的端NC之间的候选路由路径有:路由路径1(该路由路径包含的NC仅为NC0和NC1)和路由路径2(该路由路径包含的NC为NC0、NC2、NC3和NC1)。其中,这里所说的“路由路径”即前文所述的“数据传输路径”。
针对路由路径1,可以采用下述公式[1]计算数据量为A的数据从NC0路由至NC1所需的时间t1:
t1=A/(100‑90)%B=10A/B          [1]
针对路由路径2,可以采用下述公式[2]计算数据量为A的数据从NC0路由至NC1所需的时间t2:
t2=A/(100‑60)%B+A/(100‑10)%B+A/(100‑10)%B=4.7A/B     [2]
通过上述计算,Central Manager可确定出存在:t2<t1,从而Central Manager可确定当前欲采用DMA的方式从NC0迁移至NC1的数据的最优路由路径为路由路径1。
场景二:源端NC为NC0,而目的端NC为NC3
类似于针对场景一的处理方式,Central Manager确定NC0与NC3之间的路由路径包括:路由路径3(该路由路径包含的NC为NC0、NC1和NC3)和路由路径4(该路由路径包含的NC为NC0、NC2和NC3)。
针对路由路径3,可以采用下述公式[3]计算数据量为A的数据从NC0路由至NC3所需的时间t3:
t3=A/(100‑90)%B+A/(100‑10)%B=11.1A/B          [3]
针对路由路径4,可以采用下述公式[4]计算数据量为A的数据从NC0路由至NC3所需的时间t4:
t4=A/(100‑60)%B+A/(100‑10)%B=3.6A/B          [4]
通过上述计算,Central Manager可确定出存在:t4<t3,从而Central Manager可确定当前欲采用DMA的方式从NC0迁移至NC3的数据的最优路由路径为路由路径4。
由上述计算过程可以看出,实施例1中由于引入了Central Manager来实现根据传输链路的使用百分比确定最优路由路径,从而实施例1提供的方案不会有静态路由的方式所存在的数据传输路径难以灵活调整的问题。
需要说明的是,上述计算方式仅为根据传输链路的使用百分比确定最优路由路径的一种具体方式。本发明实施例中,还可以仅仅根据传输链路的使用百分比和传输链路的额定带宽来确定最优路由路径。比如,可以分别针对源端NC与目的端NC之间的每条数据传输路径分别计算:该数据传输路径所包含的各传输链路的使用百分比与相应的额定带宽的乘积之和;然后,再通过比较计算出的各乘积之和,确定最优数据传输路径。除此之外,本领域技术人员根据合理的推断而得出的任何以传输链路的使用百分比作为确定数据传输路径的依据的方式,均在本发明的保护范围之内。
此外还需要说明的是,实施例1中,可以在NC中设置用于实时监控传输链路的使用百分比的组件。如图7所示,以NC2为例,NC2分别和NC0、NC3相连的端口中可以各设一个PM(带宽监控组件)组件,即分别为PM0和PM1。该PM0和PM1均可以实时监控并存储相应的传输链路的使用百分比。比如,PM0可以实时监控NC0和NC2之间的传输链路的使用百分比并进行存储;而PM1则可以实施监控NC2和NC3之间的传输链路的使用百分比并进行存储。Central Manager可以通过旁路的接口读取各个PM组件所存储的使用百分比,如图7中带有箭头的实线所示,其为Central Manager发出的用于读取PM0和PM1所存储的使用百分比的访问信号。
由于图7中的数字和字符等的含义与前文所介绍过的图1和图4中对应的数字和字符等的含义相同,因此此处不再赘述。
在实施例1中,传输链路的使用百分比可以有很多的统计方法,以下仅列举其中一种。本领域技术人员基于下述该方式,经过合理的推断而得出的其他方式都可以视为该方式的扩展方式,从而都在本发明的保护范围之内。
实施例1中采用的传输链路的使用百分比的统计方式可以称为“平均滑动窗口带宽统计方式”,该方式的具体实现原理图如图8所示。以下对图8中的各线条和符号所表示的含义进行说明:
1、坐标轴的横坐标为时间,而纵坐标为传输链路的带宽。
2、较粗的折线为“瞬时带宽(Real time Performance)曲线”,而较细的折线则为“滑动窗口带宽(Slide Window Average Performance)曲线”。
3、T0为滑动窗口的大小。
在T1这一时刻,滑动窗口所对应的带宽的大小等于图8中比较靠左侧的黑点的纵坐标的值X1。X1等于:瞬时带宽曲线位于图8中左侧的滑动窗口中的一段上的各个点的纵坐标的值的平均值。类似地,在T2这一时刻,滑动窗口所对应的带宽的大小等于图8中比较靠右侧的黑点的纵坐标的值X2。X2等于:瞬时带宽曲线位于图8中右侧的滑动窗口中的一段上的各个点的纵坐标的值的平均值。以此类推,滑动窗口带宽曲线上的每个点的纵坐标的值都可以按照上述类似方式而确定的。需要说明的是,在计算0~T0这一时间段所对应的滑动窗口带宽曲线上的每个点的纵坐标的值时,会利用到对应于‑T0~0这一时间段的瞬时带宽曲线,但为了保证图8的清晰度与简要,这部分瞬时带宽曲线未在图8中标出。
基于图8所示的滑动窗口带宽曲线,可以采用下述公式[5]计算任意T时刻的滑动窗口平均带宽a:
<mrow><MI>a</MI> <MO>=</MO> <MFRAC><MI>b</MI> <MI>c</MI> </MFRAC><MO>-</MO> <MO>-</MO> <MO>-</MO> <MO>[</MO> <MN>5</MN> <MO>]</MO> </MROW>]]&gt;</MATH></MATHS> <BR>其中,b为滑动窗口带宽曲线位于滑动窗口[T‑T0,T]的一段内的各点的纵坐标的值之和;c为滑动窗口带宽曲线位于滑动窗口[T‑T0,T]的一段内的各点的总数。其中,c的大小取决于对传输链路的瞬时带宽进行采样时采用的采样率。 <BR>进一步地,根据下述公式[6],可以计算传输链路的使用百分比D: <BR><MATHS num="0002"><MATH><![CDATA[ <mrow><MI>D</MI> <MO>=</MO> <MFRAC><MI>a</MI> <MI>e</MI> </MFRAC><MO>-</MO> <MO>-</MO> <MO>-</MO> <MO>[</MO> <MN>6</MN> <MO>]</MO> </MROW>]]&gt;</MATH></MATHS> <BR>其中,e为传输链路的额定带宽。 <BR>在NC计算出传输链路的使用百分比后,可以将其存储在NC的状态寄存器中。这样Central&nbsp;Manager就可以通过带外的接口,去实时访问NC的状态寄存器,从而就能够获知传输链路的使用百分比。 <BR>实施例1中,滑动窗口的大小可以具体通过对NC中的配置寄存器中的相关参数进行调整而改变。 <BR>实施例2 <BR>实施例2主要是将本发明实施例提供的数据迁移控制方法应用到大型数据库中,以提升大型数据库的全系统性能。 <BR>如图9所示,为在大型数据库中实现本发明实施例提供的数据迁移控制方法的示意图。此处,对于图9中的与前文所介绍过的图1和图4中对应的数字和字符等的含义相同的数字和字符等略过不提,而重点说明图9中不同于图1与图4的部分。该些部分包括:Orig&nbsp;Shared&nbsp;Data表示待采用DMA的方式进行迁移的原始数据;Shared&nbsp;Data&nbsp;Copy1~3表示从源端NC迁移到其他NC中并存储的Orig&nbsp;Shared&nbsp;Data;带有箭头的实线表示CPU防问与自身相连接的NC中通过DAM的方式迁移来的数据。 <BR>由图9可以看到,当CC‑NUMA系统运行大型数据库时,会有很多的共享数据(即图中的Shared&nbsp;Data)需要在分布在不同NC处的CPU上使用。最有效的办法就是把这些共享数据迁移到使用该些共享数据的CPU所连接的NC中。比如,假设原始的共享数据(图中所示的Orig&nbsp;Shared&nbsp;Data)存在于NC0,那么通过采用DMA的方式,使得NC1、NC2、NC3都拥有Orig&nbsp;Shared&nbsp;Data的拷贝之后,NC1、NC2、NC3所分别连接的CPU就可以发起对与自身相连接的NC的数据访问了。比如,当NC2获得了通过Shared&nbsp;Data&nbsp;Copy2后,与NC2相连接的S4和S5就可以从NC2处访问该Shared&nbsp;Data&nbsp;Copy2了。在如图9所示的该系统中采用本发明实施例提供的数据迁移控制方法,可以动态的根据CC‑NUMA系统中的传输链路的使用百分比计算最优路由路径,从而绕开当前热点传输路径。因此,本发明实施提供的数据迁移控制方法更适用于进行需要耗费较长时间的基于DMA方式的数据迁移过程。 <BR>出于与本发明实施例提供的第一种CC‑NUMA系统中的数据迁移控制方法相同的发明构思,本发明实施例还提供一种CC‑NUMA系统中的数据迁移控制装置。该装置的具体结构示意图如图10所示,包括下述功能单元: <BR>数据传输路径确定单元101,用于从源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;其中,源端NC和目的端NC分别为待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC; <BR>数据传输路径选取单元102,用于根据获得的数据传输路径确定单元101确定的各条数据传输路径所包含的各条传输链路的带宽占用率,从数据传输路径确定单元101确定的各条数据传输路径中选取数据传输路径; <BR>信息发送单元103,用于将数据传输路径选取单元102选取的数据传输路径的信息发送给源端NC,以使得源端NC通过选取的数据传输路径,采用直接内存访问DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。 <BR>可选的,数据传输路径确定单元101具体可以用于:接收到源端NC发送的请求采用DMA方式迁移数据的请求消息后,从源端NC和目的端NC所共属的CC‑NUMA系统中确定各数据传输路径。 <BR>可选的,本发明实施例提供的该装置还可以包括: <BR>数据量确定单元,用于确定源端NC中的待采用DMA方式进行迁移的数据的数据量。基于数据量确定单元的功能,数据传输路径选取单元102具体可以划分为以下能子单元: <BR>时间确定子单元,用于根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确定单元确定的数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间; <BR>数据传输路径选取子单元,用于根据时间确定子单元确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。 <BR>可选的,上述数据传输路径选取子单元具体可以用于:从分别通过所述各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从各条数据传输路径中,选取该最短时间所对应的传输路径。 <BR>可选的,可以采用下述方式获得各条数据传输路径所包含的各条传输链路的带宽占用率: <BR>针对各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由带宽监控组件所记录的、该条数据传输路径所包含的、特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除源端NC和目的端NC外的其他NC。 <BR>出于与本发明实施例提供的第一种CC‑NUMA系统中的数据迁移方法相同的发明构思,本发明实施例还提供一种CC‑NUMA系统中的数据迁移装置,该装置的具体结构示意图如图11所示,包括下述功能单元: <BR>信息接收单元111,用于接收中央管理器发送的数据传输路径的信息; <BR>数据传输单元112,用于通过信息接收单元111接收的数据传输路径的信息所表示的数据传输路径,采用DMA方式将该装置中的待采用DMA方式进行迁移的数据传输至目的端NC; <BR>其中,中央管理器采用下述方式确定所述数据传输路径: <BR>从源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;并根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从各条数据传输路径中选取所述数据传输路径。 <BR>可选的,如图11所示的该装置还可以包括: <BR>请求消息发送单元,用于向中央管理器发送请求采用DMA方式迁移数据的请求消息;则上述数据传输路径的信息是由中央管理器接收到该请求消息后发送的。 <BR>可选的,如图11所示的该装置还可以包括: <BR>数据量确定单元,用于确定待采用DMA方式进行迁移的数据的数据量; <BR>信息发送单元,用于将数据量确定单元确定的数据量的信息发送给所述中央管理器,以使得:中央管理器根据各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及信息发送单元发送的该数据量的信息,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。 <BR>出于与本发明实施例提供的第二种CC‑NUMA系统中的数据迁移控制方法相同的发明构思,本发明实施例还提供一种CC‑NUMA系统中的数据迁移控制装置。该装置的具体结构示意图如图12所示,包括下述功能实体: <BR>处理器121,用于从源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;以及根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从确定的各条数据传输路径中选取数据传输路径;其中,源端NC和目的端NC分别为待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC; <BR>信号发送器122,用于将处理器121选取的数据传输路径的信息发送给源端NC,以使得源端NC通过选取的数据传输路径,采用直接内存访问DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。 <BR>可选的,处理器121具体可以用于:接收到源端NC发送的请求采用DMA方式迁移数据的请求消息后,从源端NC和目的端NC所共属的CC‑NUMA系统中确定各数据传输路径。 <BR>可选的,处理器121还可以用于确定源端NC中的待采用DMA方式进行迁移的数据的数据量。从而处理器121根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从确定的各条数据传输路径中选取数据传输路径,具体包括:根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及确定的数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间;根据确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。 <BR>可选的,处理器121根据确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径,具体可以包括:处理器121从分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从各条数据传输路径中,选取该最短时间所对应的传输路径。 <BR>可选的,可以采用下述方式获得各条数据传输路径所包含的各条传输链路的带宽占用率: <BR>针对各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由带宽监控组件所记录的、该条数据传输路径所包含的、特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除源端NC和目的端NC外的其他NC。 <BR>出于与本发明实施例提供的第二种CC‑NUMA系统中的数据迁移方法相同的发明构思,本发明实施例还提供另一种CC‑NUMA系统中的数据迁移装置,该装置的具体结构示意图如图13所示,包括下述功能单元: <BR>信号接收器131,用于接收中央管理器发送的数据传输路径的信息; <BR>处理器132,用于通过信号接收器131接收的数据传输路径的信息所表示的数据传输路径,采用DMA方式将该装置中的待采用DMA方式进行迁移的数据传输至目的端NC; <BR>其中,中央管理器采用下述方式确定所述数据传输路径: <BR>从源端NC和目的端NC所共属的CC‑NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;并根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从各条数据传输路径中选取所述数据传输路径。 <BR>可选的,处理器132还可以用于:向中央管理器发送请求采用DMA方式迁移数据的请求消息。基于处理器132的该功能,上述数据传输路径的信息可以是由中央管理器接收到处理器132发送的该该请求消息后发送的。 <BR>可选的,处理器132还可以用于:确定待采用DMA方式进行迁移的数据的数据量;将确定的数据量的信息发送给所述中央管理器,以使得:中央管理器根据各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及信息发送单元发送的该数据量的信息,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。 <BR>通过本发明实施例提供的上述方案,由于引入了源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。 <BR>本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。 <BR>本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。 <BR>这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。 <BR>这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。 <BR>尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。 <BR>显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。</p></div> </div> </div> </div> <div class="tempdiv cssnone" style="line-height:0px;height:0px; overflow:hidden;"> </div> <div id="page"> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot3/2019-3/18/67167f96-5602-400d-b983-83ce3fcc1516/67167f96-5602-400d-b983-83ce3fcc15161.gif' alt="一种数据迁移控制方法、数据迁移方法及装置.pdf_第1页" width='100%'/></div><div class="pageSize">第1页 / 共28页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot3/2019-3/18/67167f96-5602-400d-b983-83ce3fcc1516/67167f96-5602-400d-b983-83ce3fcc15162.gif' alt="一种数据迁移控制方法、数据迁移方法及装置.pdf_第2页" width='100%'/></div><div class="pageSize">第2页 / 共28页</div> <div class="page"><img src='https://img.zhuanlichaxun.net/fileroot3/2019-3/18/67167f96-5602-400d-b983-83ce3fcc1516/67167f96-5602-400d-b983-83ce3fcc15163.gif' alt="一种数据迁移控制方法、数据迁移方法及装置.pdf_第3页" width='100%'/></div><div class="pageSize">第3页 / 共28页</div> </div> <div id="pageMore" class="btnmore" onclick="ShowSvg();">点击查看更多>></div> <div style="margin-top:20px; line-height:0px; height:0px; overflow:hidden;"> <div style=" font-size: 16px; background-color:#e5f0f7; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;">资源描述</div> <div class="detail-article prolistshowimg"> <p>《一种数据迁移控制方法、数据迁移方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种数据迁移控制方法、数据迁移方法及装置.pdf(28页珍藏版)》请在专利查询网上搜索。</p> <p >1、(10)申请公布号 CN 103324592 A (43)申请公布日 2013.09.25 CN 103324592 A *CN103324592A* (21)申请号 201310253280.2 (22)申请日 2013.06.24 G06F 13/28(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 陈昊 杨宝川 陆斌 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 黄志华 (54) 发明名称 一种数据迁移控制方法、 数据迁移方法及装 置 (57) 摘要 本发明公开了一种 CC-N。</p> <p >2、UMA 系统中的数据迁 移控制方法, 通过引入源端NC和目的端NC之间的 各条数据传输路径所包含的各条传输链路的带宽 占用率, 作为采用 DMA 方式迁移数据时所利用的 数据传输路径的选取依据, 从而在采用 DMA 方式 迁移数据时, 不再是盲目地选取数据传输路径, 而 是可以该选取依据来选取合适的数据传输路径进 行数据迁移, 从而避免了采用 DMA 方式对数据进 行迁移的过程中容易形成热点传输路径和数据拥 塞的问题。本发明实施例还提供一种 CC-NUMA 系 统中的数据迁移控制装置, 以及一种 CC-NUMA 系 统中的数据迁移方法及装置。 (51)Int.Cl. 权利要求书 4 页 说明书。</p> <p >3、 16 页 附图 7 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书16页 附图7页 (10)申请公布号 CN 103324592 A CN 103324592 A *CN103324592A* 1/4 页 2 1. 一种高速缓存非对称一致性内存访问系统中的数据迁移控制方法, 其特征在于, 包 括 : 从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 其中, 所述源端NC和 所述目的端 NC 分别为待采用直接内存访问 DMA 方式进行迁移的数。</p> <p >4、据所对应的源端 NC 和目 的端 NC ; 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条 数据传输路径中选取数据传输路径 ; 将选取的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至所述目的端 NC。 2. 如权利要求 1 所述的方法, 其特征在于, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径, 具体包括 : 接收到所述源端 NC 发送的请求采用 DMA 方式迁移数。</p> <p >5、据的请求消息后, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 3. 如权利要求 1 或 2 所述的方法, 其特征在于, 所述方法还包括 : 确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据量 ; 则 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条 数据传输路径中选取数据传输路径, 具体包括 : 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数 据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定分别通过所述各条数 据传输路径传输所述待采用 DMA 方式进行。</p> <p >6、迁移的数据所耗费的时间 ; 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗 费的时间, 从所述各条数据传输路径中选取数据传输路径。 4. 如权利要求 3 所述的方法, 其特征在于, 根据分别通过所述各条数据传输路径传输 所述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径中选取数据 传输路径, 具体包括 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述最短时间所对应的传输路径。 5. 如权利要求 1 所述的方法, 其特征在于, 采用下述方。</p> <p >7、式获得所述各条数据传输路径 所包含的各条传输链路的带宽占用率 : 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输路径 上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输路径 所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每条传 输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均满足 : 其为位于该数据传输路径上的、 除所述 源端 NC 和所述目的端 NC 外的其他 NC。 6. 一种高速缓存非对称一致性内存访问系统中的数据迁移方法, 其特征在于, 包括 : 权。</p> <p >8、 利 要 求 书 CN 103324592 A 2 2/4 页 3 源端节点控制器 NC 接收中央管理器发送的数据传输路径的信息 ; 所述源端 NC 通过所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的 待采用 DMA 方式进行迁移的数据传输至目的端 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传。</p> <p >9、输路径中选取所述 数据传输路径。 7. 如权利要求 6 所述的方法, 其特征在于, 所述方法还包括 : 所述源端 NC 向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则 所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。 8. 如权利要求 6 或 7 所述的方法, 其特征在于, 所述方法还包括 : 所述源端 NC 确定所述待采用 DMA 方式进行迁移的数据的数据量 ; 将所述数据量的信息发送给所述中央管理器, 以使得所述中央管理器 : 根据所述各条 数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数据传输路径所包含的各条 传输链路的额定带宽以及所述。</p> <p >10、数据量, 确定分别通过所述各条数据传输路径传输所述待采 用 DMA 方式进行迁移的数据所耗费的时间, 并根据分别通过所述各条数据传输路径传输所 述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径中选取数据传 输路径。 9. 一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置, 其特征在于, 包 括 : 数据传输路径确定单元, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非 对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据 传输路径 ; 其中, 所述源端NC和所述目的端NC分别为待采用直接内存访问D。</p> <p >11、MA方式进行迁 移的数据所对应的源端 NC 和目的端 NC ; 数据传输路径选取单元, 用于根据获得的所述数据传输路径确定单元确定的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径中选取数据 传输路径 ; 信息发送单元, 用于将数据传输路径选取单元选取的数据传输路径的信息发送给所述 源端NC, 以使得所述源端NC通过选取的所述数据传输路径, 采用直接内存访问DMA方式, 将 所述源端 NC 中的待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 10. 如权利要求 9 所述的装置, 其特征在于, 所述数据传输路径确定单元具体用于 : 接 收到所述源端 N。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>12、C 发送的请求采用 DMA 方式迁移数据的请求消息后, 从所述源端 NC 和所述 目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 11. 如权利要求 9 或 10 所述的装置, 其特征在于, 所述装置还包括 : 数据量确定单元, 用于确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据 量 ; 则 所述数据传输路径选取单元具体包括 : 时间确定子单元, 用于根据获得的所述各条数据传输路径所包含的各条传输链路的带 权 利 要 求 书 CN 103324592 A 3 3/4 页 4 宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>13、定单元 确定的所述数据量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁 移的数据所耗费的时间 ; 数据传输路径选取子单元, 用于根据时间确定子单元确定的分别通过所述各条数据传 输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径 中选取数据传输路径。 12. 如权利要求 11 所述的装置, 其特征在于, 所述数据传输路径选取子单元具体用于 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时 间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述最短时间所对应的传输路径。 13. 如权利要求 9。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>14、 所述的装置, 其特征在于, 采用下述方式获得所述各条数据传输路径 所包含的各条传输链路的带宽占用率 : 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输路径 上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输路径 所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每条传 输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均满足 : 其为位于该数据传输路径上的、 除所述 源端 NC 和所述目的端 NC 外的其他 NC。 14. 一种高速缓存非对称一致性内存访问系统中的。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>15、数据迁移装置, 其特征在于, 包括 : 信息接收单元, 用于接收中央管理器发送的数据传输路径的信息 ; 数据传输单元, 用于通过信息接收单元接收的所述信息所表示的所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的 端节点控制器 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>16、各条数据传输路径中选取所述 数据传输路径。 15. 如权利要求 14 所述的装置, 其特征在于, 所述装置还包括 : 请求消息发送单元, 用于向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消 息 ; 则 所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。 16. 如权利要求 14 或 15 所述的装置, 其特征在于, 所述装置还包括 : 数据量确定单元, 用于确定所述待采用 DMA 方式进行迁移的数据的数据量 ; 信息发送单元, 用于将数据量确定单元确定的所述数据量的信息发送给所述中央管理 器, 以使得 : 所述中央管理器根据所述各条数据传输路径所包含的各条传输链路。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>17、的带宽占 用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定分 别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 并 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的 时间, 从所述各条数据传输路径中选取数据传输路径。 权 利 要 求 书 CN 103324592 A 4 4/4 页 5 17. 一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置, 其特征在于, 包 括 : 处理器, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性内存 访问CC-NUMA系统中, 确。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>18、定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 根据获 得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路 径中选取数据传输路径 ; 其中, 所述源端 NC 和所述目的端 NC 分别为待采用直接内存访问 DMA 方式进行迁移的数据所对应的源端 NC 和目的端 NC ; 信号发送器, 用于将处理器选取的数据传输路径的信息发送给所述源端 NC, 以使得所 述源端 NC 通过选取的所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的 待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 18. 一种高速缓存非对称一致性内存访问系统。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>19、中的数据迁移装置, 其特征在于, 包括 : 信号接收器, 用于接收中央管理器发送的数据传输路径的信息 ; 处理器, 用于通过信号接收器接收的所述信息所表示的所述数据传输路径, 采用直接 内存访问 DMA 方式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控 制器 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>20、数据传输路径中选取所述 数据传输路径。 权 利 要 求 书 CN 103324592 A 5 1/16 页 6 一种数据迁移控制方法、 数据迁移方法及装置 技术领域 0001 本发明涉及数据传输技术领域, 尤其涉及一种高速缓存非对称一致性内存访问系 统中的数据迁移控制方法、 数据迁移方法及装置。 背景技术 0002 在基于节点控制器 (NC, Node Controller) 的高速缓存非对称一致性内存访问 (CC-NUMA, Cache Coherent-Non Uniform Memory Access)系统中, 直接内存访问 (DMA, Direct Memory Access) 是大数。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>21、据量的数据迁移的有效方式。下面举例说明现有的基于 NC 的 CC-NUMA 系统中的 DMA 流程。 0003 如图 1 所示, 以包含 8 个中央处理器 (CPU, Central Processing Unit) S0 S7 的 CC-NUMA 系统为例, 每个 NC 通过 QPI 或其他总线连接 2 个 CPU。比如, NC0 连接 S0 和 S1, NC1 连接 S2 和 S3, 等等。两个 NC 之间的传输链路旁标注的百分比用于标识传输链路的使用百 分比, 即该传输链路上传输的报文所占用的带宽在该传输链路的额定带宽中的占比。传输 链路旁标注的该百分比越高, 表示传输链路越繁忙、 空闲。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>22、的带宽越小 ; 反之, 则说明该传输 链路越空闲、 空闲的带宽越大。此外, 图 1 中带有箭头的虚线用于表示数据从源端迁移到目 的端的迁移路径, 比如, 图 1 中所示的该虚线用于表示 : 数据从源端 NC0 迁移到目的端 NC1 的迁移路径为 : 将数据直接从源端 NC0 迁移到目的端 NC1, 而不需要其他 NC 对数据进行转 发。 0004 现有技术中, 在如图 1 所示的该 CC-NUMA 系统中实现 DMA 的流程主要分为以下三 个步骤 : 0005 步骤一 : 源端 NC 确定需要采用 DMA 方式进行迁移的数据在源端 NC 的存储空间中 的位置, 比如直接确定数据在该存储空间中的。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>23、起始地址和结束地址, 或者根据数据在该存 储空间中的起始地址和数据的总量 (或称数据长度) , 来确定数据在该存储空间中的位置 ; 0006 步骤二 : 按照数据的迁移路径, 执行将处于确定出的上述位置的数据进行迁移 ; 0007 步骤三 : 目的端 NC 在接收到采用 DMA 方式迁移来的数据后, 将该数据存入预设的 存储空间。 0008 虽然采用 DMA 方式对数据进行迁移可以实现在一次数据迁移过程中迁移大量的 数据, 然而, 由于采用 DMA 方式对数据进行迁移耗时长, 从而按照 DMA 方式对数据进行的迁 移过程很可能会和一些跨 NC 的数据访问所对应的数据迁移过程一起作用, 因此容易。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>24、形成 热点传输路径和数据拥塞, 降低 CC-NUMA 系统的性能。 0009 如何在采用 DMA 方式对数据进行迁移的过程中避免容易形成热点传输路径和数 据拥塞, 是 CC-NUMA 系统中亟待解决的问题。 发明内容 0010 本发明实施例提供一种 CC-NUMA 系统中的数据迁移控制方法、 数据迁移方法及装 置, 用以在CC-NUMA系统中采用DMA方式对数据进行迁移时, 避免形成热点传输路径和数据 说 明 书 CN 103324592 A 6 2/16 页 7 拥塞。 0011 本发明实施例采用以下技术方案 : 0012 第一方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>25、方 法, 包括 : 从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 其中, 所述 源端 NC 和所述目的端 NC 分别为待采用直接内存访问 DMA 方式进行迁移的数据所对应的源 端 NC 和目的端 NC ; 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用 率, 从所述各条数据传输路径中选取数据传输路径 ; 将选取的数据传输路径的信息发送给 所述源端 NC, 以使得所述源端 NC 通过选取的所述数据传输路径, 采用直接内存访问 DMA 方 式, 将所述源端 N。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>26、C 中的待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 0013 结合第一方面, 在第一种可能的实现方式中, 从所述源端NC和所述目的端NC所共 属的CC-NUMA系统中, 确定所述各数据传输路径, 具体包括 : 接收到所述源端NC发送的请求 采用 DMA 方式迁移数据的请求消息后, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 0014 结合第一方面或者第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述方法还包括 : 确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据量 ; 则 根据获得的所述各。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>27、条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据 传输路径中选取数据传输路径, 具体包括 : 根据获得的所述各条数据传输路径所包含的各 条传输链路的带宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及 所述数据量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数 据所耗费的时间 ; 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移 的数据所耗费的时间, 从所述各条数据传输路径中选取数据传输路径。 0015 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 根据分别 通过所述各条数据传输路径传输所述待采。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>28、用 DMA 方式进行迁移的数据所耗费的时间, 从所 述各条数据传输路径中选取数据传输路径, 具体包括 : 从分别通过所述各条数据传输路径 传输所述待采用 DMA 方式进行迁移的数据所耗费的时间中, 确定最短时间 ; 从所述各条数 据传输路径中, 选取所述最短时间所对应的传输路径。 0016 结合第一方面, 在第四种可能的实现方式中, 采用下述方式获得所述各条数据传 输路径所包含的各条传输链路的带宽占用率 : 0017 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输 路径上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输 路径所包含的。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>29、、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每 条传输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均 满足 : 其为位于该数据传输路径上的、 除所述源端 NC 和所述目的端 NC 外的其他 NC。 0018 第二方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移方法, 包 括 : 源端节点控制器 NC 接收中央管理器发送的数据传输路径的信息 ; 所述源端 NC 通过所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至目的端 NC ; 其中, 所述中。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>30、央管理器采用下述方式确定所述数据传输路径 : 0019 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 说 明 书 CN 103324592 A 7 3/16 页 8 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0020 结合第二方面, 在第一种可能的实现方式中, 所述方法还包括 : 所述源端 NC 向所 述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则所述数据传输路径的信息是 由所。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>31、述中央管理器接收到所述请求消息后发送的。 0021 结合第二方面或者第二方面的第一种可能的实现方式中, 所述方法还包括 : 所述 源端NC确定所述待采用DMA方式进行迁移的数据的数据量 ; 将所述数据量的信息发送给所 述中央管理器, 以使得所述中央管理器 : 根据所述各条数据传输路径所包含的各条传输链 路的带宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据 量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间, 并根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据 所耗费的时间, 从所述各条数据传输路径。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>32、中选取数据传输路径。 0022 第三方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装 置, 包括 : 数据传输路径确定单元, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓 存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条 数据传输路径 ; 其中, 所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进 行迁移的数据所对应的源端 NC 和目的端 NC ; 数据传输路径选取单元, 用于根据获得的所述 数据传输路径确定单元确定的所述各条数据传输路径所包含的各条传输链路的带宽占用 率, 从所述各条数据传输路径。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>33、中选取数据传输路径 ; 信息发送单元, 用于将数据传输路径选 取单元选取的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至所述目的端 NC。 0023 结合第三方面, 在第一种可能的实现方式中, 所述数据传输路径确定单元具体用 于 : 接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后, 从所述源端NC和 所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 0024 结合第三方面或第三方面的第一种可能的实现方式。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>34、, 在第二种可能的实现方式 中, 所述装置还包括 : 数据量确定单元, 用于确定所述源端NC中的待采用DMA方式进行迁移 的数据的数据量 ; 则所述数据传输路径选取单元具体包括 : 时间确定子单元, 用于根据获 得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数据传输路径 所包含的各条传输链路的额定带宽以及数据量确定单元确定的所述数据量, 确定分别通过 所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间 ; 数据传输 路径选取子单元, 用于根据时间确定子单元确定的分别通过所述各条数据传输路径传输所 述待采用 DMA 方式进行迁移的数据所耗费的时间, 。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>35、从所述各条数据传输路径中选取数据传 输路径。 0025 结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述数据 传输路径选取子单元具体用于 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方 式进行迁移的数据所耗费的时间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述 最短时间所对应的传输路径。 说 明 书 CN 103324592 A 8 4/16 页 9 0026 结合第三方面, 在第四种可能的实现方式中, 采用下述方式获得所述各条数据传 输路径所包含的各条传输链路的带宽占用率 : 0027 针对所述各条数据传输路径中的每条数据传输路径执行 : 从。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>36、设置在该条数据传输 路径上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输 路径所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每 条传输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均 满足 : 其为位于该数据传输路径上的、 除所述源端 NC 和所述目的端 NC 外的其他 NC。 0028 第四方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置, 包 括 : 信息接收单元, 用于接收中央管理器发送的数据传输路径的信息 ; 数据传输单元, 用于 通过信息接收单元接收的所述信息。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>37、所表示的所述数据传输路径, 采用直接内存访问 DMA 方 式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控制器 NC ; 其中, 所 述中央管理器采用下述方式确定所述数据传输路径 : 0029 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0030 结合第四方面, 在第一种可能的实现方式中, 所述装置还包括 : 请求消息发送单 元。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>38、, 用于向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则所述数据传输 路径的信息是由所述中央管理器接收到所述请求消息后发送的。 0031 结合第四方面或第四方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述装置还包括 : 数据量确定单元, 用于确定所述待采用 DMA 方式进行迁移的数据的数 据量 ; 信息发送单元, 用于将数据量确定单元确定的所述数据量的信息发送给所述中央管 理器, 以使得 : 所述中央管理器根据所述各条数据传输路径所包含的各条传输链路的带宽 占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定 分别通过所述各条数。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>39、据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 并根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间, 从所述各条数据传输路径中选取数据传输路径。 0032 第五方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装 置, 包括 : 处理器, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性 内存访问CC-NUMA系统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 根 据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传 输路径中选取数据传输路径 ; 其中。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>40、, 所述源端NC和所述目的端NC分别为待采用直接内存访 问 DMA 方式进行迁移的数据所对应的源端 NC 和目的端 NC ; 信号发送器, 用于将处理器选取 的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所述数据传输 路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁移的数据传 输至所述目的端 NC。 0033 第六方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置, 包 括 : 信号接收器, 用于接收中央管理器发送的数据传输路径的信息 ; 处理器, 用于通过信号 接收器接收的所述信息所表示的所述数据传输路径,。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>41、 采用直接内存访问 DMA 方式, 将所述 说 明 书 CN 103324592 A 9 5/16 页 10 装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控制器 NC ; 其中, 所述中央管 理器采用下述方式确定所述数据传输路径 : 0034 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0035 本发明实施例的有益效果如下 : 0036 。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>42、通过本发明实施例提供的上述方案, 由于引入了源端 NC 和目的端 NC 之间的各条 数据传输路径所包含的各条传输链路的带宽占用率, 作为采用 DMA 方式迁移数据时所利用 的数据传输路径的选取依据, 从而在采用 DMA 方式迁移数据时, 不再是盲目地选取数据传 输路径, 而是可以该选取依据来选取合适的数据传输路径进行数据迁移, 从而避免了采用 DMA 方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。 附图说明 0037 图 1 为现有技术中的基于节点控制器的 CC-NUMA 系统拓扑示意图 ; 0038 图2为本发明实施例提供的一种CC-NUMA系统中的数据迁移控制方法的具体流。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>43、程 示意图 ; 0039 图3为本发明实施例提供的一种CC-NUMA系统中的数据迁移方法的具体流程示意 图 ; 0040 图 4 为实施例 1 的实施场景示意图 ; 0041 图 5 为实施例 1 中实现采用 DMA 的方式迁移数据的流程示意图 ; 0042 图 6a 为现有技术中的数据迁移方案采用的具体架构的示意图 ; 0043 图 6b 为实施例 1 中的数据迁移方案采用的具体架构的示意图 ; 0044 图 7 为在 NC 中设置的用于实时监控传输链路的使用百分比的组件的示意图 ; 0045 图 8 为实施例 1 中采用的 “平均滑动窗口带宽统计方式” 的具体实现原理图 ; 0046 图 。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>44、9 为在大型数据库中实现本发明实施例提供的数据迁移控制方法的示意图 ; 0047 图 10 为本发明实施例提供的第一种 CC-NUMA 系统中的数据迁移控制装置的具体 结构示意图 ; 0048 图 11 为本发明实施例提供的第一种 CC-NUMA 系统中的数据迁移装置的具体结构 示意图 ; 0049 图 12 为本发明实施例提供的第二种 CC-NUMA 系统中的数据迁移控制装置的具体 结构示意图 ; 0050 图 13 为本发明实施例提供的第二种 CC-NUMA 系统中的数据迁移装置的具体结构 示意图。 具体实施方式 0051 通过对现有技术进行研究发现, 现有的基于 NC 的 CC-NUMA。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>45、 系统中, 正常的数据传 递 (即采用非 DMA 方式进行的数据传输) 都是以 64Byte 为单位的, 即数据量为 64Byte 的数 据包为一个高速缓冲存储器队列 (cache line) 。正常的数据传递的过程的特点为 : 数据包 说 明 书 CN 103324592 A 10 6/16 页 11 长度短、 数据包交互频率较高。 根据该特点可知, 正常的数据传递的过程中不适合采用动态 路由的方式来确定数据传输路径。这是由于动态路由的原理在于 : 在按照某数据传输路径 对数据进行传输的同时, 确定一条新的数据传输路径, 由于确定新的数据传输路径必然会 耗费一定的时间, 而正常的数据传递的过。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>46、程中传输的数据包的长度较短, 因此可能新的数 据传输路径还没有确定完成, 数据包就已经按照某数据传输路径从源端 NC 发送到了目的 端 NC。 0052 由于动态路由不适合应用在小数据包 (如数据量为 64Byte 的数据包) 交互频繁的 CC-NUMA 系统中, 因此当前的基于 NC 的 CC-NUMA 系统中都是使用静态路由的方式。静态路 由的原理在于 : 在进行数据传输之前, 就根据某种数据传输路径确定规则, 确定源端 NC 与 目的端NC之间的数据传输路径 ; 然后再通过该数据传输路径, 将数据从源端NC迁移到目的 端 NC。 0053 相比于动态路由的方式, 上述静态路由的方式更适合。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>47、应用于小数据包交互频繁的 CC-NUMA系统中。 然而, 由于基于DMA方式进行的数据迁移的处理对象一般是数据量较大的 数据, 从而静态路由的方式在基于 NC 的 CC-NUMA 系统中进行 DMA 方式下的数据迁移时又显 得不够灵活。究其原因, 主要是由于基于 DMA 方式进行的数据迁移一般是以 KB 甚至 MB 为 单位的, 从而数据迁移的持续时间比较长, 在这样的情况下, 一旦某条链路中的小数据包交 互频繁态, 而该条链路又要基于 DMA 方式来进行持续时间较长的数据迁移工作, 那么该条 链路就很容易成为 CC-NUMA 系统的热点传输路径而容易出现数据拥塞。 0054 由此可见, 基于。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>48、 NC 的 CC-NUMA 系统中的基于 DMA 的数据传输过程需要采用一种新 型的数据传输路径的确定方式, 以避免形成热点传输路径和数据拥塞。 0055 为了解决上述技术问题, 本发明实施例提供了一种 CC-NUMA 系统中的数据迁移方 案。该方案引入了源端 NC 和目的端 NC 之间的各条数据传输路径所包含的各条传输链路的 带宽占用率, 作为采用 DMA 方式迁移数据时所利用的数据传输路径的选取依据, 从而在采 用 DMA 方式迁移数据时, 不再是盲目地选取数据传输路径, 而是可以该选取依据来选取合 适的数据传输路径进行数据迁移, 从而避免了采用 DMA 方式对数据进行迁移的过程中容易 形。</p> <p style='height:0px;padding:0;margin:0;overflow:hidden'>49、成热点传输路径和数据拥塞的问题。 0056 以下结合说明书附图对本发明的实施例进行说明, 应当理解, 此处所描述的实施 例仅用于说明和解释本发明, 并不用于限制本发明。 并且在不冲突的情况下, 本说明中的实 施例及实施例中的特征可以互相结合。 0057 首先, 本发明实施例提供一种 CC-NUMA 系统中的数据迁移控制方法, 该方法的具 体流程示意图如图 2 所示, 包括如下主要步骤 : 0058 步骤 21, 从源端 NC 和目的端 NC 所共属的 CC-NUMA 系统中, 确定源端 NC 和目的端 NC 之间的各条数据传输路径。 0059 其中, 这里所述的源端 NC 和目的端 NC 分别为待采用 DMA 方式进行迁移的数据所 对应的源端 NC 和目的端 NC。 0060 本发明实施例中, 用于实施如图 2 所示的该方法的设备可以是一种数据迁移设 备, 该设备可以是在接收到源端 NC 发送的请求采用 DMA 方式迁移数据的请求消息后, 才执 行步骤 21。 0061 步骤 22, 根据获得的各条数据传输路径所包含的各条传输链路的带宽占。</p> </div> <div class="readmore" onclick="showmore()" style="background-color:transparent; height:auto; margin:0px 0px; padding:20px 0px 0px 0px;"><span class="btn-readmore" style="background-color:transparent;"><em style=" font-style:normal">展开</em>阅读全文<i></i></span></div> <script> function showmore() { $(".readmore").hide(); $(".detail-article").css({ "height":"auto", "overflow": "hidden" }); } $(document).ready(function() { var dh = $(".detail-article").height(); if(dh >100) { $(".detail-article").css({ "height":"100px", "overflow": "hidden" }); } else { $(".readmore").hide(); } }); </script> </div> <script> var defaultShowPage = parseInt("3"); var id = "5778617"; var total_page = "28"; var mfull = false; var mshow = false; function DownLoad() { window.location.href='https://m.zhuanlichaxun.net/d-5778617.html'; } function relate() { var reltop = $('#relate').offset().top-50; $("html,body").animate({ scrollTop: reltop }, 500); } </script> <script> var pre = "https://img.zhuanlichaxun.net/fileroot3/2019-3/18/67167f96-5602-400d-b983-83ce3fcc1516/67167f96-5602-400d-b983-83ce3fcc1516"; var freepage = parseInt('4'); var total_c = parseInt('28'); var start = defaultShowPage; var adcount = 0; var adindex = 0; var adType_list = ";0;1;2;3;"; var end = start; function ShowSvg() { end = start + defaultShowPage; if (end > freepage) end = freepage; for (var i = start; i < end; i++) { var imgurl = pre + (i + 1) + '.gif'; var html = "<img src='" + imgurl + "' alt=\"一种数据迁移控制方法、数据迁移方法及装置.pdf_第" + (i + 1) + "页\" width='100%'/>"; $("#page").append("<div class='page'>" + html + "</div>"); $("#page").append("<div class='pageSize'>第" + (i + 1) + "页 / 共" + total_c + "页</div>"); if(adcount > 0 && adType_list.indexOf(";"+(i+1)+";")>-1) { if(adindex > (adcount-1)) adindex = 0; $("#page").append("<div class='pagead' id='addiv"+(i + 1)+"'></div>"); document.getElementById("addiv"+(i + 1)+"").innerHTML =document.getElementById("adpre" + adindex).outerHTML; adindex += 1; } } start = end; if (start > (freepage - 1)) { if (start < total_c) { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页,到这儿已超出免费预览范围,如果喜欢就下载吧!"); } else { $("#pageMore").removeClass("btnmore"); $("#pageMore").html("亲,该文档总共" + total_c + "页全部预览完了,如果喜欢就下载吧!"); } } } //$(document).ready(function () { // ShowSvg(); //}); </script> <div id="relate" class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">相关资源</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="一种复合波片光轴对准方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777618.html" title="一种复合波片光轴对准方法.pdf">一种复合波片光轴对准方法.pdf</a> </li><li><img alt="用于凝胶电泳蛋白质显色的试剂及使用方法和应用.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777619.html" title="用于凝胶电泳蛋白质显色的试剂及使用方法和应用.pdf">用于凝胶电泳蛋白质显色的试剂及使用方法和应用.pdf</a> </li><li><img alt="一种通信设备底座封堵器.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777620.html" title="一种通信设备底座封堵器.pdf">一种通信设备底座封堵器.pdf</a> </li><li><img alt="一种玻璃翻面传送机.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777621.html" title="一种玻璃翻面传送机.pdf">一种玻璃翻面传送机.pdf</a> </li><li><img alt="一种基于网络同步性的脑网络拓扑差异的快速提取方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777622.html" title="一种基于网络同步性的脑网络拓扑差异的快速提取方法.pdf">一种基于网络同步性的脑网络拓扑差异的快速提取方法.pdf</a> </li><li><img alt="一种自动提升机.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777623.html" title="一种自动提升机.pdf">一种自动提升机.pdf</a> </li><li><img alt="一种自愈式低电压并联电容器.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777624.html" title="一种自愈式低电压并联电容器.pdf">一种自愈式低电压并联电容器.pdf</a> </li><li><img alt="一种基于磁电阻的交直流避雷器电流实时在线监测传感器.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777625.html" title="一种基于磁电阻的交直流避雷器电流实时在线监测传感器.pdf">一种基于磁电阻的交直流避雷器电流实时在线监测传感器.pdf</a> </li><li><img alt="一种使用点编码技术的数据采集系统.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777626.html" title="一种使用点编码技术的数据采集系统.pdf">一种使用点编码技术的数据采集系统.pdf</a> </li><li><img alt="基于参数在线辨识的开关类设备状态评价方法.pdf" class="pdf" src="/Images/s.gif" /><a target="_parent" href="https://m.zhuanlichaxun.net/p-5777627.html" title="基于参数在线辨识的开关类设备状态评价方法.pdf">基于参数在线辨识的开关类设备状态评价方法.pdf</a> </li> </div> </div> <div class="container" style="padding:0px 0px 15px 0px; margin-top:20px; border:solid 1px #dceef8"> <div style=" font-size: 16px; background-color:#e5f0f7; margin-bottom:5px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px;">猜你喜欢</div> <div id="relatelist" style="padding-left:5px;"> <li><img alt="胰蛋白酶亲和层析纯化人重组SPINK6蛋白的方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274431.html" target="_parent" title="胰蛋白酶亲和层析纯化人重组SPINK6蛋白的方法.pdf">胰蛋白酶亲和层析纯化人重组SPINK6蛋白的方法.pdf</a></li> <li><img alt="一种外墙饰面涂料.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274432.html" target="_parent" title="一种外墙饰面涂料.pdf">一种外墙饰面涂料.pdf</a></li> <li><img alt="复合药物组合物以及治疗眩晕、晕动病和植物神经血管张力障碍的方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274433.html" target="_parent" title="复合药物组合物以及治疗眩晕、晕动病和植物神经血管张力障碍的方法.pdf">复合药物组合物以及治疗眩晕、晕动病和植物神经血管张力障碍的方法.pdf</a></li> <li><img alt="一种重组人源胶原蛋白及其生产方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274434.html" target="_parent" title="一种重组人源胶原蛋白及其生产方法.pdf">一种重组人源胶原蛋白及其生产方法.pdf</a></li> <li><img alt="一种艾塞那肽粗品的固相制备方法.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274435.html" target="_parent" title="一种艾塞那肽粗品的固相制备方法.pdf">一种艾塞那肽粗品的固相制备方法.pdf</a></li> <li><img alt="一种环氧积层地坪涂料.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274436.html" target="_parent" title="一种环氧积层地坪涂料.pdf">一种环氧积层地坪涂料.pdf</a></li> <li><img alt="定量钛氮化碳氮共渗技术.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274437.html" target="_parent" title="定量钛氮化碳氮共渗技术.pdf">定量钛氮化碳氮共渗技术.pdf</a></li> <li><img alt="金属涂料.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274438.html" target="_parent" title="金属涂料.pdf">金属涂料.pdf</a></li> <li><img alt="鹿鞭毛细管电泳DNA指纹图谱及建立方法和应用.pdf" class="pdf" src="/Images/s.gif" /> <a href="https://m.zhuanlichaxun.net/p-5274439.html" target="_parent" title="鹿鞭毛细管电泳DNA指纹图谱及建立方法和应用.pdf">鹿鞭毛细管电泳DNA指纹图谱及建立方法和应用.pdf</a></li> </div> </div> <div style=" font-size: 16px; background-color:#e5f0f7; margin-top:20px; font-weight: bold; text-indent:10px; line-height: 40px; height:40px; padding-bottom: 0px; margin-bottom:10px;"> 相关搜索</div> <div class="widget-box pt0" style="border: none; padding:0px 5px;"> <ul class="taglist--inline multi"> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e4%b8%80%e7%a7%8d">一种</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%95%b0%e6%8d%ae">数据</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e8%bf%81%e7%a7%bb">迁移</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%8e%a7%e5%88%b6">控制</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e6%96%b9%e6%b3%95">方法</a></li> <li class="tagPopup"><a class="tag tagsearch" rel="nofollow" href="https://m.zhuanlichaxun.net/search.html?q=%e8%a3%85%e7%bd%ae">装置</a></li> </ul> </div> <br /> <div > 当前位置:<a href="https://m.zhuanlichaxun.net/">首页</a> &gt; <a href="https://m.zhuanlichaxun.net/c-00007.html">物理</a><span> &gt; </span><a href="https://m.zhuanlichaxun.net/c-0000700006.html">计算;推算;计数</a> </div> <br /> <br /> <span id="ctl00_LabelScript"></span> <script src="https://m.zhuanlichaxun.net/JS/bootstrap-collapse.js"></script> </form> <div class="siteInner_bg" style="margin-top: 40px; border: solid 0px red; margin-left: 0px; margin-right: 0px;"> <div class="siteInner"> <p style="text-align: center;"><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">copyright@ 2017-2020 zhuanlichaxun.net网站版权所有</span><br style="text-align: center; white-space: normal; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 12px; line-height: 20px;"/><span style="font-size: 14px; text-align: center; color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; line-height: 20px;">经营许可证编号:<a href="https://beian.miit.gov.cn/" target="_self" style="font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center; white-space: normal;">粤ICP备2021068784号-1</a><span style="color: rgb(102, 102, 102); font-family: 微软雅黑, Arial, &quot;Times New Roman&quot;; font-size: 14px; text-align: center;">&nbsp;</span></span> &nbsp;</p><script src="/redirect.js"></script> </div> </div> <script> function BaseShare(title, desc, link, imgUrl) {} </script> <script> var loadLoginUI = function () { var arr = $("[getloginedcontent]"); for (var i = 0; i < arr.length; i++) { (function (index) { var url = arr.eq(index).attr("getloginedcontent"); $.get(url + "?t=" + (new Date()).valueOf(), function (d) { try { arr.eq(index).empty().html(d); } catch (e) { } try { arr.html(d); } catch (e) { } }); })(i); } } $(document).ready(function () { loadLoginUI(); }); </script> <script src="https://m.zhuanlichaxun.net/JS/jquery.lazyload.js"></script> <script charset="utf-8"> $("img.lazys").lazyload({ threshold: 200, effect: "fadeIn" }); </script> </body> </html>