在3-Quades全互联网络中面向可视化程序的通信方法

文档序号:34753764发布日期:2023-07-13 02:41阅读:95来源:国知局
在3-Quades全互联网络中面向可视化程序的通信方法

本发明属于互联网通信,具体涉及在3-quades全互联网络中面向可视化程序的通信方法。


背景技术:

1、流数据的低延迟分析一直以来都是分布式计算和高性能计算领域的热点研究问题。在该问题的研究中,利用可视化程序,实时演示仿真结果这一手段,正被越来越多的流数据应用采纳,作为其主要降低流数据分析时延的方法。这种方法避免了大量数据的传输,节省了因数据传输带来的资源消耗,并从宏观上减少了流数据分析的时间。这种手段仰赖于仿真程序和可视化程序的并发执行,即要实现面向流数据的仿真结果的实时可视化,需要让仿真的程序和可视化程序同时运行在同一个集群中。当仿真程序处理完流数据后,通过集群网络,立即将处理结果立即传送给可视化程序。通过这种方式,不仅能够节省大量存储流数据的空间,还能及时反应当前程序的处理结果,方便使用者对所处理对象的及时调整。

2、要实现仿真程序和可视化程序的并发,需要功能强大的集群支持。目前,有很多主流的集群都针对多程序的高并发运行做了有针对性的优化。其中最有名的集群之一便是由日本京都大学富山研究组所提出的3-quades高性能计算集群。该集群基于全互联网络设计,由超立方网络发展而来,用一系列中等规模的小型商用pc相互连接。通过多个小规模千兆路由器,对集群中节点的相互串联,在一个集群中构造多个冗余子网。这种集群兼顾了效率和成本,通过设计多节点和冗余网络,使集群可以通过多重手段支持各种不同的通信模式(例如三维临近通信等),从而支持可视化程序与仿真程序的实时数据处理和并发数据交换。

3、具体而言,图1展示了3-qaudes全互联网络示意图,图中,64个节点按顺序排列成规则的立方体。根据在每个轴上的位置,全互联网络的每个节点可以标记为三维坐标(nx,ny,nz,)(0≤nx,ny,nz≤3)。此外,3-qaudes由三组子网络(sw-z、swy、sw-sx)组成,每个子网络由几个独立的小规模现成的千兆以太网交换机(简称gbesw)组成。在图1中,标记(i、*、*)的节点连接到子网sw-zi,标记(*、j、*)的节点连接到子网sw-yj,标记(*、*、k)的节点连接到子网sw-xk。

4、然而,在3-quades中实现可视化程序和仿真程序的并发执行时,也存在需要解决的问题。其中最影响程序性能,最亟待解决问题是:仿真程序和可视化程序在集群中运行时,常常会因为使用相同的子网传递消息,导致网络发生拥塞。而在网络拥塞发生以后,仿真程序和可视化程序又需要撤回消息发送请求,并等待消息重传。这样的等待重传将严重影响流数据的处理效率。且会造成实时可视化结果的卡顿。因此,子网冲突导致的消息等待重传,是程序并发处理流数据过程中要设法避免的现象。相应地,如何设计在3-quades中,面向可视化程序的通信方法,是该领域目前迫切需要解决的问题。


技术实现思路

1、本发明的目的是提供在3-quades全互联网络中面向可视化程序的通信方法,提升仿真程序和可视化程序在互联网络中的运行效率。

2、本发明所采用的技术方案是,在3-quades全互联网络中面向可视化程序的通信方法,具体按照以下步骤实施:

3、步骤1:对3-quades全互联网络中的节点进行重新编号;

4、步骤2,规划3-quades全互联网络中任意两节点的通信路径,

5、步骤3,依次尝试各通信路径,并记录下各通信路径所对应的消息传输时间,动态判断耗时最短的可视化程序通信路径,形成历史记录;

6、步骤4,选取使得可视化程序通信时间最短的通信路径,根据已知通信路径的耗时历史记录,预测未来耗时最短的通信路径,基于上述分析,将该问题抽象成随机bandit问题,将选取时延最低的通信路径作为最终优化目标,然后通过设计算法,从而预测可视化程序在集群中最低延时的通信路径。

7、本发明的特点还在于,

8、步骤1中,具体为:对于在3-quades全互联网络中的任意节点sube n,将其写转化成n=40×x+4×y+42×z的形式,新编号node(x,y,z)代表了节点sube n在每个坐标轴上的分量,此外,三个坐标分量的任意两两组合也标志着该节点在某个互联网络的子网其中的位置,在node(x,y,z)中,(x,y)指sube n在子网swzz内的位置;(x,z)代表sube n处在子网swyy内的第x行,第z列;(y,z)指sube n在子网swxx内的位置。

9、步骤2中,具体为:

10、步骤2.1:计算任意节点a(xi,yi,zi)和b(xe,ye,ze)在不同坐标轴中的距离差,距离差的计算如公式(1)所示;

11、

12、其中,δx,δy,δz分别为节点a和b在x轴、y轴、z轴的距离差;

13、步骤2.2,根据距离差,判定节点a和b所处位置;

14、步骤2.3,根据判定结果,分情况列举节点a和b之间的通信路径;

15、步骤2.4,基于以上分析,得到基于节点a和b相对位置的所有通信路径。

16、步骤2.2中,具体为:

17、步骤2.21,若δx,δy,δz中有两个值为0,则说明节点a和b处于同一条直线上,节点a和b所处的这条线将同时隶属于两个不同的子网,转入步骤2.3.1;

18、步骤2.22,若δx,αy,δz中有一个值为0,则说明节点a和b处于同一平面之中,但并不在同一条直线上,转入步骤2.3.2;

19、步骤2.23,若δx,δy,δz中均不为0,则说明节点a和b处于3-quades全互联网络的不同平面上,转入步骤2.3.3;

20、步骤2.3中,具体为:

21、步骤2.3.1,如果判断节点a和b所处的这条线将同时隶属于两个不同的子网,那么节点a和b之间通信路径有如下三种;

22、[a]若说明节点a和b明处于沿z轴方向的直线上,且该条直线同时隶属于子网swx和swy,节点a和b的通信路径为:

23、a(xi,yi,zi)→b(xe,ye,ze)利用子网swxi,经过一次消息传递过程实现通信;

24、a(xi,yi,zi)→b(xe,ye,ze)利用子网swyi,经过一次消息传递过程实现通信;

25、[b]若说明节点a和b处于沿y轴方向的直线上,且该条直线同时隶属于子网swx和swz,节点a和b的通信路径为:

26、a(xi,yi,zi)→b(xe,ye,ze)利用子网swxi,经过一次消息传递过程实现通信;

27、a(xi,yi,zi)→b(xe,ye,ze)利用子网swzi,经过一次消息传递过程实现通信;

28、[c]若说明节点a和b处于沿x轴方向的直线上,且该条直线同时隶属于子网swy和swz,节点a和b的通信路径为:

29、a(xi,yi,zi)→b(xe,ye,ze)利用子网swyi,经过一次消息传递过程实现通信;

30、(xi,yi,zi)→b(xe,ye,ze)利用子网swzi,经过一次消息传递过程实现通信;

31、步骤2.3.2,如果判断节点a和b处于同一平面之中,但并不在同一条直线上,那么节点a和b之间通信路径有如下三种;

32、[a]若仅δx=0,说明节点a和b处于同一swx子网中,节点a到节点b存在两条通信路径,分别经由中继节点a’和中继节点a‘’,共经历2hops,实现从节点a到b的消息传递;

33、a(xi,yi,zi)→a’(xi,yi,ze)通过子网swxi,然后a’(xi,yi,ze)→b(xe,ye,ze)通过子网swxe;经过两次消息传递过程实现通信;

34、a(xi,yi,zi)→a’(xi,yi,ze)通过子网swyi,然后a’(xi,yi,ze)→b(xe,ye,ze)通过子网swxe;经过两次消息传递过程实现通信;

35、a(xi,yi,zi)→a’(xi,yi,ze)通过子网swxi,然后a’(xi,yi,ze)→b(xe,ye,ze)通过子网swze;经过两次消息传递过程实现通信;

36、a(xi,yi,zi)→a’(xi,yi,ze)通过子网swyi,然后a’(xi,yi,ze)→b(xe,ye,ze)通过子网swze;经过两次消息传递过程实现通信;

37、a(xi,yi,zi)→a‘’(xi,ye,zi)通过子网swxi,然后a‘’(xi,ye,zi)→b(xe,ye,ze)通过子网swxe;经过两次消息传递过程实现通信;

38、a(xi,yi,zi)→a‘’(xi,ye,zi)通过子网swzi,然后a‘’(xi,ye,zi)→b(xe,ye,ze)通过子网swxe;经过两次消息传递过程实现通信;

39、a(xi,yi,zi)→a‘’(xi,ye,zi)通过子网swxi,然后a‘’(xi,ye,zi)→b(xe,ye,ze)通过子网swye;经过两次消息传递过程实现通信;

40、a(xi,yi,zi)→a‘’(xi,ye,zi)通过子网swzi,然后a‘’(xi,ye,zi)→b(xe,ye,ze)通过子网swye;经过两次消息传递过程实现通信;

41、[b]若仅δy=0,说明节点a和b处于同一swy子网中,节点a到节点b存在两条通信路径,分别经由中继节点a’和中继节点a‘’,共经历2hops,实现从节点a到b的消息传递;

42、a(xi,yi,zi)→a’(xe,yi,zi)通过子网sw-yi,然后a’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

43、a(xi,yi,zi)→a’(xe,yi,zi)通过子网sw-zi,然后a’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

44、a(xi,yi,zi)→a’(xe,yi,zi)通过子网sw-yi,然后a’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

45、a(xi,yi,zi)→a’(xe,yi,zi)通过子网sw-zi,然后a’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

46、a(xi,yi,zi)→a‘’(xi,yi,ze)通过子网sw-xi,然后a‘’(xi,yi,ze)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

47、a(xi,yi,zi)→a‘’(xi,yi,ze)通过子网sw-yi,然后a‘’(xi,yi,ze)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

48、a(xi,yi,zi)→a‘’(xi,yi,ze)通过子网sw-xi,然后a‘’(xi,yi,ze)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

49、a(xi,yi,zi)→a‘’(xi,yi,ze)通过子网sw-yi,然后a‘’(xi,yi,ze)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

50、[c]若仅δz=0,说明节点a和b处于同一swz子网中,节点a到节点b存在两条通信路径,分别经由中继节点a’和中继节点a‘’,共经历2hops,实现从节点a到b的消息传递;

51、a(xi,yi,zi)→a’(xi,ye,zi)通过子网sw-xi,然后a’(xi,ye,zi)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

52、a(xi,yi,zi)→a’(xi,ye,zi)通过子网sw-zi,然后a’(xi,ye,zi)→b(xe,ye,ze)通过子网sw-ye;经过两次消息传递过程实现通信;

53、a(xi,yi,zi)→a’(xi,ye,zi)通过子网sw-xi,然后a’(xi,ye,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

54、a(xi,yi,zi)→a’(xi,ye,zi)通过子网sw-zi,然后a’(xi,ye,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

55、a(xi,yi,zi)→a‘’(xe,yi,zi)通过子网sw-xi,然后a‘’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-xe;经过两次消息传递过程实现通信;

56、a(xi,yi,zi)→a‘’(xe,yi,zi)通过子网sw-yi,然后a‘’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-xe;经过两次消息传递过程实现通信;

57、a(xi,yi,zi)→a‘’(xe,yi,zi)通过子网sw-xi,然后a‘’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

58、a(xi,yi,zi)→a‘’(xe,yi,zi)通过子网sw-yi,然后a‘’(xe,yi,zi)→b(xe,ye,ze)通过子网sw-ze;经过两次消息传递过程实现通信;

59、步骤2.3.3,如果节点a和b处于3-quades全互联网络的不同平面上,那么,节点a和b至少需要借助两个中继节点,经历三次消息转发,才可以实现互相通信;

60、(a)通信路径为节点a→p→m→b:

61、a(xi,yi,zi)→p(xe,yi,zi)通过子网sw-yi或子网sw-zi;p(xe,yi,zi)→m(xe,ye,zi)通过子网sw-xe或子网sw-zi;m(xe,ye,zi)→b(xe,ye,ze)通过子网sw-xe或子网sw-ye;

62、(b)通信路径为节点a→p→n→b:

63、a(xi,yi,zi)→p(xe,yi,zi)通过子网sw-yi或子网sw-zi;p(xe,yi,zi)→n(xe,yi,ze)通过子网sw-xe或子网sw-yi;n(xe,yi,ze)→b(xe,ye,ze)通过子网sw-xe或子网sw-ze;

64、(c)通信路径为节点a→p→m→b:

65、a(xi,yi,zi)→p(xi,ye,zi)通过子网sw-xi或子网sw-zi;p(xi,ye,zi)→m(xe,ye,zi)通过子网sw-ye或子网sw-zi;m(xe,ye,zi)→b(xe,ye,ze)通过子网sw-xe或子网sw-ze;

66、(d)通信路径为节点a→p→n→b:

67、a(xi,yi,zi)→p(xi,ye,zi)通过子网sw-xi或子网sw-zi;p(xi,ye,zi)→n(xe,ye,zi)通过子网sw-ye或子网sw-xi;n(xe,ye,zi)→b(xe,ye,ze)通过子网sw-ye或子网sw-ze;

68、(e)通信路径为节点a→p→m→b:

69、a(xi,yi,zi)→p(xi,yi,ze)通过子网sw-xi或子网sw-yi;p(xi,yi,ze)→m(xe,yi,ze)通过子网sw-ze或子网sw-yi;m(xe,yi,ze)→b(xe,ye,ze)通过子网sw-xe或子网sw-ze;

70、(f)通信路径为节点a→p→n→b:

71、a(xi,yi,zi)→p(xi,yi,ze)通过子网sw-xi或子网sw-yi;p(xi,yi,ze)→n(xi,ye,ze)通过子网sw-ze或子网sw-xi;n(xi,ye,ze)→b(xe,ye,ze)通过子网sw-ye或子网sw-ze。

72、步骤4中,具体为:

73、针对简单拓扑,基于ucb1算法设计相应的通信路径的选取算法;

74、简单拓扑是指依据公式(1)的计算结果,在节点a和b的距离差中有1个或者2个值为0时,节点a和b在网络中的拓扑关系;

75、在每次选取通信路径时,对各个通信路径打分;即在t-1时刻,对于第i个通信路径对应分数的如公式(7)所示;

76、

77、基于公式(7),当算法要为集群中的节点选取通信路径时,首先用该公式计算每个通信路径对应的分数;然后根据计算结果,选取得分最高的通信路径,作为节点间本次通信的通信路径,从而最小化通信时间,最大化通信效率;

78、针对复杂拓扑,基于改进的e贪婪算法设计相应的通信路径选择算法;

79、复杂拓扑关系是指网络中节点a和b不在同平面中,通过公式(1)计算距离差可知,三个值均不为0;

80、若将△r作为免疫调节机制中的抗原,将e贪婪算法中的e作为抗体,那么对抗体值e的动态调整过程如公式(11)所示;

81、epsilon(k)=kp[1-γ{e(k-d)-e(k-d-1)}2]δr  (11)

82、在公式(11)中,kp表示历史最优通信路径对抗体的刺激程度;γ表示历史最优通信路径对算法的负向反馈调节;epsilon(k)表示第k次选取最优通信路径时的抗体值e;d为超参数;

83、r表示算法的选择偏好,计算公式为其中c(k)为k时刻,当前最优路径被选择的次数,t(k)表示k时刻的候选通信路径总数;

84、δr的计算如公式(12)所示;

85、δr=r(k)-r(k-d)  (12)

86、结合公式(11)和(12),将e的值由小变大,进而将选取策略从“保守”转向“激进”,重新快速找到延时最小的通信路径。

87、本发明的有益效果是:

88、本发明拟综合可视化程序在集群中的运行原则,设计针对不同通信场景下,可视化程序的运行节点间的通信路径,间接减少可视化程序运行时所生成的中间结果。与此同时,将面向不同拓扑结构下,通信路径的选取问题抽象成随机bandit问题。然后以解决该问题目标,分别通过ucb1算法和改进的e贪婪算法,设计面向简单拓扑和复杂拓扑中的通信路径选取算法,使得可视化程序在集群中运行时,选到最合适的通信路径,使得通信时延最短,全面提升可视化程序在集群中的运行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1