[发明专利]多处理器环境中的流水线处理方法和设备有效

专利信息
申请号: 200710127457.9 申请日: 2007-07-05
公开(公告)号: CN101339523A 公开(公告)日: 2009-01-07
发明(设计)人: 郑凯;冯博;绍凌 申请(专利权)人: 国际商业机器公司
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 中国国际贸易促进委员会专利商标事务所 代理人: 李春晖
地址: 美国*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理器 环境 中的 流水线处理 方法 设备
【说明书】:

技术领域

发明涉及流水线技术,尤其涉及多处理器环境中的流水线处理方法和设备。

背景技术

作为一种刚出现并逐渐受到广泛关注的网络应用,DPI(DeepPacket Inspection,深度数据包检查)是对性能敏感的。其处理性能需求与接口网速(interface wire-speed)比例相关,这是因为DPI不仅处理数据包标题(包头),还处理数据包有效载荷。

多处理器(多核或者多芯片,例如SMP(对称多处理器))是一种解决DPI的性能问题的有前景的方法,这是因为它具有强大的处理/计算能力。但是,在某些情况下,DPI难以采用用于进行数据负载平衡的传统的并行编程模型。原因在于,网络通信通常是基于流/会话方式的(所谓的“流”,指的是任意“源-目的”地之间通信的数据包流),流内的各数据包相互间高度相关,因此应当按顺序对流内的数据包进行处理以维持数据相关性。不幸的是,由于存在例如VPN(虚拟专用网络)隧道这样的应用场合,网络流可能具有非常“巨大”的尺寸,甚至可能独占整个电缆带宽,极端情况是所有的数据包都在单个隧道流中,不得不按顺序处理,也就是说无法很好地并行处理。

流水线技术(pipelining)是另一种利用(leverage)并行处理资源以增进性能的方法,尽管以前在通用CPU平台中并不常见。传统上,流水线技术主要用在硬件体系结构的设计上。最近在网络处理器(Netwrok Processor)技术中,提出将流水线技术作为一种针对网络数据的编程模型。DPI应用的处理(检查)对象是数据包,或者说数据包组成的流,但是DPI应用本身是一个程序,其包括许多子程序或者例程。因此,可以利用流水线技术对DPI应用程序函数本身进行分割。通过流水线技术,编程人员可以将大任务分割为多个接续进行的较小的子任务,并将它们分配到多个处理单元,以使这些处理单元并行工作而实现性能的提高。与并行编程模型相比,流水线技术是一种“任务负载平衡(Task Load-Balancing)”方法而不是“数据负载平衡(Data Load-Balancing)”方法,因此保持了数据的相关性。

另一方面,注意到只有当子任务负载在各处理器之间良好均衡时,计算资源才能被充分利用而实现多核处理器的最佳增益。但是,传统的流水线编程受制于非常差的自适应性,任务只能被预先分割并被静态地分配给特定的处理器。注意到每一个数据包的执行代码路径(code path)常常相互不同,也就是说,同一个DPI应用,对于不同的数据包,其参与的子程序以及各子程序对计算资源的需求可能存在差异,因此难以期望通过静态的方法实现高的资源利用率。对于DPI应用来说,这是至关重要的问题,因为即使是百分之一的性能增益损失也会导致与所需的性能不匹配。

类似地,对于DPI应用之外的其他许多应用,也存在子任务在多处理器之间的均衡的问题,而无论所述任务是什么或者其处理的数据是什么。上面以DPI为例来说明现有技术面临的问题,只是因为DPI的数据负载均衡和任务负载均衡问题尤为迫切。

发明内容

鉴于上述问题,需要使子任务负载在各处理器之间更好地均衡。

为此,本发明提供了一种用于多核处理器环境中的,动态流水线子任务调度方法。其主要思想在于:在流水线中,在相互配合的处理器之间共享部分代码/例程,并基于它们的实时负载在处理器之间动态地调度子任务。

进一步,本发明还提供了针对下述问题的解决方案:

1)如何在处理器之间共享代码/例程以实现适应性,同时避免不必要的开销;

2)如何以最小的开销触发子任务的再分配,如何确定从何处进行再分配。

具体地,本发明提供了一种多处理器环境中的流水线处理方法,包括:将任务分割为交叠的子任务分配给多个处理器,其中各子任务中的交叠部分由处理对应子任务的处理器共享;在各处理器执行所述子任务的过程中,确定各处理器的状态;以及,根据各处理器的状态动态地决定各子任务中交叠的部分由处理对应子任务的处理器中的哪一个处理器来执行。

本发明还提供了一种多处理器环境中的流水线处理设备,包括:分割装置,将任务分割为交叠的子任务分配给多个处理器,其中各子任务中的交叠部分由处理对应子任务的处理器共享;处理器状态确定装置,在各处理器执行所述子任务的过程中,确定各处理器的状态;以及动态调节装置,根据各处理器的状态动态决定各子任务中交叠的部分由处理对应子任务的处理器中的哪一个处理器来执行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200710127457.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top