面向网络处理器软件组件技术研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向网络处理器软件组件技术研究

面向网络处理器软件组件技术研究   摘要:基于网络处理器的系统是一种复杂的嵌入式系统,具有实时#65380;资源受限和异构的特点。组件技术可以实现有效的软件开发,但是通用的组件技术不适合基于网络处理器的系统。研究将组件技术应用于基于网络处理器的系统的问题,分析了硬件系统结构和目标应用的特点,提出了组件模式,定义了框架服务,并讨论了软件性能工程。其组件技术也适用于其他类似的多核系统。   关键词:组件模式; 组件框架; 网络处理器; 软件性能工程   中图分类号:TP311.5文献标志码:A   文章编号:1001-3695(2008)02-0432-04      0引言      网络处理器是一种SOC多核系统,由多个异构的处理和存储单元构成,用来完成网络设备(路由器#65380;防火墙等)数据层面功能,工作在性能要求严格的网络环境中。网络处理器用来克服通用处理器在性能上的不足和ASIC方案的不灵活性。除了灵活地支持各种协议和服务,网络处理器提供几十Gbps的网络处理性能。嵌入的RISC处理核提供了灵活性,而高性能是通过仔细设计的体系结构来达到的,支持多处理和多线程。由于硬件体系结构的复杂性和经常变化,网络处理器上的软件开发是十分困难的。不过,基于RISC的硬件为开放的软件体系结构提供了基础。   组件技术可以实现有效的软件开发,使用组件技术不仅使软件有很好的结构,还可以实现软件复用。组件技术已经被用来解决多种领域的需求,最通用的组件技术包括Sun Enterprise Java Beans和Java Beans, Microsoft的COM和.NET以及OMG的CORBA标准实现。这些技术用于桌面和分布式的企业应用。但是,基于网络处理器的系统是一种复杂的嵌入式系统:异构的处理单元需要不同的软件体系结构。   本文以一种典型的网络处理器――IXP2400为例,说明基于网络处理器的系统对组件技术的要求,改进现有的软件结构和中间件,使软件性能工程得以实施。      1相关研究      PECT(prediction-enabled component technology)包括一个结构框架和推理框架,推理框架用来分析运行时行为。PECT是一种抽象的技术,需要一种实际的组件技术为基础。Koala组件技术是为消费者而设计的,适用于小的资源受限的嵌入式系统。Robocop的目标是为大量的嵌入式应用的中间件定义一个开放的基于组件的框架,支持多个非功能属性,包括时间#65380;性能#65380;可靠性#65380;可用性和安全性。Robocop还提供了一系列的工具和方法来实现组合时对非功能属性的计算。Rubus组件模式也是为小的#65380;实时的资源受限的系统而定义的,它与Rubus OS紧密结合在一起。PBO使用端口自动机理论,适合于控制系统,系统由主动和独立的对象以pipes-and-filters模式连接而成。PBO实现了时间线和行为模式的分析并保证了可预测的行为。PECOS是为响应嵌入式设备设计的,通过感应器收集和分析数据,并通过控制器响应。   这些研究中多数都是针对小型嵌入式系统的。在这些系统中,资源限制和实时性能是首要考虑的问题;另外,均考虑到了组件的非功能属性,并期望系统具有确定性的行为。但是,基于网络处理器的系统是大型的#65380;复杂的嵌入式系统,互操作性和复杂性是更加需要考虑的问题。      2基于网络处理器的系统      2.1一种典型的网络处理器   IXP2400是Intel公司设计的一种典型的网络处理器,由一个控制处理器和多个包处理引擎组成。这是一种典型的多核结构,即一个控制处理核和多个数据处理核。不同的处理核有不同的指令集,对特定的任务进行优化。网络处理器的应用空间通常被划分为两个部分,即控制部分和数据处理部分(通常是不停顿的)。不同的应用空间有不同的编程模式#65380;语言和OS支持。例如,在控制核上通常运行着一个嵌入式的OS,而在数据处理核上没有OS,因为控制工作不如数据处理工作那么紧急,在数据处理核上使用OS会带来额外的开销。   在IXP2400中,一个包处理引擎相关的资源由硬件线程进行划分,每个硬件线程一次接收和处理一个数据包。硬件线程用来隐藏内存访问的延迟。当一个线程必须等待一个先前的内存操作完成后才能继续运行时,这个内存操作被称为是依赖的内存操作。在单线程环境中,处理器必须等待依赖的内存操作完成,等待使处理器处于空闲状态。在多线程环境中,一个线程将它的内存操作的延迟隐藏在其他线程的计算时间中。对一个定义好的任务,性能与这个任务使用的硬件线程的数目密切相关。   2.2网络应用   网络处理器处理数据层面的数据包,包括一些逻辑上独立

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档