进程间通信方法和高速网络设备技术

技术编号:6508365 阅读:250 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种进程间通信方法和高速网络设备。涉及计算机领域;解决了进程间通信任务影响CPU运算效率的问题。该方法包括:高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。本发明专利技术提供的技术方案适用于超级计算机,实现了不占用CPU运算资源的进程间通信。

【技术实现步骤摘要】

本专利技术涉计算机领域,尤其涉及一种进程间通信方法和高速网络设备
技术介绍
为了满足科学研究和工程模拟计算,超级计算机正在不断发展。超级计算机的规模从仅仅数千个处理器核心发展到数十万个处理器核心,新的性能和扩展性挑战随之诞生。在过去,并行计算应用的性能调优,可以通过分别优化其算法、通讯和计算等方面较轻松的完成。但是,随着采用高速网络的更大规模高性能计算集群的涌现,这些问题混杂在一起,必须综合起来解决。进程间通讯对基于高速网络的超级计算机的扩展性有重要影响,这是因为超级计算应用的操作,如发送周遭初始输入数据的网络广播,减少多处整合数据及整体同步的障碍,会经常用到进程间通信。进程间通信尤其是其中的整体通信操作,负责整合系统中的全部进程/节点,因此对进程间通信必须尽快和高效地处理。目前进程间通信的扩展性处理得并不好,受制于系统噪音,处理网络协议也占据过多CPU处理时间,导致超级计算机的规模扩大后,其运算效率却无法得到相应提升。
技术实现思路
本专利技术提供了一种进程间通信方法和高速网络设备,解决了进程间通信任务影响 CPU运算效率的问题。一种进程间通信方法,包括高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。优选的,所述高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理的步骤之前还包括所述高速网络设备卸载全部经由该高速网络设备发送的数据包,从中进行进程间通信数据包的检测。优选的,所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包的步骤之后,还包括所述目的处理器内存上的缓存与所述进程间通信数据包直接交换数据。本专利技术还提供了一种高速网络设备,包括数据包处理模块,用于在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;数据发送模块,用于向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。优选的,所述高速网络设备还包括数据包检测模块,用于卸载全部经由所述高速网络设备发送的数据包,从中进行进程间通信数据包的检测。优选的,所述数据发送模块具体为高速网络适配器或交换模块。本专利技术提供了一种进程间通信方法和高速网络设备,高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理,所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包,解决了进程间通信任务影响CPU运算效率的间题。附图说明图1为系统噪音对高速网络的进程间通信操作的影响示意图;图2为本专利技术的实施例一提供的一种高速网络设备的结构示意图;图3为本专利技术的实施例一提供的又一种高速网络设备的结构示意图;图4为本专利技术的实施例二提供的一种进程间通信方法的流程图。具体实施例方式操作系统噪音的存在是扩展大型应用的主要障碍之一。CPU必须同时处理计算和通信任务(主要是协议处理),一般是串行处理。在多数服务器上,IO操作要求数据在CPU 的控制下,从入口被映射到IO内存上,然后再传输到用户空间内存。同时需要服务器挂起活动线程,进行背景转换来处理通讯线程,以保证及时回应其他进程。进程间操作会对CPU 运作时间造成显著损耗,因此系统噪音会对CPU任务的处理时间造成额外的延迟。系统噪音对高速网络的进程间通信操作的影响如图1所示,假设一个超级计算机有8个节点,每一横排代表系统运行的一个阶段,箭头代表信息通讯方向。在节点1的系统噪音造成了预期信息到达节点2的延迟。这不仅仅造成节点1的执行时间延长,而且间接提升了 3,5,7节点的执行时间,并因此影响了整体应用的运行时间,降低了整体系统的性能。为了解决上述问题,本专利技术的实施例提供了一种进程间通信方法和高速网络设备。下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。首先结合附图,对本专利技术的实施例一进行说明。本专利技术实施例提供了一种高速网络设备,其结构如图2所示,包括数据包处理模块201,用于在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;数据发送模块202,用于向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。进一步,如图3所示,本专利技术实施例还提供了一种高速网络设备,在图2所示高速网络设备的基础上,还包括数据包检测模块203,用于卸载全部经由所述高速网络设备发送的数据包,从中进行进程间通信数据包的检测。优选的,所述数据发送模块202具体为高速网络适配器或交换模块。其中,数据包处理模块201和数据包检测模块203可集成于一芯片或通过ASIC实现。下面结合附图,对本专利技术的实施例二进行说明。本专利技术实施例提供了一种进程间通信方法,利用具通信卸载功能(如芯片或 ASIC)的高速网络适配器和交换模块,将管理进程间通信的任务从CPU转移到高速网络,从而减轻了 CPU管理通讯这一部分的工作负担,允许进程间通信和计算重叠/并行的增加。结合本专利技术实施例一提供的高速网络设备,使用本专利技术的实施例提供的进程间通信方法完成进程间通信的流程如图4所示,包括步骤401、所述高速网络设备卸载全部经由该高速网络设备发送的数据包,从中进行进程间通信数据包的检测;本专利技术实施例所涉及的超级计算机均为小型机或大型机,在该超级计算机内又包含多台设备,各设备均有一独立的网络模块。本专利技术实施例中,该网络模块即为高速网络设备。本专利技术中,高速网络设备通过其数据包卸载功能,将发往其对应的设备的数据包全部卸载,并对卸载下来的数据包进行检测。具体的,主要进行数据校验,并对属于同一应用程序的不同进程间通信进行标注,以便于在接收端进行分析和处理。步骤402、高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;通常意义上说网络协议栈是软件上用于处理网络协议的堆栈,高速网络通常指带宽在1000Mb/S以上的网络。本步骤中,网络协议栈即对通信数据进行网络协议处理,包括解包,分析头地址等等过程。与协议相关的数据包处理(如本步骤中的高速网络协议堆栈处理)只占高速网络总开销的35%到40%,操作系统的开销和中间缓冲复制等等占用剩下的开销。即由高速网络中的设备完成进程间通信的处理并不会影响正常的其他通信业务。步骤403、所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包;本步骤中,高速网络设备在处理完成后,将进程间通信数据包根据其目的地址,直接向相应的处理器内存发送。步骤404、所述目的处理器内存上的缓存与所述进程间通信数据包直接交换数据;本步骤中,具通信卸载功能的高速网络设备接收到通信数据包后,将其卸载到本地FLASH缓存中,并利用自身处理模块如芯片或ASIC等对其进行协议堆栈处理,将处理后的数据直接与本机内存进行交互。将数据包直接发往处理器的内存,与应用软件在内存上的缓存直接交换数据,可以消减缓存开销,避免CPU中断等等,提高CPU利用率,从而增强基于高速网络的超级计算机的扩展性和计算效率。本专利技术的实施例提供了一种进程间通信方法和高速网络设备,高速网络设备在检测到进程间通信数据包本文档来自技高网...

【技术保护点】
1.一种进程间通信方法,其特征在于,包括:高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。

【技术特征摘要】
1.一种进程间通信方法,其特征在于,包括高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理;所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程间通信数据包。2.根据权利要求1所述的进程间通信方法,其特征在于,所述高速网络设备在检测到进程间通信数据包时,对所述进程间通信数据包进行高速网络协议堆栈处理的步骤之前还包括所述高速网络设备卸载全部经由该高速网络设备发送的数据包,从中进行进程间通信数据包的检测。3.根据权利要求1所述的进程间通信方法,其特征在于,所述高速网络设备向所述进程间通信数据包的目的处理器内存发送该进程...

【专利技术属性】
技术研发人员:王渭巍吕文静
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:11

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

1