一种大规模网络传输优化方法和系统技术方案

技术编号:13502439 阅读:66 留言:0更新日期:2016-08-09 23:45
本发明专利技术提供了一种大规模网络传输优化方法及系统,其特征在于,所述方法包括:将同一网络中的N个节点首尾相连,组成环状结构,其中,每一个节点与其两侧相邻节点相连接,以及与所述相邻节点的另一相邻节点相连接。本发明专利技术提出了一种将环状网络拓扑结构和轮循算法相结合的数据传输方法,对大规模网络传输进行优化,能够解决或部分解决数据传输中的无序和拥塞等问题,适用于大数据环境中节点间数据的传输。

【技术实现步骤摘要】

本专利技术涉通信
,尤其涉及一种大规模网络传输优化方法和系统
技术介绍
贝奥武夫(Beowulf)集群是一种高性能的并行计算机集群结构,它是由一组独立的计算机系统构建的松耦合的多处理机系统,系统中各进程借助网络实现通信、共享内存传递信息,从而实现分布式并行计算。Beowulf集群的设计目标是使一般大学的计算机系和小型研究机构有能力建立自己的超级计算机系统,每秒可运行上十亿条指令。Beowulf集群技术解决了如何通过使用普通计算机来达到高性能、高实时的计算系统的问题。近年来,Beowulf集群系统迅速发展,主要是因为作为集群节点的工作站系统的处理性能越来越强,更快的处理器和更高效的多CPU机器大量进入市场,以及局域网新技术和新协议的引入,集群节点间的通信能获得更高的带宽和较小的延迟,集群系统比传统的并行计算机更易于融合到已有的网络系统中去。目前,集群系统的开发工具日臻成熟,其价格也愈加便宜并且易于构建。另外,集群系统的可扩展性良好,节点的性能也很容易通过增加内存或改善处理器性能获得提高。信息传递接口(MessagePassingInterface,MPI)是一种消息传递编程接口,它提供了实现其一系列接口的多语言函数集。MPI是Beowulf集群上常用的消息传递机制,并行程序常常使用MPI来进行数据的发送与接收。MPI标准定义了一组函数,使应用程序可以将消息从一个MPI进程传递到另一个MPI进程。在集群系统中,节点间使用MPI进行数据传输时,通常有以下两种传输方式:方式一采用顺序传输的方式:图1显示了第1轮数据传输过程,在此过程中,节点1至节点7都向节点0发送数据,而节点0采用循环语句依次接收各节点发送的数据。方式二采用随机确定的数据发送顺序:图2显示了某一轮数据传输过程中,可能发生的数据传输状态,节点0和节点2都向节点5发送数据,节点1向节点4发送数据,节点3向节点6发送数据,节点4向节点0发送数据,节点5向节点7发送数据,节点6向节点1发送数据,节点7向节点2发送数据。现有技术不足在于:采用顺序传输的方式进行多对一的数据传输时,在某些应用场景下,因链路丢包会出现网络性能的急剧下降,表现为吞吐率远低于链路带宽,造成整个网络带宽资源的浪费。并且大数据量或多对一传输时,极易发生拥塞问题。采用机确定的数据发送顺序进行数据传输时,需要确定数据发送顺序表,这样不仅增加了数据传输中的工作量,在网络规模较大时,该表也会比较庞大和复杂,多个节点同时向一个节点发送消息,如果不对通信负载进行调度或调度方法不合理,那么接收数据的节点需要频繁处理接收数据的请求,而无法处理发送数据的请求,在网络中出现公平性和拥塞等问题。
技术实现思路
鉴于上述问题,本专利技术提出了一种大规模网络传输优化方法和系统,以期能够解决或部分解决数据传输中的无序和拥塞等问题,主要包括两部分的内容:优化网络拓扑结构设计和传输方法。为达到上述目的,本专利技术的技术方案是这样实现的:一种大规模网络传输优化方法,其特征在于,所述方法包括:将同一网络中的N个节点首尾相连,组成环状结构,其中,每一个节点与其两侧相邻节点相连接,以及与所述相邻节点的另一相邻节点相连接,所述每个节点,向其中一侧相连两个节点分别发送数据包。所述N个节点的数据包传输过程中,还包括:对N个节点进行编号,所述每个节点所需发送的数据包根据每个数据包到达的目的节点的编号进行编号。在非最后一轮数据传输过程中,所述每一个节点都执行两次发送动作,每个节点对需发送的数据包按目的节点距离进行排序,选择发送的数据包为距离最近的一个或两个目的节点对应的数据包,其中,当节点个数为偶数时,最后一轮每个节点仅发送一个数据包,当节点个数为奇数时,最后一轮每个节点发送两个数据包。设N个节点为顺时针或逆时针方向从0到N-1顺序编号,设节点k发送的所述两个数据包的目的节点的编号分别为i和j,k<i≤j,且0≤k≤N-3,节点k将发向i节点的数据包发到k+1节点或k+2节点,将发往j节点的数据包发向k+2节点或k+1节点;节点N-2将发向i节点的数据包发到节点N-1或节点0,将发往j节点的数据包发向节点0或节点N-1;节点N-1将发向i节点的数据包发到节点0或节点1,将发往j节点的数据包发向节点1或节点0。所述每个节点也会接收来自另一侧相邻两个节点传送的数据包,所述节点根据先到先收的方式接收数据包。本专利技术还提供一种大规模网络传输优化系统,所述系统包括:所述系统包括N个节点,N个节点首尾相连,组成环状结构,其中,每一个节点与其两侧相邻节点相连接,以及与所述相邻节点的另一相邻节点相连接。所述每个节点包括发送模块,用于对所述每个节点,向其中一侧相连两个节点发送数据包。所述发送模块还包括,排序单元:用于对N个节点进行编号,以及根据每个数据包的目的节点的编号对需要发送数据包进行排序。所述发送模块在非最后一轮数据包传输过程中,用于执行两次发送动作,对需发送的数据包按目的节点距离进行排序,选择发送的数据包为距离最近的一个或两个目的节点对应的数据包,当节点个数为偶数时,最后一轮每个节点的发送模块仅发送一个数据包,当节点个数为奇数时,最后一轮每个节点的发送模块发送两个个数据包。所述的系统,还包括,设N个节点为顺时针或逆时针方向从0到N-1顺序编号,设节点k发送的所述两个数据包的目的节点的编号分别为i和j,k<i≤j,且0≤k≤N-3,所述发送模块还包括,用于将发向i节点的数据包发到k+1节点或k+2节点,将发往j节点的数据包发向k+2节点或k+1节点;节点N-2的发送模块将发向i节点的数据包发到节点N-1或节点0,将发往j节点的数据包发向节点0或节点N-1;节点N-1的发送模块将发向i节点的数据包发到节点0或节点1,将发往j节点的数据包发向节点1或节点0。所述每个节点还包括接收模块,用于另一侧相连两个节点传送的数据包,所述节点根据先到先收的方式接收数据包。有益效果如下:本专利技术提出了一种将环状网络拓扑结构和轮循算法相结合的数据传输方法及系统,对大规模网络传输进行优化,能够解决或部分解决数据传输中的无序和拥塞等问题。本专利技术还能够实现网络中各节点数据量和传输带宽的均衡;每个节点与相邻4个节点进行联系,兼顾传输效率和网络稳健性;轮循传输,无需记录网络中数据传输的状态,每个节点根据自有数据的顺序可实现简单高...

【技术保护点】
一种大规模网络传输优化方法,其特征在于,所述方法包括:将同一网络中的N个节点首尾相连,组成环状结构,其中,每一个节点与其两侧相邻节点相连接,以及与所述相邻节点的另一相邻节点相连接。

【技术特征摘要】
1.一种大规模网络传输优化方法,其特征在于,所述方法包括:
将同一网络中的N个节点首尾相连,组成环状结构,其中,每一个节点与
其两侧相邻节点相连接,以及与所述相邻节点的另一相邻节点相连接。
2.如权利要求1所述的方法,其特征在于,还包括:所述每个节点,向其
中一侧相连两个节点分别发送数据包。
3.如权利要求2所述的方法,其特征在于,还包括:对N个节点进行编号,
所述每个节点所需发送的数据包根据每个数据包到达的目的节点的编号进行
编号。
4.如权利要求3所述的方法,其特征在于,在非最后一轮数据传输过程中,
所述每一个节点都执行两次发送动作,每个节点对需发送的数据包按目的节点
距离进行排序,选择发送的数据包为距离最近的一个或两个目的节点对应的数
据包;
当节点个数为偶数时,最后一轮每个节点仅发送一个数据包,当节点个数
为奇数时,最后一轮每个节点发送两个数据包。
5.如权利要求4所述的方法,其特征在于,设N个节点为顺时针或逆时针
方向从0到N-1顺序编号,设节点k发送的所述两个数据包的目的节点的编号
分别为i和j,k<i≤j,且0≤k≤N-3,节点k将发向i节点的数据包发到k+1
节点或k+2节点,将发往j节点的数据包发向k+2节点或k+1节点;
节点N-2将发向i节点的数据包发到节点N-1或节点0,将发往j节点的
数据包发向节点0或节点N-1;节点N-1将发向i节点的数据包发到节点0或
节点1,将发往j节点的数据包发向节点1或节点0。
6.如权利要求3所述的方法,其特征在于,所述每个节点也会接收来自另
一侧相连两个节点传送的数据包,所述节点根据先到先收的方式接收数据包。
7.一种大规模网络传输优化系统,其特征在于,
所述系统包括N...

【专利技术属性】
技术研发人员:宋怀明赵艳楠郭庆惠润海
申请(专利权)人:无锡城市云计算中心有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1