CN112165405B - 基于网络拓扑结构的超级计算机大数据处理能力测试方法 - Google Patents
基于网络拓扑结构的超级计算机大数据处理能力测试方法 Download PDFInfo
- Publication number
- CN112165405B CN112165405B CN202011093055.3A CN202011093055A CN112165405B CN 112165405 B CN112165405 B CN 112165405B CN 202011093055 A CN202011093055 A CN 202011093055A CN 112165405 B CN112165405 B CN 112165405B
- Authority
- CN
- China
- Prior art keywords
- vertex
- cur
- current
- switch
- tree
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于网络拓扑结构的超级计算机大数据处理能力测试方法,目的是提高超级计算机大数据处理能力测试速度。技术方案是:生成图G并构建G的邻接矩阵A;根据被测超级计算机系统胖树网络结构确定N叉树拓扑结构模型,按照N叉树通信拓扑模型将图G的顶点重新分布到被测超级计算机的高性能计算结点上,得到与N叉树拓扑结构模型相适应的匹配树,根据匹配树对图G进行BFS搜索,计算图测试性能的评价值。采用本发明能最大限度地发挥超级计算机网络通信带宽利用率,最小化关联结点间的通信路径,提高网络和访存带宽利用率,提高超级计算机大数据处理能力测试速度。
Description
技术领域
本发明涉及超级计算机大数据处理能力测试方法,尤指基于网络拓扑结构的超级计算机大数据处理能力测试方法。
背景技术
图结构是大数据应用中最重要的数据结构之一,在众多领域中得到广泛的应用,如社交媒体、生物信息学、天体物理学、人工智能、数据挖掘等等。这些应用的共同特点是数据量大和结构复杂,往往可以达到数万亿个节点和边,这导致在数据存储和计算力方面具有更高的需求。超级计算机主要用于数值计算,大多数HPC(High Performance Computing)基准测试都是以计算力作为衡量标准,如Top 500采用的 HPL(High PerformanceLinpack);在数据密集型应用广泛兴起的大数据时代,Graph 500作为Top500的重要补充,是测试超级计算机计算力(即超级计算机对数据的处理能力)的新的基准测试程序。Graph500以每秒遍历图中边的数量TEPS(Traversed Edge Per Second)来衡量超级计算机的大数据处理能力。超级计算机系统通常由计算结点、存储结点、互连网络组成,其中,计算结点和存储结点通过交换机由互连网络连接组成超级计算机系统,结点间的交互信息均通过交换机转发(2个相互通信的结点间需要通过的交换机个数称为节点间路径的跳数,跳数越多则路径越长),转发消息经互连网络达到目标结点,通常情况下,与交换机直接连接的高性能结点(包括计算结点和存储结点)称为交换机直接路由范围的结点或直连结点或直连结点隶属于该交换机,同一交换机直接连接的高性能结点之间的通信,通信路径简单,只需要1步跳数就可以完成通信交互,隶属于不同交换机的高性能结点之间的通信路径相对复杂,需要多步跳数才能完成通信,带宽利用率和效率是Graph500测试性能的关键因素,通信路径越简单,通信效率越高,带宽性能表现也越好。因此,基于网络拓扑结构尽量将存在边关联的结点分布至同一交换机直接路由范围内,能够有效简化通信路径,提升Graph500测试性能。
Graph500基准测试程序由图生成、图存储变换、BFS搜索与验证、结果输出四部分组成,如图1所示。
第一步,图生成:通过Kronecker图生成器生成随机图结构G=(V,E),V为顶点集合,V中包含NV个顶点,NV为正整数;E为边集合,E中包含NE条边,NE为正整数;通常使用vi表示图中编号为i的顶点,使用顶点对(vi,vj)表示顶点i到顶点j 的边。(vi,vj)∈E,0≤i≤NV-1,0≤j≤NV-1,NV为V中顶点个数。
第二步,图存储变换与分布:将图G转化为邻接矩阵,以邻接矩阵的形式来存储图G,并将图G采用scatter发散操作(分布式并行编程MPI规范标准操作函数) 分布至超级计算机各处理结点。G转化成邻接矩阵A,A中的第i行Ai为邻接表。如图2所示,形如图2中 (a)的图G可用图2中 (b)的邻接矩阵A表示,A中第i行第j列的元素Aij表示边(vi,vj)。通常使用1表示存在这样的边,0表示不存在这样的边。
第三步,BFS(Breadth-First Search)搜索与验证:随机生成一个树根顶点,并以树根顶点为源点对图G进行BFS搜索,记录图G中每个顶点的前驱顶点(树根顶点的前驱顶点为顶点本身),输出BFS生成树作为搜索结果,并验证BFS生成树是否与原图G的信息匹配。该过程循环64次。
第四步,结果输出:Graph500用每秒遍历的边数TEPS来衡量程序的执行性能,TEPS为图G的边数M除以有效计时时间t,即,64次循环遍历分别计算TEPS=M/t,然后取64个TEPS的调和平均值作为Graph500最终测试和排名的依据。
综上所述,Graph500中BFS搜索中需要一次对V中所有顶点依次遍历。考查V 中其它顶点与根顶点之间的关系,标准的Graph500搜索属于盲目的BFS完全访问模式,任意顶点间均存在访问通信,导致标准Graph500中顶点分布与网络拓扑结构并不能完好匹配,相关联顶点间的通信路径变长,严重影响系统带宽利用率,制约了 Graph500的性能提升。
若能在Graph500基准测试程序的图分布过程(即第二步)中依据计算机系统网络拓扑结构将存在边关联的顶点尽可能分布至同层交换机路由范围内,则能提高超级计算机系统带宽利用率,减少不必要的网络通信,提升Graph500测试性能。目前还没有公开文献涉及这方面的研究。
发明内容
本发明要解决的技术问题在于:利用BFS遍历被测超级计算机网络拓扑结构,提出一种基于网络拓扑结构的超级计算机大数据处理能力测试方法,以用于超级计算机大数据处理能力测试,最小化通信路径,提高网络和访存带宽利用率,提高超级计算机大数据处理能力(即计算力)测试速度。
本发明技术方案为:
第一步、图生成。采用Kronecker图生成器生成随机图结构G=(V,E),V为顶点集合,V中包含NV个顶点,NV为正整数;E为边集合;E中包含NE条边,NE为正整数;使用vi表示G中编号为i的顶点,使用顶点对(vi,vj)表示顶点i到顶点j的边,(vi,vj)∈E,0≤i≤NV-1,0≤j≤NV-1,i和j均为正整数;
第二步、图存储变换。构建存储图G的邻接矩阵A。Aij=0表示顶点i与顶点j 之间没有边,Aij=1表示顶点i与顶点j之间有边;此时V中顶点是随机分布至高性能结点上的,不利于大规模图遍历性能的提升。
第三步、根据被测超级计算机系统胖树网络结构确定N叉树拓扑结构模型(N 为2的整数次幂,N=2时为二叉树、N=8时为八叉树,这2种应用最广泛)。胖树网络是一种广泛应用于被测超级计算机系统网络互连的网络拓扑结构模型,Q+2层的胖树网络通常由根交换机、Q层节点交换机、叶交换机组成。根交换机的网络接口上连接第1层节点交换机,第q层节点交换机的网络接口上连接第q+1层节点交换机,1≤q≤Q-1,第Q层节点交换机的网络接口上连接叶交换机。叶交换机的端口连接被测超级计算机系统的高性能结点,图G的顶点存储在高性能结点上。Q由超级计算机系统高性能结点总数M的值和N的值共同确定,操作符表示向上取整。胖树网络中的根交换机、节点交换机、叶交换机一般采用相同的交换机NRM(Network Router Monitor),NRM的作用是将超级计算机系统高性能结点接入到高速互连网络中,每个NRM通常包含1个网络进口,N个网络出口,因此根据NRM的网络出口数N确定被测超级计算机的胖树网络结构为N叉树网络拓扑结构模型。确定方法为:根交换机(包含一个NRM)的网络进口备用;第q层节点交换机(包含Nq个NRM)的网络进口(共Nq个)与第q-1层节点交换机的网络出口相连,第q层节点交换机的网络出口(共N×Nq个)分别与第q+1层节点交换机的网络进口相连;q等于1时,第q-1层节点交换机指根交换机;第Q层节点交换机的N×NQ个网络出口分别与N×NQ个叶交换机相连,叶交换机的网络出口与超级计算机系统高性能结点相连(例如,对于Q=1,N=2时的2叉树,第1层节点交换机共有N×NQ=2×21=4个网络出口,分别与与N×NQ=4个叶交换机相连, 4个叶节点交换机共有8个网络出口,因此最多可连接23个超级计算机高性能结点;对于N叉树,最多可连接N(Q +2)个超级计算机高性能结点。
第四步、按照N叉树拓扑结构模型将图G的顶点重新分布到被测超级计算机的高性能计算结点上,使得存在边关联的结点尽量分布至同一交换机直接路由范围内,得到与N叉树拓扑结构模型相适应的匹配树,具体方法如下:
4.1.查询被测超级计算机系统体系结构文件,获取被测超级计算机系统的网络拓扑结构,获得每个叶交换机连接被测超级计算机系统高性能结点的有效端口数cn(例如天河超级计算机网络芯片中cn=8);
4.2.从G中随机选择一个顶点v作为匹配树的树根顶点;
4.3.令匹配树的当前根顶点Cur=v;
4.4.令变量cn'=cn-1;
4.5.依据有效端口数cn,将与v存在边关联的cn'个顶点分布至v所属的叶交换机路由范围内(即,当前根顶点与关联的cn'个顶点属于同一叶交换机叶路由范围,此时,仅需要一个跳步数即可互相访问),若与当前根顶点Cur相关联的顶点数大于cn,选择逻辑编号相近的(图生成时,每个图顶点会获得一个ID号,如0,1,3,)cn'个顶点分布至Cur所属的叶交换机路由范围内的高性能结点上;若与Cur相关联的顶点数小于cn,选取与Cur没有边关联但逻辑编号相近的顶点补齐(即每个叶交换机应连接cn个高性能结点,每个叶交换机路由范围内应分配cn个顶点,直至没有顶点可分配),具体步骤如下:
4.5.1.定义变量i=0;
4.5.3.初始化叶交换机集合R={r1,r2,…,rp,…,rnr},nr为被测超级计算机中的叶交换机总数,rp是被测超级计算机中的第p个叶交换机,1≤p≤nr;
4.5.4.初始化临时端口数port=cn,初始化端口剩余变量Δcn=cn;
4.5.5.初始化当前根顶点Cur的有效关联顶点数cpn=0;
4.5.6.令变量j=i;
4.5.8.从R中删除当前叶交换机,即,R=R-{rp};
4.5.9.从V选取顶点vi,并令为当前根顶点Cur=vi,将Cur的顶点相关信息分布至当前叶交换机rp路由范围内的高性能计算结点;
4.5.10.令port=port-1;
4.5.11.将已完成分布处理的Cur加入已分布集合S,即,令 S=S+{vi};cpn=cpn+1,Δcn=Δcn-1;
4.5.12.令j=j+1;
4.5.13.若j≤NV-1,转4.5.14,否则,转4.5.24;
4.5.14.若Δcn>0,说明当前叶交换机rp关联顶点数小于cn,转 4.5.15;否则,关联顶点数大于cn,转4.5.20;
4.5.15.遍历G的邻接矩阵A,查询与Cur关联的顶点vj,即判断Aij=1是否成立,若成立,转4.5.16;若不成立,令Sd=Sd+{vj},转4.5.12继续查找关联顶点;
4.5.16.若Δcn>0,将顶点vj分布至当前叶交换机rp路由范围内的高性能计算节点,令S=S+{vi},转4.5.17;否则,关联顶点数大于cn,转4.5.20。
4.5.17.令cpn=cpn+1,Δcn=Δcn-1;
4.5.18.若Δcn>0,转4.5.19;否则,与Cur存在边关联的顶点数大于cn,转4.5.20;
4.5.19.若cpn≤cn,转4.5.12,继续查找Cur的关联顶点;否则, Cur的关联顶点数大于cn,转4.5.20;
4.5.20.与Cur关联的顶点数大于cn,按以下方法进行处理:将Sd中与vi编号最近的顶点vj取出并分布至与当前叶交换机rp路由范围内的高性能计算节点,令Δcn=Δcn-1,Sd=Sd-{vj};
4.5.21.若Δcn>0成立,转4.5.22;否则,转4.5.23。
4.5.22.将vj加入集合S,即,S=S+{vj};
4.5.23.令port=port-1;
4.5.24.若port<Δcn,当前交换有效端口还没有用完,转4.5.19,否则,当前根节点Cur分布完毕,转4.5.25,继续分布G中的剩余顶点;
4.5.25.令i=i+1;
4.5.26.若i≤NV-1成立,转4.5.5,否则,G中的所有顶点均已分布,转第五步;
第五步、根据匹配树对图G进行BFS搜索,具体方法如下:
5.1.数据结构定义,具体方法如下:
5.1.1.定义未被访问的顶点集合Vns=V;
5.1.2.定义BFS搜索的顶点中间集合D-tmp=Vns;
5.1.3.定义分布后中间集合Deg-tmp=S,此时S中连续分布的图顶点存储的高性能结点属于同一个交换机路由范围,依据“将与当前根顶点Cur存在边关联的cn'个顶点分布至Cur所属的叶交换机路由范围内”的原则,当前根顶点Cur与cn'个顶点之间大概率存在边关联,以当前根顶点Cur与cn'个顶点为基础,依据第三步构造的N叉树拓扑结构模型将图顶点分布至高性能计算结点上;
5.1.8.在V中随机选定一个顶点vr作为树根节点,即源顶点, r=0,1,…,NV-1;
5.1.10.将vr加入已被访问过的顶点集合Vs中,即令Vs=Vs+{Vr};
5.1.11.将顶点vr加入当前顶点集合Cur中,即令Cur=Cur+{Vr};
5.2.循环遍历,一次循环输出一棵生成树,循环64次,输出64棵生成树,具体方法如下:
5.2.1.定义循环变量k=0,定义变量m=0;
5.2.2.获取系统时刻t1;
5.2.3.若k<64,转5.2.4;否则,转第六步;
5.2.4.同层遍历,利用度数高的顶点存在边关联的概率也高的特点,遍历搜索Cur中节点的子节点,具体方法如下:
5.2.4.3.在Cur中任取一个顶点vi,记为当前根节点vcs,cs=0,1,…,NV;
5.2.4.4.从Cur中删除vcs,即令Cur=Cur-{vcs};
5.2.4.6.从未被访问的顶点集合Vns中删除当前根节点vcs,即 Vns=Vns-{vcs};
5.2.4.7.从Deg-tmp中选择一个顶点,令为vj;
5.2.4.8.查询邻接矩阵A,若Aij=1,表示顶点vi与顶点vj之间有边,执行5.2.4.9,否则,转5.2.4.11;
5.2.4.9.从集合Deg-tmp中删除已有边关联的顶点,即 Deg-tmp=Deg-tmp-{vj};
5.2.4.11.更新当前根节点vcs,即,Soni=Soni+{vj};
5.2.4.12.更新当前层的子节点集合L-Son,即令L-Son=L-Son+{vj};
5.2.4.13.将当前根节点的子节点集合以集合元素的形式加入Sonr中,即 Sonr=Sonr+{Soni};
5.2.4.14.变量m=m+1;
5.2.4.15.将顶点vj从Vns中删除,即令Vns=Vns-{vj};
5.2.4.17.从当前顶点集合Cur中删除前根节点vcs,即令Cur=Cur-{vcs};
5.2.4.18.转5.2.4.1;
5.2.5.层间遍历,具体方法如下:
5.2.5.2.将当前层子节点集合L-Son赋值给当前顶点集合Cur,即令 Cur=L-Son;
5.2.5.3.获取系统时刻t2;
5.2.5.4.记录第k次启发式遍历搜索的时间t=t2-t1;
5.2.6.输出树根节点集合Sonr,Sonr即为第k轮循环以顶点vr作为树根节点的BFS的生成树rootk-r;
5.2.8.k=k+1,转5.2.3;
第六步、计算图测试性能的评价值,即64棵生成树的BFS遍历测试性能值平均值获得测试结果。TEPS值越高表明超级计算机的大规模图处理能力越强,Graph500排名也越靠前,同时也反映了该超级计算机越适合与大数据处理。
第七步、结束。
采用本发明可以达到以下技术效果:
1.本发明第三步将被测超级计算机胖树网络结构抽象成N叉树逻辑拓扑结构模型。该N叉树拓扑结构与超级计算机系统的网络拓扑结构完好匹配,最大限度地发挥超级计算机网络通信带宽利用率。
2.本发明第四步基于N叉树拓扑结构完成顶点重新分布,能够最小化关联结点间的通信路径,提升Graph500的测试性能,提高超级计算机大数据处理能力测试速度。
附图说明
图1为Graph500测试基准程序流程图;
图2为图的邻接矩阵表示示意图;图2中 (a)为一个有向无权图;图2中 (b)为图 2中 (a)的邻接矩阵;
图3为N叉树拓扑路由结构图;
图4为本发明总体流程图。
具体实施方式
图4为本发明总体流程图,如图4所示,本发明包括以下步骤:
第一步、图生成。采用Kronecker图生成器生成随机图结构G=(V,E),V为顶点集合,V中包含NV个顶点,NV为正整数;E为边集合;E中包含NE条边,NE为正整数;使用vi表示G中编号为i的顶点,使用顶点对(vi,vj)表示顶点i到顶点j的边,(vi,vj)∈E,0≤i≤NV-1,0≤j≤NV-1,i和j均为正整数;
第二步、图存储变换。构建存储图G的邻接矩阵A。Aij=0表示顶点i与顶点j 之间没有边,Aij=1表示顶点i与顶点j之间有边。
第三步、根据被测超级计算机系统胖树网络结构确定N叉树拓扑结构模型。如图3所示,胖树网络是一种广泛应用于被测超级计算机系统网络互连的网络拓扑结构模型,Q+2层的胖树网络通常由根交换机、Q层节点交换机、叶交换机组成。根交换机的网络接口上连接第1层节点交换机,第q层节点交换机的网络接口上连接第q+1层节点交换机,1≤q≤Q-1,第Q层节点交换机的网络接口上连接叶交换机。叶交换机的端口连接被测超级计算机系统的高性能结点,图G的顶点存储在高性能结点上。Q由超级计算机系统高性能结点总数M的值和N的值共同确定,操作符表示向上取整。胖树网络中的根交换机、节点交换机、叶交换机一般采用相同的交换机NRM,每个NRM通常包含1个网络进口,N个网络出口,根据NRM的网络出口数N确定被测超级计算机的胖树网络结构为N叉树网络拓扑结构模型。确定方法为:根交换机(包含一个NRM)的网络进口备用;第q 层节点交换机(包含Nq个NRM)的网络进口(共Nq个)与第q-1层节点交换机的网络出口相连,第q层节点交换机的网络出口(共N×Nq个)分别与第q+1层节点交换机的网络进口相连;q等于1时,第q-1层节点交换机指根交换机;第Q层节点交换机的N×NQ个网络出口分别与N×NQ个叶交换机相连,叶交换机的网络出口与超级计算机系统高性能结点相连。在天河超级计算机胖树网络结构中每个NRM 配置了1个网络进口,8个网络出口,为了更好地匹配天河超级计算机网络拓扑结构,面向天河超级计算机系统的大数据处理能力测试将胖树网络结构抽象为八叉树拓扑结构模型。
第四步、按照N叉树拓扑结构模型将图G的顶点重新分布到被测超级计算机的高性能计算结点上,使得存在边关联的结点尽量分布至同一交换机直接路由范围内,得到与N叉树拓扑结构模型相适应的匹配树,具体方法如下:
4.1.查询被测超级计算机系统体系结构文件,获取被测超级计算机系统的网络拓扑结构,获得每个叶交换机连接被测超级计算机系统高性能结点的有效端口数cn(例如天河超级计算机网络芯片中cn=8);
4.2.从G中随机选择一个顶点v作为匹配树的树根顶点;
4.3.令匹配树的当前根顶点Cur=v;
4.4.令变量cn'=cn-1;
4.5.依据有效端口数cn,将与v存在边关联的cn'个顶点分布至v所属的叶交换机路由范围内,若与当前根顶点Cur相关联的顶点数大于cn,选择逻辑编号相近的cn'个顶点分布至Cur所属的叶交换机路由范围内的高性能结点上;若与Cur相关联的顶点数小于cn,选取与Cur没有边关联但逻辑编号相近的顶点补齐,具体步骤如下:
4.5.1.定义变量i=0;
4.5.3.初始化叶交换机集合R={r1,r2,…,rp,…,rnr},nr为被测超级计算机中的叶交换机总数,rp是被测超级计算机中的第p个叶交换机,1≤p≤nr;
4.5.4.初始化临时端口数port=cn,初始化端口剩余变量Δcn=cn;
4.5.5.初始化当前根顶点Cur的有效关联顶点数cpn=0;
4.5.6.令变量j=i;
4.5.8.从R中删除当前叶交换机,即,R=R-{rp};
4.5.9.从V选取顶点vi,并令为当前根顶点Cur=vi,将Cur的顶点相关信息分布至当前叶交换机rp路由范围内的高性能计算结点;
4.5.10.令port=port-1;
4.5.11.将已完成分布处理的Cur加入已分布集合S,即,令 S=S+{vi};cpn=cpn+1,Δcn=Δcn-1;
4.5.12.令j=j+1;
4.5.13.若j≤NV-1,转4.5.14,否则,转4.5.24;
4.5.14.若Δcn>0,说明当前叶交换机rp关联顶点数小于cn,转 4.5.15;否则,关联顶点数大于cn,转4.5.20;
4.5.15.遍历G的邻接矩阵A,查询与Cur关联的顶点vj,即判断 Aij=1是否成立,若成立,转4.5.16;若不成立,令Sd=Sd+{vj},转4.5.12继续查找关联顶点;
4.5.16.若Δcn>0,将顶点vj分布至当前叶交换机rp路由范围内的高性能计算节点,令S=S+{vi},转4.5.17;否则,关联顶点数大于cn,转4.5.20。
4.5.17.令cpn=cpn+1,Δcn=Δcn-1;
4.5.18.若Δcn>0,转4.5.19;否则,与Cur存在边关联的顶点数大于cn,转4.5.20;
4.5.19.若cpn≤cn,转4.5.12,继续查找Cur的关联顶点;否则, Cur的关联顶点数大于cn,转4.5.20;
4.5.20.与Cur关联的顶点数大于cn,按以下方法进行处理:将Sd中与vi编号最近的顶点vj取出并分布至与当前叶交换机rp路由范围内的高性能计算节点,令Δcn=Δcn-1,Sd=Sd-{vj};
4.5.21.若Δcn>0成立,转4.5.22;否则,转4.5.23。
4.5.22.将vj加入集合S,即,S=S+{vj};
4.5.23.令port=port-1;
4.5.24.若port<Δcn,当前交换有效端口还没有用完,转4.5.19,否则,当前根节点Cur分布完毕,转4.5.25,继续分布G中的剩余顶点;
4.5.25.令i=i+1;
4.5.26.若i≤NV-1成立,转4.5.5,否则,G中的所有顶点均已分布,转第五步;
第五步、根据匹配树对图G进行BFS搜索,具体方法如下:
5.1.数据结构定义,具体方法如下:
5.1.1.定义未被访问的顶点集合Vns=V;
5.1.2.定义BFS搜索的顶点中间集合D-tmp=Vns;
5.1.3.定义分布后中间集合Deg-tmp=S,此时S中连续分布的图顶点存储的高性能结点属于同一个交换机路由范围,依据“将与当前根顶点Cur存在边关联的cn'个顶点分布至Cur所属的叶交换机路由范围内”的原则,当前根顶点Cur与cn'个顶点之间大概率存在边关联,以当前根顶点Cur与cn'个顶点为基础,依据第三步构造的N叉树拓扑结构模型将图顶点分布至高性能计算结点上;
5.1.8.在V中随机选定一个顶点vr作为树根节点,即源顶点, r=0,1,…,NV-1;
5.1.10.将vr加入已被访问过的顶点集合Vs中,即令Vs=Vs+{Vr};
5.1.11.将顶点vr加入当前顶点集合Cur中,即令Cur=Cur+{Vr};
5.2.循环遍历,一次循环输出一棵生成树,循环64次,输出64棵生成树,具体方法如下:
5.2.1.定义循环变量k=0,定义变量m=0;
5.2.2.获取系统时刻t1;
5.2.3.若k<64,转5.2.4;否则,转第六步;
5.2.4.同层遍历,利用度数高的顶点存在边关联的概率也高的特点,遍历搜索Cur中节点的子节点,具体方法如下:
5.2.4.3.在Cur中任取一个顶点vi,记为当前根节点vcs,cs=0,1,…,NV;
5.2.4.4.从Cur中删除vcs,即令Cur=Cur-{vcs};
5.2.4.6.从未被访问的顶点集合Vns中删除当前根节点vcs,即 Vns=Vns-{vcs};
5.2.4.7.从Deg-tmp中选择一个顶点,令为vj;
5.2.4.8.查询邻接矩阵A,若Aij=1,表示顶点vi与顶点vj之间有边,执行5.2.4.9,否则,转5.2.4.11;
5.2.4.9.从集合Deg-tmp中删除已有边关联的顶点,即 Deg-tmp=Deg-tmp-{vj};
5.2.4.11.更新当前根节点vcs,即,Soni=Soni+{vj};
5.2.4.12.更新当前层的子节点集合L-Son,即令L-Son=L-Son+{vj};
5.2.4.13.将当前根节点的子节点集合以集合元素的形式加入Sonr中,即 Sonr=Sonr+{Soni};
5.2.4.14.变量m=m+1;
5.2.4.15.将顶点vj从Vns中删除,即令Vns=Vns-{vj};
5.2.4.17.从当前顶点集合Cur中删除前根节点vcs,即令Cur=Cur-{vcs};
5.2.4.18.转5.2.4.1;
5.2.5.层间遍历,具体方法如下:
5.2.5.2.将当前层子节点集合L-Son赋值给当前顶点集合Cur,即令 Cur=L-Son;
5.2.5.3.获取系统时刻t2;
5.2.5.4.记录第k次启发式遍历搜索的时间t=t2-t1;
5.2.6.输出树根节点集合Sonr,Sonr即为第k轮循环以顶点vr作为树根节点的BFS的生成树rootk-r;
5.2.8.k=k+1,转5.2.3;
第六步、计算图测试性能的评价值,即64棵生成树的BFS遍历测试性能值平均值获得测试结果。TEPS值越高表明超级计算机的大规模图处理能力越强,Graph500排名也越靠前,同时也反映了该超级计算机越适合与大数据处理。
第七步、结束。
Claims (2)
1.一种基于网络拓扑结构的超级计算机大数据处理能力测试方法,其特征在于包括以下步骤:
第一步、图生成,方法是:采用Kronecker图生成器生成随机图结构G=(V,E),V为顶点集合,NV为V中顶点个数,NV为正整数;E为边集合,NE为E中包含边的条数,NE为正整数;使用vi表示G中编号为i的顶点,使用顶点对(vi,vj)表示顶点i到顶点j的边,(vi,vj)∈E,0≤i≤NV-1,0≤j≤NV-1,i和j均为正整数;
第二步、图存储变换,方法是:构建存储图G的邻接矩阵A,Aij=0表示顶点i与顶点j之间没有边,Aij=1表示顶点i与顶点j之间有边;
第三步、根据被测超级计算机系统胖树网络结构确定N叉树拓扑结构模型,N为2的整数次幂;Q+2层的胖树网络由根交换机、Q层节点交换机、叶交换机组成,根交换机的网络接口上连接第1层节点交换机,第q层节点交换机的网络接口上连接第q+1层节点交换机,1≤q≤Q-1,第Q层节点交换机的网络接口连接叶交换机;叶交换机的端口连接被测超级计算机系统的高性能结点,图G的顶点存储在高性能结点上;Q由超级计算机系统高性能结点总数M的值和N的值共同确定,操作符表示向上取整;胖树网络中的根交换机、节点交换机、叶交换机采用相同的交换机NRM,NRM包含1个网络进口,N个网络出口;根据被测超级计算机系统胖树网络结构确定N叉树拓扑结构模型的方法为:根交换机的网络进口备用;第q层节点交换机的Nq个网络进口与第q-1层节点交换机的网络出口相连,第q层节点交换机的共N×Nq个网络出口分别与第q+1层节点交换机的网络进口相连;q等于1时,第q-1层节点交换机指根交换机;第Q层节点交换机的N×NQ个网络出口分别与N×NQ个叶交换机相连,叶交换机的网络出口与超级计算机系统高性能结点相连;N叉树最多可连接N(Q+2)个超级计算机高性能结点;
第四步、按照N叉树拓扑结构模型将图G的顶点重新分布到被测超级计算机的高性能计算结点上,得到与N叉树拓扑结构模型相适应的匹配树,方法是:
4.1.查询被测超级计算机系统体系结构文件,获取被测超级计算机系统的网络拓扑结构,获得每个叶交换机连接被测超级计算机系统高性能结点的有效端口数cn;
4.2.从G中随机选择一个顶点v作为匹配树的树根顶点;
4.3.令匹配树的当前根顶点Cur=v;
4.4.令变量cn'=cn-1;
4.5.依据有效端口数cn,将与v存在边关联的cn'个顶点分布至v所属的叶交换机路由范围内,即当前根顶点与关联的cn'个顶点属于同一叶交换机叶路由范围,若与当前根顶点Cur相关联的顶点数大于cn,选择逻辑编号相近的cn'个顶点分布至Cur所属的叶交换机路由范围内的高性能结点上;若与Cur相关联的顶点数小于cn,选取与Cur没有边关联但逻辑编号相近的顶点补齐,具体步骤如下:
4.5.1.定义变量i=0;
4.5.3.初始化叶交换机集合R={r1,r2,…,rp,…,rnr},nr为被测超级计算机中的叶交换机总数,rp是被测超级计算机中的第p个叶交换机,1≤p≤nr;
4.5.4.初始化临时端口数port=cn,初始化端口剩余变量Δcn=cn;
4.5.5.初始化当前根顶点Cur的有效关联顶点数cpn=0;
4.5.6.令变量j=i;
否则,令R={r1,r2,…,rp,…,rnr};
4.5.8.从R中删除当前叶交换机,即,R=R-{rp};
4.5.9.从V选取顶点vi,并令为当前根顶点Cur=vi,将Cur的顶点相关信息分布至当前叶交换机rp路由范围内的高性能计算结点;
4.5.10.令port=port-1;
4.5.11.将已完成分布处理的Cur加入已分布集合S,即,令S=S+{vi};cpn=cpn+1,Δcn=Δcn-1;
4.5.12.令j=j+1;
4.5.13.若j≤NV-1,转4.5.14,否则,转4.5.24;
4.5.14.若Δcn>0,说明当前叶交换机rp关联顶点数小于cn,转4.5.15;否则,关联顶点数大于cn,转4.5.20;
4.5.15.遍历G的邻接矩阵A,查询与Cur关联的顶点vj,即判断Aij=1是否成立,若成立,转4.5.16;若不成立,令Sd=Sd+{vj},转4.5.12继续查找关联顶点;
4.5.16.若Δcn>0,将顶点vj分布至当前叶交换机rp路由范围内的高性能计算节点,令S=S+{vi},转4.5.17;否则,关联顶点数大于cn,转4.5.20;
4.5.17.令cpn=cpn+1,Δcn=Δcn-1;
4.5.18.若Δcn>0,转4.5.19;否则,与Cur存在边关联的顶点数大于cn,转4.5.20;
4.5.19.若cpn≤cn,转4.5.12,继续查找Cur的关联顶点;否则,Cur的关联顶点数大于cn,转4.5.20;
4.5.20.与Cur关联的顶点数大于cn,按以下方法进行处理:将Sd中与vi编号最近的顶点vj取出并分布至与当前叶交换机rp路由范围内的高性能计算节点,令Δcn=Δcn-1,Sd=Sd-{vj};
4.5.21.若Δcn>0成立,转4.5.22;否则,转4.5.23;
4.5.22.将vj加入集合S,即,S=S+{vj};
4.5.23.令port=port-1;
4.5.24.若port<Δcn,当前交换有效端口还没有用完,转4.5.19,否则,当前根节点Cur分布完毕,转4.5.25,继续分布G中的剩余顶点;
4.5.25.令i=i+1;
4.5.26.若i≤NV-1成立,转4.5.5,否则,G中的所有顶点均已分布,转第五步;
第五步、根据匹配树对图G进行BFS搜索,具体方法如下:
5.1.数据结构定义,具体方法如下:
5.1.1.定义未被访问的顶点集合Vns=V;
5.1.2.定义BFS搜索的顶点中间集合D-tmp=Vns;
5.1.3.定义分布后中间集合Deg-tmp=S,依据“将与当前根顶点Cur存在边关联的cn'个顶点分布至Cur所属的叶交换机路由范围内”的原则,当前根顶点Cur与cn'个顶点之间大概率存在边关联,以当前根顶点Cur与cn'个顶点为基础,依据第三步构造的N叉树拓扑结构模型将图顶点分布至高性能计算结点上;
5.1.8.在V中随机选定一个顶点vr作为树根节点,即源顶点,
r=0,1,…,NV-1;
5.1.10.将vr加入已被访问过的顶点集合Vs中,即令Vs=Vs+{Vr};
5.1.11.将顶点vr加入当前顶点集合Cur中,即令Cur=Cur+{Vr};
5.2.循环遍历,一次循环输出一棵生成树,循环64次,输出64棵生成树,具体方法如下:
5.2.1.定义循环变量k=0,定义变量m=0;
5.2.2.获取系统时刻t1;
5.2.3.若k<64,转5.2.4;否则,转第六步;
5.2.4.同层遍历,利用度数高的顶点存在边关联的概率也高的特点,遍历搜索Cur中节点的子节点,具体方法如下:
5.2.4.2.在Cur中任取一个顶点vi,记为当前根节点vcs,cs=0,1,…,NV;
5.2.4.3.从Cur中删除vcs,即令Cur=Cur-{vcs};
5.2.4.5.从未被访问的顶点集合Vns中删除当前根节点vcs,即Vns=Vns-{vcs};
5.2.4.6.从Deg-tmp中选择一个顶点,令为vj;
5.2.4.7.查询邻接矩阵A,若Aij=1,表示顶点vi与顶点vj之间有边,执行5.2.4.9,否则,转5.2.4.11;
5.2.4.8.从集合Deg-tmp中删除已有边关联的顶点,即Deg-tmp=Deg-tmp-{vj};
5.2.4.10.更新当前根节点vcs,即,Soni=Soni+{vj};
5.2.4.11.更新当前层的子节点集合L-Son,即令L-Son=L-Son+{vj};5.2.4.12.将当前根节点的子节点集合以集合元素的形式加入Sonr中,即Sonr=Sonr+{Soni};
5.2.4.13.变量m=m+1;
5.2.4.14.将顶点vj从Vns中删除,即令Vns=Vns-{vj};
5.2.4.16.从当前顶点集合Cur中删除前根节点vcs,即令Cur=Cur-{vcs};5.2.4.17.转5.2.4.1;
5.2.5.层间遍历,具体方法如下:
5.2.5.2.将当前层子节点集合L-Son赋值给当前顶点集合Cur,即令Cur=L-Son;
5.2.5.3.获取系统时刻t2;
5.2.5.4.记录第k次启发式遍历搜索的时间t=t2-t1;
5.2.6.输出树根节点集合Sonr,Sonr即为第k轮循环以顶点vr作为树根节点的BFS的生成树rootk-r;
5.2.8.k=k+1,转5.2.3;
第六步、计算图测试性能的评价值,即64棵生成树的BFS遍历测试性能值平均值获得测试结果, TEPS值越高表明超级计算机的大规模图处理能力越强,Graph500排名也越靠前,同时也反映了该超级计算机越适合与大数据处理;
第七步、结束。
2.如权利要求1所述的一种基于网络拓扑结构的超级计算机大数据处理能力测试方法,其特征在于所述N=2或N=8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093055.3A CN112165405B (zh) | 2020-10-13 | 2020-10-13 | 基于网络拓扑结构的超级计算机大数据处理能力测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011093055.3A CN112165405B (zh) | 2020-10-13 | 2020-10-13 | 基于网络拓扑结构的超级计算机大数据处理能力测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112165405A CN112165405A (zh) | 2021-01-01 |
CN112165405B true CN112165405B (zh) | 2022-04-22 |
Family
ID=73868177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011093055.3A Active CN112165405B (zh) | 2020-10-13 | 2020-10-13 | 基于网络拓扑结构的超级计算机大数据处理能力测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112165405B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391919B (zh) * | 2021-04-25 | 2023-06-06 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于二维胖树网络的计算结点分配方法及装置 |
CN113901275A (zh) * | 2021-09-14 | 2022-01-07 | 威讯柏睿数据科技(北京)有限公司 | 一种获取指定顶点拓扑序列的方法和设备 |
CN114401199B (zh) * | 2022-01-06 | 2024-03-01 | 中国科学院计算机网络信息中心 | 一种层次化的网络能力模型管理方法 |
CN116996359B (zh) * | 2023-09-26 | 2023-12-12 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种超级计算机的网络拓扑构建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514591A (zh) * | 2002-12-31 | 2004-07-21 | 浪潮电子信息产业股份有限公司 | 高速、高性价比的多分支胖树网络拓扑结构 |
CN103957163A (zh) * | 2014-03-07 | 2014-07-30 | 哈尔滨工业大学深圳研究生院 | 一种基于胖树形高拓展性超立方体的网络拓扑结构 |
CN109656798A (zh) * | 2018-12-26 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于顶点重排序的超级计算机大数据处理能力测试方法 |
CN109684185A (zh) * | 2018-12-26 | 2019-04-26 | 中国人民解放军国防科技大学 | 基于启发式遍历的超级计算机大数据处理能力测试方法 |
CN110601888A (zh) * | 2019-09-10 | 2019-12-20 | 清华大学 | 一种时间敏感网络中确定性故障检测与定位方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030005068A1 (en) * | 2000-12-28 | 2003-01-02 | Nickel Ronald H. | System and method for creating a virtual supercomputer using computers working collaboratively in parallel and uses for the same |
-
2020
- 2020-10-13 CN CN202011093055.3A patent/CN112165405B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514591A (zh) * | 2002-12-31 | 2004-07-21 | 浪潮电子信息产业股份有限公司 | 高速、高性价比的多分支胖树网络拓扑结构 |
CN103957163A (zh) * | 2014-03-07 | 2014-07-30 | 哈尔滨工业大学深圳研究生院 | 一种基于胖树形高拓展性超立方体的网络拓扑结构 |
CN109656798A (zh) * | 2018-12-26 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于顶点重排序的超级计算机大数据处理能力测试方法 |
CN109684185A (zh) * | 2018-12-26 | 2019-04-26 | 中国人民解放军国防科技大学 | 基于启发式遍历的超级计算机大数据处理能力测试方法 |
CN110601888A (zh) * | 2019-09-10 | 2019-12-20 | 清华大学 | 一种时间敏感网络中确定性故障检测与定位方法及系统 |
Non-Patent Citations (1)
Title |
---|
2D Partitioning Based Graph Search for the Graph500 Benchmark;Koji Ueno;《IEEE》;20120820;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112165405A (zh) | 2021-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112165405B (zh) | 基于网络拓扑结构的超级计算机大数据处理能力测试方法 | |
Ziavras | RH: a versatile family of reduced hypercube interconnection networks | |
Perra et al. | Spectral centrality measures in complex networks | |
Roughgarden et al. | Shuffles and circuits (on lower bounds for modern parallel computation) | |
CN104866502B (zh) | 数据匹配的方法及装置 | |
CN109656798B (zh) | 基于顶点重排序的超级计算机大数据处理能力测试方法 | |
CN112883241B (zh) | 基于连通分量生成优化的超级计算机基准测试加速方法 | |
Ribeiro et al. | Efficient parallel subgraph counting using g-tries | |
CN107193942A (zh) | 一种有向图中所有连通子图的快速生成方法 | |
Parchas et al. | Uncertain graph processing through representative instances | |
Ghaffari et al. | Massively parallel algorithms for minimum cut | |
Latifi et al. | The star connected cycles: a fixed-degree network for parallel processing | |
CN109672623A (zh) | 一种报文处理方法和装置 | |
Shang et al. | Efficient breadth-first search on large graphs with skewed degree distributions | |
CN109684185B (zh) | 基于启发式遍历的超级计算机大数据处理能力测试方法 | |
Corbett et al. | Sorting in mesh connected multiprocessors | |
CN111881327A (zh) | 基于顶点重排序与优先缓存的大数据处理能力测试方法 | |
CN111369052B (zh) | 简化路网ksp优化算法 | |
Elkin et al. | Deterministic PRAM approximate shortest paths in polylogarithmic time and slightly super-linear work | |
Toda et al. | Autonomous and distributed construction of locality aware skip graph | |
Luccio et al. | A model of sequential computation with pipelined access to memory | |
Zhang et al. | On convergence rate for multi-agent consensus: a community detection algorithm | |
Liu et al. | Design and optimization for distributed indexing scheme in switch-centric cloud storage system | |
Luo et al. | Implementation of a parallel graph partition algorithm to speed up BSP computing | |
CN112579831B (zh) | 基于SimRank全局矩阵平滑收敛的网络社区发现方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |