一种二维胖树网络拓扑的设计方法及装置与流程

文档序号:26594976发布日期:2021-09-10 22:09阅读:277来源:国知局
一种二维胖树网络拓扑的设计方法及装置与流程

1.本技术涉及超级计算机技术领域,尤其涉及一种二维胖树网络拓扑的设计方法及装置。


背景技术:

2.现代超级计算机普遍采用了包含i/o转发层的存储体系结构,而二维胖树网络是现代超级计算机常采用的一种包含i/o转发层的存储体系结构,二维胖树网络包括计算结点、i/o转发结点以及存储结点。超级计算机通过二维胖树网络进行数据访问的过程为:计算结点将数据读写的i/o请求发送给i/o转发结点,由i/o转发结点替它们从存储系统中访问数据。由于i/o请求需要经过计算结点与i/o转发结点、i/o转发结点与存储系统之间的两段网络才能最终访问到数据,因此,i/o路径中的网络距离将会显著影响i/o访问数据的效率。
3.目前,超级计算机采用的二维胖树网络拓扑结构为:将i/o转发结点与存储结点按类型分别集中放置,且两种类型结点的位置关系并无特殊考虑。在一个典型的超级计算机i/o转发结点和存储结点的位置配置下,所有i/o转发结点放置在一个机框内,所有存储结点放在另一个机框内。但是,由于i/o转发结点需要服务的计算结点可能分布于二维胖树网络中的任何行列,因此计算结点至i/o转发结点的通信距离不尽相同。对于与i/o转发结点同行或同列的计算结点,它们的i/o路径较短,i/o效率较高;对于与i/o转发结点既不同行也不同列的计算结点,它们的i/o路径较长,i/o效率较为低下。若一个大规模并行程序同时在“快结点”与“慢结点”上运行,这些“慢结点”可能造成“短板效应”,将严重影响并行程序的整体性能。


技术实现要素:

4.本技术解决的技术问题是:针对现有技术中部分i/o转发结点的i/o效率较低以及影响大规模并行程序的整体性能,本技术提供了一种二维胖树网络拓扑的设计方法及装置,本技术实施例所提供的方案中,将初始二维胖树网络中放置的多个i/o转发结点均匀分布至初始二维胖树网络中的每一行或每一列得到新的二维胖树网络,在新的二维胖树网络中i/o转发结点与存储结点处于同一行或同一列中,保持了i/o转发结点与存储结点之间的网络距离与初始二维胖树网络中的一样,然后设置每一行的i/o转发结点仅服务同一行的计算结点,或每一列的i/o转发结点仅服务同一列的计算结点,缩短了初始二维胖树网络中部分计算结点到对应的i/o转发结点之间的距离,使得新的二维胖树网络中任一计算结点到对应的i/o转发结点之间的距离较短且一致,不仅提升了大部分计算结点的i/o效率,还避免了“慢结点”造成“短板效应”,所导致影响大规模并行程序的整体性能的问题。
5.第一方面,本技术实施例提供一种二维胖树网络拓扑的设计方法,该方法包括:
6.分别计算预设的初始二维胖树网络中的行数、列数和i/o转发结点的第一数目;
7.根据所述行数、所述列数以及第一数目将所述初始二维胖树网络中的i/o转发结
点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络;
8.设置所述新的二维胖树网络中任一行的i/o转发结点仅服务所述任一行的计算结点,或任一列的i/o转发结点仅服务所述任一列的计算结点。
9.本技术实施例所提供的方案中,将初始二维胖树网络中放置的多个i/o转发结点均匀分布至初始二维胖树网络中的每一行或每一列得到新的二维胖树网络,在新的二维胖树网络中i/o转发结点与存储结点处于同一行或同一列中,保持了i/o转发结点与存储结点之间的网络距离与初始二维胖树网络中的一样,然后设置每一行的i/o转发结点仅服务同一行的计算结点,或每一列的i/o转发结点仅服务同一列的计算结点,缩短了初始二维胖树网络中部分计算结点到对应的i/o转发结点之间的距离,使得新的二维胖树网络中任一计算结点到对应的i/o转发结点之间的距离较短且一致,不仅提升了大部分计算结点的i/o效率,还避免了“慢结点”造成“短板效应”,所导致影响大规模并行程序的整体性能的问题。
10.可选地,根据所述行数、所述列数以及所述第一数目将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络,包括:
11.根据所述行数和所述第一数目计算均匀分配到所述每一行的i/o转发结点的第二数目;根据所述第二数目以及预设的第一放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行;或
12.根据所述列数和所述第一数目计算均匀分配到所述每一列的i/o转发结点的第三数目;根据所述第三数目以及预设的第二放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一列。
13.可选地,所述预设的第一放置规则,包括:
14.若任一行不存在存储结点,将所述第二数目的i/o转发结点放置到所述任一行中与存储结点同列的机框中;
15.若任一行存在存储节点,将所述第二数目的i/o转发结点放置到与存储节点同行的机框中。
16.可选地,所述预设的第二放置规则,包括:
17.若任一列不存在存储结点,将所述第三数目的i/o转发结点放置到所述任一列中与存储结点同行的机框中;
18.若任一列存在存储节点,将所述第三数目的i/o转发结点放置到与存储节点同列的机框中。
19.第二方面,本技术实施例提供了一种二维胖树网络拓扑的设计装置,该装置包括:
20.计算单元,用于分别计算预设的初始二维胖树网络中的行数、列数和i/o转发结点的第一数目;
21.分配单元,用于根据所述行数、所述列数以及第一数目将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络;
22.设置单元,用于设置所述新的二维胖树网络中任一行的i/o转发结点仅服务所述任一行的计算结点,或任一列的i/o转发结点仅服务所述任一列的计算结点。
23.可选地,所述分配单元,具体用于:
24.根据所述行数和所述第一数目计算均匀分配到所述每一行的i/o转发结点的第二数目;根据所述第二数目以及预设的第一放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行;或
25.根据所述列数和所述第一数目计算均匀分配到所述每一列的i/o转发结点的第三数目;根据所述第三数目以及预设的第二放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一列。
26.可选地,所述预设的第一放置规则,包括:
27.若任一行不存在存储结点,将所述第二数目的i/o转发结点放置到所述任一行中与存储结点同列的机框中;
28.若任一行存在存储节点,将所述第二数目的i/o转发结点放置到与存储节点同行的机框中。
29.可选地,所述预设的第二放置规则,包括:
30.若任一列不存在存储结点,将所述第三数目的i/o转发结点放置到所述任一列中与存储结点同行的机框中;
31.若任一列存在存储节点,将所述第三数目的i/o转发结点放置到与存储节点同列的机框中。
附图说明
32.图1为本技术实施例所提供的一种二维胖树网络拓扑的设计方法的流程示意图;
33.图2为本技术实施例所提供的一种初始二维胖树网络的结构示意图;
34.图3为本技术实施例所提供的一种新的二维胖树网络的结构示意图;
35.图4为本技术实施例所提供的一种二维胖树网络拓扑的设计装置的结构示意图。
具体实施方式
36.本技术实施例提供的方案中,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
37.以下结合说明书附图对本技术实施例所提供的一种二维胖树网络拓扑的设计方法,该方法具体实现方式可以包括以下步骤(方法流程如图1所示):
38.步骤101,分别计算预设的初始二维胖树网络中的行数、列数和i/o转发结点的第一数目。
39.具体的,在本技术实施例所提供的方案中,初始二维胖树网络为传统的二维胖树网络。i/o转发结点的第一数目是指初始二维胖树网络中所有的i/o转发结点数目。
40.例如,参见图2,为本技术实施例提供的一种初始二维胖树网络的结构示意图。在图2中,二维胖树网络包括的机框为4
×
4,同一行的机框通过行交换机相连,同一列的机框通过列交换机,同一机框内的结点间通过本地机框交换板通信。在二维胖树网络中每个机框包含若干个相同数量的结点,其中,结点分为三类,包括计算结点、i/o转发结点和存储结点。
41.在图2中,第一行机框为00、01、02、03;第二行机框为10、11、12、13;第三行机框为
20、21、22、23;第四行机框为30、31、32、33。第一列机框为00、10、20、30;第二列机框为01、11、21、31;第三列机框为02、12、22、32;第四列机框为03、13、23、33。第一行机框通过行交换机r0相连,第二行机框通过行交换机r1相连,第三行机框通过行交换机r2相连,第四行机框通过行交换机r3相连;第一列机框通过列交换机c0相连,第二列机框通过列交换机c1相连,第三列机框通过列交换机c2相连,第四列机框通过列交换机c3相连。机框00、01、02、03、10、11、12、13、20、21、22、23、30、31所包含若干个结点均为计算结点,机框32所包含若干个结点均为i/o转发结点,机框33所包含若干个结点均为存储结点。
42.进一步,在图2中,不同机框但同一行的结点间通过行交换机通信,如30机框与32机框中的结点间的通信路径为30

r3

32。不同机框但同一列的结点间通过列交换机通信,如02机框与32机框中的结点间的通信路径为02

c2

32。既不同行又不同列的结点间通过行、列交换机通信,如00机框与32机框中的结点间的通信路径为00

r0

02

c2

32。由于32机框中的i/o转发结点需要服务的计算结点可能分布于二维胖树网络中的任何行列,因此大部分计算结点与i/o转发结点既不同行也不同列,i/o路径的网络距离较长,i/o效率低下。
43.步骤102,根据所述行数、所述列数以及第一数目将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络。
44.具体的,可以将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一行,也可以分配到初始二维胖树网络中的每一列。在本技术实施例所提供的方案中,将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一行,或分配到初始二维胖树网络中的每一列方式有多种,下面以其中一种为例进行说明。
45.在一种可能实现的方式中,根据所述行数、所述列数以及所述第一数目将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络,包括:
46.根据所述行数和所述第一数目计算均匀分配到所述每一行的i/o转发结点的第二数目;根据所述第二数目以及预设的第一放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行;或
47.根据所述列数和所述第一数目计算均匀分配到所述每一列的i/o转发结点的第三数目;根据所述第三数目以及预设的第二放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一列。
48.进一步,在一种可能实现的方式中,所述预设的第一放置规则,包括:若任一行不存在存储结点,将所述第二数目的i/o转发结点放置到所述任一行中与存储结点同列的机框中;若任一行存在存储节点,将所述第二数目的i/o转发结点放置到与存储节点同行的机框中。
49.进一步,在一种可能实现的方式中,,所述预设的第二放置规则,包括:若任一列不存在存储结点,将所述第三数目的i/o转发结点放置到所述任一列中与存储结点同行的机框中;若任一列存在存储节点,将所述第三数目的i/o转发结点放置到与存储节点同列的机框中。
50.为了便于理解下面分别对将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一行,或分配到初始二维胖树网络中的每一列的过程进行简要
介绍。
51.一、将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一行。
52.具体的,将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一行的步骤如下所示:
53.步骤1,计算超级计算机中初始二维胖树网络的行数n
r
,i/o转发结点数量n
ion

54.步骤2,将原本放置于同一行的i/o转发结点,均匀分散至二维胖树网络的每一行中,每一行的i/o转发结点数量为n
ion
/n
r

55.步骤3,对于没有存储结点的每一行,将n
ion
/n
r
个i/o转发结点放置于与存储结点同列的机框中。此时i/o转发结点与存储结点在同一列中,它们之间的网络距离与优化前保持一致。
56.步骤4,对于含有存储结点的每一行,将n
ion
/n
r
个i/o转发结点放置于与存储结点同行的机框中。此时i/o转发结点与存储结点在同一行中,它们之间的网络距离与优化前保持一致。
57.二、将初始二维胖树网络中所有的i/o转发结点均匀的分配到初始二维胖树网络中的每一列。
58.在本技术实施例所提供的方案中,i/o转发结点均匀分布至行的方式可以替换为均匀分布至列的方式,替换后可在其它步骤不变的情况下起到同样的优化效果。即i/o转发结点均匀分布至二维胖树每一行中的方式,可替换为将i/o转发结点均匀分布至二维胖树的每一列中。具体的,i/o转发结点均匀分布至列的方式在此不做赘述。
59.例如,参见图3,为本技术实施例提供的一种新的二维胖树网络的结构示意图。在图3中,二维胖树网络包括的机框为4
×
4,其中,第一行机框为00、01、02、03;第二行机框为10、11、12、13;第三行机框为20、21、22、23;第四行机框为30、31、32、33。第一列机框为00、10、20、30;第二列机框为01、11、21、31;第三列机框为02、12、22、32;第四列机框为03、13、23、33。第一行机框通过行交换机r0相连,第二行机框通过行交换机r1相连,第三行机框通过行交换机r2相连,第四行机框通过行交换机r3相连;第一列机框通过列交换机c0相连,第二列机框通过列交换机c1相连,第三列机框通过列交换机c2相连,第四列机框通过列交换机c3相连。机框00、01、02、10、11、12、20、21、22、30、31所包含若干个结点均为计算结点,机框03、13、23、32包含若干个i/o转发结点和若干个计算结点,机框33所包含若干个结点均为存储结点。即在新的二维胖树网络中i/o转发结点与存储结点处于同一行或同一列中,保持了i/o转发结点与存储结点之间的网络距离与初始二维胖树网络一样。
60.步骤103,设置所述新的二维胖树网络中任一行的i/o转发结点仅服务所述任一行的计算结点,或任一列的i/o转发结点仅服务所述任一列的计算结点。
61.本技术实施例所提供的方案中,将初始二维胖树网络中放置的多个i/o转发结点均匀分布至初始二维胖树网络中的每一行或每一列得到新的二维胖树网络,在新的二维胖树网络中i/o转发结点与存储结点处于同一行或同一列中,保持了i/o转发结点与存储结点之间的网络距离与初始二维胖树网络中的一样,然后设置每一行的i/o转发结点仅服务同一行的计算结点,或每一列的i/o转发结点仅服务同一列的计算结点,缩短了初始二维胖树网络中部分计算结点到对应的i/o转发结点之间的距离,使得新的二维胖树网络中任一计
算结点到对应的i/o转发结点之间的距离较短且一致,不仅提升了大部分计算结点的i/o效率,还避免了“慢结点”造成“短板效应”,所导致影响大规模并行程序的整体性能的问题。
62.基于与图1所示的方法相同的发明构思,本技术实施例提供了一种二维胖树网络拓扑的设计装置,参见图4,该装置包括:
63.计算单元401,用于分别计算预设的初始二维胖树网络中的行数、列数和i/o转发结点的第一数目;
64.分配单元402,用于根据所述行数、所述列数以及第一数目将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行或每一列得到新的二维胖树网络;
65.设置单元403,用于设置所述新的二维胖树网络中任一行的i/o转发结点仅服务所述任一行的计算结点,或任一列的i/o转发结点仅服务所述任一列的计算结点。
66.可选地,所述分配单元402,具体用于:
67.根据所述行数和所述第一数目计算均匀分配到所述每一行的i/o转发结点的第二数目;根据所述第二数目以及预设的第一放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一行;或
68.根据所述列数和所述第一数目计算均匀分配到所述每一列的i/o转发结点的第三数目;根据所述第三数目以及预设的第二放置规则将所述初始二维胖树网络中的i/o转发结点均匀分配到所述初始二维胖树网络的每一列。
69.可选地,所述预设的第一放置规则,包括:若任一行不存在存储结点,将所述第二数目的i/o转发结点放置到所述任一行中与存储结点同列的机框中;若任一行存在存储节点,将所述第二数目的i/o转发结点放置到与存储节点同行的机框中。
70.可选地,所述预设的第二放置规则,包括:若任一列不存在存储结点,将所述第三数目的i/o转发结点放置到所述任一列中与存储结点同行的机框中;若任一列存在存储节点,将所述第三数目的i/o转发结点放置到与存储节点同列的机框中。
71.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
72.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
73.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
74.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
75.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1