足球比分直播

网络处理器与其处理单元相关技术的分析.pdf

返回
网络处理器与其处理单元相关技术的分析.pdf_第1页
第1页 / 共52页
网络处理器与其处理单元相关技术的分析.pdf_第2页
第2页 / 共52页
网络处理器与其处理单元相关技术的分析.pdf_第3页
第3页 / 共52页
网络处理器与其处理单元相关技术的分析.pdf_第4页
第4页 / 共52页
网络处理器与其处理单元相关技术的分析.pdf_第5页
第5页 / 共52页
点击查看更多>>
资源描述:
哈尔滨工业大学工学硕士学位论文 摘 要 随着通信技术的飞速发展,当今网络 正在向着可以提供包括海量数据传输、音视频等各种高带宽服务的下一代网 络发展。这种发展趋势对整体网络设施的网络包的处理能力与处理速度都提出 新的要求,基于专用集成电路和通用处理器的传统网络数据解决方案已不能同 时满足网络包处理速度和灵活性这两方面的需求,因此出现了专门为网络数据 高速处理任务量身定做、基于专用指令集处理器技术的可编程网络处理器。 本文首先介绍了现代网络处理器体系结构,分析了目前网络处理器设计中所面临的两个共同问题第一是缺乏对指 令级并行性的挖掘;第二是处理单元拓扑结构不够灵活。然后此基础上提出了 一种基于片上网络和超长指令字结构的网络处理器体系结构。该体系结构可以 较好的解决上面两个问题,超长指令字处理单元可以增加对程序中指令并行性 的开发;片上网络的自动负载能力和本文提出的任务资源动态映射的算法使得 网络处理单元拓扑结构能够具有很好的灵活性。 其次,本文研究了超长指令字处理单元的结构,根据网络处理任务的特点分析了协处理器通信接口和几种利用硬件 机制实现的网络处理专用指令的设计方法,并对设计的协处理器通信接口以及 指令相关的部分硬件模块进行了仿真验证,确定了其设计方法的正确性。 最后,本文深入分析了专用指令中路由查找指令对应的协处理器的相关技术,在此基础上提出了一种易于硬件实现、基于可变分支 Trie树结构的树位图路由查找算法以及硬件实现方案,并对路 由表查找算法进行了性能验证以及硬件适用性分析。结果表明该路由查找算法 的性能指标以及实现方式都可以达到硬件的要求。 关键词 网络处理器,片上网络,处理单元,协处理器,路由查找 - I - 哈尔滨工业大学工学硕士学位论文 - II - Abstract With the rapid development of communications technology, today s internet is developing to the next generation network including Massive data transmission, voice and video and other high-bandwidth services. This development puts forward new requirements for the packet processing capacity and speed of the network infrastructure overall, the traditional network data transmission solutions based on ASIC and general-purpose processors can no longer meet the needs of the speed and flexibility of packet processing. So programmable network processors, based on specific instruction set processor technology, specifically for high-speed network data processing tasks is coming. This paper introduces the architecture of modern network processors first. And then analyzes two common problems faced by current network processor design. One is lack of instruction-level parallelism, and the other is the topology of processing unit is not flexible enough. On this basis, an architecture of the network processor based on the network on chip technology and the very long instruction word processor structure is proposed in this paper. The architecture can solve the above two problems. Very long instruction word processing unit can increase the instruction-level parallelism. The Network on Chip‘s can carry load balancing automatically and the algorithm of dynamic mapping processing resources to each network segment processing tasks proposed in this paper make the network processing unit topology have a relatively strong flexibility. Second, this paper studies the design of the structure of very long instruction word processing unit, and designs the coprocessor communication interface and some special instructions according to the characteristics of the network processing tasks using hardware mechanisms. Besides, the simulation is also given to prove the correctness of the design. At last, this paper studies the coprocessor related technologies corresponding to the designed route lookup instruction in-depth specially, and propose a tree bitmap routing lookup algorithm which is easily implemented in hardware, based on variable-branch Trie structure. The routing table lookup algorithm’s perance and suitability of the hardware are also analyzed; the result shows that the perance of the algorithm and hardware implementations can achieve the requirements. Keywords Network Processor, Network on Chip, Processing Unit, coprocessor, route lookup 哈尔滨工业大学工学硕士学位论文 目 录 摘 要 .............................................................................................................................I Abstract ....................................................................................................................... II 第 1 章 绪论 ................................................................................................................ 1 1.1 课题研究的目的与意义 ................................................................................... 1 1.2 课题背景 ........................................................................................................... 2 1.2.1 网络处理器概述 ........................................................................................ 2 1.2.2 网络处理器体系结构分类 ........................................................................ 4 1.2.3 网络处理器体系结构设计 ........................................................................ 6 1.3 论文的主要内容 ............................................................................................... 7 第 2 章 基于VLIW 和 NoC的网络处理器体系结构 .................................................. 8 2.1 网络处理器体系结构设计方案引言 ............................................................... 8 2.2 片上网络概述 ................................................................................................... 9 2.3 基于VLIW 和 NoC的网络处理器结构设计 ..................................................... 9 2.3.1 整体结构方案设计 .................................................................................... 9 2.3.2 片上网络拓扑和任务资源动态映射算法的设计 .................................. 11 2.4 设计方案评价 ................................................................................................. 17 2.5 本章小结 ......................................................................................................... 18 第 3 章 基于超长指令字核的处理单元设计 .......................................................... 19 3.1 超长指令字处理器概述 ................................................................................. 19 3.2 处理单元设计 ................................................................................................. 19 3.2.1 整体设计 .................................................................................................. 19 3.2.2 协处理器通信接口设计 .......................................................................... 20 3.2.3 网络处理专用指令研究 .......................................................................... 22 3.3 仿真与验证 ..................................................................................................... 25 3.4 本章小结 ......................................................................................................... 26 第 4 章 处理单元中路由表协处理器相关技术的研究 .......................................... 27 4.1 路由表查找技术 ............................................................................................. 27 4.2 基于可变分支Trie 树结构的树位图路由查找算法设计 .............................. 30 4.3 路由表查找算法硬件实现方法 ..................................................................... 39 4.4 路由表查找算法验证及硬件适用性分析 ..................................................... 40 4.4.1 算法验证 .................................................................................................. 40 4.4.2 硬件适用性分析 ...................................................................................... 43 4.5 本章小结 ......................................................................................................... 43 - III - 哈尔滨工业大学工学硕士学位论文 - IV - 结 论 .......................................................................................................................... 44 参考文献 .................................................................................................................... 45 攻读学位期间发表的学术论文 ................................................................................ 50 哈尔滨工业大学硕士学位论文原创性声明 ............................................................ 51 哈尔滨工业大学硕士学位论文使用授权书 ............................................................ 51 致 谢 .......................................................................................................................... 52 哈尔滨工业大学工学硕士学位论文 第1章 绪论 1.1 课题研究的目的与意义 随着通信技术的飞速发展,当今网络正在向着可以提供包括海量数据、语音和视频等各种高带宽服务的下一代网络过渡[1]。这种趋势对整体网络设施的报文处理能力与处理速度提出更高的要求,基于专用集成电路 ASIC, Application Specific Integrated Circuit 和通用处理器 GPP, General Purpose Processor 的传统网络数据传输解决方案已不 能同时满足报文处理速度和灵活性这两方面的需求。专门为网络数据高速 处理任务量身定做的基于专用指令集处理器[2]ASIP,Application Specific Instruction Processor 技术的可编程网络处理器[3-6]NP, Network Processor正是为了适应这种需要而提出的。 网络处理器是一种专门为网络数据高速处理而设计的可编程硬件设备,与传统的处理器结构有很大不同。它的结构 采用了全新的设计思想,使其既具有专用集成电路的高速处理能力,又具有非 常好的可编程能力。网络处理器最突出的特点主要包括以下三点第一,为了 满足网络数据分组高速处理要求而采用了优化的体系结构、专用指令集和专用 硬件;第二,具备很好的软件可编程性,能够迅速实现新的服务和应用,从而有效 满足网络业务复杂多样化的需求,具有很强的灵活性;第三,硬件设备 上的软件可以进行不断升级,节省用户硬件投资成本。 网络处理器中进行网络数据处理的最 主要的模块是处理单元PE, Processing Unit [7-8]。网络处理器通常包括多个处理单元,可以完成高速、海量的数据处理功能。多个处理单元并行工 作的方式不仅可以提高网络处理器的处理能力还可以降低数据处理时访问存储 器所需的平均时间,提高芯片的工作效率。另外,每个处理单元内部也可以包 含多个硬件多线程,进一步保证网络处理器的高速处理能力。 网络处理器自提出后便得到了迅速的发展,到目前为止,很多的公司都推出了自己的网络处理器产品,如IBM 公司的Power NP 网络处理器[9]、Intel 的 IXP系列网络处理器[10,11]、 Agere公司的 PayloadPlus网络处理器[12]等。但在国内这方面产品还很少,网络处理器产品市场基 本被国外产品垄断。这说明在网络处理技术上,我国和国际先进水平之间还存 在相当大的差距。因此对网络处理器设计关键技术的研究具有非常重要的意义。 - 1 - 哈尔滨工业大学工学硕士学位论文 本课题在实验室一个基础科研项目支持下研究网络处理器体系结构以及其处理单元的相关技术。具体内容包括网 络处理器体系结构研究,网络处理器处理单元及其相关协处理器的功能结构和实现原理研究,分析以及部分验证。 1.2 课题背景 1.2.1 网络处理器概述 网络处理器作为第四代网络系统的基础出现,是一种专用可编程的高速网络数据处理硬件设备。它的诞生是为了应 对当前越来越复杂的网络所产生的海量网络数据处理任务。网络处理器的功能结构如图1-1 所示。 图1-1 网络处理器的功能结构 在第一代网络系统时期,网络规模较小,运行速度较低,小型机CPU 能够很好的完成包交换处理的任务。随着计算机技术的发展,CPU 性能也在不断的增长,已经足以处理像 IP转发这样的任务。因此,第一代商业 IP路由器使用了常规计算机硬件,将整个系统被称为软件路由器(Software Router )。软件路由器的主要优点是不需要添加额外的硬件, 使用系统中已有的通用处理器硬件即可,构建成本低;主要缺点是处理速度低 。为了提高软件路由器的性能,许多用于优化网络系统性能的专用算法和数据 结构被提出。例如,校验和增量更新算法等。而要想使基于软件的网络系统获 得更高的处理性能就需要对硬件进行改动。已提出来的硬件优化机制主要包括 以下几种提高系统处理器计算性能的细粒度并行,对称粗粒度并行、非对称 粗粒度并行和专用协处理器方式和能够提高系统I/O 性能的集成网卡等。 第一代网路系统中在网络包处理的过程中采用了多路分解[13]策略。即接收- 2 - 哈尔滨工业大学工学硕士学位论文 系统的网络协议处理软件利用各网络包首 部的类型值判断下一层将使用的网络协议,然后将网络包传给响应的网络协议 处理模块。多路分解的主要优点在于传输的高效率和灵活性。多路分解通过忽 略与给定网络包不相关的首部字段而提高传输效率,并且允许设计者创建新协 议或者在不影响其他协议的前提下修改现有的协议从而获得很好的灵活性。但 即使多路分解有上述优点,如果使用传统的方式来实现各分层协议的多路分解 ,效率仍然不会很高。因为各层之间的多路分解不能并行执行,上层协议必须 等待相邻下一层协议多路分解产生的数据包。包分类[14]( Packet Classification)可以做到在保留多路分解的优点的基础上提高系统的整体效率。包分类的设 计思想如下保留分层协议的设计,并且仍然将协议类型加入网络首部,但是 在接收的时候通过压缩多路分解过程对处理进行优化。 第二代网络系统的关键技术之一就是包分类技术。第二代网络系统具有三个非常明显的特点。第一,使用分类技术 而不是多路分解技术处理大部分网络包;第二,每块网卡都具有分类与转发能 力;第三,内部互连机制可以为接口之间的数据传输提供绕过CPU 的高速传输通道。第二代网络系统将协议处理任务转移到网卡上,并且还使用高速传输通道,从而能够很好的减轻 CPU的负担。但由于需要使用通用处理器完成某些 包处理任务,如果系统具有很高的网络流量,通用处理器就可能会成为系统的瓶颈。因为即使CPU 只处理小部分网络包,传给CPU 的网络包数也会随着网络流量的增加而线性增长。这正是第二代体系结构中的一个很大的问题。 第三代网络处理系统可以进一步减轻CPU 的负担,它使用专用硬件对网络数据处理任务进行了分解,使之与CPU 相对独立。第三代体系结构大都选择嵌入式处理器来处理高层协议,使用嵌入式 处理器的原因主要包括以下两点首先嵌入式处理器的运行速度可以接受。第 二,由于传输层网络协议非常复杂,实现起来比较困难。这使得嵌入式系统实 现方案具有很大的优势,因为嵌入式系统中的可编程性可以用来实现协议处理 。当需要变更需求时,可以只更新系统中需要执行的程序;可以在一定程度上独立于硬件。 与常规CPU 相比虽然专用于网络包处理的嵌入式处理器可以获得更高的网络包处理速度。但是对于非常高的数据到 达速率来说,嵌入式处理器仍可能成为瓶颈。对于骨干因特网来说,嵌入式处 理器就不能满足需求,此时唯一可行的技术方案就是ASIC 技术。但是 ASIC技术也有一些问题,如成本高,周期长,重用率低等。 因此在第四代网络系统设计中,如何将两者的优点有效结合起来成为一个很有一个很有价值的研究问题,在这种情 况下,网络处理器诞生了。网络处理- 3 - 哈尔滨工业大学工学硕士学位论文 器具有上述两种方法优点第一,具有成 本低,硬件设计复杂性小,可编程性好的特点;其次还具备了高速处理数据能力和高速网络包传输能力[15]。网络处理器在不同的应用中都具有下面一些共性[16]网络协处理器,用于网络特定应用中的通信处理器,进行路由选择的可编 程状态机,可重配置的交换结构和专用于路由计算的通用处理器。 当今的网络处理器具有一个非常明显的特点,那就是设计结构的多样性。虽然各个厂商都使用网络处理器这个概念 ,但是他们各自的表述方式不同。对于协议处理所需的功能或如何将功能映射 到专用硬件在工业界并没有一致的意见。目前,对于网络处理器中应包含哪些 硬件组织部件,特别是应该用硬件实现哪些功能,或者如何在网络处理器芯片 上如何安排这些功能部件都是有待进一步研究的问题。同时,设计者们对如何 在网络处理器之间构建高效的、具有扩展性的分布式互连也没有达成共识。 网络处理器仍处于高速发展的阶段[17]。未来网络处理器系统的结构变化主要体现在以下两方面首先是并行处理。 网络数据分组的无序传送和相对独立性非常适合并行处理,现在的很多网络处 理器都采用了多核并行结构,但由于数据量的增加要远快于摩尔定律的规律, 先进设计工艺带来的系统性能提高难以满足网络分组处理高速处理需求,因此 寻找性能更高的、可扩展更好的并行结构就成为提高网络处理器性能的关键; 其次是通信机制。伴随并行处理而来的网络处理器的更高分组处理能力和不断 提高集成度的使得网络处理器各部件的通信机制越来越复杂。当更多的处理单 元、协处理器和存储器集成到芯片上之后,简单的总线和本地连接方案将不能 满足高速通信要求,具有高速通信能力和高扩展能力的通信机制将会成为新的发展趋势。 1.2.2 网络处理器体系结构分类 网络处理器在进行网络数据处理时会 将大部分任务派发到处理单元中执行,处理单元会完成大部分网络数据处理工作[18]。因此处理单元对于网络处理器来说非常重要,大多数网络处理器都提 供了多个可以并行工作的处理单元以满足高速的网络数据处理任务。另外多个 处理单元之间拓扑结构也是网络处理器结构中的一个关键技术[19],直接影响网络处理器的性能和复杂度。 处理单元的实现方式多种多样。但必须具备以下特点,处理速度快,设计简单,可编程性好。当前处理单元的实现方式大体上有以下三种精简指令集处理器[20]、超长指令字处理器[21]和数据流处理单元[22],虽然这不能覆盖当所有的网络处理器设计方案,但对于绝大部分都符合这三类中的某一个。根据处理单元的实现方式可以将网络处理器分为以下几类 - 4 - 哈尔滨工业大学工学硕士学位论文 1.基于RISC 核心的网络处理器, RISC处理器拥有相对简化的硬件接口,设计起来难度比较小;同时精简的指令集使得CPU 可以运行于一个更高的时钟频率上;除此之外它还具有很好的可编程 性。当前很多网络处理器都使用该结构,如IBM 公司的Power NP网络处理器、Intel 公司的IXP 系列网络处理器等。 2.基于VLIW 的网络处理器,超长指令字处理器的目标是发掘程序中尽量多的指令级并行性。但其本身一般不具有 自动划分成并行指令的能力,需要相应的编译器辅助划分[23]。超长指令字具有功耗低、设计复杂度低,性能高等优点。当前使用这种结构的主流 网络处理器并不多,Agere 公司的Payload Plus 网络处理器就是采用这种结构。 3.基于数据流处理单元核心的网络处理器[24-25],该设计方案比较特别,其最大的一个特点就是数据流驱动。处理 单元根据到达的数据特征信息,选择操作方式,进行处理。该网络处理器设计 方案和传统的顺序编程模型相差比较大,采用这种设计方式的产品也挺少。Xelerated 公司的X11/X10 是其中比较有代表性一款网络处理器。 处理单元之间的拓扑结构也有多种方式可以选择。串行流水结构、并行多处理结构和串行并行混合结构是当前网络 处理器处理单元之间经常使用的几种拓扑结构[26]。它们之间的区别可以参照图1-2 。 串行流水结构首先将任务划分成多个段,然后对任务和处理单元资源进行一一映射,网络数据包根据当前需要执 行的操作逐次向下级处理单元流动。这种拓扑结构下需要注意流水单元之间负载的平衡[27],否则可能造成相邻流水之间处理单元资源的浪费,进而极大的降 低系统的性能。该拓扑结构的优点在于不存在共享资源的访问冲突问题;缺点 是承担最复杂任务的处理单元将成为制约整个网络处理器处理性能的瓶颈。 并行多处理结构网络数据包可以在任何一个空闲处理单元上完成全部处理任务。该拓扑结构最大的特点是每个处 理单元都相对独立于其他任何节点,对其他节点的影响比流水结构要小,整体 的处理性能不会受单个节点限制。这也是并行多处理结构的最大的优点,相对 独立性使得该拓扑结构容易扩展,可以比较容易的加入新的处理单元资源,并 且还具有很好的可编程性。这种结构的缺点是当处理单元数量增大时,处理单 元之间的通信消耗以及访问冲突问题次数都会大大增加,这将会在一定程度上减缓处理速度。 串行并行混合结构这种结构是在上述两种结构基础上提出来的,是在硬件有效性和编程有效性之间进行的折衷。 该结构的缺点是设计者需要平衡负载和处理多个线程的异步交互。需要划分成 多少任务段和每个任务段需要多少个- 5 - 哈尔滨工业大学工学硕士学位论文 处理单元都是不太确定的问题[28],另外编程的复杂度也会因为在多个流水段上同时运行多个指令集而增加。 图1-2 传统拓扑结构 1.2.3 网络处理器体系结构设计 网络处理器体系结构设计需要对各方面进行权衡,以达到功能、性能与成本的最优结合[29-32]。下面主要对设计过程中涉 及的拓扑结构、内部传输机制和并行性三个方面进行讨论。 拓扑结构决定了网络处理器的任务分配机制。对于并行拓扑结构则需要负载均衡,协调各个处理单元以最快的速度 处理当前任务,而对于串行拓扑结构则不需要。但串行拓扑结构中流水机制的 实现方式同样会影响任务分配策略。流水线有两种实现方式均匀流水和非均 匀流水。在均匀流水线中,流水线上的所有功能部件都是用相同的时间处理一 个网络包;但在非均匀流水线中,功能部件所执行的任务决定了所需的时间。 均匀流水的优点是不需要缓冲区或者同步机制,节约成本;缺点是每阶段都要 花费相等的时间,处理最慢的阶段所需要的时间就是所有阶段都要花费的时间 ,这就降低了整体流水处理的速度。非均匀流水线的优点是能够让每阶段自己 决定需要多长时间来完成任务,比较灵活,速度也比均匀流水要快;缺点就是 需要同步机制和缓冲区。如果采用均匀流水,则直接寻找可用的处理单元即可 ,但是对于非均匀流水则需要一个实时资源分配算法将任务映射到流水各段中 ,以达到最有性能,控制逻辑要复杂很多。 - 6 -
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播