已阅读5页,还剩82页未读, 继续免费阅读
(信息与通信工程专业论文)片上网络路由算法研究及路由节点的fpga设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 技术的飞速发展把芯片设计带入了十亿级晶体管的领域,这意味着单个芯片 中可集成更多的i p 核。而随着芯片中i p 核数量的增多,片上系统( s o c ) 的设计 方法将不再满足设计要求。这时,片上网络( n e t w o r ko nc h i p ,n o c ) 做为一种 新的解决途径被提出来了。片上网络的可升级性( s c a l a b l e ) 和易扩展性很好的满 足了新设计的要求。片上网络逐渐发展成为片上总线之外的一种新的通信结构。 总的来说,n o c 网络的复杂程度( c o m p l e x i t y ) 是由两方面的因素所表征,一个是 网络拓扑结构,另外一个就是路由算法。 本文正是对这两方面进行了研究,文章综合了国内外已有文献,重点介绍了 n o c 直接型拓扑结构中的m e s h 结构和t o m s 结构,以及常用的路由技术和算法, 并针对m e s h 结构中常用的防死锁路由算法- x y 路由算法,创立了适合于t o m s 结构的新型路由算法,建立了对应的两种拓扑结构、两种路由算法的模型,在 o p n e t 上进行了仿真,并对仿真结果进行了分析。 为了在硬件上实现、验证并比较不同路由算法以及拓扑结构对网络性能的影 响,我们建立了以f p g a 为核心的硬件仿真测试平台,并在f p g a 上初步完成了 单个路由节点的设计和验证,并对节点进行了必要的分析,为将来整个网络的搭 建奠定了基础。 关键词:片上网络,拓扑结构,路由技术,路由算法,仿真,f p g a 设计 a b s t r a c t a b s t r a c t r a p i dd e v e l o p m e n to ft e c h n o l o g yb r i n g sc h i pd e s i g ni n t ob i l l i o n - t r a n s i s t o rf i e l d i t i sp r e d i c t e dt h a ta tt h ee n do ft h i sd e c a d e ,i tw i l la l l o wm o r et h a no n eb i h i o no f t r a n s i s t o ri n t e g r a t e do uas i n g l ec h i p 。a st h en u m b e ro f , c o r e so fs y s t e mc h i pi n c r e a s e d , t r a d i t i o n a ls o cd e s i g nm e t h o d o l o g yw i l ln o tf i tt h eb i l l i o n t r a n s i s t o rf i e l dd e s i g n r e q u i r e m e n t a tt h i st i m en o c a san e ws o l u t i o n ,i sp r e s e n t e d 1 1 1 es c a l a b l ea b i l i t yo f n o cw e l lm e e t st h ec h a l l e n g eo fn e wd e s i g nr e q u i r e m e n t n o cg r a d u a l l yb e c o m e sa n e wc o m m u n i c a t i o ns t r u c t u r eb e s i d e st r a d i t i o n a lo n - c h i pb u s i ng e n e r a l ,t h ec o m p l e x i t y o fn o ci sc h a r a c t e r i z e db yt w om a i nf a c t o r s ,o n ei st h en e t w o r kt o p o l o g y , a n dt h eo t h e r o n ei sr o u t i n ga l g o r i t h m n i s p a p e rm a i n l yi n t r o d u c e dt h em e s ht o p o p l o g ya n dt o m st o p o l o g yo fn o c d k e c tt o p o l o g y , a n dt h ep o p u l a rr o u t i n et e c h n i q u e sa n da l g o r i t h m s a tt h es a m et i m e ,a n e wd e a d - l o c ka n dl i v e 1 0 c k 蠡r c er o u t ea l g o r i t h mt 0t o m st o p o l o g yi s p r o p o s e d m o r e o v e r , w eb u i l dt h ec o r r e s p o n d i n gr o u t i n gm o d e lf o rm e s ht o p o l o g yw i t hx y r o u t i n ga l g o r i t h ma n df o rt o m st o p o l o g yw i t hs e l f - d e s i g n e dr o u t i n ga l g o r i t h m ,t h e n s i m u l a t eo l lo p n e ta n da n a l y s et h er e s u l t i no r d e rt ov a l u a t et h ef e a s i b i l i t ya n dp r a c t i c a b i l i t yo ft h en o cs t r u c t u r e ,w e d e s i g n e de f f i c i e n th a r d w a r ee m u l a t i o na n dt e s t i n gp l a t f o r mp r i m a r i l yc o n s i s t e do fd s p a n df p g a f u r t h e r m o r e , af i v e - c o m p o n e n t - m i e r o a r c h i t e c t o r em o d e lf o rr o u t e rb a s e do n f p g ai sp r o p o s e d , v e r i f i e da n da n a l y s e d , w h i c hl a yt h ef o u n d a t i o nf o rf u t h r er e s e a r c h o n n o c k e y w o r d s :n e t w o r ko nc h i p ,t o p o l o g y , r o u t i n gt e c h n o l o g y , r o u t i n ga l g o r i t h m , s i m u l a t i o n ,f p g ad e s i g n 图目录 图2 1 图2 2 图2 3 图2 4 图2 - 5 图2 - 6 图2 - 7 图2 8 图2 9 图2 。1 0 图2 1 1 图2 1 2 图2 - 1 3 图3 1 图3 2 图3 3 图3 4 图3 5 图3 6 图3 - 7 图3 8 图3 9 图3 1 0 图3 1 1 图3 1 2 图3 1 3 图3 1 4 图3 1 5 图3 1 6 图3 1 7 图3 1 8 图3 1 9 图3 2 0 图3 - 2 1 图4 - 1 图4 2 图目录 4 x 4 的m e s h 片上网络5 4 x 4 的2 dt o r u s 结构。6 f a t t r e e 拓 p 6 数据包分片示意图8 虫洞路由与存储转发传输延迟比较9 虚拟直通( a ) 和虫洞路由( b ) 发生阻塞时的比较图9 四个数据包循环等待发生的死锁1 1 虚拟通道示意图1 3 虚拟通道的引入避免了死锁的发生1 4 x y 路由的过程1 5 x y 路由的选径流程1 6 e - c u b e 路由过程1 7 带有一定自适应性的x y 路由的路由过程1 9 n o c 的m e s h _ 和t o r u s 结构2 0 原始4 x 42 dt o m s 网络拓扑2 2 立体化后的4 x 42 dt o m s 网络2 3 立体化后的4 x 42 dt o r u s 网络再进行变换对2 3 4 x 42 dt o m s 网络节点重新标号2 4 网络络节点标识后的t o r u s 结构图2 5 0 0 0 0 节点向1 0 1 1 节点传送数据包的选路过程2 7 o p n e t 中片上网络的节点的模型2 9 4 x 4m e s h 不同位置节点分类3 1 顶点位置的节点到达其他节点跳数示意图3 1 非顶点位置的边缘节点到达其他节点跳数示意图3 2 网络内部节点到达其他节点跳数示意图3 3 均匀流量下,虚拟通道对m e s h 网络数据包传输延时的影响。3 4 m e s h 网络中,不同流量模式下延时性能仿真3 5 m e s h 网络中,不同流量模式下吞吐性能仿真3 6 t u r o s 网络中节点到达其他节点跳数示意图3 6 矩阵专置模式下的t o r u s 结构。3 7 t o m s 网络中,不同流量模式下延时性能仿真3 8 t o m s 网络中,不同流量模式下吞吐性能仿真3 9 不同流量模式下,m e s h 网络和t o m s 网络在延时性能仿真比较4 0 不同流量模式下,m e s h 网络和t o m s 网络吞吐性能仿真比较4 1 硬件总体框图4 3 实际电路板的正面图4 3 v 一 图目录 图4 3 图4 4 图4 5 图4 6 图4 彳 图5 1 图5 2 图5 ,3 图5 - 4 图5 5 图5 6 图5 ,7 图5 - 8 图5 9 图5 。1 0 图5 1 1 图6 - 1 图6 2 图6 3 图6 4 图6 5 图6 6 图6 7 图6 8 图6 - 9 图6 1 0 路由节点框图4 4 s t r a t i x l l 系列f p g a 内部结构示意图4 6 f p g a 与配置芯片的连接方式4 8 f p g a 内部ra m 的结构4 9 d s p 写入f p g a 内部时的时序波形4 9 空间换时间处理思想示意图5 3 流水处理思想示意图5 3 数据包格式5 4 分布式路由节点体系结构5 6 输入模块逻辑框图5 7 1 1 3 ( i n p u tb u f f e r ) 输入缓冲模块5 8 头部译码模块逻辑框图5 9 r o u n dr o b i n 调度算法示意图。6 0 算法实现逻辑结构图6 0 i c 模块状态转移图6 1 输出模块逻辑结构图6 2 节点已标号的4 x 4m e s h 网络6 6 单个方向的数据输入输出下,节点的功能仿真波形。6 7 数据传输无冲突时,节点的功能仿真波形6 7 路由节点测试流程6 8 5 号路由节点南方向输入数据包所含目的地址的要求示意图。6 8 将m a t l a b 产生符合要求的数据包写入m i f 初始化文件6 9 直接调用f p g a 内嵌的r o m 资源6 9 数据包注入路由节点的时间控制7 0 路由节点测试方案7 1 数据包通过单个路由节点的平均延时7 2 。 表目录 表目录 表4 1s t r a t i x l i 系列f p g a 串行配置需求4 7 表岳1微结构在s t r a t i x i if p g a 上的实现7 2 i 缩略词表 英文缩写英文全称 s o c n o c m n i h o l l a b a l m d i 工 p l l 1 0 e v p p p 札 n t s c e m i f e d m a 缩略词表 s y s t e m0 1 1c h i p n e t w o r ko nc h i d i n t e l l e c t u a lp r o p e r t y n e t w o r ki n t e r f a c e h e a d o f l i n e l o g i ca r r a yb l o c k s a d a p t i v el o g i em o d u l e d e l a y l o c k e dl o o p p h a s e - l o c k e dl o o p i n p u t o u t p u te l e m e n t v a l u e a b l ep u l s ep o s i t i o n p h a s e a l t e r a t i o nl i n e n a t i o n a lt e l e v i s i o ns y s t e m sc o m m i t t e e e x t e r n a lm e m o r yi n t e r f a c e e n h a n c e dd i r e c tm e m o r ya c c e s s 一 中文释义 片上系统 片上网络 知识产权 网络接口 队头阻塞 逻辑阵列块 自适应逻辑模块 延时锁定环 锁相环 输入输出单元 有效脉冲位置 正交平衡调幅逐行倒相制式 全国电视系统委员会制式 外部存储器接口 增强型直接内存存取 独创性声明 本人声嘎所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名:一餐冬 日期:耐年月岛日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规 签名: 丝塑导师签名 日期:触年s 月2 3 日 第一章绪论 1 1 课题背景 第一章绪论 2 0 世纪9 0 年代中期,随着半导体工艺技术的发展,i c 设计者能够将越来越 复杂的功能集成到单硅片上,s o c 正是在集成电路向集成系统转变的大方向下产 生的。由于s o c 可以充分利用已有的设计积累,显著地提高a s i c 的设计能力, 因此发展非常迅速,引起了工业界和学术界的关注。 但是,随着深亚微米超大规模集成电路工艺技术的成熟及进一步发展,芯片 设计业面临着严峻的问题:随着芯片功能和性能的需求发展,芯片规模越来越大, 工作速度越来越高,开发周期越来越长,设计质量越来越难于控制,设计成本也 越来越高。根据预测,半导体器件的特征尺寸在2 0 1 5 年左右将达到2 5 纳米,时 钟频率将达到1 0 g i - z 以上。这些要求使得以总线结构为主要特征的s o c 设计方法 越来越难以满足要求: ( 1 ) 可扩展性面临的问题 随着电路规模越来越大,片上集成的单元越来越多,数据处理量也越来越大, 总线结构的可扩展性差的问题就越来越突出:虽然总线可以有效地连接多个通讯 方,但地址资源总是有限的。有限的地址资源将成为扩大电路规模的瓶颈。另外 虽说总线由多用户共享,但一条总线是无法支持一对以上的用户同时通讯的,传 统总线结构的时间资源利用率是很低的。 ( 2 ) 单一时钟同步问题 总线结构要求全局同步,但是随着工艺特征尺寸越来越小,工作频率迅速上 升,达到1 0 g h z 以后,互连线延时造成的影响将严重到无法设计全局时钟树的程 度。而且由于时钟网络的的庞大,其功耗将占据芯片总功耗的大部分。由单一系 统时钟同步全芯片的工作将极其困难。 所以在1 9 9 9 年,就有人提出了一种全新的集成电路体系结构一一n o c ( n e t w o r ko nc h i p ) ,其核心思想是将计算机网络技术移植到芯片设计中来,从体系 结构上彻底解决总线架构带来的问题【”。 1 电子科技大学硕士学位论文 1 2片上网络研究动态 n o c 是一个崭新的话题,在国际上自2 0 0 0 年才刚刚起步。随着技术的不断发 展,越来越多的研究机构意识到n o c 的潜力,纷纷投入到其中并推动着它的发展, 使得n o c 成为了一个十分活跃的学术前沿领域。据初步统计,国际上共有3 0 多 所大学、研究所以及工业界的研究单位正积极从事n o c 研究工作 2 1 。其中影响较 大的有瑞典皇家技术学院、斯坦福大学和荷兰菲利普研究实验室等。参与研究的 国家还有法国、意大利、芬兰、希腊、以色列、巴西、印度,澳大利亚等。 2 0 0 0 年和2 0 0 1 年处于n o c 概念构思时期,因此有关的研究著述并不多;2 0 0 2 年的成果有了稳步提高,步入研究的初步阶段;随着各种因素的成熟以及国外各 大n o c 专项的启动,2 0 0 3 年、2 0 0 4 年各出版了1 部专著,标志着成规模、成系 统的研究成果的出现。2 0 0 5 年至今,各种有关n o c 的研究论文大量涌现,深入到 n o c 的实现的细节研究,包括路由节点的实现方案,任务的映射以及延时、功耗、 服务质量等性能优化方面的研究。 令人遗憾的是,在相关检索中,尚未发现国内在该领域的研究成果。也就是 说,中国在n o c 基础理论研究领域中至少滞后国际先进水平3 0 年。从这个意义 上看,目前国内立项研究n o c 基础理论己经到了刻不容缓的地步。虽然中国集成 电路产业的整体水平落后国外约1 0 年时间,但自从s o c 技术出现以来,国家的科 技决策层敏锐地觉察出这是一个跟上国际发展水平的难得机遇,果断地设立了国 家自然科学基金s o c 重大专项、8 6 3 计划s o c 重大专项等重大项目,使国内的s o c 理论研究基本同步于国际水平。n o c 作为一个崭新的集成电路设计理论体系正处 于初刨阶段,如尽早立项支持n o c 相关技术的理论研究工作,一定能够继续保持 与国际前沿同步的局面。从这个层面看,n o c 的出现无疑为中国集成电路设计方 法学的继续发展又提供了一次很好的机遇。中国若能够全面开展n o c 学术领域的 前沿工作,将为大量创新成果的出现提供一个空间。 1 3论文结构及内容安排 本论文共分为七大部分。第一章介绍了课题背景、片上网络研究动态,说明 论文结构及内容安排;在第二章总结n o c 中几种常见的拓扑结构、常用的路由技 术及路由算法;第三章对两种直接网络2 dm e s h 和2 dt o r u s 进行了深入研究,尤 其对2 dt o m s 网络进行了路由算法创新,建立了仿真模型;第四章介绍了片上网 2 一 第一章绪论 络测试平台的硬件设计工作;第五章具体讨论了路由节点的设计以及在f p g a 上 的实现;第六章介绍了片上网络路由节点的验证和测试;第七章对本设计作了总 结,分析了设计中存在不足,展望了未来应该开展的工作。 一3 一 电子科技大学硕士学位论文 第二章片上网络相关概念 自上个世纪9 0 年代末片上网络的概念被提出以来,片上网络各方面的研究都 在迅速进行中。片上网络的提出最早是借鉴并行计算机的互连网络,所以片上网 络与并行计算机隔络有很多的相同点。不同的是并行计算机的互连网络是一个板 级的网络,而片上网络是一个芯片上的网络,特别是在路由算法方面,几乎所有 的片上网络路由算法都在并行计算机网络中找得到它对应的算法。但是它们又有 一些不同,主要表现在以下两个方面: f 1 ) 片上路由器结构筒单,不宜采用较复杂的路由算法。 由于面积所限,片上路由器都是由较简单的逻辑元件组成的。所以,片上网 络所采用的路由算法通常都为较简单。而较复杂的路由算法,类似于并行机中的 静态维数翻转自适应算法和动态维数翻转自适应算法1 3 】,虽然可以取得较好的路由 性能,但是由于片上网络的资源所限,一般都没有采用。此外,在片上网络中缓 存是最宝贵的资源,片上路由器的缓存通常都很小,因此一般对缓存要求比较高 的存储一转发机制,也仅仅是在理论分析时会用到,而在实际设计时很少采用。 佗) 片上网络的网络协议。 与并行机不同,在片上网络中没有专门的协议处理机,所有的协议都必须由 硬件处理,这就要求片上网络的网络协议不能太复杂。这样,许多在并行机中的 流控协议( 如g o b a c k - n 等) 在片上网络中都不能应用。所以通常都要求n o c 中 的路由算法将数据包完整、无损、顺序的投递。 可以看出,上面的两点差异都是由片上网络本身的特点造成的。也正是由于 片上网络与并行机有着这些差异,所以有必要单独的整理和总结片上网络中的路 由算法及路由技术。 2 1 片上网络的拓扑结构 n o c 的拓扑结构就是指n o c 中各个节点的连接方式。通常n o c 拓扑结构分 为两类,一类是直接型网络拓扑,另一类是间接型网络拓扑【4 l 。 一4 第二章片上网络相关概念 2 1 1 直接型网络 在直接网络中,节点处理器( i i i ) 直接地通过网络彼此连接。常见的直接型拓 扑包括网状拓扑( m e s h ) 、花托拓扑( t o m s ) 等。基于目前的技术特点和应用情 况,本论文以直接型拓扑结构为主要的研究对象。下面将介绍本文研究的两种直 接型拓扑结构:2 dm e s h 结构 5 3 和2 dt o m s 结构嘲。 2 1 1 12 d m e s h 结构 2 dm e s h 结构作为一种最简单、最直观的拓扑结构,如图2 - 1 。每个节点连接 着一个资源和四个相邻的路由器,每个资源通过一个网络接口( n i ) 连接着一个 路由器。其中的资源,可以是一个处理器核,内存,一个用户自定义硬件模块或 者是其他任何可以插入插槽并且可以和网络接口相配的i p ( i n t e l l e c t u a lp r o p e r t y ) 模块。路由器与路由器之间,路由器与资源之间是由一对输入和输出通道连接。 通道是由两条单向的点对点总线组成。 图2 - 14 x 4 的m e s h 片上网络 2 dm e s h 结构是目前在n o c 中研究得最早的一种拓扑结构。它结构规则,简 单易于实现,但是它边沿和顶点位置节点的相对闭塞性,会极大地影响网络性能。 2 1 1 22 d t o m s 结构 鉴于2 dm e s h 结构上述缺陷,本文还研究了另外一种更具有优势的直接型拓 扑结构,这就是2 d t o m s 拓扑结构,如图2 - 2 ,是一个4 x 4 的2 d t o m s 花托结构。 5 - 电子科技大学硕士学位论文 rr r 工piy i ply i pi1 d 图2 - 24 x 4 的2 d t o r u s 结构 2 dt o r u s 结构可以看成是对2 dm e s h 的一种扩展,即在边界的节点上增加了 一条长的环路。因此,网络中的所有节点的度为4 ,对于一个m n 的t o r u s 网络, 其中m 、n 为每个维度上的节点数,若m = n 则称之为规则的t o m s 。 2 dt o m s 拓扑在物理形式上与2 dm e s h 相似,但由于其存在很多的环路,所 以在路由算法和路由仲裁方面都要复杂许多。但是2 dt o m s 结构在实际的应用中 范围比2 d m e s h 广很多,其性能也有很大的提高,由于2 d t o m s 拓扑的各个路由 节点都是规则的,每个路由节点的结构都一样,所以扩展性也要比2 dm e s h 提高 很多。因此,对2 d t o m s 拓扑结构的研究,在今后的多处理器系统的具体应用中, 有非常重要的意义,我们将在下一章对其进行着重研究。 2 1 2 间接型网络 在间接网络中,节点处理器通过一个( 或更多) 的中间开关节点相互连接。间接 型拓扑包括蝶形拓扑、b a n y a n 、f a t t r e e 拓扑( 如图2 3 ) 等。 图2 3f a t - t r e e 拓扑 6 开关节点 口节点处理器 第二章片上网络相关概念 2 常用路由技术 本文所介绍的常用路由技术主要包括了三方面的内容,包交换技术,虚拟通 e 技术和死锁避免技术。包交换技术关注的是数据包是怎样从输入通道交换到输 j 通道的。采用的包交换技术不同,所产生的延迟就不同,网络的延迟与包交换 i 术直接相关。虚拟通道技术主要是结合虫洞路由一起使用,可以大大的降低阻 ;发生的概率。最后的死锁避免技术,介绍了通过转弯模型避免死锁的一些内容。 2 1 包交换技术 常用的包交换技术主要有四种:存储转发( s t o r e a n d f o r w a r d ) 、虚拟直通 v i r t u a lc u t - t h o u g h ) 、虫洞路由( w o r m h o l er o u t i n g ) 和偏转路由( d e f l e c t i o n o u t i n g ) 1 7 。下面分别介绍它们的概念和一些相关问题。 2 1 1 存储转发( s t o r e a n d f o w a r d ) 存储转发方式是指的节点( 路由器) 在转发数据包的时候,要先将整条数据 l 存储在缓存中,然后再转发出去。由此可以看出,存储转发对路由器缓存要求 e 较高,特别是在数据包长度比较大的时候。 假设一个长度为l 的数据包采用存储转发方式,经过h 个节点到达目的地, 日可以算出它的延迟为: t = ( l b w + r ) x h 。 其中,l 是数据包的长度,b w 是网络的带宽,r 是每个节点的寻径延迟,h 邑所经过的节点数。 2 l2 虚拟直通( v i r t u a lc u t t h o u g h ) 与存储转发方式缓存整个数据包不同,在虚拟直通中,数据包被分成了许多 向片段( f l i t s ) 。每个包的头片段控制路由,其余的片段跟在头片段之后,以“流 k ”的方式在网络中传输,如图2 - 4 。当阻塞发生时,整个数据包都存储在阻塞发 e 的路由器缓存里。这样,每个路由器只需要有限的缓存空间,即阻塞发生时所 爵缓存的数据包的长度大小就够了。 电子科技大学硕十学位论文 j 亟二 m 。回回土回回 一回 l ! 竺- j !l 幽2 - 4 数据包分片不意图 假设一个长度为l 的数据包采用虚拟直通方式,经过h 个节点到达目的地, 则可以算出它的延迟为: t = l b w + r x h 。 其中,l 是数据包的长度,b w 是网络的带宽,r 是每个节点的寻径延迟,h 是所经过的节点数。 2 2 1 3 虫洞路由( w o r m h o l er o u t i n g ) 虫洞路由与虚拟直通方式及其相似,也是将数据包分成许多片段( f l i t ) ;每个 包的头片段控制路由,剩余的片段以流水的方式在网络中向前“蠕动”。每个片相 当于虫的一个节,“蠕动”以节为单位顺序地向| j 爬行。当阻塞时,各个片段( f l i t ) 存储在阻塞发生时所在的各个节点里面。这样,每个路由器只需要很少的缓存空 间,即只需缓存当前的一片以及阻塞发生时在刹车信号到来之前发进来的几个片 段就可以满足了,而不需要缓存整个数据包。 在延迟方面,也与虚拟直通一样,都为; t = l b w + r h 。其中,l 是数据包的长度,b w 是网络的带宽,r 是每个 节点的寻径延迟,h 是所经过的节点数。存储转发和虫洞路出延迟比较如图2 5 。 8 j2i 粤一 第二章片上网络相关概念 p a c k e t l e g e n c et i m e 上面的一幅图是存储转发的延迟 下面的一幅是虫动路由( 和虚拟 直通) 的延迟 图2 - 5 虫洞路由与存储转发传输延迟比较 从上面的描述中可以看出,虚拟直通方式和虫洞路由方式是很相似的。事实 上,在没有阻塞的情况下,虚拟直通和虫洞路由是完全一样的。它们两者的差别 在于发生阻塞时对被阻塞的数据包的处理:虚拟直通将整个的数据包储存在发生 阻塞的路由器中;而虫洞路由是将各个片段分散到各个节点中。如图2 - 6 所示。 数据包 圃 源节点 雏 目的节点 源节点目的节点 图2 - 6 虚拟直通( a ) 和虫洞路由o ) 发生阻塞时的比较图 9 一 电子科技大学硕士学位论文 虫洞路由的优点: ( 1 ) 相对的使网络延迟对路径长度不那么敏感。从公式t = l b w + r x h 可以 看出来,延迟由两部分组成,前一项是发送数据包的时间,后一项是在各 个节点寻径时问的总和。在实际应用中,一般数据包的长度比较大,远远 大于各个节点寻径时问的总和,所以延迟主要由前一项决定。这个优点很 好的适应了n o c 可升级性( s c a l a b l e ) 的要求。 ( 2 ) 虫洞路由只需要很少的路由器缓存。这一点也很好的迎合的n o c 的特点。 虫洞路由带来的缺点: ( 1 ) 只要一条通道开始传送包的第一个片段,它就被这条数据包所占用了,必 须等到传完所有片段才能被释放,而被其它消息使用。也就是说,一个包 发生阻塞时,可能会同时阻塞其他多个数据包,进一步的造成网络拥塞。 ( 2 ) 当死锁发生时,很难将发送来的消息集合在缓存中以晚点再传送。因为, 虫洞路由的消息长度没有限制,而且缓存通常很小。 2 2 1 4 偏转路由( d e f l e c t i o nr o u t i n g ) 偏转路由,也叫作烫手山芋( h o t p o t a t o ) 路由。正像它的名字“烫手山芋” 一样,在这种极端的路由方式中,路由器并不缓存任何数据包,所有进来的数据 包都被立即转发,所以数据包总是在运动的。偏转路由最大的好处是不需要任何 缓存空间( 事实上,仍然需要一个缓存单元来缓存当前的数据) 。如果有多个数据 包竞争一个输出的时候,它则按照偏移策略将最高优先级的数据包发送到正确的 方向上,然后误传其他低优先级的数据包。 2 2 2虚拟通道( v i r t u a lc h a n n e l ) 采用虚拟通道【8 1 可以避免死锁【9 1 的出现和对头阻塞( h e a do f l i n e ) 【1 0 1 。 2 2 2 1 死锁问题 当多个数据包循环等待的时候,就会发生死锁,如图2 7 。 1 0 第二章片上网络相关概念 霹小一臻 鬻酉 学斜 图2 - 7 四个数据包循环等待发生的死锁 数据包1 占用着路由器1 东面的入通道,它要路由到路由器2 去。但是路由 器2 北面的入通道又被数据包2 占用着,数据包2 要路由到路由器3 去。同时路 由器3 西面的入通道又被数据包3 占用着,数据包3 又要路由到路由器4 去。但 是路由器4 南面的入通道又北数据包4 占用着。最后,数据包4 要路由到路由器1 中,但是路由器1 的东面入通道已经北数据包1 占用了。这样就发生了循环等待, 导致了死锁。在死锁中的数据包的延迟会无限制的增大,是永远没有办法到达目 的地的,所以死锁也是路由算法要极力避免出现的一个问题。 2 2 2 2 队头阻塞( h e a d o f l i n e ) 研究 如果输入端口等待发送的数据都使用一个队列排队,就会出现对头阻塞问题。 即如果f i f o 头部的数据要去的端口正忙,那么此数据队列只能在f i f o 中等待, 这时即使它后面的数据要去的端口是空闲的,也没有机会发送。这种阻塞会极大 地降低交叉开关的流量。下面对其进行建模分析。 假定,输入队列与输出队列均是f i f o ,其处理包的速度相等,c r o s s b a r 是一 个n * n 的交换结构,对某个指定的输入对列,有包到来的概率是p ,该包对输出 端口的选择是任意的,即到达其中一个端口的概率为1 n 。在输入端,输入队列之 间是独立的,包与包之间也是独立的。 把时间划分成若干个时隙,若在某一时隙内,输入队列所有f i f o 的第一个包 1 1 电子科技大学硕士学位论文 均选择不同的出口,则无阻塞。这是一种理想的状态。若其中有k 个包选择同一 个出口,则随机选取一个包通过。即:选择该出口的包被选中的概率是j 。其余 未被选中的包等到下一个时隙发送。 对阻塞的建模: 定义i :4 是m 时隙出现在f i f o 头部并请求输出到i 端口的包的个数。 定义2 :磁是m 时隙请求输出到端口i 但是被阻塞了的包的个数。 或一m a x ( o ,或。+ 4 1 ) ,其中嘭一,上一个时隙被阻塞的申请端口i 的包的个 数,4 这一时隙又进来的申请端口i 的包的个数,1 是本时隙要处理一个包。 定义3 :己。是m 时隙还允许进入h f o 头部的队列个数。则可以用与或来 表示它。 f 。一一罗砩一。 或者:f 一。荟4 定义4 :c r o s s b a r 的吞吐量( 输出端口利用率) 为:风;吾 下面对吞吐量进行极限值的计算: 根据岛一吾和f 。= 一薹域。 岛。导= 专( 刍薹( 一羹磁一- ) ) ,抛一纠 ;1 一虿 推出- 1 一p o 。 这样,得到了b 的一个表达式。 之后,利用砭一m a x ( 0 , 或一。+ 名一1 ) ,得到b 的另一个表达式: 歹。i 垒业。盆 n 2 ( 1 一p 。) 1 2 第二章片上网络相关概念 则有k 个包要输出到i 端口的概率为: p 一吃( 册一吉) 求上式的概率发生函数( p g f ) : a ( z ) - 矿喇z 七) 一占o ) 一一粤丑g ) - u 联立两式: t 学禹辛等一华 当一i 1 1 f 时j ) 最大,此时风一( 2 一2 ) ;o 5 8 6 所以,由于h o l ( h e a do f l i n e ) 阻塞问题,导致实际吞吐量只能达到总链路 吞吐量的5 8 6 。在3 4 2 2 节“均匀流量下,虚拟通道对m e s h 网络中数据包传输 的影响”中将会提供相关的仿真图,可以证明这一结论。为了避免该阻塞闯题, 我们引入了虚拟通道概念。 2 2 2 3 虚拟通道 所谓的虚拟通道,就是指在两个相连的路由器中一对由共享物理信道连接的 缓存。 通常,在采用了虫洞路由中的网络引入虚拟通道,即把一个缓存划分为多个 虚拟通道,这些虚拟通道通过时分复用一条物理信道。如图2 - 8 所示,一个1 2 个 f l i t s 的缓存被划分为4 条虚拟通道,每条虚拟通道有3 个f l i t s 的缓存。 研 吲 耐 吲 曲眺1 2 - r i l b u 妇蚺,螂地抽f 轴 图2 - 8 虚拟通道示意图 在虫洞路由网络中引入虚拟通道技术,如图2 - 9 所示,每个数据包就将占用一 条虚拟通道,如果一个数据包被阻塞了,其他的数据包还可以通过剩下的虚拟通 1 3 电子科技大学硕士学位论文 道到达自己的目的地。这样,不仅可以避免冲突,改善连接的利用和网络吞吐量, 还能有效的避免死锁。 n o d e ln o d e 2n o d e3n o d e 4n o d e5 ( a )a 阻塞 n o d e l n o d e 2n o d e3n o d e 4n o d e5 ma 数据包 圃b 数据包 口没有数据包 ( b ) a 阻塞 b 的目的地 b 的目的地 图2 9 虚拟通道的引入避免了死锁的发生 图( a ) 中没有采用虚拟通道,当a 包在节点4 被阻塞之后,它的最后一个片 段被阻塞在了节点3 向节点4 方向发送的缓存中。后来的b 包要通过节点4 到达 b 的目的地,但是由于没有采用虚拟通道,b 包被a 包阻塞在节点3 了。 图( b ) 引入虚拟通道后,a 包同样在节点4 发生阻塞,最后一个片段被阻塞 在了节点3 向节点4 方向发送的缓存中。但是后来的b 包就可以进入其他虚拟通 道里面,绕过发生阻塞的a 包,到达自己的目的地。 2 3 路由算法 n o c 的拓扑结构必须保证每个节点可以发送数据包到其他节点。当没有完善 的拓扑结构的时候,路由算法决定数据包从源地址开始选择哪一条路径到目的地 址。所以,有效的路由算法对n o c 网络性能的好坏是至关重要的。 路由算法可以按照不同的标准分为不同的几类。比如说源路由( s o u r c e r o u t i n g ) 和分布式路由( d i s t r i b u t e dr o u t i n g ) ,确定路由( d e t e r m i n i s t i cr o u t i n g ) 和自适应路由( a d a p t i v er o u t i n g ) 【1 l l 。这里的讨论基于后一种分类方法。 一1 4 第二章片上网络相关概念 2 3 1确定路由( d e t e r m i n i s t i cr o u t i n g ) 确定路由是一种常见的路由,它的路由路径只于起点地址和终点地址有关, 给定起点和终点地址,路由路径就被确定了,与当前网络的状态无关。而在确定 路由中,使用的最多的则是维序路由( d i m e n s i o n - o r d e r e dr o u t i n g ) ,因为它有着 非常简单易实现的路由逻辑。在维序路由中,每个数据包一次只在一个维上路由, 当在这个维上到达了恰当的坐标之后,才按由低维到高维的顺序在另外的维上路 由。因为数据包是按照着严格的单调的维数变化的顺序在通道内路由,所以维序 路由也是没有死锁的。按照在不同拓扑结构的网络中路由,维序路由包括了2 d m e s h 中的x y 路由和在超立方体( h y p e r c u b e ) 中的e - c u b e 路由。 确定路由优点是,路由算法简单,在网络低拥塞环境下能获得较低延迟。但 是由于其不能响应动态的网络状态变化,所以当网络拥塞增加时,性能迅速降低。 2 3 1 1x y 路由 2 dm e s h 中的x y 路由是最简单的一种路由算法,它的路由过程是:先x 方 向将数据包包送至目的节点所在的列;再沿y 方向将信数据包送至目的地处理器 所在的行,如图2 1 0 。 x 嘴由 图2 - 1 0x y 路由的过程 具体的处理流程如图2 1 1 。当路由器开始处理一个数据包的时候,因为采用 的是x y 路由,它先会判断x 方向上是否到达了目的节点所在的列,如果没到达, 1 5 电子科技大学硕士学位论文 萨一;1 1 6 - 第二章片上网络相关概念 豫:s = 饥1 0 目的:i = 1 1 0 i 路径: 0 1 1 0 0 l 一0 1 0 1 一1 1 0 1 图2 - 1 2e - c u b e 路由过程 举例来说,如图2 - 1 2 ,一个由s = 0 1 1 0 产生的数据包要传向目的地为d = 1 1 0 1 的节点。首先计算路由向量c l = do s = 1 1 0 10 0 1 1 0 = 1 0 1 1 。取最右边的不为零的 一位为k ,则k = 1 ,说明这是的数据包将会被送往第1 维上的通道。然后到达了 v l = 0 1 1 1 ,再计算路由向量c 2 = d o v l = u 0 1 申0 1 1 1 - - - - -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中铁七局集团有限公司试验检测分公司春季招聘5人备考题库及一套参考答案详解
- 2026河南洛阳伊洛医院招聘20人备考题库附答案详解(基础题)
- 2026江苏南京大学YJ20260128物理学院博士后招聘1人备考题库及答案详解(必刷)
- 2026新疆博尔塔拉州博乐市博报文化传媒有限责任公司招聘1人备考题库及1套参考答案详解
- 2026北京大学医学部总务处饮食服务中心采购岗职员招聘1人备考题库及答案详解参考
- 2026河南华北水电工程监理有限公司招聘26人备考题库含答案详解(完整版)
- 2026内蒙古锡林郭勒盟镶黄旗事业单位引进急需紧缺人才2人备考题库附答案详解
- 都江堰市人力资源和社会保障局公开补员招聘编外人员备考题库(41人)附答案详解(夺分金卷)
- 2026年牡丹江医科大学博士招聘100人备考题库及答案详解(网校专用)
- 2026江西同济建设项目管理股份有限公司招聘9人备考题库及答案详解(典优)
- 2026年云南云天化股份有限公司春季招聘(169人)笔试模拟试题及答案解析
- YY/T 1986-2025一次性使用无菌神经用导管及附件
- 成都高投集团招聘笔试题
- 年龄相关性黄斑变性课件
- TCCIIA0004-2024精细化工产品分类
- 校园驻校教官培训
- 公路标线施工方案
- 2024年高考政治考试题海南卷及参考答案
- T-CBMF 92-2020 T-CCPA 18-2020 大弯矩方形钢筋混凝土电杆
- 光学和光子学 微透镜阵列 第3部分:光学特性测试方法
- 彝族民间音乐智慧树知到期末考试答案2024年
评论
0/150
提交评论