《一种数据迁移控制方法、数据迁移方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种数据迁移控制方法、数据迁移方法及装置.pdf(28页珍藏版)》请在专利查询网上搜索。
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。
2、UMA 系统中的数据迁 移控制方法, 通过引入源端NC和目的端NC之间的 各条数据传输路径所包含的各条传输链路的带宽 占用率, 作为采用 DMA 方式迁移数据时所利用的 数据传输路径的选取依据, 从而在采用 DMA 方式 迁移数据时, 不再是盲目地选取数据传输路径, 而 是可以该选取依据来选取合适的数据传输路径进 行数据迁移, 从而避免了采用 DMA 方式对数据进 行迁移的过程中容易形成热点传输路径和数据拥 塞的问题。本发明实施例还提供一种 CC-NUMA 系 统中的数据迁移控制装置, 以及一种 CC-NUMA 系 统中的数据迁移方法及装置。 (51)Int.Cl. 权利要求书 4 页 说明书。
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 方式进行迁移的数。
4、据所对应的源端 NC 和目 的端 NC ; 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条 数据传输路径中选取数据传输路径 ; 将选取的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至所述目的端 NC。 2. 如权利要求 1 所述的方法, 其特征在于, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径, 具体包括 : 接收到所述源端 NC 发送的请求采用 DMA 方式迁移数。
5、据的请求消息后, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 3. 如权利要求 1 或 2 所述的方法, 其特征在于, 所述方法还包括 : 确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据量 ; 则 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条 数据传输路径中选取数据传输路径, 具体包括 : 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数 据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定分别通过所述各条数 据传输路径传输所述待采用 DMA 方式进行。
6、迁移的数据所耗费的时间 ; 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗 费的时间, 从所述各条数据传输路径中选取数据传输路径。 4. 如权利要求 3 所述的方法, 其特征在于, 根据分别通过所述各条数据传输路径传输 所述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径中选取数据 传输路径, 具体包括 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述最短时间所对应的传输路径。 5. 如权利要求 1 所述的方法, 其特征在于, 采用下述方。
7、式获得所述各条数据传输路径 所包含的各条传输链路的带宽占用率 : 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输路径 上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输路径 所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每条传 输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均满足 : 其为位于该数据传输路径上的、 除所述 源端 NC 和所述目的端 NC 外的其他 NC。 6. 一种高速缓存非对称一致性内存访问系统中的数据迁移方法, 其特征在于, 包括 : 权。
8、 利 要 求 书 CN 103324592 A 2 2/4 页 3 源端节点控制器 NC 接收中央管理器发送的数据传输路径的信息 ; 所述源端 NC 通过所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的 待采用 DMA 方式进行迁移的数据传输至目的端 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传。
9、输路径中选取所述 数据传输路径。 7. 如权利要求 6 所述的方法, 其特征在于, 所述方法还包括 : 所述源端 NC 向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则 所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。 8. 如权利要求 6 或 7 所述的方法, 其特征在于, 所述方法还包括 : 所述源端 NC 确定所述待采用 DMA 方式进行迁移的数据的数据量 ; 将所述数据量的信息发送给所述中央管理器, 以使得所述中央管理器 : 根据所述各条 数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数据传输路径所包含的各条 传输链路的额定带宽以及所述。
10、数据量, 确定分别通过所述各条数据传输路径传输所述待采 用 DMA 方式进行迁移的数据所耗费的时间, 并根据分别通过所述各条数据传输路径传输所 述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径中选取数据传 输路径。 9. 一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置, 其特征在于, 包 括 : 数据传输路径确定单元, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非 对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据 传输路径 ; 其中, 所述源端NC和所述目的端NC分别为待采用直接内存访问D。
11、MA方式进行迁 移的数据所对应的源端 NC 和目的端 NC ; 数据传输路径选取单元, 用于根据获得的所述数据传输路径确定单元确定的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径中选取数据 传输路径 ; 信息发送单元, 用于将数据传输路径选取单元选取的数据传输路径的信息发送给所述 源端NC, 以使得所述源端NC通过选取的所述数据传输路径, 采用直接内存访问DMA方式, 将 所述源端 NC 中的待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 10. 如权利要求 9 所述的装置, 其特征在于, 所述数据传输路径确定单元具体用于 : 接 收到所述源端 N。
12、C 发送的请求采用 DMA 方式迁移数据的请求消息后, 从所述源端 NC 和所述 目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 11. 如权利要求 9 或 10 所述的装置, 其特征在于, 所述装置还包括 : 数据量确定单元, 用于确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据 量 ; 则 所述数据传输路径选取单元具体包括 : 时间确定子单元, 用于根据获得的所述各条数据传输路径所包含的各条传输链路的带 权 利 要 求 书 CN 103324592 A 3 3/4 页 4 宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确。
13、定单元 确定的所述数据量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁 移的数据所耗费的时间 ; 数据传输路径选取子单元, 用于根据时间确定子单元确定的分别通过所述各条数据传 输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 从所述各条数据传输路径 中选取数据传输路径。 12. 如权利要求 11 所述的装置, 其特征在于, 所述数据传输路径选取子单元具体用于 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时 间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述最短时间所对应的传输路径。 13. 如权利要求 9。
14、 所述的装置, 其特征在于, 采用下述方式获得所述各条数据传输路径 所包含的各条传输链路的带宽占用率 : 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输路径 上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输路径 所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每条传 输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均满足 : 其为位于该数据传输路径上的、 除所述 源端 NC 和所述目的端 NC 外的其他 NC。 14. 一种高速缓存非对称一致性内存访问系统中的。
15、数据迁移装置, 其特征在于, 包括 : 信息接收单元, 用于接收中央管理器发送的数据传输路径的信息 ; 数据传输单元, 用于通过信息接收单元接收的所述信息所表示的所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的 端节点控制器 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述。
16、各条数据传输路径中选取所述 数据传输路径。 15. 如权利要求 14 所述的装置, 其特征在于, 所述装置还包括 : 请求消息发送单元, 用于向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消 息 ; 则 所述数据传输路径的信息是由所述中央管理器接收到所述请求消息后发送的。 16. 如权利要求 14 或 15 所述的装置, 其特征在于, 所述装置还包括 : 数据量确定单元, 用于确定所述待采用 DMA 方式进行迁移的数据的数据量 ; 信息发送单元, 用于将数据量确定单元确定的所述数据量的信息发送给所述中央管理 器, 以使得 : 所述中央管理器根据所述各条数据传输路径所包含的各条传输链路。
17、的带宽占 用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定分 别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 并 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的 时间, 从所述各条数据传输路径中选取数据传输路径。 权 利 要 求 书 CN 103324592 A 4 4/4 页 5 17. 一种高速缓存非对称一致性内存访问系统中的数据迁移控制装置, 其特征在于, 包 括 : 处理器, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性内存 访问CC-NUMA系统中, 确。
18、定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 根据获 得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路 径中选取数据传输路径 ; 其中, 所述源端 NC 和所述目的端 NC 分别为待采用直接内存访问 DMA 方式进行迁移的数据所对应的源端 NC 和目的端 NC ; 信号发送器, 用于将处理器选取的数据传输路径的信息发送给所述源端 NC, 以使得所 述源端 NC 通过选取的所述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的 待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 18. 一种高速缓存非对称一致性内存访问系统。
19、中的数据迁移装置, 其特征在于, 包括 : 信号接收器, 用于接收中央管理器发送的数据传输路径的信息 ; 处理器, 用于通过信号接收器接收的所述信息所表示的所述数据传输路径, 采用直接 内存访问 DMA 方式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控 制器 NC ; 其中, 所述中央管理器采用下述方式确定所述数据传输路径 : 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系 统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 并根据获得的所述各条 数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条。
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) 是大数。
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 之间的传输链路旁标注的百分比用于标识传输链路的使用百 分比, 即该传输链路上传输的报文所占用的带宽在该传输链路的额定带宽中的占比。传输 链路旁标注的该百分比越高, 表示传输链路越繁忙、 空闲。
22、的带宽越小 ; 反之, 则说明该传输 链路越空闲、 空闲的带宽越大。此外, 图 1 中带有箭头的虚线用于表示数据从源端迁移到目 的端的迁移路径, 比如, 图 1 中所示的该虚线用于表示 : 数据从源端 NC0 迁移到目的端 NC1 的迁移路径为 : 将数据直接从源端 NC0 迁移到目的端 NC1, 而不需要其他 NC 对数据进行转 发。 0004 现有技术中, 在如图 1 所示的该 CC-NUMA 系统中实现 DMA 的流程主要分为以下三 个步骤 : 0005 步骤一 : 源端 NC 确定需要采用 DMA 方式进行迁移的数据在源端 NC 的存储空间中 的位置, 比如直接确定数据在该存储空间中的。
23、起始地址和结束地址, 或者根据数据在该存 储空间中的起始地址和数据的总量 (或称数据长度) , 来确定数据在该存储空间中的位置 ; 0006 步骤二 : 按照数据的迁移路径, 执行将处于确定出的上述位置的数据进行迁移 ; 0007 步骤三 : 目的端 NC 在接收到采用 DMA 方式迁移来的数据后, 将该数据存入预设的 存储空间。 0008 虽然采用 DMA 方式对数据进行迁移可以实现在一次数据迁移过程中迁移大量的 数据, 然而, 由于采用 DMA 方式对数据进行迁移耗时长, 从而按照 DMA 方式对数据进行的迁 移过程很可能会和一些跨 NC 的数据访问所对应的数据迁移过程一起作用, 因此容易。
24、形成 热点传输路径和数据拥塞, 降低 CC-NUMA 系统的性能。 0009 如何在采用 DMA 方式对数据进行迁移的过程中避免容易形成热点传输路径和数 据拥塞, 是 CC-NUMA 系统中亟待解决的问题。 发明内容 0010 本发明实施例提供一种 CC-NUMA 系统中的数据迁移控制方法、 数据迁移方法及装 置, 用以在CC-NUMA系统中采用DMA方式对数据进行迁移时, 避免形成热点传输路径和数据 说 明 书 CN 103324592 A 6 2/16 页 7 拥塞。 0011 本发明实施例采用以下技术方案 : 0012 第一方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制。
25、方 法, 包括 : 从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 其中, 所述 源端 NC 和所述目的端 NC 分别为待采用直接内存访问 DMA 方式进行迁移的数据所对应的源 端 NC 和目的端 NC ; 根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用 率, 从所述各条数据传输路径中选取数据传输路径 ; 将选取的数据传输路径的信息发送给 所述源端 NC, 以使得所述源端 NC 通过选取的所述数据传输路径, 采用直接内存访问 DMA 方 式, 将所述源端 N。
26、C 中的待采用 DMA 方式进行迁移的数据传输至所述目的端 NC。 0013 结合第一方面, 在第一种可能的实现方式中, 从所述源端NC和所述目的端NC所共 属的CC-NUMA系统中, 确定所述各数据传输路径, 具体包括 : 接收到所述源端NC发送的请求 采用 DMA 方式迁移数据的请求消息后, 从所述源端 NC 和所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 0014 结合第一方面或者第一方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述方法还包括 : 确定所述源端 NC 中的待采用 DMA 方式进行迁移的数据的数据量 ; 则 根据获得的所述各。
27、条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据 传输路径中选取数据传输路径, 具体包括 : 根据获得的所述各条数据传输路径所包含的各 条传输链路的带宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及 所述数据量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数 据所耗费的时间 ; 根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移 的数据所耗费的时间, 从所述各条数据传输路径中选取数据传输路径。 0015 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 根据分别 通过所述各条数据传输路径传输所述待采。
28、用 DMA 方式进行迁移的数据所耗费的时间, 从所 述各条数据传输路径中选取数据传输路径, 具体包括 : 从分别通过所述各条数据传输路径 传输所述待采用 DMA 方式进行迁移的数据所耗费的时间中, 确定最短时间 ; 从所述各条数 据传输路径中, 选取所述最短时间所对应的传输路径。 0016 结合第一方面, 在第四种可能的实现方式中, 采用下述方式获得所述各条数据传 输路径所包含的各条传输链路的带宽占用率 : 0017 针对所述各条数据传输路径中的每条数据传输路径执行 : 从设置在该条数据传输 路径上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输 路径所包含的。
29、、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每 条传输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均 满足 : 其为位于该数据传输路径上的、 除所述源端 NC 和所述目的端 NC 外的其他 NC。 0018 第二方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移方法, 包 括 : 源端节点控制器 NC 接收中央管理器发送的数据传输路径的信息 ; 所述源端 NC 通过所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至目的端 NC ; 其中, 所述中。
30、央管理器采用下述方式确定所述数据传输路径 : 0019 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 说 明 书 CN 103324592 A 7 3/16 页 8 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0020 结合第二方面, 在第一种可能的实现方式中, 所述方法还包括 : 所述源端 NC 向所 述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则所述数据传输路径的信息是 由所。
31、述中央管理器接收到所述请求消息后发送的。 0021 结合第二方面或者第二方面的第一种可能的实现方式中, 所述方法还包括 : 所述 源端NC确定所述待采用DMA方式进行迁移的数据的数据量 ; 将所述数据量的信息发送给所 述中央管理器, 以使得所述中央管理器 : 根据所述各条数据传输路径所包含的各条传输链 路的带宽占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据 量, 确定分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间, 并根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据 所耗费的时间, 从所述各条数据传输路径。
32、中选取数据传输路径。 0022 第三方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装 置, 包括 : 数据传输路径确定单元, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓 存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条 数据传输路径 ; 其中, 所述源端NC和所述目的端NC分别为待采用直接内存访问DMA方式进 行迁移的数据所对应的源端 NC 和目的端 NC ; 数据传输路径选取单元, 用于根据获得的所述 数据传输路径确定单元确定的所述各条数据传输路径所包含的各条传输链路的带宽占用 率, 从所述各条数据传输路径。
33、中选取数据传输路径 ; 信息发送单元, 用于将数据传输路径选 取单元选取的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所 述数据传输路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁 移的数据传输至所述目的端 NC。 0023 结合第三方面, 在第一种可能的实现方式中, 所述数据传输路径确定单元具体用 于 : 接收到所述源端NC发送的请求采用DMA方式迁移数据的请求消息后, 从所述源端NC和 所述目的端 NC 所共属的 CC-NUMA 系统中, 确定所述各数据传输路径。 0024 结合第三方面或第三方面的第一种可能的实现方式。
34、, 在第二种可能的实现方式 中, 所述装置还包括 : 数据量确定单元, 用于确定所述源端NC中的待采用DMA方式进行迁移 的数据的数据量 ; 则所述数据传输路径选取单元具体包括 : 时间确定子单元, 用于根据获 得的所述各条数据传输路径所包含的各条传输链路的带宽占用率、 所述各条数据传输路径 所包含的各条传输链路的额定带宽以及数据量确定单元确定的所述数据量, 确定分别通过 所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间 ; 数据传输 路径选取子单元, 用于根据时间确定子单元确定的分别通过所述各条数据传输路径传输所 述待采用 DMA 方式进行迁移的数据所耗费的时间, 。
35、从所述各条数据传输路径中选取数据传 输路径。 0025 结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述数据 传输路径选取子单元具体用于 : 从分别通过所述各条数据传输路径传输所述待采用 DMA 方 式进行迁移的数据所耗费的时间中, 确定最短时间 ; 从所述各条数据传输路径中, 选取所述 最短时间所对应的传输路径。 说 明 书 CN 103324592 A 8 4/16 页 9 0026 结合第三方面, 在第四种可能的实现方式中, 采用下述方式获得所述各条数据传 输路径所包含的各条传输链路的带宽占用率 : 0027 针对所述各条数据传输路径中的每条数据传输路径执行 : 从。
36、设置在该条数据传输 路径上的特定 NC 中的带宽监控组件中, 获取由所述带宽监控组件所记录的、 该条数据传输 路径所包含的、 所述特定 NC 两侧的传输链路的带宽占用率 ; 直至该条数据传输路径中的每 条传输链路的带宽占用率均被不重复地获取完毕 ; 其中, 任意数据传输路径上的特定 NC 均 满足 : 其为位于该数据传输路径上的、 除所述源端 NC 和所述目的端 NC 外的其他 NC。 0028 第四方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置, 包 括 : 信息接收单元, 用于接收中央管理器发送的数据传输路径的信息 ; 数据传输单元, 用于 通过信息接收单元接收的所述信息。
37、所表示的所述数据传输路径, 采用直接内存访问 DMA 方 式, 将所述装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控制器 NC ; 其中, 所 述中央管理器采用下述方式确定所述数据传输路径 : 0029 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0030 结合第四方面, 在第一种可能的实现方式中, 所述装置还包括 : 请求消息发送单 元。
38、, 用于向所述中央管理器发送请求采用 DMA 方式迁移数据的请求消息 ; 则所述数据传输 路径的信息是由所述中央管理器接收到所述请求消息后发送的。 0031 结合第四方面或第四方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述装置还包括 : 数据量确定单元, 用于确定所述待采用 DMA 方式进行迁移的数据的数 据量 ; 信息发送单元, 用于将数据量确定单元确定的所述数据量的信息发送给所述中央管 理器, 以使得 : 所述中央管理器根据所述各条数据传输路径所包含的各条传输链路的带宽 占用率、 所述各条数据传输路径所包含的各条传输链路的额定带宽以及所述数据量, 确定 分别通过所述各条数。
39、据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费的时间, 并根据分别通过所述各条数据传输路径传输所述待采用 DMA 方式进行迁移的数据所耗费 的时间, 从所述各条数据传输路径中选取数据传输路径。 0032 第五方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移控制装 置, 包括 : 处理器, 用于从源端节点控制器 NC 和目的端 NC 所共属的高速缓存非对称一致性 内存访问CC-NUMA系统中, 确定所述源端NC和所述目的端NC之间的各条数据传输路径 ; 根 据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传 输路径中选取数据传输路径 ; 其中。
40、, 所述源端NC和所述目的端NC分别为待采用直接内存访 问 DMA 方式进行迁移的数据所对应的源端 NC 和目的端 NC ; 信号发送器, 用于将处理器选取 的数据传输路径的信息发送给所述源端 NC, 以使得所述源端 NC 通过选取的所述数据传输 路径, 采用直接内存访问 DMA 方式, 将所述源端 NC 中的待采用 DMA 方式进行迁移的数据传 输至所述目的端 NC。 0033 第六方面, 提供一种高速缓存非对称一致性内存访问系统中的数据迁移装置, 包 括 : 信号接收器, 用于接收中央管理器发送的数据传输路径的信息 ; 处理器, 用于通过信号 接收器接收的所述信息所表示的所述数据传输路径,。
41、 采用直接内存访问 DMA 方式, 将所述 说 明 书 CN 103324592 A 9 5/16 页 10 装置中的待采用 DMA 方式进行迁移的数据传输至目的端节点控制器 NC ; 其中, 所述中央管 理器采用下述方式确定所述数据传输路径 : 0034 从所述源端 NC 和所述目的端 NC 所共属的高速缓存非对称一致性内存访问 CC-NUMA 系统中, 确定所述源端 NC 和所述目的端 NC 之间的各条数据传输路径 ; 并根据获得 的所述各条数据传输路径所包含的各条传输链路的带宽占用率, 从所述各条数据传输路径 中选取所述数据传输路径。 0035 本发明实施例的有益效果如下 : 0036 。
42、通过本发明实施例提供的上述方案, 由于引入了源端 NC 和目的端 NC 之间的各条 数据传输路径所包含的各条传输链路的带宽占用率, 作为采用 DMA 方式迁移数据时所利用 的数据传输路径的选取依据, 从而在采用 DMA 方式迁移数据时, 不再是盲目地选取数据传 输路径, 而是可以该选取依据来选取合适的数据传输路径进行数据迁移, 从而避免了采用 DMA 方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。 附图说明 0037 图 1 为现有技术中的基于节点控制器的 CC-NUMA 系统拓扑示意图 ; 0038 图2为本发明实施例提供的一种CC-NUMA系统中的数据迁移控制方法的具体流。
43、程 示意图 ; 0039 图3为本发明实施例提供的一种CC-NUMA系统中的数据迁移方法的具体流程示意 图 ; 0040 图 4 为实施例 1 的实施场景示意图 ; 0041 图 5 为实施例 1 中实现采用 DMA 的方式迁移数据的流程示意图 ; 0042 图 6a 为现有技术中的数据迁移方案采用的具体架构的示意图 ; 0043 图 6b 为实施例 1 中的数据迁移方案采用的具体架构的示意图 ; 0044 图 7 为在 NC 中设置的用于实时监控传输链路的使用百分比的组件的示意图 ; 0045 图 8 为实施例 1 中采用的 “平均滑动窗口带宽统计方式” 的具体实现原理图 ; 0046 图 。
44、9 为在大型数据库中实现本发明实施例提供的数据迁移控制方法的示意图 ; 0047 图 10 为本发明实施例提供的第一种 CC-NUMA 系统中的数据迁移控制装置的具体 结构示意图 ; 0048 图 11 为本发明实施例提供的第一种 CC-NUMA 系统中的数据迁移装置的具体结构 示意图 ; 0049 图 12 为本发明实施例提供的第二种 CC-NUMA 系统中的数据迁移控制装置的具体 结构示意图 ; 0050 图 13 为本发明实施例提供的第二种 CC-NUMA 系统中的数据迁移装置的具体结构 示意图。 具体实施方式 0051 通过对现有技术进行研究发现, 现有的基于 NC 的 CC-NUMA。
45、 系统中, 正常的数据传 递 (即采用非 DMA 方式进行的数据传输) 都是以 64Byte 为单位的, 即数据量为 64Byte 的数 据包为一个高速缓冲存储器队列 (cache line) 。正常的数据传递的过程的特点为 : 数据包 说 明 书 CN 103324592 A 10 6/16 页 11 长度短、 数据包交互频率较高。 根据该特点可知, 正常的数据传递的过程中不适合采用动态 路由的方式来确定数据传输路径。这是由于动态路由的原理在于 : 在按照某数据传输路径 对数据进行传输的同时, 确定一条新的数据传输路径, 由于确定新的数据传输路径必然会 耗费一定的时间, 而正常的数据传递的过。
46、程中传输的数据包的长度较短, 因此可能新的数 据传输路径还没有确定完成, 数据包就已经按照某数据传输路径从源端 NC 发送到了目的 端 NC。 0052 由于动态路由不适合应用在小数据包 (如数据量为 64Byte 的数据包) 交互频繁的 CC-NUMA 系统中, 因此当前的基于 NC 的 CC-NUMA 系统中都是使用静态路由的方式。静态路 由的原理在于 : 在进行数据传输之前, 就根据某种数据传输路径确定规则, 确定源端 NC 与 目的端NC之间的数据传输路径 ; 然后再通过该数据传输路径, 将数据从源端NC迁移到目的 端 NC。 0053 相比于动态路由的方式, 上述静态路由的方式更适合。
47、应用于小数据包交互频繁的 CC-NUMA系统中。 然而, 由于基于DMA方式进行的数据迁移的处理对象一般是数据量较大的 数据, 从而静态路由的方式在基于 NC 的 CC-NUMA 系统中进行 DMA 方式下的数据迁移时又显 得不够灵活。究其原因, 主要是由于基于 DMA 方式进行的数据迁移一般是以 KB 甚至 MB 为 单位的, 从而数据迁移的持续时间比较长, 在这样的情况下, 一旦某条链路中的小数据包交 互频繁态, 而该条链路又要基于 DMA 方式来进行持续时间较长的数据迁移工作, 那么该条 链路就很容易成为 CC-NUMA 系统的热点传输路径而容易出现数据拥塞。 0054 由此可见, 基于。
48、 NC 的 CC-NUMA 系统中的基于 DMA 的数据传输过程需要采用一种新 型的数据传输路径的确定方式, 以避免形成热点传输路径和数据拥塞。 0055 为了解决上述技术问题, 本发明实施例提供了一种 CC-NUMA 系统中的数据迁移方 案。该方案引入了源端 NC 和目的端 NC 之间的各条数据传输路径所包含的各条传输链路的 带宽占用率, 作为采用 DMA 方式迁移数据时所利用的数据传输路径的选取依据, 从而在采 用 DMA 方式迁移数据时, 不再是盲目地选取数据传输路径, 而是可以该选取依据来选取合 适的数据传输路径进行数据迁移, 从而避免了采用 DMA 方式对数据进行迁移的过程中容易 形。
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, 根据获得的各条数据传输路径所包含的各条传输链路的带宽占。