CN103324592A - 一种数据迁移控制方法、数据迁移方法及装置 - Google Patents
一种数据迁移控制方法、数据迁移方法及装置 Download PDFInfo
- Publication number
- CN103324592A CN103324592A CN2013102532802A CN201310253280A CN103324592A CN 103324592 A CN103324592 A CN 103324592A CN 2013102532802 A CN2013102532802 A CN 2013102532802A CN 201310253280 A CN201310253280 A CN 201310253280A CN 103324592 A CN103324592 A CN 103324592A
- Authority
- CN
- China
- Prior art keywords
- transfer path
- data transfer
- data
- bar
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Bus Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种CC-NUMA系统中的数据迁移控制方法,通过引入源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。本发明实施例还提供一种CC-NUMA系统中的数据迁移控制装置,以及一种CC-NUMA系统中的数据迁移方法及装置。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种高速缓存非对称一致性内存访问系统中的数据迁移控制方法、数据迁移方法及装置。
背景技术
在基于节点控制器(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:
其中,b为滑动窗口带宽曲线位于滑动窗口[T-T0,T]的一段内的各点的纵坐标的值之和;c为滑动窗口带宽曲线位于滑动窗口[T-T0,T]的一段内的各点的总数。其中,c的大小取决于对传输链路的瞬时带宽进行采样时采用的采样率。
进一步地,根据下述公式[6],可以计算传输链路的使用百分比D:
其中,e为传输链路的额定带宽。
在NC计算出传输链路的使用百分比后,可以将其存储在NC的状态寄存器中。这样Central Manager就可以通过带外的接口,去实时访问NC的状态寄存器,从而就能够获知传输链路的使用百分比。
实施例1中,滑动窗口的大小可以具体通过对NC中的配置寄存器中的相关参数进行调整而改变。
实施例2
实施例2主要是将本发明实施例提供的数据迁移控制方法应用到大型数据库中,以提升大型数据库的全系统性能。
如图9所示,为在大型数据库中实现本发明实施例提供的数据迁移控制方法的示意图。此处,对于图9中的与前文所介绍过的图1和图4中对应的数字和字符等的含义相同的数字和字符等略过不提,而重点说明图9中不同于图1与图4的部分。该些部分包括:Orig Shared Data表示待采用DMA的方式进行迁移的原始数据;Shared Data Copy1~3表示从源端NC迁移到其他NC中并存储的Orig Shared Data;带有箭头的实线表示CPU防问与自身相连接的NC中通过DAM的方式迁移来的数据。
由图9可以看到,当CC-NUMA系统运行大型数据库时,会有很多的共享数据(即图中的Shared Data)需要在分布在不同NC处的CPU上使用。最有效的办法就是把这些共享数据迁移到使用该些共享数据的CPU所连接的NC中。比如,假设原始的共享数据(图中所示的Orig Shared Data)存在于NC0,那么通过采用DMA的方式,使得NC1、NC2、NC3都拥有Orig Shared Data的拷贝之后,NC1、NC2、NC3所分别连接的CPU就可以发起对与自身相连接的NC的数据访问了。比如,当NC2获得了通过Shared Data Copy2后,与NC2相连接的S4和S5就可以从NC2处访问该Shared Data Copy2了。在如图9所示的该系统中采用本发明实施例提供的数据迁移控制方法,可以动态的根据CC-NUMA系统中的传输链路的使用百分比计算最优路由路径,从而绕开当前热点传输路径。因此,本发明实施提供的数据迁移控制方法更适用于进行需要耗费较长时间的基于DMA方式的数据迁移过程。
出于与本发明实施例提供的第一种CC-NUMA系统中的数据迁移控制方法相同的发明构思,本发明实施例还提供一种CC-NUMA系统中的数据迁移控制装置。该装置的具体结构示意图如图10所示,包括下述功能单元:
数据传输路径确定单元101,用于从源端NC和目的端NC所共属的CC-NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;其中,源端NC和目的端NC分别为待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC;
数据传输路径选取单元102,用于根据获得的数据传输路径确定单元101确定的各条数据传输路径所包含的各条传输链路的带宽占用率,从数据传输路径确定单元101确定的各条数据传输路径中选取数据传输路径;
信息发送单元103,用于将数据传输路径选取单元102选取的数据传输路径的信息发送给源端NC,以使得源端NC通过选取的数据传输路径,采用直接内存访问DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。
可选的,数据传输路径确定单元101具体可以用于:接收到源端NC发送的请求采用DMA方式迁移数据的请求消息后,从源端NC和目的端NC所共属的CC-NUMA系统中确定各数据传输路径。
可选的,本发明实施例提供的该装置还可以包括:
数据量确定单元,用于确定源端NC中的待采用DMA方式进行迁移的数据的数据量。基于数据量确定单元的功能,数据传输路径选取单元102具体可以划分为以下能子单元:
时间确定子单元,用于根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及数据量确定单元确定的数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间;
数据传输路径选取子单元,用于根据时间确定子单元确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
可选的,上述数据传输路径选取子单元具体可以用于:从分别通过所述各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从各条数据传输路径中,选取该最短时间所对应的传输路径。
可选的,可以采用下述方式获得各条数据传输路径所包含的各条传输链路的带宽占用率:
针对各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由带宽监控组件所记录的、该条数据传输路径所包含的、特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除源端NC和目的端NC外的其他NC。
出于与本发明实施例提供的第一种CC-NUMA系统中的数据迁移方法相同的发明构思,本发明实施例还提供一种CC-NUMA系统中的数据迁移装置,该装置的具体结构示意图如图11所示,包括下述功能单元:
信息接收单元111,用于接收中央管理器发送的数据传输路径的信息;
数据传输单元112,用于通过信息接收单元111接收的数据传输路径的信息所表示的数据传输路径,采用DMA方式将该装置中的待采用DMA方式进行迁移的数据传输至目的端NC;
其中,中央管理器采用下述方式确定所述数据传输路径:
从源端NC和目的端NC所共属的CC-NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;并根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从各条数据传输路径中选取所述数据传输路径。
可选的,如图11所示的该装置还可以包括:
请求消息发送单元,用于向中央管理器发送请求采用DMA方式迁移数据的请求消息;则上述数据传输路径的信息是由中央管理器接收到该请求消息后发送的。
可选的,如图11所示的该装置还可以包括:
数据量确定单元,用于确定待采用DMA方式进行迁移的数据的数据量;
信息发送单元,用于将数据量确定单元确定的数据量的信息发送给所述中央管理器,以使得:中央管理器根据各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及信息发送单元发送的该数据量的信息,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
出于与本发明实施例提供的第二种CC-NUMA系统中的数据迁移控制方法相同的发明构思,本发明实施例还提供一种CC-NUMA系统中的数据迁移控制装置。该装置的具体结构示意图如图12所示,包括下述功能实体:
处理器121,用于从源端NC和目的端NC所共属的CC-NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;以及根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从确定的各条数据传输路径中选取数据传输路径;其中,源端NC和目的端NC分别为待采用DMA方式进行迁移的数据所对应的源端NC和目的端NC;
信号发送器122,用于将处理器121选取的数据传输路径的信息发送给源端NC,以使得源端NC通过选取的数据传输路径,采用直接内存访问DMA方式,将源端NC中的待采用DMA方式进行迁移的数据传输至目的端NC。
可选的,处理器121具体可以用于:接收到源端NC发送的请求采用DMA方式迁移数据的请求消息后,从源端NC和目的端NC所共属的CC-NUMA系统中确定各数据传输路径。
可选的,处理器121还可以用于确定源端NC中的待采用DMA方式进行迁移的数据的数据量。从而处理器121根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从确定的各条数据传输路径中选取数据传输路径,具体包括:根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及确定的数据量,确定分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间;根据确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
可选的,处理器121根据确定的分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径,具体可以包括:处理器121从分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间中,确定最短时间;从各条数据传输路径中,选取该最短时间所对应的传输路径。
可选的,可以采用下述方式获得各条数据传输路径所包含的各条传输链路的带宽占用率:
针对各条数据传输路径中的每条数据传输路径执行:从设置在该条数据传输路径上的特定NC中的带宽监控组件中,获取由带宽监控组件所记录的、该条数据传输路径所包含的、特定NC两侧的传输链路的带宽占用率;直至该条数据传输路径中的每条传输链路的带宽占用率均被不重复地获取完毕;其中,任意数据传输路径上的特定NC均满足:其为位于该数据传输路径上的、除源端NC和目的端NC外的其他NC。
出于与本发明实施例提供的第二种CC-NUMA系统中的数据迁移方法相同的发明构思,本发明实施例还提供另一种CC-NUMA系统中的数据迁移装置,该装置的具体结构示意图如图13所示,包括下述功能单元:
信号接收器131,用于接收中央管理器发送的数据传输路径的信息;
处理器132,用于通过信号接收器131接收的数据传输路径的信息所表示的数据传输路径,采用DMA方式将该装置中的待采用DMA方式进行迁移的数据传输至目的端NC;
其中,中央管理器采用下述方式确定所述数据传输路径:
从源端NC和目的端NC所共属的CC-NUMA系统中,确定源端NC和目的端NC之间的各条数据传输路径;并根据获得的各条数据传输路径所包含的各条传输链路的带宽占用率,从各条数据传输路径中选取所述数据传输路径。
可选的,处理器132还可以用于:向中央管理器发送请求采用DMA方式迁移数据的请求消息。基于处理器132的该功能,上述数据传输路径的信息可以是由中央管理器接收到处理器132发送的该该请求消息后发送的。
可选的,处理器132还可以用于:确定待采用DMA方式进行迁移的数据的数据量;将确定的数据量的信息发送给所述中央管理器,以使得:中央管理器根据各条数据传输路径所包含的各条传输链路的带宽占用率、各条数据传输路径所包含的各条传输链路的额定带宽以及信息发送单元发送的该数据量的信息,确定分别通过所述各条数据传输路径传输所述待采用DMA方式进行迁移的数据所耗费的时间,并根据分别通过各条数据传输路径传输待采用DMA方式进行迁移的数据所耗费的时间,从各条数据传输路径中选取数据传输路径。
通过本发明实施例提供的上述方案,由于引入了源端NC和目的端NC之间的各条数据传输路径所包含的各条传输链路的带宽占用率,作为采用DMA方式迁移数据时所利用的数据传输路径的选取依据,从而在采用DMA方式迁移数据时,不再是盲目地选取数据传输路径,而是可以该选取依据来选取合适的数据传输路径进行数据迁移,从而避免了采用DMA方式对数据进行迁移的过程中容易形成热点传输路径和数据拥塞的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
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之间的各条数据传输路径;并根据获得的所述各条数据传输路径所包含的各条传输链路的带宽占用率,从所述各条数据传输路径中选取所述数据传输路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310253280.2A CN103324592B (zh) | 2013-06-24 | 2013-06-24 | 一种数据迁移控制方法、数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310253280.2A CN103324592B (zh) | 2013-06-24 | 2013-06-24 | 一种数据迁移控制方法、数据迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103324592A true CN103324592A (zh) | 2013-09-25 |
CN103324592B CN103324592B (zh) | 2016-11-23 |
Family
ID=49193346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310253280.2A Active CN103324592B (zh) | 2013-06-24 | 2013-06-24 | 一种数据迁移控制方法、数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103324592B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530191A (zh) * | 2013-10-18 | 2014-01-22 | 杭州华为数字技术有限公司 | 热点识别处理方法及装置 |
CN104156322A (zh) * | 2014-08-05 | 2014-11-19 | 华为技术有限公司 | 一种缓存管理方法及缓存管理装置 |
WO2015188628A1 (zh) * | 2014-06-09 | 2015-12-17 | 华为技术有限公司 | 路径规划方法和控制器 |
CN105610840A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN105634694A (zh) * | 2014-11-03 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN105912441A (zh) * | 2016-04-05 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种numa芯片带宽监测的方法、装置及系统 |
CN107168778A (zh) * | 2017-03-30 | 2017-09-15 | 联想(北京)有限公司 | 一种任务处理方法及任务处理装置 |
US10013205B2 (en) | 2014-09-12 | 2018-07-03 | Huawei Technologies Co., Ltd. | Memory migration method and device |
CN108989127A (zh) * | 2018-08-15 | 2018-12-11 | 中科边缘智慧信息科技(苏州)有限公司 | 多数据中心间用户漫游与随遇接入方法 |
CN113641662A (zh) * | 2021-10-18 | 2021-11-12 | 中通服建设有限公司 | 一种信创数据库迁移校验方法 |
WO2022262468A1 (en) * | 2021-06-15 | 2022-12-22 | International Business Machines Corporation | Cloud data migration |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196738A1 (en) * | 2001-06-20 | 2002-12-26 | Nec Corporation | Data transmission system having a plurality of dynamic route control units |
CN101848167A (zh) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | 基于类的加权公平队列调度方法及装置 |
CN102780637A (zh) * | 2012-08-14 | 2012-11-14 | 虞万荣 | 空间容迟容断网络中数据传输的路由方法 |
CN103092807A (zh) * | 2012-12-24 | 2013-05-08 | 杭州华为数字技术有限公司 | 节点控制器、并行计算服务器系统以及路由方法 |
-
2013
- 2013-06-24 CN CN201310253280.2A patent/CN103324592B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196738A1 (en) * | 2001-06-20 | 2002-12-26 | Nec Corporation | Data transmission system having a plurality of dynamic route control units |
CN101848167A (zh) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | 基于类的加权公平队列调度方法及装置 |
CN102780637A (zh) * | 2012-08-14 | 2012-11-14 | 虞万荣 | 空间容迟容断网络中数据传输的路由方法 |
CN103092807A (zh) * | 2012-12-24 | 2013-05-08 | 杭州华为数字技术有限公司 | 节点控制器、并行计算服务器系统以及路由方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530191A (zh) * | 2013-10-18 | 2014-01-22 | 杭州华为数字技术有限公司 | 热点识别处理方法及装置 |
CN105897584A (zh) * | 2014-06-09 | 2016-08-24 | 华为技术有限公司 | 路径规划方法和控制器 |
US10187291B2 (en) | 2014-06-09 | 2019-01-22 | Huawei Technologies Co., Ltd. | Path planning method and controller |
WO2015188628A1 (zh) * | 2014-06-09 | 2015-12-17 | 华为技术有限公司 | 路径规划方法和控制器 |
CN105897584B (zh) * | 2014-06-09 | 2018-11-30 | 华为技术有限公司 | 路径规划方法和控制器 |
EP3151483A4 (en) * | 2014-06-09 | 2017-07-05 | Huawei Technologies Co., Ltd. | Path planning method and controller |
CN104156322B (zh) * | 2014-08-05 | 2017-10-17 | 华为技术有限公司 | 一种缓存管理方法及缓存管理装置 |
CN104156322A (zh) * | 2014-08-05 | 2014-11-19 | 华为技术有限公司 | 一种缓存管理方法及缓存管理装置 |
US10013205B2 (en) | 2014-09-12 | 2018-07-03 | Huawei Technologies Co., Ltd. | Memory migration method and device |
CN105634694B (zh) * | 2014-11-03 | 2019-09-03 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN105634694A (zh) * | 2014-11-03 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN105610840B (zh) * | 2015-12-31 | 2018-09-11 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN105610840A (zh) * | 2015-12-31 | 2016-05-25 | 华为技术有限公司 | 数据接收方法、装置和网卡 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN105912441A (zh) * | 2016-04-05 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种numa芯片带宽监测的方法、装置及系统 |
CN107168778A (zh) * | 2017-03-30 | 2017-09-15 | 联想(北京)有限公司 | 一种任务处理方法及任务处理装置 |
CN108989127A (zh) * | 2018-08-15 | 2018-12-11 | 中科边缘智慧信息科技(苏州)有限公司 | 多数据中心间用户漫游与随遇接入方法 |
CN108989127B (zh) * | 2018-08-15 | 2020-10-27 | 中科边缘智慧信息科技(苏州)有限公司 | 多数据中心间用户漫游与随遇接入方法 |
WO2022262468A1 (en) * | 2021-06-15 | 2022-12-22 | International Business Machines Corporation | Cloud data migration |
US11635903B2 (en) | 2021-06-15 | 2023-04-25 | International Business Machines Corporation | Cloud data migration |
CN113641662A (zh) * | 2021-10-18 | 2021-11-12 | 中通服建设有限公司 | 一种信创数据库迁移校验方法 |
CN113641662B (zh) * | 2021-10-18 | 2022-02-11 | 中通服建设有限公司 | 一种信创数据库迁移校验方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103324592B (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103324592A (zh) | 一种数据迁移控制方法、数据迁移方法及装置 | |
US20180227146A1 (en) | Network-on-chip, data transmission method, and first switching node | |
CN105119793A (zh) | 一种传感器网络can总线帧格式的标识符分配方法 | |
US9807002B2 (en) | Centralized route determination in communication networks | |
KR20070039580A (ko) | 통신 구성 요소의 메시지 메모리의 데이터에 대한 액세스를제어하기 위한 메시지 관리자 및 제어 방법 | |
CN112311494A (zh) | 一种报文传输方法、装置及系统 | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
KR101903058B1 (ko) | 셀 스케쥴링 방법 및 장치 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN111552701B (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
CN102904919A (zh) | 流处理方法和实现流处理的分布式系统 | |
JP5372699B2 (ja) | 車載ネットワーク装置 | |
CN113760559A (zh) | 一种双核通信方法和电子设备 | |
CN102739531A (zh) | 流量整形方法和流量整形设备 | |
CN114024844B (zh) | 数据调度方法、数据调度装置及电子设备 | |
Liu et al. | Opportunistic resource sharing in mobile cloud computing: The single-copy case | |
WO2020248857A1 (zh) | 数据拥塞控制及带宽预估方法 | |
CN110928693B (zh) | 一种计算设备及资源分配方法 | |
JP2015115864A (ja) | データ転送システム及びデータ転送システムの制御方法 | |
JP2018032344A (ja) | 分散同期処理システムおよび分散同期処理方法 | |
CN107506175A (zh) | 一种基于执行效率梯度预测的数据流图拥塞检测方法 | |
CN112437021B (zh) | 路由控制方法、装置、路由设备及存储介质 | |
CN117041186B (zh) | 数据传输方法、芯片系统、计算设备及存储介质 | |
JP4367427B2 (ja) | 計算機システム、並列計算機システムにおける通信方法、およびプログラム | |
US9336172B2 (en) | Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |