(计算机应用技术专业论文)基于ixa架构的网络程序并行优化研究.pdf_第1页
(计算机应用技术专业论文)基于ixa架构的网络程序并行优化研究.pdf_第2页
(计算机应用技术专业论文)基于ixa架构的网络程序并行优化研究.pdf_第3页
(计算机应用技术专业论文)基于ixa架构的网络程序并行优化研究.pdf_第4页
(计算机应用技术专业论文)基于ixa架构的网络程序并行优化研究.pdf_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着因特网的飞速发展,对网络设备的灵活性和性能的要求与日俱增。网络 处理器作为一种新的应用专用处理器涌现出来。网络处理器一般采用特定的指令 集,多处理核,多线程来优化对报文的处理。然而,也正是由于这种体系结构的 复杂性,给网络处理器编程带来了很大的挑战。 本文将通过介绍i n t e l 开发的一款基于i x a 的并行编译器的设计以及性能分析 与改进对网络应用程序并行优化挖掘进行研究。 学术界和工业界致力于对网络处理器架构和网络应用程序二者各自的特性进 行研究和分析,用以说明网络应用程序本身的逻辑特性和网络处理器的并行架构 相得益彰。通过研究可以看出,网络应用程序本身的多个特性使其具有天然的可 并行逻辑,这为充分挖掘其并行性和开发基于网络处理器的高质量高性能的应用 程序奠定了基础。再者,网络处理器专有的硬件架构为应用程序的并行执行提供 了硬件基础。 i x pc 编译器是一款并行编译器,基于充分挖掘串行逻辑的应用程序的并行性 作为出发点进行设计。它将串行语义的程序并行化,并适当的映射到网络处理器 的硬件架构上。这一特性为网络应用程序的开发者屏蔽了网络处理器的硬件细节, 使其仅关注于网络应用程序本身的逻辑。这便利了网络处理器之上的高质量高性 能的网络处理程序的开发,并使其具有良好的可移植性与可扩充性。i x pc 编译器 提供三种主要的映射方式,分别是多处理器多线程模式( m t p :m u l t i p r o c e s s i n g m u l t i t h r e a d i n g ) ,流水线模式( c o n t e x tp i p e l i n i n g ) 和粘贴模式( p a s t i n g ) 。 其中最具有并行性挖掘研究代表性的是c t x 的任务划分算法。本文在对该算法进行 深入分析之后将选取适当的测试用例对m t p 与c t x 两种映射方式进行性能分析与比 较,以及对流水线任务划分算法进行性能分析。 通过对实验数据的分析,观察至 i x pc 编译器的流水线任务划分算法存在着一 定的性能缺陷。这主要体现在该算法在i x p c 编译器的实现中,权值的设置主要考 虑的是计算周期数和最小的活动数据传输集合。但是应该注意到,在实际的应用 程序中,要达到高性能的要求,1 0 延迟的隐藏是非常重要的,这也往往是系统瓶 颈的所在。而在i x pc 编译器的实现中,i o 平衡的问题并没有作为任务划分算法中 权值设置的要素之一。为此本文提出了一个解决方案,即通过打破i o 操作之间的 依赖性将其分配到流水线的不同级上。这对i o 操作延迟的隐藏,临界区域大小的 控制具有有效的性能提高,并最终基本保证了流水线的平衡性,提高了整个系统 的性能。 关键词:i x a ,网络应用程序,并行优化,流水线任务划分算法,i o 操作依赖性 i i a b s t r a c t a b s 仃a c t w i t ht h eb o o m i n ge x p a n d i n go ft h ei n t e m e t ,r e q u e s t sa r ei n c r e a s i n gr a p i d l yf o r h i g hr e l i a b i l i t ya n dg o o da d a p t a t i o no fn e t w o r ke q u i p m e n t s a san e w l y e m e r g e d s p e c i a lp r o c e s s o r ,n e t w o r kp r o c e s s o rc o m e si nb e i n gi nt i m e ,w h i c hg e n e r a l l yu t i l i z e s s p e c i a l i z e di n s t m c t i o ns e t ,m u l t i c o r ea n dm u l t i t h r e a d i n gt og e to p t i m i z e dp r o c e s s i n g p e r f o r m a n c eo f p a c k e t ,t h o u g hi nt h es a m et i m et h ec o m p l e x i t yo f i t sa r c h i t e c t u r eb r i n g s b i gc h a l l e n g e sf o rp r o g r a m m i n g ak i n do f p a r a l l e l i z i n gc o m p i l e rd e v e l o p e db yi n t e lb a s e do ni x ai si n t r o d u c e di n d e t a i lf o ri t sd e s i g na n dp e r f o r m a n c ea n a l y s i st om a k er e s e a r c h i n gs t e po nt h e p e r f o r m a n c eo p t i m i z a t i o nf o rp a r a l l e l i z i n ge x e c u t i o n o f n e t w o r ka p p l i c a t i o n s i n v e s t i g a t i o na n da n a l y z i n gh a sb e e nm a d eb yt h es c i e n c ea n dt h ei n d u s t r yf o r a r c h i t e c t u r eo ft h en e t w o r kp r o c e s s o ra n dn e t w o r ka p p l i c a t i o n st ot e s t i f yt h eh i g h b e n e f i t st h a tc o u l db eb r o u g h tb yg o o dc o m b i n a t i o no ft h el o g i co fn e t w o r ka p p l i c a t i o n a n dt h ep a r a l l e li n f r a s t r u c t u r eo ft h en e t w o r kp r o c e s s o r ,w h i c hc o n f i r m st h a tt h el o g i c a l p a r a l l e l i z a t i o ni nn e t w o r ka p p l i c a t i o n sa n dt h ep a r a l l e l e dh a r d w a r es t r u c t u r eo fn e t w o r k p r o c e s s o ra r et h ep r o m i s i n gb a s i c sf o rp o t e n t i a le x c a v a t i n go fn e t w o r kh a r d w a r ea n d d e v e l o p i n go f h i 曲q u a l i t yn e t w o r ka p p l i c a t i o n s i x pc ,a sap a m l l e l i z i n gc o m p i l e r , i sd e s i g n e da i m i n ga tp a r a l l e lm a x i m i z a t i o ni n t h es e q u e n t i a l l ys e m a n t i ca p p l i c a t i o n sb yp a r a l l e l i z i n gt h e ma n dm a p p i n gt h e mt ot h e h a r d w a r eu n i t so ft h en e t w o r kp r o c e s s o r ,w h i c ha b s t r a c ta w a ym o s to ft h eh a r d w a r e d e t a i l sf o rp r o g r a m m e r st ol e tt h e mf o c u s i n g0 1 3 1 0 9 i c so ft h ep r o g r a m s ,f a c i l i t a t e st h e d e v e l o p m e n t o fh i g hp e r f o r m a n c en e t w o r k a p p l i c a t i o n se x e c u t i n g o nn e t w o r k p r o c e s s o r s ,a n dt h u sb r i n g sg o o dp o r t a b i l i t ya n de x p a n d a b i l i t yf o rt h ep r o g r a m s m u l t i p r o c e s s i n g m u l t i t h r e a d i n g ( m t p ) ,c o n t e x tp i p e l i n i n g ( c t x ) a n dp a s t i n ga r e t h r e eo ft h em a i nm a p p i n gf o r m so fi x pcc o m p l i e r a m o n gt h e s e ,t h ec o n t e x t p i p e l i n i n ga l g o r i t h mi nc t xi st h em o s ti m p o r t a n tt e c h n i q u ef o rm a x i m i z i n gt h e p a r a l l e l i z a t i o n ,w h i c hw i l lb ee x p l i c a t e dd e e p l yf o ri t sp r i n c i p l ea n dp e r f o r m a n c ea n d a l s ot h ep e r f o r m a n c ec o m p a r i s o n so fm t pa n dc t xa r ea n a l y z e d s o m es h o r t c o m i n g sa r eo b s e r v e di nt h ec o n t e x tp i p e l i n i n ga l g o r i t h mo fi x pc i i i a b s t r a c t c o m p i l e ra c c o r d i n gt o t h ea n a l y s i so ft h ee x p e r i m e n td a t a c u r r e n t l y ,t h ep p si sc u t a c c o r d i n g t ot h eb a l a n c eo fc o m p u t e c y c l e sa n dt h em i n i m i z a t i o n o fl i v es e t t r a n s m i s s i o n h o w e v e r , t h ei ob a l a n c ei sn o tc o n s i d e r e d ,t h a ti s ,t h ec o n t e x tp i p e l i n i n g a l g o r i t h mi sn o ti n t e n t i o n a l l ya s s i g nt h ei oi n s t r u c t i o n si nab a l a n c e dw a yi n t ot h e u p s t r e a ms t a g ea n dt h ed o w n s t r e a ms t a g e t h i sl i m i t st h el a t e n c yh i d i n g ,i n c r e a s e st h e c r i t i c a ls e c t i o n ,a n df i n a l l yd e c r e a s e st h ep e r f o r m a n c e a ni m p r o v e m e n ts o l u t i o no nt h e a l g o r i t h mi sd e s i g n e dt ob r e a kt h ed e p e n d e n c eb e t w e e n1 0i n s t r u c t i o n so nc r i t i c a lp a t h , t oc u tt h e mi n t od i f f e r e n ts t a g e sa n da l s ot r yt ob a l a n c et h ei oi n s t r u c t i o n s ,w h i l e k e e p i n gt h eb a l a n c eo ft h ec o m p u t ec y c l e s a n dt h em i n i m i z a t i o no fl i v es e t t r a n s m i s s i o n k e y w o r d s :i x a ,n e t w o r ka p p l i c a t i o n ,p a r a l l e lo p t i m i z a t i o n ,c o n t e x tp i p e l i n i n g a l g o r i t h m ,1 0i n s t r u c t i o nd e p e n d e n c e i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名: 苎日期:加,占年月日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:二【红导师签名: 日期:沙, 第1 章绪论 第1 章绪论 i n t e r n e t 是人类历史发展中的一个伟大的里程碑,它是未来信息高速公路的 雏形,人类正由此进入一个前所未有的信息化社会。人们用各种名称来称呼 n t e r n e t ,如国际互联网络、因特网、交互网络、网际网等等,它正在向全世界 各大洲延伸和扩散,不断增添吸收新的网络成员,已经成为世界上覆盖面最广、 规模最大、信息资源最丰富的计算机信息网络。组成i n t e r n e t 的计算机网络包括 小规模的局域网( l a n ) 。城市规模的区域网( m a n ) ,以及大规模的广域网( w a n ) 。 这些网络通过普通电话线,高速率专用线路,卫星,微波和光缆把不同国家的大 学、公司、科研部门以及军事和政府组织连接起来。i n t e r n e t 网络互联采用得协 议是t c p i p 。 随着当今网络规模和性能迅速增长,i n t e r n e t 主干网络流量的指数性增长及 新业务接连的出现,这就要求网络设备具有线速和智能的处理能力。网络处理器 n p ( n e t w o r kp r o c e s s o r ) 便是一种新兴、有效的统一解决方案。它适用于各层网 络处理,具有a s i c 高速处理性能和可编程特性,既能保证系统灵活性,又能完成 线速处理数据包所要求的高性能硬件功能。目前,网络处理器已经涌现出了一些 成功的应用范例。这些应用主要包括:基于网络处理器的路由交换设备、智能安 全设备和入侵检测设备等。与此同时,围绕着网络处理器应用展开的相关研究也 得到了飞速发展,一些企业和科研机构也给予了足够重视。 由于网络处理器特殊的体系结构,它的软件编程模型与传统网络应用嵌入式 应用开发有较大不同,更为复杂。本文将从网络处理器的体系架构和网络应用程 序的逻辑特性两个方蔼的研究入手,并介绍一款基于i n t e li x a 架构的并行编译器。 在此基础上重点介绍其任务划分算法,性能分析以及相关的改进工作。 1 1网络系统的发展 本节首先介绍了网络系统中报文处理的发展,阐明了i n t e r n e t 的发展趋势是 提供更高的带宽、更广泛的服务。随之而来的是对报文处理的要求也从支持低速 率、低复杂度变为需要支持高速率、高复杂度的处理。网络系统i n t e r n e t 中的网 络节点,负责报文处理。它为了适应这个变化,其体系结构也经过了三代的发展, 并最终出现了网络处理器。 电子科技大学硕士学位论文 1 2 网络服务与报文处理的发展 网络为主机和用户提供服务,服务决定了用户如何使用网络资源。随着越来 越多用户使用i n t e r n e t ,他们希望能有更多的使用网络的方式。为了更好的支持 这些新的使用方式,要求i n t e r n e t 提供更多的与之相适应的服务。 当i n t e r n e t 还处于比较小和原始的阶段时,主要使用者是研究人员。当时网 络提供的主要“服务”是在两个特定的主机间点到点连接。通过这个连接,用户 可以传输文件或者交互式的控制远程主机。i p 报文被路由器独立转发,路由器只 需要完成i p 报文转发最小操作,b p t t l 域减1 ,并重新计算校验和,这被称为ip i ”。 如果i p 报文包含选项( o p t i o n s ) ,这些报文就被视为“异常”( e x c e p t i o n s ) , 需要路由器对报文做更多的处理。大量的报文仅需要做i 卜一的操作,所以这些报 文经过的路径往往被做了充分的优化。这些被充分优化的转发路径称为快速通道 ( f a s tp a t h ) ,相应的,没有优化的转发路径称为慢速通道( s l o wp a t h ) 。 当i n t e r n e t 从一个开放的研究网络转到商业、银行业、电信业和个人通信的 基础设施后,并且随着其规模的急剧扩大,需要开发和部署更多新的服务,并且 也需要路由器用新的方式来转发和处理报文。这些服务包括: 防火墙:防火墙服务用来阻止网络间报文流。阻止的方式从最简单的,比如 丢弃所有某一主机的报文流,到比较复杂的,比如对电子邮件进行病毒扫描 等。路由器能快速过滤出不需要的报文的一个好处是可以防止“拒绝服务攻 击”( d o s ) 。在防火墙应用中,路由器需要对报文进行模式扫描。 入侵检测:入侵检测服务通过监视和分析报文流量中的模式和特点来判断系 统是否正遭受攻击。路由器可以提供报文流监视和分析等功能。 内容传递网络( c d n ) :i n t e r n e t 规模的逐渐变大使内容提供商用一个w e b 服 务器为每个用户提供服务这样的方式变得很低效。c d n 在整个网络中分布有 多个服务器镜像,路由器将服务请求透明的重定向到最近的镜像上。 网络地址翻译( n a t ) :因为i p 可用地址的限制,n a t 被用来使多个内部网 络中的设备共用一个i n t e r n e t 地址。提供n a t 服务的路由器需要对从内网 外出的报文修改源地址,对进入内网的报文修改目的地址。 商用服务器:为了支持并发访阀和容错,i n t e r n e t 上的商用站点通常使用 一个具有负载均衡功能的前端路由器来动态的将访问分布到一组服务器上 ( 称为服务器农场) 。 2 第1 章绪论 覆盖网络、隧道:v p n 是覆盖网络( o v e r l a yn e t w o r k ) 的一个例子。当低 价格的i n t e r n e t 服务普及以后,公司开始用加密的隧道建立虚拟专用网络 ( v p n ) ,将其各个i n t e r n e t 上的主机连接在一起。在实现v p n 时,路由器 将整个i p 报文视为数据,先加密数据,然后将加密后的数据封装在一个新 的报文中。这个“外部”报文通过i n t e r n e t 到达这个v p n 另一台路由器, 它将报文解开取出数据并解密,然后再传送到处于本地子网的真正目的主 机。 转换编码的媒体网关:如今连接到i n t e r n e t 的设备包括移动电话、个人数 字助理( p d a ) 等设备,市场需要能有效为这些设备提供基于w e b 的内容服 务。转换编码媒体网关将高带宽、高分辨率的数据流转换成低带宽、低分辨 率的数据流,从而使数据流调整到适应终端设备的速率,这样能有效的减少 延迟和增加传输带宽的有效性。 服务质量( q o s ) :服务质量为报文引入了优先级。在传统路由器中报文独 立的以基于接口的先入先出( f i f o ) 和尽力而为( b e s te f f o r t ) 的方式处 理。但实际应用中,有些报文的重要性比另一些报文要高,这就需要将报文 得到的服务区分开来。将服务区分开来还有利于提高i n t e r n e t 服务提供商 的收入。 这些服务的需求造成的结果是路由器:1 ) 需要做出更复杂的转发决定,而不 仅仅是根据报文的目的地址来转发报文;2 ) 需要对报文做更复杂的处理,而不仅 仅是i p - 一;3 ) 需要对服务做出区分,丽不仅仅是做尽力而为的转发。在文献【2 j 中, 作者将这些服务所需要的操作归纳为六类:模式匹配、查找、计算、数据操作、 队列管理和控制处理。 1 - 3网络系统体系结构的发展与趋势 随着i n t e r n e t 带宽的不断增加和提供的服务越来越丰富,作为在网络中为主 机提供服务的节点网络系统的体系结构也在不断的发展。在文献p j 中,作 者总结了网络系统体系结构发展的历程: 第一代网络系统: 1 9 6 0 到1 9 7 0 年徊 i n t e r n e t 刚刚出现,同时代还出现了小型计算机系统。出 于小型计算机具有价格便宜、体积小和i o 接口简单的特点,i n t e r n e t 的丌发者 决定用小型计算机来开发路由器。当时的网络速度相对于c p u 速度来浇低得多, 路由器也只需要做路由表的查找,而且当时的网络规模也比较小,所以用传统计 电子科技大学硕士学位论文 算机硬件开发的路由器足以胜任在i n t e r n e t 中转发报文的任务。在这样的硬件上 一般运行报文转发软件,这可以是一个具备报文转发功能的通用操作系统,所有 的协议处理任务都在主机c p u 上运行。如今,一些低端的路由器仍然采用这样的 结构。般将这样的硬件体系结构称为通用处理器( g e n e r a lp u r p o s ep r o c e s s o r , g p p ) ,并且将在通用硬件上运行专用的报文交换软件构成的网络系统称为软件路 由器( s o f tr o u t e r ) 。软件路由器的系统结构如图1 - 1 所示: 网络接口 通用a ,u 网络接口 1分帧和地址确认其他所有的 分帧和地址确认 处理 图1 1 :第一代网络系统体系结构 第一代网络系统的特点是价格低,而且功能易于扩展,但主要的缺点就是处 理速度慢。因为网络系统通常有几个网络接口,随着网络带宽的显著提高,聚合 带宽的速度超过了c p u 的处理能力。网络系统的设计者意识到用传统体系结构来 处理报文有两个缺点:( 1 ) 网络接口和网络接口间的报文交换要通过c p u 控制在 总线上传递;( 2 ) 报文的处理都交给了c p u 。所以c p u 和总线构成了瓶颈,于是 提出了第二代网络系统的体系结构。 第二代网络系统: 第二代网络系统的体系结构有两个重要的特点;( 1 ) 使用分散式的设计,在 网络接口上具有报文分类和转发的能力;( 2 ) 利用高速的互连机制,提供在网络 接口间的快速通道( f a s tp a t h ) 。它比第一代网络系统的体系结构具有更好的可 扩展性。因为每个网络接口都具有报文分类和转发的能力,每个网络接口可以并 行的处理,而且网络接口之间可以通过快速通道进行报文的快速转发,所以第二 代网络系统可以支持更多的网络接口。第二代网络系统如图卜2 所示: 通用c p u 喇络接口 控制和异常处理 网络接口 1 ,2 层处理1 分类i 转发f _ 磊囊磊磊i :_ 转发1 分类i h2 崖处理 幽i 一2 :第二代网络系统体系结构 4 第1 章绪论 在第二代网络系统中,通用c p u 用来管理和控制系统,提供网络系统的管理 界面。它运行路由软件进行路由选择和路由通告,它还要处理无法进行分类的异 常报文以及各种错误。网络接口中的分类和转发功能可以用应用专用电路( a s i c ) 实现,也可以采用嵌入式的r i s e 处理器来实现。快速通道一般指交换结构( s w i t c h f a b r i c s ) ,可以是交叉开关( c r o s sb a r ) 、多级交换网络或多端口内存。 第三代网络系统: 在第二代网络系统中,虽然通用c p i j 只处理报文流量中的一部分报文,但随 着聚合带宽的增加,通用c p i 仍然构成瓶颈,所以设计者们又设计了第三代网络 系统。第三代网络系统继续将报文处理工作从通用c p u 上分担到网络接口上,在 网络接口上设计不同的硬件来处理协议的各个层次。第三代网络系统的结构如图 卜3 所示: 通用c p u 网络接u 网络接 4 崖处蝉 l e 他处哩 4 层处理 嵌入武处理器流毓* j l l ! 1 汝入式处理器 ( a s i c ) l 搿 3 层处理a s i c 3 ,:处理a s i c1 ,2 联 快速通道处理 图卜3 :第一代网粥系统体系结构 在第三代网络系统中,网络l 、2 层用标准的商用芯片来处理,a s i c 用来进 行基本的三层报文分类、处理以及在快速通道中转发报文,a s i c 还用来在交换结 构中进行流量控制和管理。嵌入式的处理器被用来进行第四层或者更高层的协议 处理,用嵌入式处理器可以使高层协议处理用软件来实现,获得一定的灵活性。 由于在每个网络接口中都设置了嵌入式处理器,况且需要高层处理的报文并不是 很多,所以速度是可以接受的。但随着网络带宽的进一步提高,嵌入式的处理器 又构成了瓶颈。到了9 0 年代中期,网络系统的设计者认为只有专用的集成电路 ( a s i c ) 才可以处理i n t e r n e t 骨干网的流量,所以工业界生产的高速路由器都用 a s i c 来构建。a s i c 提供了最高的速度,但是它也有很大的局限性,具体有以下 几点:开发费用高、开发周期长、很难模拟、修改起来昂贵和耗时、可重用性差、 没有一致的丌发框架、需要硬件专家开发。 电子科技大学碗士学位论文 这样,网络系统的设计者面临着一个两难的境地,嵌入式处理器无法处理高 速网络的报文,而a s i c 开发起来又是如此的困难。因此,网络处理器应运而生。 从i n t e r n e t 服务和报文处理需求的发展以及网络系统自身体系结构的发展 过程中,可以预计在下一代网络中的网络系统的设计有两点趋势【4 】: 为了支持日益增长和不断发展的网络应用,网络系统的设计必须具有灵活 性:过去几年中,网络系统需要支持的应用和服务的数量以及复杂性有了飞 速的发展。目前一年中向i e t f 提交的网络服务的建议是过去十年的四倍。 这些应用包括从对报文头部处理的应用,比如网络地址转换( n a t ) 、协议 转换( i p v 4 - v 6 网关) 和q o s ( m p l s ) ,到对报文内容处理的协议,比如基 于内容的负载均衡、x m l 防火墙和v p n 等。 为了在大量高带宽链路盼环境下支持以上应用,网络系统必须以线速( 1 i n e s p e e d ) 处理报文:在过去十年中,网络带宽增长的十分迅速,平均以每年 一倍的速度增长。相对的,按照m o o r e 定律,处理器的性能每两年翻一番, 而存储器访问的延迟平均一年提高1 0 。链路带宽、处理器性能和访存延迟 在提高幅度上的差异使网络系统以线速率处理报文成为了个挑战。 1 4网络处理器系统 网络处理器是一种应用专用处理器( a p p l i c a t i o ns p e c i f i ci n s t r u c t i o n p r o c e s s o r ,a s i p ) 。本节首先介绍网络处理器的定义,然后根据网络应用程序的 特点,介绍了网络处理器的体系结构,说明了它如何针对网络应用程序的特点进 行优化,最后还介绍了网络处理器的软件结构以及开发环境。 网络系统的设计者希望能有一种技术可以同时包括嵌入式处理器和a s i c 的 优点而摈弃它们各自的弱点。所以网络处理器至少有以下几个特点: 相对较低的价格 统一的硬件界面 可以访问内存 可编程 能随着网络带宽的提高而进行扩展 在文献【3 】中,作者对网络处理下的定义是;羽络处理器是一种专用的、可编程 的设备,它具有嵌入式r i s c 处理器的灵活性和低价格,同时具确c a s i c 的速度, 网络处理器是设计网络系统的基本构造模块。用网络处理器来构建网络系统和用 嵌入式处理器以及a s i c 之阃的比较如图卜4 : 嵌入式处理器以及a s i c 之问的比较如图卜4 : 6 第l 章绪论 不断提 高的性 能 不断提高的成本 图卜4 :三种网络系统设计技术的比较 1 4 1 网络处理器并行特性 网络处理器被视为应用专用处理器,其中应用指的是报文处理。网络处理器 对报文处理的优化体现在开发报文处理的并行性上。在文献1 5 】中,作者指出报文处 理存在着三个层次的并行性: 报文级并行( p a c k e tl e v e lp a r a l l e l i s m ,简称p l p ) :大部分网络应用都 是基于报文级( p a c k e tl e v e l ) 的,不同的报文一般经过类似的处理。报文 间一般是独立的,这样报文可以由不同的处理单元并行服务。然而这种处理 也存在一定的局限性,即当属于同一个流( f 1 0 w ) 的报文经过不同处理单元 并行处理后必须有一个报文的重组保序过程。虽然上层的t c p 等协议允许报 文乱序,但是为了减小在终端报文重组的时间一般还要保证报文的顺序。 报文内并行( i n t r ap a c k e tp a r a l l e l i s m ,简称i p p ) :在对报文内部处理 的过程中,有些任务也是彼此独立的。这种思路类似于微处理器设计中的线 程级并行( t h r e a dl e v e lp a r a l l e li s m ) 。例如,一个二层交换程序,源m a c 地 址的处理和目的m a c 地址的查找是完全独立的,可以并行处理。同时还可引 入一些专用的硬件协处理器,以增力h i p p 的并行效果。另外,增加一些专用 的处理指令也是提高i p p 效果的有效手段。 指令级并行( i n s t r u c t i o n1 e v e lp a r a l l e l i s i l l ,简称i l p ) :在网络处理 器内部通过特殊的硬件结构完成处理器指令的并行执行,比如v l l w 和超标 电子科技大学硕士学位论文 量技术。此外,有些处理器还使用了线程级并 t ( t h r e a dl e v e lp a r a l l e l i s m ) 技术。然而,经模拟研究表明,在一般非特定的整数科学计算应用中,i l p 是 非常有限的,因此现在大部分网络处理器出于成本的考虑并没有大量使用 i l p 技术。 1 4 2 网络处理器体系结构特点 在文献1 6 j 中,作者指出随着硅技术的发展,已经可以在片上系统( s o c ) 上集 成多个嵌入式的处理器核心。这种新的体系结构在价格、性能核灵活性上都具有 很大的优势。在报文应用中采用多处理核处理报文可以有效的开发报文级并行性。 另外,由于访存延迟的的提高相对于网络带宽的提高来讲大大落后,所以在网络 处理器的多个处理核心中往往采用硬件多线程的方式来隐藏访存延迟。 网络处理器是一个复杂的系统,每个网络处理器都是由传统处理器、专用硬 件和多个部件的组合。在1 3 】中,作者就总结出网络处理器的以下基本特征: 处理器层次:处理器层次指执行报文各个层次处理的各种硬件。它们包括不 可编程的硬件和可编程的处理器。在网络系统中的处理器层次从最底层到最 高层有专用硬件到通用的处理器,它们需要协同工作。在网络处理器中一般 具有:一个或多个嵌入式的r i s c 处理器用来进行高层的协议处理以及对系 统作整体的控制;一个或多个协处理器,它们被优化用于特殊的报文处理工 作;一个或多个i o 处理器,它们以线速对报文作输入输出处理。为了隐藏 访存延迟,i o 处理器往往支持多个线程。在后文中,i o 处理器、报文处 理器、报文引擎和微引擎都具有相同意思。 存储器层次:存储器层次允许网络处理器阻合理的价格达到较高的存取速 度。虽然网络处理器支持多个层次的存储器,但如何使用它们由程序员来决 定。 内部传输机制:因为网络处理器往往由多个独立的处理单元构成,所以它们 之间必须具有高速的传输机制。一般内部传输机剩有:内部总线、硬件f i f o 、 传输寄存器和片上共享内存。 外部界面和通信机制:虽然网络处理器中包含了很多处理资源,但是它仍然 需要和网络系统中的其他部件进行连接。网络处理器的外部连接包括:标准 总线、存储器接口、直接i o 界面和交换结构接口。其中光互连论坛( o i f ) 8 第1 章绪论 制定了直接i o 接口的标准,称为s p i - 3 4 ,网络处理器论坛( n p f ) 制定了 交换结构的接口,称为c s i x 。 专用硬件:网络处理器中至少有两种专用硬件。第一种是用来提供多个处理 单元间控制、同步和协调功能的硬件。第二种是被用来执行某种报文处理任 务的硬件,它们通常是可配置的,执行诸如c r c 检验计算,h a s h 计算等任 务。 查询和通知机制:网络处理器必须支持对异步事件的处理,比如报文的到来, 定时器通知等。一般有两种机制。查询是处理器自己去检查状态位,然后决 定异步事件有没有发生;通知机制相当于中断,可以有硬件中断和软件中断。 并发执行的支持:网络处理器一个重要的特点就是可以支持多个层次上的并 发执行。所谓并发执行是指一个处理器上有多个执行线程,如果一个因为等 待外部事件而阻塞,可以切换到另一个线程去执行。在网络处理器中,嵌入 式处理器中的并发执行由操作系统支持,i o 处理器中的并发执行由硬件支 持。 硬件对编程的支持;网络处理器的硬件往往对编程都有一定的支持,虽然各 个厂家的网络处理器的实现不太相同,但基本分为两类:异步事件服务程序; 可相互通信的线程。 硬件和软件的分派机制:所谓分派机制是指怎样将工作分配到各个弗行的硬 件上去执行。软件分派用于嵌入式的处理器中,硬件分派用于低层的i o 处 理器。 隐式或显示并行:网络处理器中的并行大致分为两类:隐式并行和显示并行。 隐式并行将程序的并行执行交给硬件去决定,显示并行将并行问题交给程序 员决定,程序员必须在程序中明确的使用并行构造。 在【2 j 中,作者给出了多个商用的网络处理器产品,比如a g e r e 的p l y l o a d p l u s 系列、a m c c 的n p 7 x x x 系列、i b m 的p o w e r n p 系列、i n t e l 的i x p 系列以及 m o t o r o l a 的c p o r t 系列。 以i n t e l 的i x p 2 4 0 0 为例,它包含了一个嵌入式处理器称为x s c a l e 和8 个 i o 处理器称为微引擎( m i c r o e n g i n e ) ,每个微引擎支持多达8 个硬件线程。 i x p 2 4 0 0 支持从微引擎寄存器、本地内存、s c r a t c hp a d 、s r a m 到d r a m 这样一个 访存延迟由快到慢,容量由小到大的存储器层次。它的各个功能模块之间通过多 条独立高速总线相连。微引擎被组织成两个组,每个组拥有独立的命令总线和s r a m 总线。微引擎支持通用线程信号、下一邻居寄存器等处理器间通信机制。1 x p 2 4 0 0 电子科技大学硕士学位论文 具有c a m 、c r c 计算器、h a s h 生成器、加密解密单元等多个协处理器支持计算密 集性的报文处理。m s f 支持多种工业标准接口比如u t o p i a 、s p i 一3 和s p i 一4 2 。 1 4 3 网络处理器的软件结构 软件组织需要映射到网络处理器的处理器层次上以最优化利用低层硬件。网 络处理器中各个可编程处理器的一般使用方法为: 通用处理器:通常运行一个通用操作系统。在操作系统之上运行的软件实现 最上层的功能,包括管理界面、系统控制和路由协议。通用处理器负责管理 平面和控制平面的工作。 嵌入式处理器:通常运行一个嵌入式的操作系统。在操作系统之上运行一套 支持网络处理器的运行时系统,在运行时系统之上运行的应用程序支持报文 处理中间层的功能,包括高层协议处理、控$ l j i o 处理器、异常报文处理和 错误处理。嵌入式处理器负责控制平面和数据平面慢速通道的工作。 i o 处理器:通常不运行操作系统,直接面对硬件编程,运行的应用程序支 持基本报文处理,包括报文分类、报文转发、报文输入处理和报文输出处理。 i o 处理器负责数据平面快速通道的工作。因为最低层的i o 处理器为报文 的处理进行了优化,所以为了使报文处理的性能达到最大化,应该尽量将报 文处理的工作放到最低层的i o 处理器中。在一个网络处理器中,典型的报 文流如图1 - 5 所示: i通用处理器 1 + - 告一l l嵌入式处理器 1 一懒文一l il o 处理器 图1 5 :网络处理器典趔报文流 1 0 第1 章绪论 在文献【7 】,文献【8 l ,文献【9 】中,作者介绍t i n t e l 的为i x p 系列网络处理器设计 的i x a 可移植编程架构。i x a 可移植编程架构的组成部分和结构如图卜6 所示。 数据平面支持库:运行在微引擎上。提供微引擎使用的常用功能的优化实现。 a p i 包括硬件资源访问、缓存管理、通信、同步、定时器以及网络协议操作。 微代码模块编程模型:运行在微引擎上。帮助程序员以模块化的方式开发微 引擎的程序,模块化的基本构造块为微代码模块( m i e r o b l o c k ) 。一个微代 码模块是一个报文处理单元,多个微代码模块绑定构成报文处理的快速通 道。微代码模块可以在各个应用中重用,在i x p 2 x x x 系列处理器间移植。微 代码模块编程模型由微代码模块基础架构库支持。 资源管理器( r e s o u r c em a n a g e r ,r m ) :运行在x s c a l e 上。为运行在x s c a l e 上的程序提供底层a p i ,包括初始化和管理硬件、管理和微引擎共享的数据 结构、发送和接收报文、和微引擎之间传递报文、管理硬件队列和环、启动、 停止、载入微引擎、管理报文缓存、利用p c i 通信。 操作系统服务库( o s s l ) :运行在x s c a l e 上。提供操作系统的抽象,使x s c a l e 上的其他部分可以在不同操作系统上移植。 核心部分( c o r ec o m p o n e n t ,c c ) :运行在x s c a l e 上。和每个微代码模块 关联,配置和管理微代码模块,通常还是报文处理的慢速通道。核心部分由 核心部分基础架构库( c c i ) 支持。 控制平面p d k :运行在x s c a l e 上。允许核心部分通过工业标准的接口,b l ;女t i i e t f 的f o r c e s 和n p f 的标准,和控制平面的软件进行交互。 电子科技大学硕士学位论文 c 蝴l o ip i a n op r o t o c o ls l m c k e 一一一一一一一- - 卜一 1 c m t r o l i * k m e p d k c 。mc 。m p o n e n l s| 0 i m t p l g 甜b k m 8 n ,i c 蚋c 口呻。哺晰删r u m u r eu i b m 蝉i l v r 0 8 s l r q m o u r c , i h m g e rl i b r a r y 一子一 q o b i o c ki i n , k ;a s l r u - , c h , r ul i b r n r y o 州m _ d o 甜a p l 黼 i j b l e a t e s 图1 6 :i x a 可移植编程架构组成部分1 7 】 1 4 4 网络处理器的开发环境 网络处理器中不同类型的处理器往往拥有不同的开发环境。在通用处理器上 通常采用传统的编程语言( 比如c 语言) 、编译器( 比如g n u 的c 编译器) 和嵌 入式的通用操作系统( 比如嵌入式l i n u x ) 。相反的,在微

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论