(计算机应用技术专业论文)网络处理器软件平台关键技术.pdf_第1页
(计算机应用技术专业论文)网络处理器软件平台关键技术.pdf_第2页
(计算机应用技术专业论文)网络处理器软件平台关键技术.pdf_第3页
(计算机应用技术专业论文)网络处理器软件平台关键技术.pdf_第4页
(计算机应用技术专业论文)网络处理器软件平台关键技术.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

西北工业大学硕士学位论文摘垂 摘要 随着当今网络规模和性能迅速增长,i n t e m e t 主于网络流量的指数性增长新 业务接连出现,这就要求网络设备具有线速和智能的处理能力。刚络处理器( n p l n e t w o r kp r o c e s s o r ) 便是一种新* 、有效的统一解决方案,它适用于各层网络处 理,具有a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t i o nc h i p ) 高速处理性能和可编 程特性,既能保证系统灵活性,叉能保证数据包处理所要求的高性能。目前网络 处理器的开发环境主要由各n p 生产厂商提供,在数据平面只提供微代码支持, 这些代码只针对特定的硬件体系结构,难以进行移植,这太大制约了网络处理器 的应用。由此看来,软件问题已经成为制约网络处理器广泛应用的主要因素,大 大阻碍了网络处理器发挥它的潜在优势。 针对艘上软件技术发展的滞后,本文做了一些研究工作。研究内容依托于 国家高技术研究发展计划( 8 6 3 计划) 资助课题:面向网络处理器结构的新型操作 系统核心技朱,论文的主要工作和研究成果包括: l 、研究了各种网络处理器的硬件体系结构,对其硬件功能进行了抽象并给 出了针对该抽象的编程模型定义。该定义臆藏不同网络处理嚣之间的硬件体系结 构差异。 2 、在该缔程模型的基础上,提出一个描述高层编程模型的语言n p c ( n e t w o m k p r o c e s sc ) ,是c 语言的一个子集。它将极大的简化嘲络处理器的软件开发,将 网络处理器的开发提高到商级语言的范畴来。 3 、设计了软件开发平台( n p p l a t f o r m ) 的体系结构和功能组成,并将高层 开发编程模型纳入其开发环境n 啉a 中。由于n p w a r e 基于高层开发模型 技术,所以可屏蔽底层硬件细节,提高应用可复用能力和跨平台的可移植能力。 本文研究了软件平台上的一些关键技术,但是真一建立一个完整的,强大的 软件平台还有很长的路要走,文中还对软件平台和链路调度算法的研究方面作出 了展望。 关键词: 网络处理器,编程模型,软件丌发平台,网络处理嚣开发语言 a b s t r a c t n o w a d a y sw i t ht h er a p i dd e v e l o p m e n to fn e t w o r ks c a l ea n dp e r f o r m a n c e , i n t e m e tb r a n c hn e t w o r kc a p a c i t yi s i n c r e a s i n g ,n e ws e r v i c ei sa p p e a r i n go n ea f t e r a n o t h e r f a s ta n di n t e l l i g e n tn e t w o r ke q u i p m e n ti si n d e e dn e e d e d s on e t w o r k p r o c e s s o r ( n p ) i si u s tt h ee f f e c t i v eu n i f i c a t i o ns o l u t i o n ,w h i c hi ss u i t a b l ef o rc a c h n e t w o r k - p r o c e s s i n gl a y e ra n dh a st h ea s i ch i 曲s p e e dp r o c e s s i n gp e r f o r m a n c ea n d t h ep r o g r a m m a b l ec h a r a c t e r i s t i c i tb o t hc a ug u a r a n t e et h es y s t e mf l e x i b i l i t y , a n d e o m p t e t et h eh i 曲p e r f o r m a n c eh a r d w a r ef u n c t i o nw h i c ht h el i n ef a s tp r o c e s s i n gd a t a p a c k e tr e q u e s t s a tp r e s e n tt h en e t w o r kp r o c e s s o rd e v e l o p m e n te n v i r o n m e n t sm a i n l y p r o v i d e db yn pp r o d u c t i o nm e r c h a n t d a t ap l a n er u n n i n go nt h ed a t ap a c k e tp r o c e s s o r o n l yp r o v i d e sm i c r oc o d es u p p o r t ,w h i c ho n l ya i m sa tt h es p e c j f i ch a r d w a r es y s t e m s t r u c t u r ea n dh a r dt ot r a n s p l a n t t h i sh a sg r e a t l yr e s t r i c t e dt h ef l e x i b i l i t yo fn e t w o r k p r o c e s s o rp r o g r a m n es o f t w a r eq u e s t i o nh a sb e c o m et h eb a r r i e ro fn e t w o r k p r o c e s s o rw i d e s p r e a da n da l s oh i n d e r e di t sl a t e n ts u p e r i o r i t y t h ew o r ki nt h i st h e s i si sp a r to fn a t i o n a lh i 曲t c c hr e s e a r c ha n dd e v e l o p m e n t p r o g r a me n t i t l e d k e yt e c h n o l o g yn e wo p e r a t i n gs y s t e mf o in e t w o r kp r o c e s s o r ”。 a c c o r d i n gt ot h i su n b a l a n c eo fn ps o f t w a r e ,t h i sp a p e ra t t e m p t st om a k eu pt h i s i n s u f f i c i e n c y m a l nw o r ka n dt h er e s e a r c hr e s u l t si n c l u d e s : l 、n en e t w o r kp r o c e s s o rh a r d w a r es y s t e ms t r u c t e f f eh a sb e e na b s t r a c t e da n dt h e h i 卫hl e v e l ,p r o g r a m m i n gm o d e lh a sb e e nd e f i n i t e d 2 、l a n g u a g en p c h a sb e e np r o p o s e db a s e do nb 自曲- l e v e lp r o g r a m m i n gm o d e l t h i sd e s c r i p t i o nl a n g u a g ej scl a n g u a g es u b s e tb a s e do nt h en e t w o r kp r o c e s s o r d e v e l o p m e n tm o d e li th a zs i m p l i f i e dn e t w o r kp r o c e s s o rd e v e l o p m e n ta n de n h a n c e d t h en e t w o r k p r o c e s s o rd e v e t o p m e m t ot kh i g h e rl a n g u a g ec a t e g o r y 3 、n p p l a t f o r ms y s t e r ns t r u c t u r ea n dt h ef u n e t i o nc o m p o s i t i o nh a sb e e nd e s i g n e d a n dh j 【g l ll e v e lp r o g r a m m i n gm o d e la n dd e v e l o p m e n te n v i r o n m e n t n p w a f ew h i c h n p p l a t f o r mi n c l u d e sh a sb e e nr e a u z e d t h i sp l a t f o r me f f e c t i v e l ys u p p o r t st h e m u l f i l e v e lc o o r d i n a t i o nd e v e l o p m e n tc h a r a c t e r i s t i co fn pa p p l i c a t i o ns y s t e r n n p w 缸e s l i e l dt h eb o t t o mh a r d w a r ed e t m l w h i c he n h a n c e st h er e u t i l i z a t i o n a n dt r a n s p l a n t a b i l i t y t h i sr e s e a r c hi nt h i sp a p e ri so n l yap r e l i m i n a r ys t u d y i ti sal o n gw a yt o e s t a b l i s hat r u l yc o m p l e t ea n df o m a i d 曲l es o f t w a r ep l a t f o r m t nt h ep a p 。e rs o m en e x t s t e pr e s e a r c ha s p e c to fs o f t w a r ep l a t f o r ma n dt h el i n kd i s p a t c ha l g o r i t h mh a sb e e n p r o s p e c t e d k e yw o r d s : n e t w o r kp r o c e s s o r , p r o g r a m m i n gm o d e l ,s o f t w a r ep l a t f o r m ,n pd e v e l o p i n gl a n g u a g e i i 堡苎三些查兰堡主堂垡笙苎一 第一章绪论 第一章绪论 本章将对网络处理器的由来、技术特点和围绕网络处理器的相关研究作一较 为详尽的阐述。同时指出网络处理器的应用面临的编程困境,引出本文关于网络 处理器系统软件平台的主要研究内容,并给出章节安排。 1 1 网络处理器概念 网络处理器是专门设计用来处理网络数据包的处理器,它采用了类似 a s i p ( a p p l i c a t i o ns p e c i f i cp r o c e s s o r ) 和s o c ( s y s t e mo nc h i p ) 的体系结构,为了提高 运算性能,它还采用了r i s c ( r e d u c e di n s t r u c ti o n s e tc o m p u t e r ) 技术。网络处 理器通常具有一个专用的i s a ( i n s t r u c t i o ns e ta r c h i t e c t u r e ) 模型,该模型专用于对网 络数据进彳亍处理。因此,无论从体系结构上还是从指令系统上看,网络处理器都 是为网络数据的处理量身定做的。 1 2 网络处理器的起源 早期的网络中数据速率相对较低,协议处理也比较简单,因此网络设备通常 以通用处理器( g p p ) 配合分组处理软件实现。然而,随着数据速率的不断提高和 协议处理的日益复杂,g p p 处理能力的增长逐渐落后于数据速率的增长【1 】( 图1 - 1 ) , 这导致其难以满足分组处理的线速要求。 一 秭 。 一 : 少鄹 , 图1 - 1c p uc l o c kr a t ev s d a t ar a t e 啪 矧 蜘 , 荫北工业人学硕士学位论文 第一章绪论 皇i i 寡i ! ! 目e | 曼| ! 曼! n p 出现之前,a s i c 以其高速处理特点成为g p p 方案的替代品。它将原来的软 件处理功能以硬件线路实现,在分组转发等固定操作上有着明显的优势,可以满 足实际应用中苛刻的速度要求,因此为网络设备厂商广泛采用。但是,随着i n t e r n e t 的高速发展,新的业务不断涌现,a s i c 器件必须重新设计以适应新情况,其较长 的设计周期、较高的设计成本以及设计技术本身存在的诸多困难使基于a s i c 的方 案往往不能迅速满足不断变化的应用需求。网络设备的构建必须基于某种兼具高 速处理性能和灵活编程能力的方案,这导致了n p 的出现。 n p 采用多种专门技术来优化其网络处理性能,同时又是软件可编程的,它兼 具a s i c 和g p p 的优点,能很好地满足高速网络和业务演化的需要。图1 2 给出 了三种方案在性能和灵活性两方面的比较,可见,n p 实际上是兼顾性能和灵活性 的一个优化方案。基于n p 构建网络设备的主要工作是软件设计,其设计难度明显 低于硬件线路,且可随业务发展而方便地进行功能升级,能有效缩短产品开发周 期,降低设备成本。 灵活性 性能 图1 - 2 三种方案比较 自上世纪九十年代中期来,多家r r 公司推出了自己的的n p 产品,其中既有 i n t e l ,m o t o r o l a ,i b m t p l p t 等国际著名r r 公司,也有e z c h i p ,x e l e r a t e d 等初创 的高科技公司。据统计,仅仅在2 0 0 0 2 0 0 1 两年间,就有超过4 0 家公司推出了 自己的n p 设计架构。实际上,n p 已经成为高性能微处理器领域发展最快的一个 分支。 1 3 论文研究背景 如上所述,目前在n p 体系结构方面已有较多研究,但n p 相关软件技术的研究尚 i b m 的网络处理器部门已经铍h i f n 收购 西北一业大学硕士学位论文 第一章绪论 不充分。例如,i n t e li x p 系列n p 在体系结构上虽已发展到第三代,i n t e l 公司仍 专门发起了i n t e li x a 大学计划,以资助学术界在n p 尤其是n p 软件技术方面的研究。 这足以说明n p 软件技术的重要性和挑战性。 n p 软件开发的困难主要来自于其微并行结构之复杂性和网络多平面处理环境 之特殊性。本文将其突出表现总结如下: 1 、缺乏高层编程模型和开发工具。 2 、缺乏网络通信处理算法组件库。 3 、缺乏适应多平面处理环境的o s 支持。 针对这些问题,本文在国家8 6 3 计划和i n t e li x a 大学计划的双重资助之下, 结合8 6 3 重大软件专项“面向网路处理器的系统软件平台”课题任务,以i n t e l i x p 2 4 0 0 网络处理器板为实验平台,深入研究了n p 系统软件平台涉及的高层编程模 型和支持工具,初步形成了n p 软件开发的整体解决方案n p 系统软件平台。 本文研究的n p 编程模型和环境( n n 黼) 在系统组织和组件设计两方面都 采用高层描述机制,对程序员屏蔽n p 硬件平台差异和n p 体系结构细节,并可在一 定程度上自动完成高层描述到硬件平台的映射。 1 4 网络处理器相关研究 随着n p 应用的逐发展,工业界和学术界针对n p 的各种研究也日益增多。工 业界成立了n p 论坛,且每年都组织召开陋专门会议。学术界在并行计算、分布 计算、体系结构以及高速网络领域的主流会议几乎都包含n p 的主题,例如i n f o c o m , o p e n a r c h ,h p c a ,h o t l ,i c p p ,i c p a d s 等。而且,i e e en e t w o r k ,i e e em i c r o , s o f t w a r e p r a c t i c e e x p e r i e n c e 等期刊也出版了n p 专刊。现有的研究主要 围绕以下几个方面展开。 1 4 1n p 结构 n p 体系结构方面有许多值得研究的主题。近年来学术界对于n p 结构设计的研 究活动充分说明了这一点,已有研究涉及的主题涵盖了p e ( p r o c e s s i n ge n g i n e ) 设计 和组织,存储系统,低功耗设计,总线互联,设计方法等多个方面。 w e n g ”1 等人研究了p e 拓扑组织对系统性能的影响,他们对四种典型网络应用进 行运行时t r a c e ,获得了接近真实的网络负载,据此生成应用的a d a g 图形表示,然 后将a d a g 映射到某种拓扑上。通过一个多因素性能模型进行性能分析,得到了该 应用在该拓扑下所能达到的性能。他们的仿真分析结果表明,流水线深度能有效 提高系统吞吐率,而存储访问竞争导致流水线宽度对吞吐率贡献有限;内存坊问 础北r 业人学碗十学位论文 第一章绪论 _ i i l i l ll i i ii i i i i i i i i i i i i i 自 是主要的瓶颈,较大的拓扑应缓配蔷大量的高速存储嚣:通信和同步丌销相对于 处理时叫埘系统吞叶l 率造成更人的影响。i i f 【f c r o w l e y 等人结合典型网络应用负载特 点,昔奄了四种主流n p 结构设计方法,指出s m t 能同时从线程内并行性平u 线程间并 行性中缺益,因此是最适合n p 的蹬汁方法。文献则深入分析r f ;司络应用的特点, 并槲此完成了适合网络处理的结构设计和指令集设计。例如醵1 匠计巾引入了对网 络端n 和寄存器之间。端i z l 与存储器之间,端门与端口之间的数掘移动支持,以 及适应恻络卧议特点的变妊位串支持。 c h i u e h 等人通过t r a c e 分析发现分组流表现出高度时间局部性,这显然给 c a c h e 带来了用武之地,因此提h :5 用c a c h e 缓存路由查找结粜,实验结果表明系统 吞吐率大为提高。而m u d i g o n d a 等人通过对着干典型网络应用的仿真分析,发现网 络处理系统中不仅存在路由查找结果的时问局部性,还表现出良好的数槲结构访 问的时间局部性。他们的实验结粜表明应用d a t ac a c h e 来缓存应用数据结构可带 来以下好处:相对于当前普遍采用的n p 存储体系,可节省大爨片上快速存储器; 埘数据结构而不是对查找结果进行缓存,在达到同等性能指标的前提下,可节省 可观的芯片面积;使用少量d a t ac a c i i e 即可有效减少分组处理时问并降低对 o f f c h i p 存储器的带宽要求。与m u d i g o n d a 等人的研究类似,文献的研究也涉及面 向数据结构的n p 缓存,但他们只对路由数据结构的c a c h e 设计进行了研究。另外, p a p a e f s t a t h i o u 等人分析了高速网络处理系统对队列管理的要求,指出软件实现 队列管理的访存瓶颈,提出一种面向队列管理的协处理设计,并进行了f p g a 原型 实现,实测结果证明该设计可有效提高n p 高速网络处理性能。s h e r w o o d 等人认识 到对于分组处理应用来说,最重要的性能指标是吞吐率而不是延迟。基于这一认 识,他们在n p 存储系统设计中引入了流水化、宽字存储结构,可有效提高存储访 问吞吐率。 在尽量达到高性能的同时如何使功耗处于一个较低的水平,是一个困难的问 题。f r a n k l i n 等人给出一个分析模型,并据此考查了不同的p e 和存储配置对性能 和功耗的影响,该模型可在设计空间寻找兼顾性能和功耗的最优折衷方案。l u o 等 人提出在系统负载低于系统设计期望时,动态关闭空闲p e 的时钟网络以节省功耗 的方法。为适应不同的应用和网络参数,p e 开关阈值运行时可调。实验结果表明 该方法可以节约3 0 的功耗,同时不影响系统总体吞吐率。 在多处理结构中,总线互联机制对系统性能有显著的影响。在总线互联方碰 一个具有代表性的研究工作是b o n o d e n 等人提出的层次式片上网络结构( 如图 卜3 ) 。他们将若干p e 组成个共享总线簇,簇与簇之间用片上网络来互联。通过 改变簇的大小,簇的数量,以及片上网络的拓扑和带宽,该设计表现出良好的可 扩展性和高可用性。 4 旧北_ _ i :业人学砸+ 学位论文 第章绪沦 霸卜3 层次型片上嘲络 n p 高度复杂的结构设计需要某种方法学的指导。h o f f m a n n 等人提出一种基于 描述语言的a s i p 设计方法,由该语言描述的a s i p 横型可自动生成相应处理器的指 令集仿真器和软件,f 发工具链,因此允许迅速对设计进行垒系统验证,可大大提 高n p 设计的效率,并降低设计过程的盲目性。另外,基于组件的多核心s o c 设计方 法r 叮以提高设计的抽象级别,方使设计的重用。 除了上述几个方面的研究外,连存在一些难以归类的n p 结构研究。例如, h b a e h 等人针对n p 或基于n p 的系统中可能出现的故障状况,研究了如何从体系结 构设计角度进行故障检测和故障恢复。这种n p 高可用设计,对于骨干设备来说具 有重要的意义,值得进一步深入研究。 1 4 2n p 性能评价 n p 性能评价的目的是为了对设计空间进行探索,按照某种标准确定最优设计, 或者分析已有系统的性能瓶颈,作为未来改进设计的依据,办或给定应用,评估 吾厂商n p 产品,作为系统选型依据。目前主要存在三种性能评价,亨法: l 、b e n c h m a r k b e n c h m a r k 方法主要用于辅助系统选型。个好的n pb e n c h m a r k 应该具柏以 下乏方面的良好性质: 1 ) b e n c h m a r k 的可比较性 考虑剁各种n p 结构的巨大差片性,这其实是要求测试程序运行的系统环境席 西北工业人学硕十学忙论文 第一章绪沧 浚是一致的。这意味着b e n c h m a r k 应该包占明确的相关环境说明信息,如设备端 口的数量、类型和带宽等。 2 ) 测试程序的代表性 测试程序的选取包括应用类型和应用粒度的确定。这应在充分分析网络应用 特点的基础上进行,所选的测试程序应能- 柏盖常见n p 应用场景,且应泼是系统性 能的主要决定因素。 3 ) b e n c h m a r k 实施的方便性 所谓方便,一方f i | :f 是指应该有明确的性能测试指标和测试方法,另一方面是 指测试程序描述应能方便地映射到具体n p 平台上去鼎然如果不需要程序员编 码,而进行自动映射将是娘方便的办法。 最早的n pb e n c h m a r k 是w o l f 等人提出的c o l m ! n b e n c h ,其主要目标是n p 设计寻优。 它定义了8 个测试程序,其中4 个是分组头处理应用( h p a ) ,另外4 个是分组负 载处理应用( p p a ) 。c o m m b e c h 不吉有系统环境和底层平台的说明,也未说明测试 哪些指标以及如何测试,更没有如何将测试程序映射到目标n p 的方法。囚此, c o m m b e n c h 的贡献似乎只是首次明确、认识到b e l l c h m a i 。k 的重要性,给出了定义测试 程序的思路,以及用测试程序g p p 运行结果指导n p 设计的方法。在c o m m b e n c h 的基 础上,n p b e n c h 加入了对控制平面功能的测试。而n e t b e n c h 按照网络分层的概念, 定义了三类测试程序分别对应底层、i p 层和应用层的处理功能。相对于c o m m b e n c h 它更像一个通常意义上的b e n c h m a r k ,可人工映射到具体的底层网络处理器上,并 评估n p 针对这些测试程序能表现出来的性能。但它仍然没有关于系统运行环境、 测试指标和测试方法的说明。 n p fb e n c h m a r k i n gw o r k i n gg r o u p ( n p f b w g ) 是工业界对于n pb e n c h m a r k 标 准化的努力,它定义了应用级和任务级的处理功能,迄今为止它们已经发布了 i p v 4 、m p l s 等五种应用级b e n c h m a r k 的草案。它规定b e n c h m a r k 应含有系统运行环 境、测试指标和测试方法的说明,但未制定统一的说明方法。 t s a i “”1 等人提出一种较为全面的b e n c h m a r k 方法( t s a i b e n c h ) 。一方面,他们 的方法中包含系统而统一的描述方法不仅描述了测试程序的功能,还描述了 测试系统的环境参数,以及待测指标和测试方法带来的好处是良好的可比较 性,可信性,和易实施性。另一方面,其测试程序集的选取是基于应用分析进行 的,从n p 设备类型这一角度出发定义了1 0 种宏观应用程序作为测试程序集。可 见,t s a i b e n c h 比较好地满足了上面提到的n pb e n c h m a r k 应满足的三个性质,虽然 受软件工具的限制它仍然需要开发人员进行测试程序到n p 的映射。 我们将各种b e n c h m a r k 的特点列成表卜l 。可以看出,t s a i b e n c h 是迄今为止 最全面且最易实施的b e n c h m a r k 方法,而n p f b w g 相信会随着工业界的努力而逐 西北l 业大学硕士学位论文第一章绪论 渐完善并最终形成n pb e n c h m a r k 标准。另外,目前所有已知方法中测试程序到特 定n p 结构的映射郜是手动进行的,这实际上严重影响了b e n c h m a r k 的易实施性。 这从另一个角度说明了研究具备自动代码生成能力的高层编程模型的必要性。 表卜l 各种n pb e n c h m a r k 的对比 c o m m b e n c hn p b e n c hn e t b e n c hn p 卜b w gt s a i b e n c h s p e c i f i c a t i o nm e t h o d o l o g y n o n on o n o y e s p e r f o r m a n c em e a s u r e m e n tn on on oy e sy e s m e t h o d i n t e r f a c e sc o n s i d e r a t i o nn on on o y e sy e s b e n c h m a r kc h o i c e y e s y e sy e s y e sy e s m e t h o d o l o g y t w op l a n ec o n s i d e r a t i o nn oy e sn oy e sp a r t i a l a u t o m a ti cb e n c h m a r k n on on on on o m a p p i n g 2 、模型分析 模型分析方法是指用某种理论性能模型来计算结构设计所能达到的性能指 标。该方法主要用于在n p 结构设计空间快速寻优,而不是n p 选型。由于其不需 要实现和测试,因此非常方便快捷,这对存在巨大设计空间的n p 来说非常有意义。 但是,由于n p 结构选择的多样化,建立性能模型并不是一件容易的事,而模型的 精确性决定了分析结果的可用性。 g r i e s “。等提出一个基于流到达曲线、系统任务图、和组件服务曲线的分析 模型,可对n p 并行度,协处理器,p e 互联机制,存储结构,甚至外部接口等设计 空间各方面性能指标进行考察,能迅速确定系统中存在的性能瓶颈。他们对 i x p l 2 0 0 的分析结果与仿真结果非常接近,表明该模型的精确性较好。而w o l f 等基 于h g a r w a l 在1 9 9 2 年提出的多线程处理器分析模型,针对两种典型w o r k l o a d ,分 析了如何围绕p e 个数和频率,存储器带宽和延迟,c a c h e 大小,芯片面积等多个因 素进行设计优化,得出了一些对n p 结构设计有指导性的结论。 模型分析法在应用中的最大困难是难以对n p 中各组件负载建模,例如g r i e s 等 人的方法中需要知道每个内部组件的服务曲线,但一些公开的网络t r a c e ( 如 n l a n r ) 仅包含整个系统的外部负载特性所以不能使用。目前尚不存在明确的应用 负载建模方法,负载的获取仍然是通过实际测量或者仿真得到。这其实降低了模 型分析的意义既然仍然要仿真或者实测,何必进行建模分析? 尽管如此,如 堕j ! :! 些查堂堡士学位论文 第一章绪论 果能将应用负载划分为代表性的若干类,对于给定应用,就可以用其对应负载类 来作为分析模型的输入而获得一定程度上的设计指导。实际应用中,还可以将模 型分析法和仿真或实测方法相结合,分别用在不同的设计阶段。 3 、仿真 仿真是指利用软件仿真工具来对硬件特性进行模拟,无需硬件制造即可对不 同结构选项或者不同软件实现方案进行性能量化评估。当然,相对于模型分析方 法,仿真过程相对较慢。 各n p 厂商的开发环境中一般都包含仿真工具,主要用于软件调试,但也可用 于性能分析,此时的性能分析主要是指寻找应用系统的最佳软件实现方案。当然, 这种分析对于n p 结构设计也会有所帮助,比如如果发现软件中大量存在某种访问 模式,则可在结构设计中加入针对该模式的专门优化。但由于厂商的仿真工具都 是私有的,不能对其进行扩展,因而难以用于评估不同的结构设计。因此,目前 n p 结构设计评估多采用设计领域常见的仿真模型,如s i m p l e s c a l a r 及其扩展模型, 有关的综述文章可参考文献 1 1 ,1 2 。除此之外,近来出现了若干专门面向网络处 理器的开源仿真工具。 普林斯顿大学的x u “等人设计了一个简单的抽象仿真器,因其简单所以仿真 过程迅速,也因其简单所以相对其他复杂仿真框架准确性稍逊。它主要是面向软 件开发过程,而不是结构设计。 n e p s i m 。是加州大学湖滨分校开发的一个n p 全系统仿真器,它是开放源码的, 可用于n p 结构设计评价以及软件性能分析。其突出特点之一是内部集成了功耗模 型,可方便地在性能和功耗之间进行权衡,这种功耗分析功能对于日益密集的机 架式网络设备来说具有重要意义。与i n t e ln p 仿真平台的比较实验表明n e p s i m 具 有极高的精确性。 清华大学计算机系网络研究所尹浩等人研发了一个基于n s 2 的n p 性能仿真分 析工具_ n p n s 。该工具一个显著特点是将网络环境仿真和全系统仿真相结合, 使性能分析结果更加准确和全面。而且,其工具框架的设计具有良好的可扩展性, 能方便地集成各种全系统仿真器。他们的实验结果也揭示了仿真过程中集成网络 环境考量的必要性。 1 4 3n p 设备结构和n p 应用研究 n p 作为可编程组件,给某些设备( 如主动网络、可编程网络中的网络节点) 的构建带来了可能性和方便性,同时对设备结构的演进带来了定的影响。这罩 对这方面代表性的研究结果作一简介。 两北r 业大学硕士学位论文 第一章绪论 图卜4v e r 矗r o u t e r 结构 v e r a ”是普林斯顿大学在可扩展路由器研究项目。它采用i n t e li x p l 2 0 0 和 i n t e lp e n t i u m 作为其路由器的关键组件,将各种处理资源组织成一个层次式的逻 辑框架( 图卜4 ) ,使之分别负责不同级别的处理任务。该设备结构所国有的整体 可编程能力和服务的分离性,是作者所追求的扩展性和健壮性双重目标的基础。 与此类似的还有华盛顿大学、s t a t eu o fn e wy o r k 等的相关工作。 在基于n p ( 或a s i c ) 的网络设备中,n p ( 或a s i c ) 通常负责数据平顽的处理, 而将控制平面的工作交给g p p 。在某些大型网络中,网络设备端口数目巨大,会产 生大量的控制消息,因此可能造成g p p 来不及处理的情形这进一步将造成网络 的不稳定。针对这种情况,d e v a 等提出将部分控制消息由n p 直接处理,而不转交 给g p p 。因为p e 是可编程的,某些n p 甚至配有片上g p p 核( 如i x p 2 4 0 0 中的x s c a l e ) , 这种方案是完全可行的。显然,如果数据平面采用a s i c 贝j j 难以达到这一目的。 通常的服务器系统( 如w e bs e r v e r ,n a s s a n 等) 中,操作系统协议处理尤 其是t c p 的处理是非常耗时的操作,严重限制了服务器性能的提升空间。如果将 n p 集成到网络接口卡上,则可以在卡上编程实现协议处理功能( 协议o f f l o a d i n g ) 。 这样大部分协议处理直接发生在网络接口卡,而不需要涉及操作系统,可便服务 器性能得以大幅提升。当然,传统上用a s i c 也可以一定程度上达到相同的目的, 但导致网络接口卡造价昂贵,且设计周期冗长。文献 2 0 ,2 1 讨论了基于n p 的协 议o f f l o a d i n g 实施的设备结构和相关算法。 目前,n p 已经得到了广泛的应用,国内外绝大多数设备制造商都或多或少地 采用了基于n p 的设备方案。比如,国内的华为、中兴、联想、紫光等,以及国外 的l u c e n t 、c i s c o 、j u n i p e r 、a l c a t e l 、a t r i c a 等。 国内的一些大学在基于n p 设计新型网络设备方面也作了相当多的工作例如: 北京邮电大学基于i x p l 2 0 0 实现安全路由器和防火墙,北方交通大学基于i x p 2 4 0 0 没计核心路由器和安全防护系统,另外存上海交通大学,西安交通大学,中幽科 拍北工业人学硕士学位论文 第一章绪论 技大学,华中科技大学,西北工业大学等也有类似工作。 同时随着n p 的发展,其应用已不局限于传统的网络设备,涌现出大量新颖有 趣的应用案例。例如:e m p i r i x 公司使用m o t o r o l a 的c 5 d c p 开发新一代网 络性能测试设备;清华大学h e 等人构建了一个基于n p 的通用流量捕获系统; h u a n g 等提出一种基于n p 的设备容错体系结构;l i l j e q v i s t 等讨论了将n p 用于网 格计算环境的可行性;m a r k k u 将i x p l 2 0 0 用于数字视频广播,b o s 甚至将i x p l 2 0 0 用于d n a 计算。 1 4 4n p 适应的网络处理算法 得益于n p 的可编程性,数据平面的处理算法如分类、查找、缓冲管理、 分组调度等可以通过编程实现。但已有网络处理算法设计多是基于g p p 实现 的,并末考虑n p 结构上的并行处理、层次存储等结构特点,直接应用于n p 不能 满足高速网络的要求,必须对已有算法进行n p 适应性改造或重新设计n p 适应的 网络处理算法。这一点逐渐引起研究人员的注意,相关研究也逐渐增多。 1 、队列管理 队列管理是指以队列为依托,对到达的数据分组、数据流进行传输控制的多 种机制,主要涵盖缓冲管理和分组调度两方面的内容。队列管理是o o s 控制的核心 技术之一,是d i f f s e r v 等服务区分框架的重要组成部分。 z h u a n g “”。等人讨论了如何将d w c s ( 原用于l i n u x 网络流量控制系统中的分组 调度算法) 及其扩展算法w r a p s 移植至i j n p 上,他们给出了优化数据结构设计和系统 线程划分的方法。 清华大学林闯和周文江等人基于i x p l 2 0 0 研究了n p 队列管理软件设计中的系 统同步、线程分配等实现技术,并通过实验考查了几种缓冲管理和分组调度算法 组合的性能。 2 、分类和查找 分类和查找算法本质上属于一种模式匹配算法。分类算法用于将分组划分成 多个数据流,以给予不同级别的服务。查找算法用于根据分组数据从路由表查找 选路信息。 清华大学田立勤等提出一个快速报文分类算法一一p c b n p ,并给出了基于 i x p i2 0 0 的设计与实现。该算法通过压缩的分类规则数和分类域宽、重定向排序索 引、匹配规则位向量表示、基于规则分布的查找顺序策略等技术束加快分类,算 法具有高速、多维、可扩展的特点。与三个已有算法的比较表明p c b n p 具有时间和 空间复杂度的折衷优势。与此类似,r a s h t i 等也基于i x p l 2 0 0 提出一种多维分类算 法,不过它采用了一种改进的 i e r a r c h i c a lt r i e 技术,其时间复杂度稍差。、a n g 1 0 两北工业大学硕士学位论文第一章绪论 等提出一种基于图的多维分类算法与s e t p r u n in gt r i e 算法相比其只需i i 0 的 存储要求睁可达到同等性能。另外他们的实现技术兄其是延迟隐藏技术充分利用 了i x p l2 0 0 的潜能,非常值得借鉴。 很多分类查找算法都用到了哈希表,因此高性能哈希数据结构和哈希算法的 设计值得研究者关注。s o n g 等提出一个基于扩展b l o o mf i1t e r 的快速h a s h 数据结 构和查找算法,其具有确定的哈希冲突上限和存储访问上限,实验和仿真结果表 明相同存储空问情况下该算法表现出的性能远胜普通哈希算法,因此较能适应未 来高吞吐率韵网络设备。n a r d e k o p f 等基于i x p l 2 0 0 评估了h a s , 分类和t r i e 查找算 法性能和硬件资源的关系,其结果表明两种算法的性能都会随着线程数目的增多 而线性增长,而增大存储带宽带来的效果并不显著,这为软件设计和n p 结构设计 提供了改进的思路。 3 、处理资源动态调度 n p 指令存储空间较为有限,往往不足e i 容纳所有类型分组的处理逻辑。因此, 目前n p 软件设计过程中必须使处理资源分别负责部分分组类型的处理。而为了应 付分组到达速率的波动,网络系统一般基于撮大原则设计即系统应该能处理最大 可能负载。这意味着系统中配备有足够数量的处理器。但实际负载多数时间可能 远低于最大负载,且不断波动。困此n p 系统中的动态调度技术至少能带来以下好 处:降低系统功耗比如,将空闲处理器关闭或转到休眠状态;降低成本 将处理器在不同类型分组之间复用,可降低对处理器数量的总体需求,从而降低 系统成本。 n p 处理资源的调度本质上是一种负载共享技术,即用于决定哪些处理资源服 务哪些分组以达到某种性能收益的技术。负载共享在传统分布式服务器系统领域 己存在大量研究但p 结构特点决定了其处理资源调度与传统技术有相当大的不 同,这可能表现在调度的时间粒度,处理资源粒度对调度开销的敏感性等等。 k e n c l 等提出一种n p 自适应负载均衡框架,它基于扩展 r w 进行分组到n p u 的映 射,映射过程中不必维护状态信息,即可以极大概率维持分组顺序。仿真结果显 示负敖均衡能带来显著的好处。但是,该框架在计算处理器剥用率以及动态调整 利用率阈值时涉及大量除法操作,这往往会带来较大计算开销。而且它也未考虑 调度带来的开销,而在性能敏感豹数据平面处理中开销的大小往往决定了算法的 实际可行性。 清华大学谭章熹等给出一种基于动态闽值算法的处理资源调度方法,其算法 仅涉及加减操作因而简单易行。但该方法需要维护每个流的状态信息,且未考虑 如何待止分组乱序的发生。 可见,目前对于处理资源调度仍停留在理论探索阶段,缺乏实际的实现t 作。 塑j 堕:、业盔学硕士学位论文 第一章绪论 而且,调度发生在哪个层次( n p ,p e ,抑或线程) ,调度开销与收益如何折衷,特 定处理资源集只能处理特定分组集而处理之矧父有逻辑依赖的情况下应如何调度 等诸多问题尚未有研究触及,这将是未来研究的机会。 1 4 5n p 编程模型和工具 前面的叙述表明n p 具有高速处理性能,但n p 的另一个优点灵活编程能 力目前却表现的并不充分。由于其体系结构的特殊性和复杂性,程序员必须对各 种硬件资源,如线程、p e 、各种存储器、各种通信机制等直接进行管理,而传统 上这些事情是由操作系统负责的。过多的硬件细节已经成为n p 程序员的梦魇,并 使得n p 相对于a s i c 的开发效率优势大打折扣。据统计,由于缺乏高效的软件工 具支

温馨提示

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

最新文档

评论

0/150

提交评论