CN105391590A - 一种自动获取numa架构下系统路由表的方法及系统 - Google Patents

一种自动获取numa架构下系统路由表的方法及系统 Download PDF

Info

Publication number
CN105391590A
CN105391590A CN201510989457.4A CN201510989457A CN105391590A CN 105391590 A CN105391590 A CN 105391590A CN 201510989457 A CN201510989457 A CN 201510989457A CN 105391590 A CN105391590 A CN 105391590A
Authority
CN
China
Prior art keywords
node
matrix
jamming pattern
route
source node
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
Application number
CN201510989457.4A
Other languages
English (en)
Other versions
CN105391590B (zh
Inventor
王梅
罗秋明
张健
张义军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Polytechnic
Original Assignee
Shenzhen Polytechnic
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Polytechnic filed Critical Shenzhen Polytechnic
Priority to CN201510989457.4A priority Critical patent/CN105391590B/zh
Publication of CN105391590A publication Critical patent/CN105391590A/zh
Application granted granted Critical
Publication of CN105391590B publication Critical patent/CN105391590B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明适用于路由信息获取技术领域,提供了一种自动获取NUMA架构下系统路由表的方法及系统,包括:步骤S1,以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中所经过的节点;步骤S2,根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;步骤S3,依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即获得系统路由表。本发明提供的方法可获取整个系统中节点之间的路由信息。

Description

一种自动获取NUMA架构下系统路由表的方法及系统
技术领域
本发明属于路由信息获取技术领域,尤其涉及一种自动获取NUMA架构下系统路由表的方法及系统。
背景技术
NUMA架构系统性能的最优化过程是通过软件调优进行的,所有的调优都需要知道节点的位置和路由信息。而现在的研究都是在假设预先知道系统的拓扑结构以及节点之间连接情况下进行的。
在实际应用场景中,并不是所有情况下都能预先知道系统的拓扑结构。特别是在动态结构中,NUMA架构下节点之间的连接关系是会不断改变的,这样的节点之间的连接关系很难预先知道。
发明内容
本发明所要解决的技术问题在于提供一种自动获取NUMA架构下系统路由表的方法及系统,旨在为NUMA架构平台提供准确的路由信息。
本发明提供了一种自动获取NUMA架构下系统路由表的方法,包括下述步骤:
步骤S1,以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中所经过的节点;
步骤S2,根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
步骤S3,依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
进一步地,所述步骤S1中的干扰模式矩阵采用如下方式得到:依次运行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵。
进一步地,所述步骤S1中,记录源节点访问目的节点过程中经过的节点的过程具体为:记录在源节点访问目的节点的内存过程中所引起的带宽或非核PMU事件变化的节点。
进一步地,所述干扰模式向量可表示为:dvx,y=(d0 x,y,d1 x,y,d2 x,y,…,dn-1 x,y),其中,x表示源节点,y表示目的节点;当x访问y的过程中,经过节点i,则di x,y=1,否则di x,y=0,其中,i=0、1……n-1;若x访问y的过程中,不经过任何节点,即x=y时,有dvx,y=0;所述干扰模式矩阵可表示为:
进一步地,所述步骤S2中,路由长度为源节点x访问目的节点y的过程中经过的节点数目,所述路由长度dox,y可表示为:
do x , y = Σ i = 0 n - 1 dv x , y [ i ] = Σ i = 0 n - 1 d i x , y ;
所有的dox,y组成了路由长度矩阵DO,所述路由长度矩阵DO可表示为:
进一步地,所述步骤S3具体为:提取路由长度矩阵DO中满足dox1,y1=1的元素,并在干扰模式矩阵DV中找到该元素的源节点x1和目的节点y1,即可得路由长度为1的矩阵R1,所述矩阵R1可表示为:
R 1 = ... ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ;
提取路由长度矩阵DO中满足dox,y=2的元素,在干扰模式矩阵DV中找到该元素的源节点x2和目的节点y2,并在矩阵R1中找到同时满足dox2,m=1和dom,y2=1的中间节点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
R 2 = ... { m , y 2 } x 2 , y 2 ... ... ... ... ... ... ... ;
提取路由长度矩阵DO中满足dox,y=3的元素,在干扰模式矩阵DV中找到该元素的源节点x3和目的节点y3,并在矩阵R1中找到满足dox3,n=1,同时在矩阵R2中找到满足don,y3=2的中间节点n,通过查询矩阵R2可知don,y3=2的路由路径为n→z→y3,即可得路由长度为3的矩阵R3,所述矩阵R3可表示为:
R 3 = ... ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... ... ;
采取同样的方式,得到所有路由长度的矩阵Ri(i=1、2、3…n-1;)并合并,即可获得NUMA架构下的系统路由表RT,所述RT可表示为:
R T = R 1 ∪ R 2 ∪ R 3 ∪ ... ∪ R n - 1 = ... { m , y 2 } x 2 , y 2 ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ... ... ;
所述矩阵Ri中的元素为源节点xi访问目的节点yi过程中经过的节点,其包括目的节点yi但不包括源节点xi
本发明还提供了一种自动获取NUMA架构下系统路由表的系统,包括:
干扰模式矩阵构建模块,用于以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中经过的节点;
路由长度矩阵构建模块,用于根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
系统路由表生成模块,用于依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
进一步地,所述干扰模式矩阵构建模块采用如下方式构建干扰模式矩阵:依次运行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵;
所述干扰模式向量可表示为:dvx,y=(d0 x,y,d1 x,y,d2 x,y,…,dn-1 x,y),其中,x表示源节点,y表示目的节点;当x访问y的过程中,经过节点i,则di x,y=1,否则di x,y=0,其中,i=0、1……n-1;若x访问y的过程中,不经过任何节点,即x=y时,有dvx,y=0;所述干扰模式矩阵可表示为:
进一步地,所述路由长度矩阵构建模块中,路由长度为源节点x访问目的节点y的过程中经过的节点数目,所述路由长度dox,y可表示为:
do x , y = Σ i = 0 n - 1 dv x , y [ i ] = Σ i = 0 n - 1 d i x , y ;
所有的dox,y组成了路由长度矩阵DO,所述路由长度矩阵DO可表示为:
进一步地,所述系统路由表生成模块采用如下方式构建系统路由表:提取路由长度矩阵DO中满足dox1,y1=1的元素,并在干扰模式矩阵DV中找到该元素的源节点x1和目的节点y1,即可得路由长度为1的矩阵R1,所述矩阵R1可表示为:
R 1 = ... ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ;
提取路由长度矩阵DO中满足dox,y=2的元素,在干扰模式矩阵DV中找到该元素的源节点x2和目的节点y2,并在矩阵R1中找到同时满足dox2,m=1和dom,y2=1的中间节点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
R 2 = ... { m , y 2 } x 2 , y 2 ... ... ... ... ... ... ... ;
提取路由长度矩阵DO中满足dox,y=3的元素,在干扰模式矩阵DV中找到该元素的源节点x3和目的节点y3,并在矩阵R1中找到满足dox3,n=1,同时在矩阵R2中找到满足don,y3=2的中间节点n,通过查询矩阵R2可知don,y3=2的路由路径为n→z→y3,即可得路由长度为3的矩阵R3,所述矩阵R3可表示为:
R 3 = ... ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... ... ;
采取同样的方式,得到所有路由长度的矩阵Ri(i=1、2、3…n-1;)并合并,即可获得NUMA架构下的系统路由表RT,所述RT可表示为:
R T = R 1 ∪ R 2 ∪ R 3 ∪ ... ∪ R n - 1 = ... { m , y 2 } x 2 , y 2 ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ... ... ;
所述矩阵Ri中的元素为源节点xi访问目的节点yi过程中经过的节点,其包括目的节点yi但不包括源节点xi
本发明与现有技术相比,有益效果在于:本发明提供的一种自动获取NUMA架构下系统路由表的方法及系统,无需预先知道系统的拓扑结构,就可以获取到整个系统中节点之间的路由信息;对于动态改变的节点之间的路由信息也可以通过本方法获取NUMA架构系统中节点的最新路由信息;其可为系统调优提供准确的动态信息指导,从而提高系统的性能。
附图说明
图1是本发明实施例提供的一种自动获取NUMA架构下系统路由表的方法的示意图;
图2是本发明实施例提供的一种自动获取NUMA架构下系统路由表的系统的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供了一种自动获取NUMA架构下系统路由表的方法,如图1所示,包括下述步骤:
步骤S1,以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中所经过的节点;
利用一个简单的访存程序通过读写来起到探针的作用,基准是由程序和其绑定配置构成的,我们可以将测试基准TB表示如下:
tbx,y表示运行的测试程序绑定配置为绑定线程在节点x上,分配内存在节点y上。绑定是通过Linux中的numa-API完成的,这些函数也在后台设置中使用过,如用sched_setaffinity(mask)来设置线程的CPU亲和力和numa_alloc_onnode()给指定的节点分配内存。
在运行两个节点之间的访存程序时,记录源节点访问目的节点过程中经过的节点,即记录带宽或者非核PMU事件变化的节点;具体地,依次运行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵。
所述干扰模式向量可表示为:dvx,y=(d0 x,y,d1 x,y,d2 x,y,…,dn-1 x,y),其中,x表示源节点,y表示目的节点;当x访问y的过程中,经过节点i,则di x,y=1,否则di x,y=0,其中,i=0、1……n-1;若x访问y的过程中,不经过任何节点,即x=y时,有dvx,y=0;所述干扰模式矩阵可表示为:
比如,若节点0访问节点1的时候,中间经过节点3,则干扰模式向量可表示为:dv0,1=(0,1,0,1,0,…,0)。从节点0访问节点0一直到n-1得到的n个干扰模式向量组成干扰模式矩阵的第一列;后面依次是1->0,1->1,…,1->n-1组成第二列,一直到n-1->0,n-1->1,…,n-1->n-1组成第n列;这样就组成了干扰模式矩阵。这个矩阵实质上是一个三维矩阵,他的每一个元素都是一个干扰模式向量。
步骤S2,根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
所述路由长度为源节点x访问目的节点y的过程中经过的节点数目,其包括目的节点y但不包括源节点x,所述路由长度dox,y可表示为:
do x , y = Σ i = 0 n - 1 dv x , y [ i ] = Σ i = 0 n - 1 d i x , y ,
其中,dox,y的值大于等于0小于等于n-1;所有的dox,y组成了路由长度矩阵DO,所述路由长度矩阵DO可表示为:
若源节点0和目的节点1之间的干扰模式向量为:dv0,1=(0,1,0,1,0,…,0),那么,其路由长度:
do 0 , 1 = Σ i = 0 n - 1 dv 0 , 1 [ i ] = Σ i = 0 n - 1 d i 0 , 1 = 1 + 1 = 2 ;
同样对所有的干扰模式向量进行该操作就可以得到每两个节点之间的路由长度,所有的路由长度值就构成了路由长度矩阵。
步骤S3,依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
所述步骤S3具体为:提取路由长度矩阵DO中满足dox1,y1=1的元素,并在干扰模式矩阵DV中找到该元素的源节点x1和目的节点y1,即可得路由长度为1的矩阵R1,所述矩阵R1可表示为:
R 1 = ... ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ;
若do3,5=1时,矩阵R1中的在(x,y)元素值设为y,即R1[3][5]={5},意味着从节点3访问节点5的路由路径是不需要经过其他中间节点的直接连接。如果我们在DO矩阵中找到K个dox,y=1,那么在矩阵R1中有k个元素不为空,矩阵R1的形式如下:
R 1 = ... ... ... ... { 5 } 3 , 5 ... ... ... ... ;
提取路由长度矩阵DO中满足dox2,y2=2的元素,在干扰模式矩阵DV中找到该元素的源节点x2和目的节点y2,并在矩阵R1中找到同时满足dox2,m=1和dom,y2=1的中间节点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
R 2 = ... { m , y 2 } x 2 , y 2 ... ... ... ... ... ... ... ;
比如,若do0,5=2,若找到do0,3=1且do3,5=1,那么R2[0][5]={3,5},矩阵R2的形式如下:
R 2 = ... { 3 , 5 } 0 , 5 ... ... ... ... ... ... ...
提取路由长度矩阵DO中满足dox3,y3=3的元素,在干扰模式矩阵DV中找到该元素的源节点x3和目的节点y3,并在矩阵R1中找到满足dox3,n=1,同时在矩阵R2中找到满足don,y3=2的中间节点n,通过查询矩阵R2可知don,y3=2的路由路径为n→z→y3,即可得路由长度为3的矩阵R3,所述矩阵R3可表示为:
R 3 = ... ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... ... .
比如,若do2,5=3,且查询到有中间节点0使得do2,0=1,do0,5=2,通过查询R2路由矩阵,可得到R3[2][5]={0,3,5}。这样矩阵R3的形式如下:
R 3 = ... ... ... ... { 0 , 3 , 5 } 2 , 5 ... ... ... ...
可按照上面的思想得到路由长度为4的矩阵R4;具体地,可以找满足dx,m=3且dm,y=1的中间节点m;或满足dx,n=1且dn,y=3的n;或满足dx,l=2且dl,y=2的l,再查询对应的矩阵,找到路由路径,即可得路由长度为4的矩阵R4,具体过程不再赘述。
采取同样的方式,得到所有路由长度的矩阵Ri(i=1、2、3…n-1;)并合并,即可获得NUMA架构下的系统路由表RT,所述RT可表示为:
R T = R 1 ∪ R 2 ∪ R 3 ∪ ... ∪ R n - 1 = ... { m , y 2 } x 2 , y 2 ... ... ... { n , z , y 3 } x 3 , y 3 ... ... ... { y 1 } x 1 , y 1 ... ... ... ... ... ... ;
所述矩阵Ri中的元素为源节点xi访问目的节点yi过程中经过的节点,其包括目的节点yi但不包括源节点xi
关于上述R1、R2、R3的例子,继续重复上面的步骤,就可以得到R1,R2,R3,…,Rn-1。将这些矩阵并在一起就可以形成最终的路由表RT,形式如下:
R T = R 1 ∪ R 2 ∪ R 3 ∪ ... ∪ R n - 1 = ... { 3 , 5 } 0 , 5 ... ... ... { 0 , 3 , 5 } 2 , 5 ... ... ... { 5 } 3 , 5 ... ... ... ... ... ...
最终,我们可以通过查找矩阵RT来得到两个节点之间的路由信息。例如,如果想知道这个NUMA系统中从节点x到节点y的路由信息,查找RT[x][y]={n0,n1,n2,…,y},这样就可以知道节点x通过节点n0,n1,n2,…,到达节点y。
本发明还提供了一种自动获取NUMA架构下系统路由表的系统,如图2所示,包括:
干扰模式矩阵构建模块1,用于以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中经过的节点;
路由长度矩阵构建模块2,用于根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
系统路由表生成模块3,用于依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
在大数据和内存计算的浪潮下,NUMA架构能同时满足人们对计算机计算能力和内存带宽的需要,NUMA架构平台已经成为高性能计算的主要基础设施;包括Intel、AMD以及国产龙芯的高性能计算设备底层处理器都有采用NUMA架构。而本发明提供的一种自动获取NUMA架构下系统路由表的方法及系统,能为NUMA架构平台提供准确的路由信息,从而为通过软件来对NUMA系统调优提供动态信息指导。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自动获取NUMA架构下系统路由表的方法,其特征在于,包括下述步骤:
步骤S1,以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中所经过的节点;
步骤S2,根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
步骤S3,依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
2.如权利要求1所述的自动获取NUMA架构下系统路由表的方法,其特征在于,所述步骤S1中的干扰模式矩阵采用如下方式得到:依次运行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵。
3.如权利要求2所述的自动获取NUMA架构下系统路由表的方法,其特征在于,所述步骤S1中,记录源节点访问目的节点过程中经过的节点的过程具体为:记录在源节点访问目的节点的内存过程中所引起的带宽或非核PMU事件变化的节点。
4.如权利要求2所述的自动获取NUMA架构下系统路由表的方法,其特征在于,所述干扰模式向量可表示为:dvx,y=(d0 x,y,d1 x,y,d2 x,y,…,dn-1 x,y),其中,x表示源节点,y表示目的节点;当x访问y的过程中,经过节点i,则di x,y=1,否则di x,y=0,其中,i=0、1……n-1;若x访问y的过程中,不经过任何节点,即x=y时,有dvx,y=0;所述干扰模式矩阵可表示为:
5.如权利要求1所述的自动获取NUMA架构下系统路由表的方法,其特征在于,所述步骤S2中,路由长度为源节点x访问目的节点y的过程中经过的节点数目,所述路由长度dox,y可表示为:
所有的dox,y组成了路由长度矩阵DO,所述路由长度矩阵DO可表示为:
6.如权利要求5所述的自动获取NUMA架构下系统路由表的方法,其特征在于,所述步骤S3具体为:提取路由长度矩阵DO中满足dox1,y1=1的元素,并在干扰模式矩阵DV中找到该元素的源节点x1和目的节点y1,即可得路由长度为1的矩阵R1,所述矩阵R1可表示为:
提取路由长度矩阵DO中满足dox,y=2的元素,在干扰模式矩阵DV中找到该元素的源节点x2和目的节点y2,并在矩阵R1中找到同时满足dox2,m=1和dom,y2=1的中间节点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
提取路由长度矩阵DO中满足dox,y=3的元素,在干扰模式矩阵DV中找到该元素的源节点x3和目的节点y3,并在矩阵R1中找到满足dox3,n=1,同时在矩阵R2中找到满足don,y3=2的中间节点n,通过查询矩阵R2可知don,y3=2的路由路径为n→z→y3,即可得路由长度为3的矩阵R3,所述矩阵R3可表示为:
采取同样的方式,得到所有路由长度的矩阵Ri(i=1、2、3…n-1;)并合并,即可获得NUMA架构下的系统路由表RT,所述RT可表示为:
所述矩阵Ri中的元素为源节点xi访问目的节点yi过程中经过的节点,其包括目的节点yi但不包括源节点xi
7.一种自动获取NUMA架构下系统路由表的系统,其特征在于,包括:
干扰模式矩阵构建模块,用于以NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点在访问目的节点过程中经过的节点;
路由长度矩阵构建模块,用于根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度,所有路由长度组成一个路由长度矩阵;
系统路由表生成模块,用于依次提取路由长度矩阵中路由长度为1、2…n-1的元素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUMA架构下的系统路由表。
8.如权利要求7所述的自动获取NUMA架构下系统路由表的系统,其特征在于,所述干扰模式矩阵构建模块采用如下方式构建干扰模式矩阵:依次运行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点0、1、2…n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵;
所述干扰模式向量可表示为:dvx,y=(d0 x,y,d1 x,y,d2 x,y,…,dn-1 x,y),其中,x表示源节点,y表示目的节点;当x访问y的过程中,经过节点i,则di x,y=1,否则di x,y=0,其中,i=0、1……n-1;若x访问y的过程中,不经过任何节点,即x=y时,有dvx,y=0;所述干扰模式矩阵可表示为:
9.如权利要求7所述的自动获取NUMA架构下系统路由表的系统,其特征在于,所述路由长度矩阵构建模块中,路由长度为源节点x访问目的节点y的过程中经过的节点数目,所述路由长度dox,y可表示为:
所有的dox,y组成了路由长度矩阵DO,所述路由长度矩阵DO可表示为:
10.如权利要求9所述的自动获取NUMA架构下系统路由表的系统,其特征在于,所述系统路由表生成模块采用如下方式构建系统路由表:提取路由长度矩阵DO中满足dox1,y1=1的元素,并在干扰模式矩阵DV中找到该元素的源节点x1和目的节点y1,即可得路由长度为1的矩阵R1,所述矩阵R1可表示为:
提取路由长度矩阵DO中满足dox,y=2的元素,在干扰模式矩阵DV中找到该元素的源节点x2和目的节点y2,并在矩阵R1中找到同时满足dox2,m=1和dom,y2=1的中间节点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
提取路由长度矩阵DO中满足dox,y=3的元素,在干扰模式矩阵DV中找到该元素的源节点x3和目的节点y3,并在矩阵R1中找到满足dox3,n=1,同时在矩阵R2中找到满足don,y3=2的中间节点n,通过查询矩阵R2可知don,y3=2的路由路径为n→z→y3,即可得路由长度为3的矩阵R3,所述矩阵R3可表示为:
采取同样的方式,得到所有路由长度的矩阵Ri(i=1、2、3…n-1;)并合并,即可获得NUMA架构下的系统路由表RT,所述RT可表示为:
所述矩阵Ri中的元素为源节点xi访问目的节点yi过程中经过的节点,其包括目的节点yi但不包括源节点xi
CN201510989457.4A 2015-12-26 2015-12-26 一种自动获取numa架构下系统路由表的方法及系统 Active CN105391590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510989457.4A CN105391590B (zh) 2015-12-26 2015-12-26 一种自动获取numa架构下系统路由表的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510989457.4A CN105391590B (zh) 2015-12-26 2015-12-26 一种自动获取numa架构下系统路由表的方法及系统

Publications (2)

Publication Number Publication Date
CN105391590A true CN105391590A (zh) 2016-03-09
CN105391590B CN105391590B (zh) 2018-06-19

Family

ID=55423442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510989457.4A Active CN105391590B (zh) 2015-12-26 2015-12-26 一种自动获取numa架构下系统路由表的方法及系统

Country Status (1)

Country Link
CN (1) CN105391590B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383791A (zh) * 2016-09-23 2017-02-08 深圳职业技术学院 一种基于非统一内存访问架构的内存块组合方法及装置
CN111342885A (zh) * 2020-03-16 2020-06-26 西安电子科技大学 基于信关站合并的卫星网络选路方法
CN112445621A (zh) * 2020-11-30 2021-03-05 海光信息技术股份有限公司 静态路由规划方法、装置、电子设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器
US20110153935A1 (en) * 2009-12-17 2011-06-23 Yadong Li Numa-aware scaling for network devices
US20140269324A1 (en) * 2013-03-14 2014-09-18 Silicon Graphics International Corp. Bandwidth On-Demand Adaptive Routing
WO2014180332A1 (zh) * 2013-05-09 2014-11-13 中兴通讯股份有限公司 通用路由方法及系统
CN104253748A (zh) * 2014-09-24 2014-12-31 大唐移动通信设备有限公司 基于分布式架构的路由方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153935A1 (en) * 2009-12-17 2011-06-23 Yadong Li Numa-aware scaling for network devices
CN101908036A (zh) * 2010-07-22 2010-12-08 中国科学院计算技术研究所 一种高密度多处理器系统及其节点控制器
US20140269324A1 (en) * 2013-03-14 2014-09-18 Silicon Graphics International Corp. Bandwidth On-Demand Adaptive Routing
WO2014180332A1 (zh) * 2013-05-09 2014-11-13 中兴通讯股份有限公司 通用路由方法及系统
CN104253748A (zh) * 2014-09-24 2014-12-31 大唐移动通信设备有限公司 基于分布式架构的路由方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
施继成等: "面向多处理器虚拟机的动态NUMA方法", 《小型微型计算机系统》 *
朱剑等: "UWSN中基于随机游走模型的可靠路由算法研究", 《计算机学报》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383791A (zh) * 2016-09-23 2017-02-08 深圳职业技术学院 一种基于非统一内存访问架构的内存块组合方法及装置
CN106383791B (zh) * 2016-09-23 2019-07-12 深圳职业技术学院 一种基于非统一内存访问架构的内存块组合方法及装置
CN111342885A (zh) * 2020-03-16 2020-06-26 西安电子科技大学 基于信关站合并的卫星网络选路方法
CN112445621A (zh) * 2020-11-30 2021-03-05 海光信息技术股份有限公司 静态路由规划方法、装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN105391590B (zh) 2018-06-19

Similar Documents

Publication Publication Date Title
CN107957957A (zh) 测试用例的获取方法和装置
CN104809129B (zh) 一种分布式数据存储方法、装置和系统
CN102176200A (zh) 一种软件测试用例自动生成方法
CN104679864A (zh) 一种基于gis的嫌疑目标智能跟踪方法和装置
CN110740054B (zh) 一种基于强化学习的数据中心虚拟化网络故障诊断方法
CN104298541A (zh) 云存储系统的数据分布算法及其装置
CN105391590A (zh) 一种自动获取numa架构下系统路由表的方法及系统
CN102937993B (zh) 一种用于访问关键字的方法及装置
CN104902565A (zh) 一种分布式的无线传感器网络三维mds定位方法
Zhan et al. Crowdtraining: Architecture and incentive mechanism for deep learning training in the internet of things
CN109739684A (zh) 基于向量时钟的分布式键值数据库的副本修复方法与装置
CN116720549A (zh) 一种基于cnn输入全缓存的fpga多核二维卷积加速优化方法
CN103078946A (zh) 一种海量实时数据分布方法及其访问方法
Warnke et al. A sparql benchmark for distributed databases in iot environments
CN108173948A (zh) 一种分布式试验数据实时交换方法
CN104598600B (zh) 一种基于分布式内存的并行数字地形分析优化方法
CN103235745B (zh) 一种地址冲突检测方法及装置
CN101340458A (zh) 一种基于时间空间局部性的网格数据副本生成方法
CN107404437B (zh) 一种报文的路径确定方法及装置
CN109074654A (zh) 连通域检测方法、电路、设备、计算机可读存储介质
CN109255433A (zh) 一种基于相似性的社区检测的方法
CN108090865A (zh) 光学卫星遥感影像在轨实时流式处理方法及系统
CN104331322B (zh) 一种进程迁移方法和装置
CN110517009A (zh) 实时公共层建设方法、装置及服务器
CN110017844A (zh) 用于公交路径规划的方法、装置和计算设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160309

Assignee: Shenzhen Weirun Technology Co.,Ltd.

Assignor: SHENZHEN POLYTECHNIC

Contract record no.: X2024980000771

Denomination of invention: A method and system for automatically obtaining system routing tables under NUMA architecture

Granted publication date: 20180619

License type: Common License

Record date: 20240116