互联网 qkzz.net
全刊杂志网:首页 > 女性 > 文章正文
刊社推荐

网络处理器自适应负载均衡调度机制


□ 王 晶 张盛兵 张 萌 王 海

  摘要:对TLDP结构网络处理器的线程调度问题展开讨论,设计并用硬连线实现了TLPD结构的微引擎间自适应负载均衡线程调度机制。它根据TLDP结构内部各个微引擎的实时负载状态和历史信息自动调整活动微引擎的数量,然后在被选择的活动微引擎集合上实现微引擎间的动态负载均衡,最大程度地提高了TLDP结构网络处理器的分组吞吐率。通过对TLDP结构的RTL级模型仿真说明,该机制能有效地实现微引擎间的实时负载均衡。
  关键词:网络处理器; 动态调度; 负载均衡
  中图分类号:TP303文献标志码:A
  文章编号:1001-3695(2008)04-1196-03
  
  网络处理器的出现改变了网络设备的体系结构,已成为第五代路由器与交换机的核心器件之一。目前全球已有30多个网络处理器厂商共完成了超过500个网络处理器的研发。西北工业大学航空微电子中心自主设计了一款基于线程级分布式处理(thread level distributed processing,TLDP)结构的网络处理器[1]。它融合了分布式多线程结构[2]和指令级分布式处理结构[3](instruction level distributed processing,ILDP)的设计思想。对于具有八个协议处理微引擎(micro-engine),并采用流水方式执行的TLDP结构来说,如何设计并实现一个有效的线程调度机制,对于有效利用整个片上资源并提高分组吞吐率是至关重要的。这包括提高各个微引擎内部以及微引擎间的并行性。其关键所在是在分组处理请求的分派过程中保持微引擎间的负载均衡,防止微引擎发生相关等待或者空闲的情况。虽然通过编译或者系统开发平台的方法,如文献[4,5]等也可以隐藏网络处理器的硬件并行细节,降低程序员的编程复杂度,并实现一种宏观上的负载均衡。但它们均属于静态分派机制,无法及时、准确地把握各个节点的动态负载状态。文献[6]提出在并行结构的网络处理器中采用hash散列调度方式,也是一种静态调度方式,并且难以选择一个合理hash函数,使所有的关键字经过hash变换得到的结果在任何时候都能均匀地分布在处理单元上。本文采用硬连线实现的动态负载均衡调度机制,最大程度地提高了TLDP结构的分组吞吐率,并实现了TLDP结构内部的多核、多线程结构对系统程序员的透明性。
  1TLDP结构网络处理器
  
  从硬件结构上看,TLDP结构是一种动态多线程、多核结构,主要用于数据平面上的高速协议处理。其基本逻辑结构如图1所示。可以看出,TLDP将原来ILDP中的多个执行单元替换为多个协议处理微引擎,并且采用分布式系统的设计思想降低了硬件设计的复杂度和系统程序员的编程难度。TLDP中共集成了八个微引擎,共同构成一个簇;簇内共享硬件加速单元和片上的共享存储资源;各个流的状态信息对八个微引擎都是可见的。它属于一种紧耦合的片上分布式结构,各个节点物理位置相距很近,同步和通信开销相对较小。设计中基本不会遇到在传统并行处理器设计中所遇到的多个处理器间极其复杂的同步和通信问题[7]。 ......
很抱歉,暂无全文,若需要阅读全文或喜欢本刊物请联系《计算机应用研究》杂志社购买。
欢迎作者提供全文,请点击编辑
分享:
 

了解更多资讯,请关注“木兰百花园”
分享:
 
精彩图文


关键字
支持中国杂志产业发展,请购买、订阅纸质杂志,欢迎杂志社提供过刊、样刊及电子版。
关于我们 | 网站声明 | 刊社管理 | 网站地图 | 联系方式 | 中图分类法 | RSS 2.0订阅 | IP查询
全刊杂志赏析网 2017