多线程化分组处理制造技术

技术编号:10505291 阅读:152 留言:0更新日期:2014-10-08 10:19
公开一种用于并行处理对顺序敏感的数据分组的系统。来自多个依次排序的数据分组的第一数据分组被引向第一分流引擎。来自多个依次排序的数据分组的第二数据分组被引向第二分流引擎,其中第二数据分组依次跟随第一数据分组。第二分流引擎从第一分流引擎接收信息,其中该信息反映第一分流引擎正在处理第一数据分组。基于在第二分流引擎接收的信息,第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。

【技术实现步骤摘要】
【国外来华专利技术】多线程化分组处理
本专利技术总体上涉及计算机联网,并且更具体地涉及利用多个分组处理引擎来多线程化接收的分组。
技术介绍
高性能联网不断面临挑战:本地联网技术正在比处理器和存储器速度更快地变得更快。每当以太网技术提供另一速度增量时,联网开发者必须发现用于使系统的其余部分能够跟进——甚至在快速现代硬件上——的方式。联网设备通常利用缓冲器、即在联网设备中暂时存储数据的存储器区域以补偿在集中器、复用器、交换机、路由器等上的传入(或者传出)端口的拥塞。例如,如果传入流量的水平超过交换机的资源,则在传入交换机端口的缓冲器可以暂时存储过量流量直至交换机具有用于处理流量的充分资源。缓冲器也可以服务于暂时存储分组数据以在下游设备未在可接受的时间段内接收分组而无错误的情况下允许重传。接收计算机系统的网络接口硬件通常在分组内容被写入到系统存储器之前向缓冲器中接收分组。随着处理开销变成显著,为了减少缓冲器溢出可能性,可以向一个或者多个分流引擎发送在缓冲器中的分组用于处理和向存储器中写入。一个或者多个分流引擎经常提供特征、比如解析分组首部、校验和计算、首部分离和分散-聚集存储分组。可以运用多个分流引擎以并行处置来自不同逻辑端口、线程或者其它连接的分组。在这样的系统中,分组处理可以称为“多线程化”
技术实现思路
本专利技术的一个实施例的方面公开一种用于并行处理对顺序敏感的数据分组的方法和系统。向网络接口设备中接收多个依次排序的数据分组。网络接口设备将来自多个依次排序的数据分组的第一数据分组引向第一分流引擎。网络接口设备将来自多个依次排序的数据分组的第二数据分组引向第二分流引擎,其中第二数据分组依次跟随第一数据分组。第二分流引擎从第一分流引擎接收信息,其中该信息反映第一分流引擎正在处理第一数据分组。基于在第二分流引擎接收的信息,第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。从第一方面来看,本专利技术提供一种用于并行处理对顺序敏感的数据分组的方法。该方法包括以下步骤:向网络接口设备中接收多个依次排序的数据分组;网络接口设备将来自多个依次排序的数据分组的第一数据分组引向第一分流引擎;网络接口设备将来自多个依次排序的数据分组的第二数据分组引向第二分流引擎,其中第二数据分组依次跟随第一数据分组;第二分流引擎从第一分流引擎接收信息,其中信息反映第一分流引擎正在处理第一数据分组;并且基于在第二分流引擎接收的信息,第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。优选地,从第一分流引擎接收的信息包括来自以下各项的一项或者多项:基于第一分流引擎正在处理的第一数据分组的大小的、指向存储器中的指针的预测的位置、第一分流引擎对第一数据分组的处理的状态指示和序列号。优选地,状态指示包括第一分流引擎是否已经对第一数据分组完成有效性校验、是否已经到达在处理中的校验点、是否已经检测到致命错误、是否已经完成第一数据分组的处理或者前述各项的组合。优选地,在第一数据分组和第二数据分组的处理中的关键事件包括开始处理相应第一数据分组或者第二数据分组、完成有效性校验、通过在处理中的校验点和向存储器中写入相应第一数据分组或者第二数据分组。优选地,第二分流引擎处理第二数据分组、从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现的步骤包括以下步骤中的一个或者多个步骤:第二分流引擎在从第一分流引擎接收已经对第一数据分组完成有效性校验的通知之后开始处理第二数据分组;第二分流引擎在从第一分流引擎接收第一分流引擎已经在处理第一数据分组时通过对应校验点的通知之后继续处理第二数据分组通过在处理中的校验点;以及第二分流引擎在第一分流引擎已经向存储器中写入第一数据分组的通知之后向存储器中写入第二数据分组。优选地,从第一分流引擎接收的信息包括致命错误在第一数据分组的处理中出现的通知,并且响应于接收致命错误出现的通知,第二分流引擎丢弃第二数据分组。优选地,该方法还包括以下步骤:第一分流引擎基于第一分流引擎正在处理的第一数据分组的大小计算指向存储器中的指针的预测的位置;并且第一分流引擎输出预测的位置。优选地,该方法还包括以下步骤:第一分流引擎确定第一数据分组尚未通过有效性测试并且作为响应为第二数据分组重新计算指向存储器中的指针的预测的位置;第一分流引擎输出重新计算的预测的位置;并且第一分流引擎丢弃第一数据分组。优选地,该方法还包括以下步骤:第一分流引擎确定致命错误已经在第一数据分组的处理期间出现;并且第一分流引擎输出致命错误的通知。优选地,该方法还包括以下步骤:第一分流引擎完成第一数据分组的处理;第一分流引擎输出已经处理第一数据分组的通知;并且第一分流引擎向存储器中写入来自第一数据分组的信息。优选地,在处理中的校验点包括以下各项中的一项或者多项:向软件部件发送中断和更新情境存储设施。优选地,第一数据分组和第二数据分组来自相同逻辑端口、线程或者输入连接。从第二方面来看,本专利技术提供一种用于并行处理对顺序敏感的数据分组的系统,该系统包括:用于经由网络连接接收数据分组的缓冲器;可以从缓冲器被指派数据分组的多个分流引擎,多个分流引擎中的每个分流引擎能够处理数据分组并且向系统存储器中存储来自数据分组的信息;在来自多个分流引擎的至少第一分流引擎和第二分流引擎之间的通信接口,其中通信接口允许在第一分流引擎输出的信号由第二分流引擎接收;其中系统可操作为:向缓冲器中接收多个数据分组;将来自多个数据分组的第一数据分组引向第一分流引擎;将来自多个数据分组的第二数据分组引向第二分流引擎,其中第二数据分组依次跟随第一数据分组;在第二分流引擎从第一分流引擎接收信息,其中信息反映第一分流引擎正在处理第一数据分组;并且基于在第二分流引擎接收的信息,在第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。优选地,从第一分流引擎接收的信息包括来自以下各项的一项或者多项:基于第一分流引擎正在处理的第一数据分组的大小的、指向存储器中的指针的预测的位置、第一分流引擎对第一数据分组的处理的状态指示和序列号。优选地,状态指示包括第一分流引擎是否已经对第一数据分组完成有效性校验、是否已经到达在处理中的校验点、是否已经检测到致命错误、是否已经完成第一数据分组的处理或者前述各项的组合。优选地,在第一数据分组和第二数据分组的处理中的关键事件包括开始处理相应第一数据分组或者第二数据分组、完成有效性校验、通过在处理中的校验点和向存储器中写入相应第一数据分组或者第二数据分组。优选地,该系统可操作为第二分流引擎处理第二数据分组,从而在第一分流引擎对第一数据分组的处理中的关键事件在第二分流引擎对第二数据分组的处理中的关键事件之前出现。该系统可操作为:在从第一分流引擎接收已经对第一数据分组完成有效性校验的通知之后在第二分流引擎开始处理第二数据分组;在从第一分流引擎接收第一分流引擎已经在处理第一数据分组时通过对应校验点的通知之后在第二分流引擎继续处理第二数据分组通本文档来自技高网...
多线程化分组处理

【技术保护点】
一种用于并行处理对顺序敏感的数据分组的方法,所述方法包括以下步骤:向网络接口设备中接收多个依次排序的数据分组;所述网络接口设备将来自所述多个依次排序的数据分组的第一数据分组引向第一分流引擎;所述网络接口设备将来自所述多个依次排序的数据分组的第二数据分组引向第二分流引擎,其中所述第二数据分组依次跟随所述第一数据分组;所述第二分流引擎从所述第一分流引擎接收信息,其中所述信息反映所述第一分流引擎正在处理所述第一数据分组;以及基于在所述第二分流引擎接收的所述信息,所述第二分流引擎处理所述第二数据分组,从而在所述第一分流引擎对所述第一数据分组的所述处理中的关键事件在所述第二分流引擎对所述第二数据分组的所述处理中的关键事件之前出现。

【技术特征摘要】
【国外来华专利技术】2012.02.29 US 13/408,5751.一种用于并行处理对顺序敏感的数据分组的方法,所述方法包括以下步骤:向网络接口设备中接收多个依次排序的数据分组;所述网络接口设备将来自所述多个依次排序的数据分组的第一数据分组引向第一分流引擎;所述网络接口设备将来自所述多个依次排序的数据分组的第二数据分组引向第二分流引擎,其中所述第二数据分组依次跟随所述第一数据分组;所述第一分流引擎作为主分流引擎基于所述第一分流引擎正在处理的所述第一数据分组的大小来预测指向存储器中的指针的位置,并且输出情境信息;所述第二分流引擎从所述第一分流引擎接收所述情境信息,其中所述情境信息至少包括序列号、所述第一分流引擎对所述第一数据分组的处理的状态指示和基于所述第一分流引擎正在处理的所述第一数据分组的大小的、指向存储器中的所述指针的所预测的位置;以及基于在所述第二分流引擎接收的所述情境信息,所述第二分流引擎处理所述第二数据分组,从而在所述第一分流引擎对所述第一数据分组的所述处理中的关键事件在所述第二分流引擎对所述第二数据分组的所述处理中的关键事件之前出现。2.根据权利要求1所述的方法,其中从所述第一分流引擎接收的所述情境信息包括所述第一分流引擎是否已经对所述第一数据分组完成有效性校验、是否已经到达在处理中的校验点、是否已经检测到致命错误、是否已经完成所述第一数据分组的处理或者前述各项的组合。3.根据权利要求1所述的方法,其中在所述第一数据分组和第二数据分组的所述处理中的所述关键事件包括:开始处理所述相应第一数据分组或者第二数据分组、完成有效性校验、通过在处理中的校验点和向存储器中写入所述相应第一数据分组或者第二数据分组。4.根据权利要求1所述的方法,其中所述第二分流引擎处理所述第二数据分组、从而在所述第一分流引擎对所述第一数据分组的所述处理中的关键事件在所述第二分流引擎对所述第二数据分组的所述处理中的关键事件之前出现的所述步骤包括以下步骤中的一个或者多个步骤:所述第二分流引擎在从所述第一分流引擎接收已经对所述第一数据分组完成有效性校验的通知之后开始处理所述第二数据分组;所述第二分流引擎在从所述第一分流引擎接收所述第一分流引擎已经在处理所述第一数据分组时通过对应校验点的通知之后继续处理所述第二数据分组通过在处理中的校验点;以及所述第二分流引擎在所述第一分流引擎已经向存储器中写入所述第一数据分组的通知之后向存储器中写入所述第二数据分组。5.根据权利要求1所述的方法,其中从所述第一分流引擎接收的所述情境信息包括致命错误在所述第一数据分组的所述处理中出现的通知,并且响应于接收所述致命错误出现的所述通知,所述第二分流引擎丢弃所述第二数据分组。6.根据权利要求1所述的方法,还包括:向所述网络接口设备中接收第三数据分组,其中所述第三数据分组不是来自所述多个依次排序的数据分组;所述网络接口设备将所述第三数据分组引向第三分流引擎;所述第一分流引擎从情境存储设施接收情境信息,其中所述情境信息至少包括指向为所述多个依次排序的数据分组分配的存储器中的指针的当前位置;以及所述第三分流引擎从所述情境存储设施接收情境信息,其中所述情境信息至少包括指向为所述第三数据分组分配的存储器中的指针的当前位置。7.根据权利要求1所述的方法,还包括以下步骤:所述第一分流引擎确定所述第一数据分组尚未通过有效性测试并且作为响应为所述第二数据分组重新计算指向存储器中的指针的所述预测的位置;所述第一分流引擎输出所述重新计算的预测的位置;以及所述第一分流引擎丢弃所述第一数据分组。8.根据权利要求1所述的方法,还包括以下步骤:所述第一分流引擎确定致命错误已经在所述第一数据分组的处理期间出现;以及所述第一分流引擎输出所述致命错误的通知。9.根据权利要求1所述的方法,还包括以下步骤:所述第一分流引擎完成所述第一数据分组的处理;所述第一分流引擎输出已经处理所述第一数据分组的通知;以及所述第一分流引擎向存储器中写入来自所述第一数据分组的信息。10.根据权利要求3所述的方法,其中在处理中的所述校验点包括以下各项中的一项或者多项:向软件部件发送中断和更新情境存储设施。11.根据权利要求1所述的方法,其中所述第一数据分组和第二数据分组来自相同逻辑端口、线程或者输入连接。12.一种用于并行处理对顺序敏感的数据分组的系统,所述系统包括:用于经由网络连接接收数据分组的缓冲器;能够从所述缓冲器被指派数据分组的多个分流引擎,所述多个分流引擎中的每个分流引擎能够处理数据分组并...

【专利技术属性】
技术研发人员:R·E·富斯S·M·威伦博格
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1