一种基于网卡直连的全互连通信方法及装置的制造方法

文档序号:9399149阅读:518来源:国知局
一种基于网卡直连的全互连通信方法及装置的制造方法
【技术领域】
[0001]本发明涉及并行通信网络领域,特别是涉及一种基于网卡直连的全互连通信方法及装置。
【背景技术】
[0002]目前主流的并行通信系统多采用网卡与交换机的方案。在这种方案中,每个计算单元需配备各自的网卡,然后将网卡连接到交换机上,由于不同节点上的网卡都连接在同一交换机上,从而利用交换机实现了各个计算单元间的互连。随着网卡性能的增加,对交换机的要求也越来越高,而当前的高端交换机如万兆交换机、Infiniband交换机等价格昂贵,针对小规模的通信系统显著的增加了互连成本。
[0003]基于当前的互连架构,通信过程首先从发送端网卡开始,其次经过交换机,最后到达接收端网卡,在通信过程中必须经过交换机,由于交换机需要处理通信数据包的路由转发,从而增加了通信的延迟开销,同时,交换机在转发数据包时,会存在排队和阻塞的现象,这在某些情况下,将严重地降低系统的性能,此外,由于所有的网卡都连接在交换机上,交换机存在单点故障的问题,交换机的故障将导致整个并行系统的不可用。

【发明内容】

[0004]针对现有技术的不足,本发明提出一种基于网卡直连的全互连通信方法及装置。
[0005]本发明提出一种基于网卡直连的全互连通信装置,包括:
[0006]多个计算单元、多个网卡、通信中间件;
[0007]所述计算单元,用于运行系统软件和应用程序,负责提供计算服务;
[0008]所述网卡,用于提供数据传输服务,负责实现各个计算单元彼此间的通信;
[0009]所述通信中间件,用于向应用提供调用接口,并且屏蔽底层的网络互联结构;
[0010]其中所述通信中间件位于所述计算单元中,所述计算单元连接多个所述网卡,所述计算单元之间通过所述网卡进行通信。
[0011]所述的基于网卡直连的全互连通信装置,所述计算单元包括处理器与内存,所述处理器支持多种指令集,所述内存容量无限制。
[0012]所述的基于网卡直连的全互连通信装置,所述网卡提供单端口或者多端口网卡支持。
[0013]所述的基于网卡直连的全互连通信装置,所述通信中间件负责初始化和管理多块网卡,提供各计算单元间的通信服务,并向上层提供统一的调用接口。
[0014]所述的基于网卡直连的全互连通信装置,所述通信中间件包括通信管理模块,用于初始化多块网卡,并为每块网卡分配相应的物理地址;
[0015]通信抽象模块,用于向上层提供单一的通信网络结构,根据上层通信相应的目标地址,选择网卡,将数据发送到目标方;
[0016]通信接口模块,用于在通信抽象模块的基础上,为上层应用提供兼容的网络接口支持,并将用户的请求转化为对抽象模块的调用,从而实现用户应用间的通信。
[0017]所述的基于网卡直连的全互连通信装置,所述通信管理模块包括加载网卡驱动,并且根据全局的拓扑互连关系,分配相应的物理地址。
[0018]本发明还提供一种实施于所述装置的基于网卡直连的全互连通信方法,包括:
[0019]步骤1,为网卡分配网卡地址,网卡间通过所述网卡地址进行相互通信;
[0020]步骤2,根据所述网卡地址与网卡间的映射关系,初始化通信中间件,建立通信中间件中的互连映射关系;
[0021]步骤3,所述通信中间件根据上层网络数据的目标地址与所述互联映射关系,选择网卡,将网络数据包发送到目标网卡,从而完成数据的通信。
[0022]所述的基于网卡直连的全互连通信方法,所述步骤2与所述步骤3之间还包括,所述通信中间件初始化完成后,应用通过调用所述通信中间件实现数据的通信,其中调用所述通信中间件中的通信接口,并填写目标地址与所传输的数据信息。
[0023]所述的基于网卡直连的全互连通信方法,还包括所述目标网卡在接收到数据后,通知所述通信中间件,所述通信中间件获取消息到达的通知。
[0024]所述的基于网卡直连的全互连通信方法,还包括所述通信中间件通知所述应用,告知数据到达的信息,并将数据提交给所述应用。
[0025]由以上发明可知,本发明的优点在于:
[0026]首先由于高性能交换机成本较高,因此在小规模系统内采用全互连,剔除了交换机成本开销;其次以太网采用存储转发机制实现交换,交换机会带来较大的延时开销,采用直连方式,消除了交换延时,减少了通信延迟时间,对高性能计算可以获得性能上的改善;最后全互连架构是最理想的互连结构,完全不存在阻塞和排队现象,可以获得最佳的通信性能,同时也是最可靠的网络结构,满足系统容错的需求。
【附图说明】
[0027]图1为基于网卡直连的全互连通信架构;
[0028]图2为通信中间件架构;
[0029]图3为通信流程图。
[0030]其中附图标记为:
[0031]计算单元I处理器11
[0032]内存12网卡2
[0033]通信中间件3通信管理模块31
[0034]通信抽象模块32通信接口模块33
[0035]步骤110/120/130/140/150/160/170。
【具体实施方式】
[0036]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种基于网卡直连的全互连通信方法及装置进行进一步详细说明,应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0037]本发明的目的在于提供一种基于网卡直连的全互连通信系统,它通过网卡直连,将不同的计算单元连接起来。通过N个计算单元,每个计算单元配备(N-1)块网卡,可以实现计算单元间的全互连,同时,基于全互连通信系统,通信中间件管理多块网卡并向上层应用屏蔽底层网卡互连的细节,从而向上层提供方便、高效的通信服务。
[0038]下面结合上述目的,详细说明本发明基于网卡直连的全互连通信系统,图1给出了本发明基于网卡直连的全互连通信架构,包括:
[0039]计算单元1,其功能主要运行系统软件和应用程序,负责提供计算服务。其包括处理器11和内存12等,其通过加载操作系统,并运行应用程序来提供服务。本发明不对计算单元中的处理器类型加以限制,其可以支持X86,MIPS和ARM等处理器,图中通用处理器的数目为M,本发明亦不对处理器的具体数目加以限制。同样,本发明不对内存的类型和大小加以限制。
[0040
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1