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

文档序号:9633688阅读:368来源:国知局
一种自动获取numa架构下系统路由表的方法及系统的制作方法
【技术领域】
[0001] 本发明属于路由信息获取技术领域,尤其设及一种自动获取NUMA架构下系统路 由表的方法及系统。
【背景技术】
[0002] NUM架构系统性能的最优化过程是通过软件调优进行的,所有的调优都需要知道 节点的位置和路由信息。而现在的研究都是在假设预先知道系统的拓扑结构W及节点之间 连接情况下进行的。
[0003] 在实际应用场景中,并不是所有情况下都能预先知道系统的拓扑结构。特别是在 动态结构中,NUM架构下节点之间的连接关系是会不断改变的,运样的节点之间的连接关 系很难预先知道。

【发明内容】

[0004] 本发明所要解决的技术问题在于提供一种自动获取NUM架构下系统路由表的方 法及系统,旨在为NUM架构平台提供准确的路由信息。
[0005] 本发明提供了一种自动获取NUMA架构下系统路由表的方法,包括下述步骤:
[0006] 步骤SI, W NUMA节点中的每一个节点作为源节点对其它节点进行访问所得到的 干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于表征其对应的源节点 在访问目的节点过程中所经过的节点;
[0007] 步骤S2,根据每个干扰模式向量计算其对应的源节点访问目的节点的路由长度, 所有路由长度组成一个路由长度矩阵;
[0008] 步骤S3,依次提取路由长度矩阵中路由长度为l、2'''n-l的元素,并结合该元素在 干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合并,即得到NUM架构 下的系统路由表。
[0009] 进一步地,所述步骤Sl中的干扰模式矩阵采用如下方式得到:依次运行节点0到 节点〇、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节 点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节点〇、1、 2-n-l之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到的一 组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1到节点 0、l、2",n-l之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得到 的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵。
[0010] 进一步地,所述步骤Sl中,记录源节点访问目的节点过程中经过的节点的过程具 体为:记录在源节点访问目的节点的内存过程中所引起的带宽或非核PMU事件变化的节 点。
[0011] 进一步地,所述干扰模式向量可表示为:dv"= (d〇x'y,(V'y,d/'y,…,d。iX'y),其中, X表示源节点,y表示目的节点;当X访问y的过程中,经过节点i,则diX'y = I,否则d iX'y = 0,其中,i = 〇、1......n-1 ;若X访问y的过程中,不经过任何节点,即X = y时,有dv、y = 0 ;所述干扰模式矩阵可表示为:
[0013] 进一步地,所述步骤S2中,路由长度为源节点X访问目的节点y的过程中经过的 节点数目,所述路由长度d0、y可表示为:
[0015]所有的do、y组成了路由长度矩阵D0,所述路由长度矩阵DO可表示为:
[0017] 进一步地,所述步骤S3具体为:提取路由长度矩阵DO中满足do,i,Yi= 1的元素, 并在干扰模式矩阵DV中找到该元素的源节点Xi和目的节点y 1,即可得路由长度为1的矩 阵Rl,所述矩阵Rl可表示为:
[0019]提取路由长度矩阵DO中满足do"= 2的元素,在干扰模式矩阵DV中找到该元素 的源节点X2和目的节点y2,并在矩阵Rl中找到同时满足d〇x2,m= 1和dom,y2= 1的中间节 点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
[002。 提取路由长度矩阵DO中满足do"= 3的元素,在干扰模式矩阵DV中找到该元素 的源节点X3和目的节点y 3,并在矩阵Rl中找到满足d0A。= 1,同时在矩阵R2中找到满足 (10。,,3二2的中间节点n,通过查询矩阵R2可知do "3= 2的路由路径为n - Z - y3,即可 得路由长度为3的矩阵R3,所述矩阵R3可表示为:
[002引采取同样的方式,得到所有路由长度的矩阵化(i = l、2、3'''n-l ;)并合并,即可获 得NUM架构下的系统路由表RT,所述RT可表示为:
[00巧]所述矩阵化中的元素为源节点Xi访问目的节点y 1过程中经过的节点,其包括目 的节点但不包括源节点X i。
[0026] 本发明还提供了一种自动获取NUMA架构下系统路由表的系统,包括:
[0027] 干扰模式矩阵构建模块,用于W NUMA节点中的每一个节点作为源节点对其它节 点进行访问所得到的干扰模式向量组成一个干扰模式矩阵;其中,每个干扰模式向量用于 表征其对应的源节点在访问目的节点过程中经过的节点;
[0028] 路由长度矩阵构建模块,用于根据每个干扰模式向量计算其对应的源节点访问目 的节点的路由长度,所有路由长度组成一个路由长度矩阵;
[0029] 系统路由表生成模块,用于依次提取路由长度矩阵中路由长度为l、2'''n-l的元 素,并结合该元素在干扰模式矩阵中对应的干扰模式向量,得到对应路由长度的矩阵并合 并,即得到NUM架构下的系统路由表。
[0030] 进一步地,所述干扰模式矩阵构建模块采用如下方式构建干扰模式矩阵:依次运 行节点0到节点0、1、2……n-1之间的访存程序,并记录每一个源节点访问目的节点过程中 经过的节点,得到的一组干扰模式向量组成干扰模式矩阵的第一行;同理,运行节点1到节 点0、l、2",n-l之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节点,得 到的一组干扰模式向量组成干扰模式矩阵的第二行;采取同样的方式,直到运行节点n-1 到节点0、l、2'''n-l之间的访存程序,并记录每一个源节点访问目的节点过程中经过的节 点,得到的一组干扰模式向量组成干扰模式矩阵的第n行,即得整个干扰模式矩阵;
[0031] 所述干扰模式向量可表示为:dv"= (d〇x'y,diX'y,d/'y,…,d。iX'y),其中,X表示源节 点,y表示目的节点;当X访问y的过程中,经过节点i,则(V'y= 1,否则di^'y= 0,其中,i =0、1......n-1 ;若X访问y的过程中,不经过任何节点,即X = y时,有dVy,y= 0 ;所述干扰 模式矩阵可表示为:
[0032]
[0033] 进一步地,所述路由长度矩阵构建模块中,路由长度为源节点X访问目的节点y的 过程中经过的节点数目,所述路由长度d0、y可表示为:
[0035] 所有的do、y组成了路由长度矩阵D0,所述路由长度矩阵DO可表示为:
[0037] 进一步地,所述系统路由表生成模块采用如下方式构建系统路由表:提取路由长 度矩阵DO中满足d〇xi,yi= 1的元素,并在干扰模式矩阵DV中找到该元素的源节点X郝目 的节点Yi,即可得路由长度为1的矩阵R1,所述矩阵Rl可表示为:
[0039] 提取路由长度矩阵DO中满足do"= 2的元素,在干扰模式矩阵DV中找到该元素 的源节点X2和目的节点72,并在矩阵Rl中找到同时满足d〇x2,m= 1和do m,,2= 1的中间节 点m,即可得路由长度为2的矩阵R2,所述矩阵R2可表示为:
[0041] 提取路由长度矩阵DO中满足do"= 3的元素,在干扰模式矩阵DV中找到该元素 的源节点X3和目的节点y 3,并在矩阵Rl中找到满足d〇A。= 1,同时在矩阵R2中找到满足 (1〇。,,3二2的中间节点n,通过查询矩阵R2可知do "3= 2的路由路径为n - Z - y3,即可 得路由长度为3的矩阵R3,所述矩阵R3可表示为:
[004引采取同样的方式,得到所有路由长度的矩阵化(i = l、2、3'''n-l ;)并合并,即可获 得NUM架构下的系统路由表RT,所述RT可表示为:
[004引所述矩阵化中的元素为源节点Xi访问目的节点y 1过程中经过的节点,其包括目 的节点但不包括源节点X 1。
[0046] 本发明与现有技术相比,有益效果在于:本发明提供的一种自动获取NUMA架构下 系统路由表的方法及系统,无需预先知道系统的拓扑结构,就可W获取到整个系统中节点 之间的路由信息;对于动态改变的节点之间的路由信息也可W通过本方法
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1