(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf_第1页
(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf_第2页
(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf_第3页
(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf_第4页
(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf_第5页
已阅读5页,还剩94页未读 继续免费阅读

(计算机应用技术专业论文)面向网络处理器的编程模型研究.pdf.pdf 免费下载

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

文档简介

西北工业大学硕士论文摘要 摘要 网络处理器 ( n p ) 是结合通用c p u 可编程性和a s i c 高性能, 为优化包处理 而设计的。由于 n p体系结构的复杂性和多样性,软件开发通常仅支持微代码 汇编语言,程序开发难度较大。因此,需要开发一种通用的软件平台,对 n p 的硬件体系结构进行抽象,即用形式化语言描述出微引擎,线程,存储器和寄 存器等硬件类型:对上层应用进行描述,并建立映射关系。这样,程序员无需 了解n p 体系结构的细节就可以方便地进行编程。为此本文引入编程模型。 论文资助是8 6 3 课题“ 面向网络处理器结构的新型操作系统核心技术” , 主 要研究面向网络处理器的编程模型, 硬件开发环境使用工 n t e l i x p 2 4 0 0 网络处 理器,开发板是r a d i s y s 公司的e n p - 2 6 1 1 0 完成的主要工作为: 基于高 层描述语言 和微组件 技术构建 编程模型。 高 层描 述语言c l i c k l z 是一 种与 具体n p 平台 无关的 语言, 易 于 在多 种类型n p 上进行 扩展。 微组件技 术! 1 7 1 提供一系列可直接在微引擎上运行的微模块来实现特定的应用, 可提高代码的 可重用性,简化微引擎上代码的编写。 这两种技术相结合,实现网络应用的模 块化开发。 设计了编程模型的结构。由高级描述语言,编译器,硬件映射,动态资源 分配平台和一个独立的抽象模块五部分构成。在特定的网络应用中,面向具体 的n p 硬件结构, 实现高级语言到n p 微代码的自 动转换。 并把所有完成功能集 成到一个图形界面上, 根据提示向导直观地创建和调试应用, 增加系统灵活性。 编程模型通过扩展, 成为一种通用的软件平台, 适用于更多的n p 。 编程模 型的实现, 使得在网络处理器上开发应用简单易 行, 极大地推动n p的研究和 发展,拓展n p 在网络通信领域的应用和普及。 1 关键字 :网络处理器; 线速; a s i c ; r i s c ;编程模型: 微组件 西北工业大学硕士论文 摘要 ab s t r a c t n e t w o r k p r o c e s s o r 困p ) i s d e s i g n e d f o r o p t i m i z i n g p a c k e t p r o c e s s in g w h i c h c o m b in e s p r o g r a m m a b i l i t y o f c p u a n d h i g h p e r f o r m a n c e o f a s i c . i t p l a c e s b u r d e n o n p r o g r a m m e r b e c a u s e c o m p l e x it y a n d d i v e r s it y o f n p , s o w e n e e d d e v e l o p a s o f t w a r e p l a t f o r m w h i c h a b s t r a c t s h a r d w a r e a r c h i t e c t u r e . f o r m a l i z a t i o n l a n g u a g e i s u s e d t o d e s c r i b i n g h a r d w a r e t y p e s a n d a b o v e a p p l i c a t i o n , t h e n , f o u n d i n g t h e i r m a p p i n g r e l a t i o n s . i t i s p o s s i b l e t o d e v e l o p a p p l i c a t i o n e f f i c i e n t l y w i t h o u t k n o w i n g a l l o f t h e d e t a i l s o f t a r g e t a r c h it e c t u r e . t h u s , we i n t r o d u c e p r o g r a m m i n g m o d e l t h i s p a p e r i s b a s e d o n t h e p r o j e c t o f t h e n e w t e c h n o l o g y o f o p e r a t i n g s y s t e m f o r n e t w o r k p r o c e s s o r a p p l i c a t i o n . t h e g o a l i s t o s t u d y s y s t e m s o f t w a r e p l a t f o r m s u i t a b l e f o r n p a r c h i t e c t u r e . t h e h a r d w a r e e n v i r o n m e n t i s i x p 2 4 0 0 n p a n d t h e e v a l u a t i o n b o a r d i s e n p - 2 6 1 1 o f r a d i s y s c o r p i c o m b i n e d h i g h - l e v e l d e s c r i p t i v e l a n g u a g e a n d m i c r o c o m p o n e n t t e c h n o l o g y to d e s i g n p r o g r a m m i n g m o d e l . c l i c k i s a s p e c i a l l a n g u a g e f o r d e s c r i b i n g n e t w o r k a p p l i c a t i o n s w h i c h u s e c o n f i g u r a t i o n g r a p h s a n d i n d e p e n d e n t o f n p p l a t f o r m , s o i t c a n b e e x p a n d e d i n m o r e t y p e s . mi c r o c o m p o n e n t p r o v i d e s m a n y mi c r o m o d u l e s r u n n i n g o n p e t o c o m p l e t e s p e c i a l f u n c t i o n w h i c h m a k e s c o d e w r it i n g s im p l e . t h e i n t e g r a t i o n o f t w o t e c h n o l o g i e s r e a l i z e m o d u l a r i z a t i o n o f n e t w o r k a p p l i c a t i o n . i d e s i g n e d t h e fr a m e o f p rog r a m m i n g m o d e l , w h i c h c o n s i s t s o f h i g h - l e v e l d e s c r i p t i v e l a n g u a g e , c o m p i l e r , s y s t e m m a p p i n g , r u n t i m e s y s t e m a n d s y s t e m m o d e l . f o r s p e c i a l a p p l i c a t i o n a n d a r c h i t e c t u r e , i t r e a l i z e s a u t o m a t i c c o n v e r s io n fr o m h i g h l a n g u a g e t o mi c r o c o d e . a l l a c h i e v e d f u n c t i o n s w e r e i n t e g r a t e d in g u i , w h i c h m a k e p r o g r a m m e r d e v e l o p a p p l i c a t i o n e f f e c t i v e l y w i t h o u t k n o w i n g d e t a i l s a b o u t s y s t e m . f o r r e a li z i n g h ig h e f fi c i e n c y a b o u t p r o c e s s i n g p a c k e t , n p w i l l b e a p p l i e d i n m o r e f i e ld s . t h e r e s e a r c h o n p r o g r a m m i n g m o d e l p l a y s a n i m p o r t a n t r o l e i n w i d e n i n g t h e a p p l i c a t i o n , i n d u s t r i a l i z i n g t h e n p p r o d u c t , a n d i m p r o v in g t h e c o m p e t i t i o n o f s o ft w a r e . wi t h t h e d e v e l o p m e n t o f n e t w o r k t e c h n o l o g y , n p s h a l l b e t h e k e y t e c h n o l o g y o f n e x t g e n e r a t i o n n e t w o r k . ( k e y w o r d s : n e t w o r k p r o c e s s o r ( n p ) ; wi r e s p e e d ; a s i c ; r i s c ; p r o g r a m m i n g mo d e l ; mi c r o b l o c k 西北工业大学硕士论文第一章 绪论 第一章 绪论 1 . 1课题背景及意义 微电子与通信技术的进步推动着计算机网络的不断向前发展,每一次的技 术进步都是在以前技术的基础上满足人们更新、更高的需求。随着网络传输技 术的进步,网络带宽的增长速度远远超过了 通用处理器处理能力的增长速度, 因此对网络设备的处理速度和能力提出了更高的要求,如何提高网络设备的处 理速度和可编程能力成为网络发展的瓶颈, 但是, 这两个方面通常是一对矛盾。 在通用处理器对某些网络处理任务尤其是数据接收、交换转发等方面的处 理性能难以满足要求时,网络设备开始更多地采用特定用途集成电路 ( a p p l ic a t i o n s p e c if i c i n t e g r a t e d c ir c u it 简 称a s i c ) 技 术。 a s i c 把 指 令 和计 算 逻辑固化到硬件中,以此来获得很高的处理速度和良 好的性能, 然而, a s i c可 编 程能 力差, 缺 乏灵 活性, 固 化到 硬 件中的 指 令 和计 算 逻辑 很难 修改 和 升 级, 也很难增加新的功能和提高性能。此外,复杂的a s i c开发需要很长的时间, 通常为1 8 个月到2 年的时间, 不可能满足高速网络发展的要求。 除此之外, 当 前网络的应用范围在不断扩大 ( 从商用、 教育到家庭和个人) 、 新的业务不断涌 现 ( 电子商务、 多媒体应用和视频会议等等) , 网络的发展也不仅仅是带宽的不 断 提高, 而更多 地表 现为 对“ 智能 化处理” ( i n t e l l i g e n t p r o c e s s i n g ) 的要 求, 例 如服务质量( q o s ) 、 控制 安 全( s e c u r i t y ) 等服务都 需要分 组分 类( c l a s s i f i c a t i o n ) 和深层数据处理 ( 处理到第4 层或第7 层) 。 而这些服务功能既要求处理的高速 度,又要求实现的灵活性。因此, 结合了 通用c p u可编程性和a s i c高性能而 发展起来的新兴的集成电路设计技术网络处理器应运而生。网 络处理器是适应 现代高速网 络,针对各种流量处理优化而设计的一种专用处理器,采用了 多处 理器技术和并行技术,保持了基于g p p( 通用处理器)设计的灵活性,消除了 传统c p u的速率瓶颈问 题, 实现了数据包的线速处理。 网络处理器是专门设计用来处理网络数据包的处理器,它采用了类似 a s i p ( a p p l i c a t i o n s p e c i f i c p r o c e s s o r ) 和s o c ( s y s t e m o n c h i p ) 的 体系结 构, 为了 提 高运算性能,它还采用了 r i s c技术。网络处理器通常还都具有一个专用的 i s a ( i n s t r u c t io n s e t a r c h it e c t u r e ) 模 型, 该 指 令集 专 用于 对网 络 数 据 进 行 处 理。 因 此,无论从体系结构上还是从指令系统上看,网络处理器都是为网络数据的处 西北工业大学硕士论文第一章 绪论 第一章 绪论 1 . 1课题背景及意义 微电子与通信技术的进步推动着计算机网络的不断向前发展,每一次的技 术进步都是在以前技术的基础上满足人们更新、更高的需求。随着网络传输技 术的进步,网络带宽的增长速度远远超过了 通用处理器处理能力的增长速度, 因此对网络设备的处理速度和能力提出了更高的要求,如何提高网络设备的处 理速度和可编程能力成为网络发展的瓶颈, 但是, 这两个方面通常是一对矛盾。 在通用处理器对某些网络处理任务尤其是数据接收、交换转发等方面的处 理性能难以满足要求时,网络设备开始更多地采用特定用途集成电路 ( a p p l ic a t i o n s p e c if i c i n t e g r a t e d c ir c u it 简 称a s i c ) 技 术。 a s i c 把 指 令 和计 算 逻辑固化到硬件中,以此来获得很高的处理速度和良 好的性能, 然而, a s i c可 编 程能 力差, 缺 乏灵 活性, 固 化到 硬 件中的 指 令 和计 算 逻辑 很难 修改 和 升 级, 也很难增加新的功能和提高性能。此外,复杂的a s i c开发需要很长的时间, 通常为1 8 个月到2 年的时间, 不可能满足高速网络发展的要求。 除此之外, 当 前网络的应用范围在不断扩大 ( 从商用、 教育到家庭和个人) 、 新的业务不断涌 现 ( 电子商务、 多媒体应用和视频会议等等) , 网络的发展也不仅仅是带宽的不 断 提高, 而更多 地表 现为 对“ 智能 化处理” ( i n t e l l i g e n t p r o c e s s i n g ) 的要 求, 例 如服务质量( q o s ) 、 控制 安 全( s e c u r i t y ) 等服务都 需要分 组分 类( c l a s s i f i c a t i o n ) 和深层数据处理 ( 处理到第4 层或第7 层) 。 而这些服务功能既要求处理的高速 度,又要求实现的灵活性。因此, 结合了 通用c p u可编程性和a s i c高性能而 发展起来的新兴的集成电路设计技术网络处理器应运而生。网 络处理器是适应 现代高速网 络,针对各种流量处理优化而设计的一种专用处理器,采用了 多处 理器技术和并行技术,保持了基于g p p( 通用处理器)设计的灵活性,消除了 传统c p u的速率瓶颈问 题, 实现了数据包的线速处理。 网络处理器是专门设计用来处理网络数据包的处理器,它采用了类似 a s i p ( a p p l i c a t i o n s p e c i f i c p r o c e s s o r ) 和s o c ( s y s t e m o n c h i p ) 的 体系结 构, 为了 提 高运算性能,它还采用了 r i s c技术。网络处理器通常还都具有一个专用的 i s a ( i n s t r u c t io n s e t a r c h it e c t u r e ) 模 型, 该 指 令集 专 用于 对网 络 数 据 进 行 处 理。 因 此,无论从体系结构上还是从指令系统上看,网络处理器都是为网络数据的处 西北工业大学硕十论文第一章 绪论 理量身定做的。网络处理器另外一个特性就是数据处理过程中的并发性,从一 开始,网络处理器的设计者们就充分考虑到了处理网络数据包时的并发性。以 路由器为例,数据包在到达路由器时是乱序的,但其中的每一个包又都是完整 的。 它们有自己的包头和有效载荷, 路由器的工作是从中抽取出日的i p 地址并 为其选择适当的路由,因此各个数据包之间的处理可以并行地执行。 i d g关于 网 络处理器的定义是i l l : 具有某种可编程性,并用专门的硬连线 ( h a r d wir e ) 结构,用以完成通信任务的芯片称为网络处理器。它是一种面向高速网络应用 的高性能专用c p u , 其具有精简的指令系统, 具备灵活的可编程能力,快速高 效的处理能力。 随着网络系统的日趋成熟, n p 本质上是对一个日益复杂的多目 标系统 ( 典型的是网络处理高速度和服务多样化)进行优化的过程,这就必须 在多个目 标之间获得最佳的折衷, n p 就是在灵活性、 高性能以及价格之间找到 了平衡点。网络应用的飞速发展和对数据包线速智能化的处理需求导致了网络 处理器的出现。随着网络技术的发展,网络处理器技术必将成为推动下一代网 络向高性能和灵活性发展的核心技术。 网络处理器是为优化包处理而设计的,在面对标准的数据包时, 通过硬件 速度处理网络负载,这样可以更快速高效的进行数据处理;网络处理器强大的 可编程性减少了 很多硬件设计的工作,当出 现新的 功能和标准时, 通过编程可 不进行硬件平台的更换,即缩短了产品面世的时间,也延长了产品停留于市场 的时间。网络处理器通过把硬件和软件相互捆绑发挥作用, 将路由 器、 交换机 以及防火墙等复杂的网络设备合为一体来实现,网络处理器面对的不仅是网络 安全行业,而是范围更广的通信、信息等多个领域。因此,网 络处理器将成为 高端路由器、交换机和防火墙等通信产品的核心部件,尽早展开这方面的研究 与应用工作,研制拥有自 主产权和底层核心技术的 关键网 络通信设备,对保障 国家信息安全,提升国家产业竞争力都有重大的战略意义和现实意义。 1 .2国内外研究和应用状况 自 从网络处理器出现以来,围绕着网络处理器上的应用展开了相关研究, 国内外的许多公司和大学纷纷投入力量加入到这一新兴的 领域.i n t e l 公司专门 投资支持全球 1 0 0 所大学进行网络处理器及其相关应用研究,并每年召开一次 w o r k s h o p 2 】进 行 交 流 与 总 结 。 华 盛 顿 州 立 大 学2 0 0 2 年 专门 召 开 了 以 网 络 处 理 器 为主题的学术会议,并在网 络处理器硬件体系结构和性能评价分析等方面做了 深入探讨。总结目 前网 络处理器的相关研究主要集中 在以 下几个方面: 西北工业大学硕十论文第一章 绪论 理量身定做的。网络处理器另外一个特性就是数据处理过程中的并发性,从一 开始,网络处理器的设计者们就充分考虑到了处理网络数据包时的并发性。以 路由器为例,数据包在到达路由器时是乱序的,但其中的每一个包又都是完整 的。 它们有自己的包头和有效载荷, 路由器的工作是从中抽取出日的i p 地址并 为其选择适当的路由,因此各个数据包之间的处理可以并行地执行。 i d g关于 网 络处理器的定义是i l l : 具有某种可编程性,并用专门的硬连线 ( h a r d wir e ) 结构,用以完成通信任务的芯片称为网络处理器。它是一种面向高速网络应用 的高性能专用c p u , 其具有精简的指令系统, 具备灵活的可编程能力,快速高 效的处理能力。 随着网络系统的日趋成熟, n p 本质上是对一个日益复杂的多目 标系统 ( 典型的是网络处理高速度和服务多样化)进行优化的过程,这就必须 在多个目 标之间获得最佳的折衷, n p 就是在灵活性、 高性能以及价格之间找到 了平衡点。网络应用的飞速发展和对数据包线速智能化的处理需求导致了网络 处理器的出现。随着网络技术的发展,网络处理器技术必将成为推动下一代网 络向高性能和灵活性发展的核心技术。 网络处理器是为优化包处理而设计的,在面对标准的数据包时, 通过硬件 速度处理网络负载,这样可以更快速高效的进行数据处理;网络处理器强大的 可编程性减少了 很多硬件设计的工作,当出 现新的 功能和标准时, 通过编程可 不进行硬件平台的更换,即缩短了产品面世的时间,也延长了产品停留于市场 的时间。网络处理器通过把硬件和软件相互捆绑发挥作用, 将路由 器、 交换机 以及防火墙等复杂的网络设备合为一体来实现,网络处理器面对的不仅是网络 安全行业,而是范围更广的通信、信息等多个领域。因此,网 络处理器将成为 高端路由器、交换机和防火墙等通信产品的核心部件,尽早展开这方面的研究 与应用工作,研制拥有自 主产权和底层核心技术的 关键网 络通信设备,对保障 国家信息安全,提升国家产业竞争力都有重大的战略意义和现实意义。 1 .2国内外研究和应用状况 自 从网络处理器出现以来,围绕着网络处理器上的应用展开了相关研究, 国内外的许多公司和大学纷纷投入力量加入到这一新兴的 领域.i n t e l 公司专门 投资支持全球 1 0 0 所大学进行网络处理器及其相关应用研究,并每年召开一次 w o r k s h o p 2 】进 行 交 流 与 总 结 。 华 盛 顿 州 立 大 学2 0 0 2 年 专门 召 开 了 以 网 络 处 理 器 为主题的学术会议,并在网 络处理器硬件体系结构和性能评价分析等方面做了 深入探讨。总结目 前网 络处理器的相关研究主要集中 在以 下几个方面: 西北工业人学硕士论文 第一章 绪论 i . 网络处理器体系结构研究 侧重于网络处理器的硬件系统设计和性能的改善与提高,这方面的研究主 要由相关公司主导,主要研究内容包括: 1 )可扩展网络处理器结构的研究 随着下一代网络的复杂度和性能不断增长, 网络设备的处理能力和智 能化程度不断提高,网络处理器的发展也必须满足应用需求。由于网络处 理的速度发展远远高于芯片工作速率的提高, 因此必须设计可扩展的网络 处理器结构,包括芯片内部的可扩展结构和系统的可扩展结构。 2 )新型流水线结构 为了满足线速处理的要求, 无论采用什么结构,都离不开流水技术。 一种流水线结构是将任务分成若干阶段,每个阶段采用专门的处理单元; 另一种流水线结构是每个阶段都采用相同的处理单元, 执行不同的程序。 第一种结构的灵活性受到很大的限制,只局限于特定的应用,后种的结构 是未来发展的方向。 随着流水级数的加深, 子任务之间的相关成了急需解 决的问题。 3 )多任务调度 不管是基于流水的结构还是基于并行的结构,网络处理器都需要同时 在多个任务中 进行调度; 特别是服务质量的要求。网 络处理的一个突出 特 点就是需要多次访问存储器。随着处理要求的提高,访存时间成为严重的 瓶颈。多线程技术己经被证明是能够解决这种访问延迟的一种方案,多线 程分时使用硬件处理单元,可以有效的提高硬件效率。 2 , 网络处理器应用研究 其核心问 题就是要充分发挥网 络处理器灵活性和高性能的特点, 构建并实 现特定的网络服务和应用。主要有以 下几个研究方向: 1 )可编程q o s 路由 器体系结构研究 主要是关于路由器的体系结构和相关算法的研究,比较有名的有 p r i n c e t o n大学的可扩充路由 器 v e r a以 及 c o l u m b i a 大学的 g e n e s i s 。以 p r i n c e t o n 的v e r a为例, 它主要是基于d i ff s e r v 的 体系结构, 并兼顾可扩 展、兼容性、高效率三方面特点。具体实现上, 该项目 采用一 种基于i n t e l i x p 1 2 0 0 和p c的层次化体系结构。 此外, 该项目组还在体系结构的性能评 价方面 做了 一 定工作, 并 对三种不同 队 列 模型所引 入的q o s 调 度机制和同 步控制策略进行了一定的研究。 2 )主动网络和可编程网络的研究 西北工业大学硕士论文 第一章 绪论 研究包括执行代码的动态移植和发布、代码的安全执行、资源共享调 度等。 其中一些研究成果也被应用到网络处理器中, 比如c o l u m b i a 大学的 g e n e s i s 将可编程虚拟网络中的概念移植到网络处理器系统中。 3 )其他应用研究 随着网络处理器的应用研究广泛开展, 涌现出了一些成功的应用范例。 这些应用集中地体现在:基于网络处理器的智能路由交换设备;防火墙; v p n及入侵检测设备等智能安全设备的 应用;网 络系统的监测控制或模拟 设备。 3 .网络处理器支撑软件研究 主要集中在调度算法和开发环境的研究方面,包含以 下几个方面: 1 ) n p 操作系统核心研究 p r i n c e t o n 大学的s c o u t o s 是一个路由 器操作系统, 其体现了网络处理 特点:目 前一些商用网络处理器应用系统中 采用l i n u x和v x w o r k , 作为控 制平面的 r t o s , 在其基础上扩展数据平面的管理功能, 但由 于它们并不 是完全针对n p 的操作系统,因此难以 充分发挥n p 的潜能。 2 )分组调度与处理算法的 研究 分组处理一直是 研究的 热点, 包括对分 组的 过滤、 分类、 路由、 q o s 机制等。分组调度包括多 p e调度与链路调度两部分, 传统的分组处理系 统以存储一转发为主要处理功能,仅涉及链路调度器,因此目前国内外对 链路调度方面的研究己经比较成熟,而对多 p e调度算法的研究还很少, 目 前 的 多p e 调 度大 部分 采 用 简 单的f c f s . t o p t ( th r o u g h p u t - o p t i m a l ) 等 算法, 不能 做到资源的优化管理, 更不能对综合q o s 策略提供支持。 在国 外华盛顿大学、 普林斯顿大学从2 0 0 1 年开始这方面的研究. 在国内还没有 见到相关的文献。 3 )开发环境研究 目 前的n p开发环境一般只提供微代码汇编和c语言编译器支持。有 代表性的系统是i n t e l w o r k b e n c h 。 其提供了一个集成的开发环境,除代码 编译生成支持外, 还提供了 一个仿真器, 但控制平面和数据平面的 应用开 发是截然分开的,没有统一的开发手段。 由 此可见,网 络处理器的 研究目 前主要集中 在其特殊的 硬件体系结构和初 步应用技术的研究方面,但是, 对于网络处理器上运行的软件,尤其是系统软 件的研究较少。比 如数据平面软件的开发通常仅提供微代码汇编语言支持,这 限制了网络处理器技术的发展和应用。因为缺乏高效的软件支持,据统计,一 西北工业大学硕士论文第一章 绪论 款 网络处理器 发布后平均一年半后才 能开发出基于该处理器 的产品 ( c o m m v e r g e杂志) 。因 此, 我们认为软件问 题已 经成为网 络处理器应用的一 大障碍,必须研究面向网络处理器结构的高效系统软件平台。其中面向网络处 理器的操作系统核心及其开发环境的研究尤为必要。我们正是注意到这种技术 发展的不平衡,将面向n p 结构的操作系统软件平台作为重点研究内容。 1 . 3论文主要研究工作 论文的硬件平台是i n t e l 公司的网络处理器i x p 2 4 0 0 , 主要研究工作主要集 中在以下几个方面: 1 . 网络处理器的发展现状 在了 解多种不同体系结构网络处理器的基础上, 全面分析了网络处理器的 体系结构特征, 用到的 关键技术以 及所具备的功能 特性, 根据国内 外相关研究 资 料, 以i x p 2 4 0 0 网 络处理器为研究对象, 进行网 络处理器上运行软件的总体 方案设计。 2 . n p 的可编程性 网 络 处 理 器 编 程 主 要 使 用 微 代 码 和i x p we c 13 1 语 言( c 语言 的 子 集, 不 支 持 函数指针和递归)。这增加了程序员开发中的难度。为了优化编程,我们引入 编程模型的概念。编程模型是对系统的一种抽象, 通过这种抽象,只暴露系统 中对编程人员有效地编写和实现应用程序所必须的某些细节,而隐藏一些不必 要的体系结构复杂性。编程模型就像一个用户接口, 让用户工作在较高的层次 而不是内部的实现,用户须考虑的是怎样设计自己的应用而无须了 解系统怎样 去实现。在面向 i x p 2 4 0 0 的编程模型中,我们引入高级描述语言c l i c k 和微组 件技术。 3 .编程模型的实现技术 以i x p 2 4 0 0 网 络处理器为参考模型, 对其编程模型进行了 详细的设计和分 析, 设计出 编程模型的组成部分, 讨论了 其中用到的关键技术, 包括高级描述 语言技术以 及微组件技术。 详细介绍了 用到的高级描述语言, 编译器, 系统映 射,运行时系统以及系统模型。 4 .编程模型与用户接口一图形界面的设计 设计的过程中,定义了图形界面的组成菜单以及可以实现的相关功能,并 把要实现的功能都集成到图 形界面上。开发人员可以 用一种直观和步骤化的过 程来创建和调试系统逻辑。 开发中程序员只要集中 精力定 义网络设备的功能, 西北工业大学硕士论文第一章 绪论 款 网络处理器 发布后平均一年半后才 能开发出基于该处理器 的产品 ( c o m m v e r g e杂志) 。因 此, 我们认为软件问 题已 经成为网 络处理器应用的一 大障碍,必须研究面向网络处理器结构的高效系统软件平台。其中面向网络处 理器的操作系统核心及其开发环境的研究尤为必要。我们正是注意到这种技术 发展的不平衡,将面向n p 结构的操作系统软件平台作为重点研究内容。 1 . 3论文主要研究工作 论文的硬件平台是i n t e l 公司的网络处理器i x p 2 4 0 0 , 主要研究工作主要集 中在以下几个方面: 1 . 网络处理器的发展现状 在了 解多种不同体系结构网络处理器的基础上, 全面分析了网络处理器的 体系结构特征, 用到的 关键技术以 及所具备的功能 特性, 根据国内 外相关研究 资 料, 以i x p 2 4 0 0 网 络处理器为研究对象, 进行网 络处理器上运行软件的总体 方案设计。 2 . n p 的可编程性 网 络 处 理 器 编 程 主 要 使 用 微 代 码 和i x p we c 13 1 语 言( c 语言 的 子 集, 不 支 持 函数指针和递归)。这增加了程序员开发中的难度。为了优化编程,我们引入 编程模型的概念。编程模型是对系统的一种抽象, 通过这种抽象,只暴露系统 中对编程人员有效地编写和实现应用程序所必须的某些细节,而隐藏一些不必 要的体系结构复杂性。编程模型就像一个用户接口, 让用户工作在较高的层次 而不是内部的实现,用户须考虑的是怎样设计自己的应用而无须了 解系统怎样 去实现。在面向 i x p 2 4 0 0 的编程模型中,我们引入高级描述语言c l i c k 和微组 件技术。 3 .编程模型的实现技术 以i x p 2 4 0 0 网 络处理器为参考模型, 对其编程模型进行了 详细的设计和分 析, 设计出 编程模型的组成部分, 讨论了 其中用到的关键技术, 包括高级描述 语言技术以 及微组件技术。 详细介绍了 用到的高级描述语言, 编译器, 系统映 射,运行时系统以及系统模型。 4 .编程模型与用户接口一图形界面的设计 设计的过程中,定义了图形界面的组成菜单以及可以实现的相关功能,并 把要实现的功能都集成到图 形界面上。开发人员可以 用一种直观和步骤化的过 程来创建和调试系统逻辑。 开发中程序员只要集中 精力定 义网络设备的功能, 西北工业大学硕士论文 第一章 绪论 就可以很方便的实现网络应用, 提供极大的应用灵活性。 1 .4论文的安排 本论文是按照作者对网络处理器的研究情况进行安排的: 论文的第一章为绪论。介绍了本课题研究的背景、意义、研究现状、作者 的研究内容以及论文的结构安排口 第二章讨论网络处理器的发展现状,其中包括体系结构、关键技术、功能 特性等,介绍了几种典型的网络处理器产品的体系结构,重点介绍了我们开发 中要用到的i n t e l 公司网络处理器产品i x p 2 4 0 0 . 第三章讨论网络处理器编程模型中用到的关键技术。首先给出开发编程模 型所需要考虑的因素,然后重点介绍了其中用到的高级语言描述技术和微组件 技术。 详细介绍了一种模块化、 灵活、 可配置的高级描述语言c l i c k , 介绍其应 用和配置方式。 第四章是编程模型的设计和实现部分。设计出编程模型的结构,给出每一 个组成部分的功能,其中包括高层的描述语言,编译器,系统映射,运行时系 统和系统模型。介绍了面向i x p 2 4 0 0 编程模型中需要考虑的因素,并 介绍了 其 作为路由器的一种应用。 第五章是原型系统的介绍。形象地介绍了我们完成的图形界面的组成以及 简单应用。 第六章是结束语。是论文的总结和对本课题未来发展的展望。 结束语之后是作者发表的论文情况以及参与的科研项目 。 最后是致谢。 西北工业大学硕士论文 第一章 绪论 就可以很方便的实现网络应用, 提供极大的应用灵活性。 1 .4论文的安排 本论文是按照作者对网络处理器的研究情况进行安排的: 论文的第一章为绪论。介绍了本课题研究的背景、意义、研究现状、作者 的研究内容以及论文的结构安排口 第二章讨论网络处理器的发展现状,其中包括体系结构、关键技术、功能 特性等,介绍了几种典型的网络处理器产品的体系结构,重点介绍了我们开发 中要用到的i n t e l 公司网络处理器产品i x p 2 4 0 0 . 第三章讨论网络处理器编程模型中用到的关键技术。首先给出开发编程模 型所需要考虑的因素,然后重点介绍了其中用到的高级语言描述技术和微组件 技术。 详细介绍了一种模块化、 灵活、 可配置的高级描述语言c l i c k , 介绍其应 用和配置方式。 第四章是编程模型的设计和实现部分。设计出编程模型的结构,给出每一 个组成部分的功能,其中包括高层的描述语言,编译器,系统映射,运行时系 统和系统模型。介绍了面向i x p 2 4 0 0 编程模型中需要考虑的因素,并 介绍了 其 作为路由器的一种应用。 第五章是原型系统的介绍。形象地介绍了我们完成的图形界面的组成以及 简单应用。 第六章是结束语。是论文的总结和对本课题未来发展的展望。 结束语之后是作者发表的论文情况以及参与的科研项目 。 最后是致谢。 西北工业大学硕士论文第_章 网络处理器的发展现状 第二章 网络处理器的发展现状 2 . 1网络处理器的体系结构分析 网络处理器是一种专门用于网络包处理的c p u ,它的设计充分结合了网络 环境中数据流的特点, 表现出与通用c p u不同的设计思想。 网络处理器由两类 硬件功能单元组成, 即网 络处理器单元( n e t w o r k p r o c e s s o r u n i t , n p u ) 和专用的 智能协处理器单元。 n p u是网络处理器核心,它提供高速、 大容量的数据包智 能处理功能,其中包括数据解析、分类和转发等,因此网络处理器单元经常被 称为数据包处理引 擎( p a c k e t p r o c e s s e n g i n e , p p e ) , 而不同的协处理器则实现帧 分段、重组、分组分类查找、队列缓冲管理、顺序管理、 存储器控制和多播支 持等功能。 网 络处理器主要提供两个接口, 一个连接网 络物理端口, 一个连接交换芯 片。当前的发展趋势是将n p u和交换芯片以s o c ( s y s t e m o n c h ip ) 的 形式集成 到同一块电路板上,这样设计的好处是减少电路板上连线所带来的传输延迟, 加快数据处理。集成n p的基本架构可以用图2 - 1 表示。 p a c k e t b u f f e r me m o r y ne t wo r k p r o c e s s o r un i t control switch fabric da t a p h y s i c a l p o rt 图2 - 1网 络处理器基本架构 网络处理器是体系结构设计日 趋成熟的结果。网络处理器的体系结构如图 2 - 2 所示,其主要部分说明如下: 1 . 片内处理器 西北工业大学硕士论文第_章 网络处理器的发展现状 第二章 网络处理器的发展现状 2 . 1网络处理器的体系结构分析 网络处理器是一种专门用于网络包处理的c p u ,它的设计充分结合了网络 环境中数据流的特点, 表现出与通用c p u不同的设计思想。 网络处理器由两类 硬件功能单元组成, 即网 络处理器单元( n e t w o r k p r o c e s s o r u n i t , n p u ) 和专用的 智能协处理器单元。 n p u是网络处理器核心,它提供高速、 大容量的数据包智 能处理功能,其中包括数据解析、分类和转发等,因此网络处理器单元经常被 称为数据包处理引 擎( p a c k e t p r o c e s s e n g i n e , p p e ) , 而不同的协处理器则实现帧 分段、重组、分组分类查找、队列缓冲管理、顺序管理、 存储器控制和多播支 持等功能。 网 络处理器主要提供两个接口, 一个连接网 络物理端口, 一个连接交换芯 片。当前的发展趋势是将n p u和交换芯片以s o c ( s y s t e m o n c h ip ) 的 形式集成 到同一块电路板上,这样设计的好处是减少电路板上连线所带来的传输延迟, 加快数据处理。集成n p的基本架构可以用图2 - 1 表示。 p a c k e t b u f f e r me m o r y ne t wo r k p r o c e s s o r un i t control switch fabric da t a p h y s i c a l p o rt 图2 - 1网 络处理器基本架构 网络处理器是体系结构设计日 趋成熟的结果。网络处理器的体系结构如图 2 - 2 所示,其主要部分说明如下: 1 . 片内处理器 西北工业大学硕士论文第二章 网络处理器的发展现状 网络处理器内部包含多个片内处理器,构成多处理器单元。片内处理器按 处理任务分工可分为核心和处理引擎2种类型。前者用于系统维护和管理以 及 复杂的数据处理,后者用于快速数据处理,提供分类、调度等多种服务功能。 另外,处理引擎可以包含多个硬件线程,每个线程都有一套专门的硬件来存放 程序运行的上下文,可获得线程切换的零开销。 2 .高速u o接口单元 网络处理器有丰富的i / o接口单元,包括物理链路接口、交换接口、存储 器接口以及与其他外部处理单元的接口等。 3 .内 部高 速总线 以 上多组处理器和i / o接口 单元通过内 部高速总线 ( 一般为多总线结构) 连接在一 起, 组成优化的数据通路结构, 从而提供强大的硬件并行处理能力。 4 . 存储器 存储器一般包含多种不同性能的 存储结构,以 适应不同的应用目 标。例如 s r a m用来存放路由表、 分组数据。 队列结构等各种查询表格:s d r a m作为缓冲区存放 传输 媒质 接 曰 单元 黔 峨 图2 - 2网络处理器体系结构 5 .专用指令集 片内 转发引擎一般具有专用的精简指令集,这些指令都经过针对网络数据 处理的 优化, 例如数据读写、 状态判断、 堆栈操作、哈 希查找等。 6 专用组件( 协处理器 ) 要求高速处理 ( 线速)的通用功能模块可以由硬件来实现, 作为专用组件, 西北工业大学硕士论文第几章 网络处理器的发展现状 例如路由查找和数据加密等,以提高系统性能。 2 . 2网络处理器的功能与特性 网络处理器主要完成和网络数据传输相关的控制和数据转发前的处理等功 能, 具体 来说主 要 包括以 下 几 种 任务 4 1第 一, 识 别和 提 取出 不同的 包 头 和 子 域,针对不同的应用,可能需要处理从第二层到第七层的数据包:第二,快速 查找任务,查找的任务可能涉及第二层交换、第三层路由、第四层会话级交换 甚至五到七层以上的基于内容的交换和策略管理:第三,包的解析和更改,根 据 包的不同内 容和 不同 应 用, 更改 包的 某 些 特 殊的 域, 比 如 虚 拟 局域网 ( v l a n ) 的分配需要在 特定的 数据域加入标签、网 络地址翻译、 q o s 优先 级设置等; 第 四,流量控制和管理,依据管理的要求对不同类型的数据流进行统计收集。 较早的很多n p 设计是基于r i s c , 并考虑到很多底层的协议是面向比 特流 的应用,这样的网络处理器更多地属于通信处理器范畴

温馨提示

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

评论

0/150

提交评论