(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf_第1页
(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf_第2页
(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf_第3页
(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf_第4页
(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机科学与技术专业论文)面向toe的快速报文传输研究与实现.pdf.pdf 免费下载

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

文档简介

国防科学技术大学研究生院j r 学硕士学位论文 摘要 随着网络技术的快速发展,网络带宽每年以接近3 倍的速度迅猛发展,目前 已经开始考虑将1 0 g 网络部署到部分端系统。t c p i p 协议族作为i n t e m e t 网络协 议的实际标准,它的实现大都通过软件方式在主机的处理器上进行。通常情况下, 1 位网络数据需要1 h z 的c p u 处理能力,因此,在1 0 g 等高速网络的端系统中, c p u 的处理能力便成为主要的瓶颈。 为了在高速网络环境中减少协议处理给系统带来的开销,t c p 协议卸载引擎 t o e ( t c po f f l o a de n g i n e ) 技术应运而生,它是一种把协议处理卸载到硬件处理上的 机制。本文在概述t o e 技术的基础上,分析了协议卸载的两种方式,也就是全卸 载和部分卸载;比较了三种t o e 硬件实现方式的利弊:网络处理器加固件方式, 专用a s i c 芯片方式,可编程器件方式。在分析比较的基础上,我们提出了一种实 现机制,并利用f p g a 实现该机制。 在改变实现方式,提供快速报文传输机制同时,需要保持与现有应用兼容的 程序接口。为此本文分析了传统的l i n u x 系统报文的软件处理过程,主要是t c p 连接的建立与关闭,以及报文从网卡缓冲到内核以及内核到应用的两次报文拷贝 过程。在此基础上对t o e 的软件体系结构进行了分析,对比总结了封装和嵌入的 软件结构实现的特点和优缺点。详细讨论了协议卸载情况下的报文传输机制以及 硬件连接的卸载和释放过程。卸载后的报文数据需要在应用进程空间与网卡缓冲 之间进行一次传输。 目前的t o e 软件实现需进行一次数据拷贝,影响端系统的性能。为此论文对 数据拷贝对网络性能的影响作了分析,得出在影响t c p 协议处理的各种因素中, 协议数据的拷贝对系统性能的影响最大。介绍了各种零拷贝技术,并分析了它们 的优缺点。r d m a 技术可以在协议卸载的基础上实现数据零拷贝技术,但跟现有 应用不兼容且跟普通网卡不能通信。文中提出了端系统协助的数据零拷贝方法。 端系统完成用户空间的解析和网卡的管理,实现网卡和用户进程直接进行d m a 数 据传输。该方法无需改变应用接口且能与普通网卡通信。 文章最后论述了t o e 软件快速报文传输以及零拷贝技术的实现方法。采用嵌 入的t o e 软件结构,在原来的协议层进行修改完成硬件连接卸载和释放的管理以 及卸载数据的收发。软硬件的事件交互包括如何提供d m a 缓冲区完成软硬件的数 据传输,软硬件事件的设置和管理,硬件连接的卸载和释放。介绍了软件对各种 报文的处理流程,卸载的报文传输只需一次数据拷贝。端系统协助的零拷贝传输 技术实现包括页面映射数据定位,缺页处理页面置入,页面属性设定完成页面锁 定。 第i 页 国防科学技术大学研究生院工学硕士学位论文 论文论述的方法与机制已经在i o g b p s 高性能网卡中实现,并在高性能计算机 系统中取得验证。 关键词:t o e 快速传输机制d m a 零拷贝内存解析 第i i 页 国防科学技术大学研究生院工学硕士学位论文 a b s t r a c t w i t l lt h ed e v o l v e m e n to f t e c h n o l o g y , t h eb a n d w i d t ho f n e t w o r kg r o w s n e a r l yt h r e e t i m e se v e r yy e a r a n dn o wt h el e gn e t w o r ki sb e i n gd e p l o y e d a st h ea c t u a ls t a n do f t h e i n t e r n e tp r o t o c o ls t a c k 。t h et c p ,口p r o t o c o lu s u a l l yw o r k s 勰s o f t w a r ea tt h eh o s t s y s t e m n o r m a l l yo n eb i td a t am u s tc o s tl h zc p uc a p a c i t yt od e a lw i t hi t ,s oi nah i 曲 s p e e dn e t w o r ke n v i r o n m e n ts u c ha s1 0 gn e t w o r k ,t h ec p u sc a p a c i t yb e c o m e st h e b o t t l e - n e c ko f t h es y s t e m t or e d u c et h ec o s tt ot h es y s t e mc a u s e db yp r o t o c o ld e a l i n gi nah i 曲s p e e d n e t w o r ke n v i r o n m e n t ,t h et e c h n o l o g yt o e ( t c p i po f f l o a de n g i n e ) i sp r o p o s e da n d c o m i n g t ou s e i nt h i sp a p e r , t h et o et e c h n o l o g yi si n t r o d u c e df i r s t w h i c ho f f l o a d st h e p r o t o c o lf r o mt h eh o s ts y s t e mt o t h eh a r d w a r e c o m p l e t eo f f l o a da n di n c o m p l e t e o f f l o a da r et h et w ow a y so fp r o t o c o lo f f i o a d i n g at o ec a nb ei m p l e m e n t e dw i t ha n e t w o r kp r o c e s s o ra n df i r m w a r e , s p e c i a l i z e da s i c s ,o rac o m b i n a t i o no fb e t h a n dw e u s et h et h i r dm e t h o dt oi m p l e m e n tt h ei n c o m p l e t ep r o t o c o l0 f n o a d t o es o f t w a r em u s tb ec o m p a t i b l ew i t ht h ee x i s t i n ga p p l i c a t i o n s ,a n di ts h o u l d s u p p l yh i g hs p e e dd a t at r a n s m i s s i o nm e c h a n i s mf o rt h en e wa p p l i c a t i o n t od e a lw i t hi t , t h ec o u i 苫eo ft h em e s s a g eb e i n gd i s p o s e di nt h el i n u xs y s t e mi sa n a l y z e d i t sm a i n l y a b o u th o wi st h et c pl i n ks e tu pa n dc l o s c dd o w n 。a n dt h ec o i l r s ea b o u tt h ed a t ab e i n g t r a n s m i t t e dw i t ho n ec o p yf r o mt h en i cb u f f e rt ot h es y s t e mk e r n e la n do n e c o p yf r o m t h ek e r n e lt ot h ea p p l i c a t i o n b a s e do nt h i s ,t h et o es o f t w a r ea r c h i t e c t u r ei sa n a l y z e d , w h i c hi sd i v i d e di n t ot w ok i n d s 。o n ei se n c a p s u l a t e da r c h i t e c t u r ea n dt h eo t h e ri si n b u i i t a r c h i t e c t u r e t l l ed a t at r a n s m i s s i o nm e c h a n i s mw i t ht h ep r o t o c o lo f n o a d 酣i sd i s c u s s e d t h ec o u r s ea b o u th o wi st h el i n kd o w n l o a d e dt oa n dr e l e a s e df r o mt h eh a r d w a r ei s a n a l y z e da l s o r i g h in o w ,t h et o es o f t w a r em u s td ot h et r a n s m i s s i o nw i t ho n ec o p y ,w h i c h a f f e c t st h es y s t e mp e r f o r m a n c e i nt h i sp a p e r , t h ei n f l u e n c eo f d a t ac o p y i n gt os y s t e mi s a n a l y z e d ,a n di ts h o w st h a tt h ed a t ac o p y i n gh a sm o r ei n f l u e n c et ot h es y s t e m p e r f o r m a n c et h a no t h e rf a c t s t h e n ,v a r i o u sz e r o c o p yt e c h n o l o g i e sa r ei n t r o d u c e dw i t h t h e i ra d v a n t a g e sa n dd i s a d v a n t a g e s i d m ai saz e r o - c o p yt e c h n o l o g yb a s eo np r o t o c o l o f f l o a de n g i n e e r , b u ti ti s n tc o m p a t i b l ew i t ht h ee x i s t i n g a p p l i c a t i o n sa n dc a n t c o m m u n i c a t ew i t ht h en o r m a ln i c s oat o e - b a s e da p p r o a c h 南rz e r o - c o p yd a t a t r a n s m i s s i o ni sp r o p o s e di n t h i sp a p e r , w h i c ht r a n s m i t sd a t ab e t w e e nn i ca n dt h eu s e r s p a c ew i t ht h ea s s i s t a n c eo f t h et e r m i n a l i td o e s n tc h a n g et h ea p p l i c a t i o ni n t e r f a c ea n d c a l lc o m m u n i c a t ew i t ht h en o r m a ln i c a tl 豁t i ti n t r o d u c e s t h em a i ni m p l e m e n t a t i o no ft h et o es o f t w a r ea n dt h e z e r o - c o p yt e c h n o l o g y n l ei n b u i l ts o f t w a r ea r c h i t e c t u r ej u s tm o d i f i e st h eo r i g i n a l i n t e m e tp m t o c o lt oa d dt h ef u n c t i o no fl i n km a n a g e m e n ta n dd a t at r a n s m i s s i o nw i t ht h e 第i d 页 国防科学技术大学研究生院工学硕士学位论文 p r o t o c o lo m o a d e d t h ei n t e r a c t i r ee v e n t sb e t w e e nt h es o f t w a r ea n dt h eh a r d w a r e i n c l u d et h ed a t at r a n s m i s s i o nu s i n gt h ed m ab u f f e r , t h es e t u pa n dt h em a n a g e m e n to f t h ed e s c r i p t o re v e n t s ,a n dt h em a n a g e m e n to fh a r d w a r el i n k t h r e ed i f f e r e n tp a t h st o d e a lw i t ht h ev a r i o u sm e s s a g e sa l ei n t r o d u e e d a n dt h ed a t at r a n s m i s s i o nw i t hp r o t o c 0 1 o f f l o a d 甜o n l yn e e d so n ed a t ac o p y t h ei m p l e m c n t a t i o no ft h et e r m i n a la s s i s t e d z e r o - c o p yt e c h n o l o g yi n c l u d e st h ep a g em a p p i n gt ol o c a t et h ed a t a , t h em i s s i n gd a t a p r o c e s s i n gt ol o a dt h ep a g e s ,a n dt h es e t t i n go f t h ep a g ea t t r i b u t e s k e y w o r d s :t o e f a s t - d a t a - - t r a n s m i s s i o nd m az e r o c o p y m e m o r y - r e s o l u t i o n 第i v 页 国防科学技术大学研究生院工学硕+ 学位论文 表目录 表2 1t c p 卸载方式6 表2 2t o e 网卡部分性能指标 表3 1 数据复制路径1 8 表3 2 协议卸载的报文软件路径2 3 表5 1 有关接收的描述符定义4 5 表5 2 有关发送的描述符定义。 表5 3p t s _ _ c t a b l e 结构4 8 表5 4 连接控制块h w t c b _ t 结构 表5 5 页表的表项5 6 表5 6p a g e 标志位5 8 第1 i i 页 国防科学技术大学研究生院工学硕士学位论文 图目录 图1 1c p u 处理能力与需要处理的t c p 数据量比较 图1 2 a d a p t e cn a c 与i n t e l 传统n i c 性能比较 图2 1 处理方式对比图5 图2 2 硬件系统功能简单示意图。9 图2 3t o e 结构图1 0 图3 1t c p 连接状态图11 图3 2 被动连接过程示意图1 2 图3 3 驱动发送数据示意图1 4 图3 4 驱动接收数据示意图 图3 5 数据发送软件视图 1 4 1 5 图3 6 数据接收软件视图1 7 图3 7 普通网络软件结构1 9 图3 8 封装的t o e 软件结构。1 9 图3 9s o c k e t 数据结构封装视图2 1 图3 1 0 嵌入的t o e 软件结构2 2 图3 11 内核网卡事件交互示意图2 4 图3 1 2 基于描述符的基本工作方式2 5 图4 1t c p 协议处理占用c p u 关系图2 7 图4 2l i n u x 的三级页表2 9 图4 3 内核内存的组织结构3 l 图4 4 进程地址空间管理模型3 3 图4 5r d m a 协议映射图3 5 图4 6 零拷贝示意图3 7 图4 7 数据收发系统结构图3 8 图4 8 内核数据拷贝旁路算法示意图4 0 图4 9 内存解析流程图4 l 图5 1 软件实施体系结构4 3 图5 2 报文缓冲组织4 4 图5 3 发送描述符初始化结果4 7 图5 4 系统管理硬件连接示意图5 0 图5 5 报文发送流程图 图5 6 报文接收流程图 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国畴科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:亘自! q ! 鲍迭速担塞篮捡叠壅生塞理 学位论文作者签名: 乒牛 日期:沙一f 年一f 月一牛日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索, 可以采用影印,缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本投权书) 学位论文题目:亘自! 鲤鱼迭逮筮塞笾捡珏蕉盏塞理 学位论文作者签名: 作者指导教师签名: 日期:加。f 年。月口4 日 吼勰年月产 国防科学技术人学研究生院1 二学硕士学位论文 第一章绪论 随着网络技术,尤其是光纤技术的快速发展,光纤通信网络正迅速成为主要 的网络传输手段,使网络带宽不断提升。网络应用的性能需求表现为高吞吐量, 低延迟、高带宽、低主机开销和低存储开销等特点【1 】。通常情况下l b p s 的网络信 息大约需要1 h z 的c p u 性能【2 】,在万兆网络的端系统中,c p u 的处理能力便成 为主要的瓶颈。为此人们提出了t c p i p 协议卸载引擎t o e 技术,把原来由主机 系统实现的网络协议栈交由专用网卡进行处理。当网络吞吐量非常大时,报文复 制将对协议处理性能产生很大影响,因此,如何减少报文复制也成为人们研究的 热点。 1 1 课题背景 互联网技术是上个世纪以来发展最为迅猛的技术,短短二十几年内,因特网 迅速发展到如今的巨大规模,2 1 世纪也将是互联网为基础的信息时代。t c p i p 协 议族作为i n t e r n e t 网络协议的实际标准,已经被广泛应用。在目前的以太网环境中, 协议的处理工作大都在主机处理器上进行,包括对p 数据包的校验和处理、对t c p 数据流的可靠性和一致性处理等。大量协议数据还需要通过i o 中断进行操作,在 网络接口缓冲区和应用程序之间不断的进行数据交换,这些额外负担极大地降低 了主机处理器的处理效率,增加了应用计算的平均等待时间。 随着网络技术的快速发展,网络带宽以每年3 倍的速度发展,目前1 0 g 网络 已经开始部署到桌面。2 0 0 0 年7 月发布的i n f i n i b a n d 技术定义了一套完整的从物理 层到应用a p i 层的协议栈,用于服务器内部、服务器之间、机群系统和存储系统 之间的数据传输,支持高速交换,高可靠性,可用性,可维护性。2 0 0 3 年2 月, i e t f 通过了i s c s i 标准,它是一个在以太网上传输数据块的标准,允许用户利用 t c p i p 网络构建s a n ( s t o r a g ea r e an e t w o r k ) 。在i n f i n i b a n d 和i s c s i 技术的推 动下,基于口的网络存储得到飞速发展,这进一步加大了对网络接口数据流量的 要求。 按照c p u 对网络数据流的处理比率分析,c p u 每处理1 比特网络数据,约消 耗1 h z 的处理性能,也就是说需要2 0 g h z 的c p u 处理能力满负荷运行才能满足 1 0 g b p s 以太网数据流的处理要求。图1 1 中我们可以看到今天服务器的c p u 能力 只够处理t c p 进程,而无暇顾及应用程序处理的情况。因此在网络带宽飞速发展 的情况下,网络链路速度将会高于c p u 对t c p i p 协议栈的处理速度,这将导致 系统的输入输出部分成为性能瓶颈。 第1 页 国防科学技术大学研究生院工学硕士学位论文 图1 1c p u 处理能力与需要处理的t c p 数据量比较 为此人们提出了各种t c p 加速技术,主要包括校验和计算优化、协议处理加 速、减少复制、减少中断、c a c h e 优化、硬件流水与软件多线程技术实现延时隐藏 等,另外处理结构优化技术主要包括t c p i p 卸载引擎( t o e ) 技术、r d m a 协议等。 其中t c p 协议卸载引擎t o e 是发展较成熟、前景较广阔的一种技术,它将t c p i p 协议族的部分或全部功能转移到网卡上实现,与原有的操作系统无缝对接,同时 与原有的网络应用程序完全兼容。它从减少系统数据复制、中断处理、协议开销 三方面尽可能将主机处理器处理t c p i p 协议族的负载降到最低,一般称使用这种 技术的网卡为t o e 网卡( t n i c ) 。目前一些t o e 产品己陆续投放市场,表现良好, 逐步得到广泛应用。a d a p t e e 公司的n a c7 7 11 系列产品支持1 0 2 4 条硬件卸载的 t c p 连接,吞吐量为1 g b s 2 ,它与传统n i c 的性能比较如图1 2 ,这里采用一种 标准的评测安装n a c 的效能是测量p e i ( 性能效能指数) ,p e i 测量吞吐量除以 c p u 的利用率,或者说每百分之一的c p u 利用率处理的数据量。p e i 越高,c p u 每个时钟周期传输的数据越多。由图中可以清楚地看出t o e 网卡给系统性能带来 的提高。 图1 2a d a p t e cn a c 与i n t e l 传统n i c 性能比较 传输过程中的数据复制对主机系统的性能具有重要的影响 3 】。目前已进入应 第2 页 国防科学技术大学研究生院工学硕士学位论文 用的t o e 网卡需进行一次系统缓冲到用户空间的数据拷贝,没有实现零拷贝传输。 r d m a ( r e m o t ed i r e c tm e m o r ya c c e s s ) 技术是一种把协议卸载作为资源的零拷贝传输 技术,它在可靠的传输层协议上增加专用协议,报文中携带数据的目的地存储位 置信息。接收端n i c 根据报文的自带信息智能的将数据放置到用户空间,避免数 据多次复制。由于增加协议层次,该技术需要全新的编程界面,与现有应用不兼 容。另外它只能与对等网卡通信,且由于它直接将数据置于另一系统的内存空间 可能会造成安全风险。这些不利因素导致该技术未能得到广泛应用。 1 2 课题研究的内容 由于实现和应用的需要,一般t o e 实现采用部分卸载技术。它由硬件系统和 软件系统两部分组成,硬件系统完成t o e 加速的主要内容,包括m a c 层处理、 口报文解析和处理以及t c p 协议e s t a b l i s h e d 状态下的所有处理过程。软件系统负 责连接的建立与撤销,完成卸载数据在用户空间和硬件之间的传输,并为上层应 用提供透明的t o e 应用支持。 针对t o e 技术的软件实现,课题详细分析了传统的l i n u x 系统报文的软件处 理过程,主要是t c p 连接的建立与关闭,以及报文从网卡缓冲到内核以及内核到 应用的两次报文拷贝过程。在此基础上对t o e 的软件体系结构进行了分析,对比 总结了封装和嵌入的软件结构实现的特点和优缺点。研究了提供协议卸载处理功 能的软件报文通道,详细分析了协议卸载情况下的报文d m a 传输机制,以及硬件 连接的卸载和释放过程。 且前的t o e 软件实现需进行一次数据拷贝,影响端系统的性能。为此本课题 对数据拷贝对网络性能的影响作了分析,研究了l i n u x 系统内存管理技术和各种 零拷贝技术,并分析了它们实现的特点和优缺点。在此基础上课题提出了端系统 协助的数据零拷贝方法,端系统完成用户空间的解析和网卡的管理,实现网卡和 用户进程直接进行d m a 数据传输。该方法的目标是克服r d m a 技术的缺点,无 需改变应用接口且能与普通网卡通信。 1 3 论文的组织 根据上述研究内容,论文总共分为六章,各章内容如下: 第一章绪论,介绍了t o e 技术产生的背景以及目前零拷贝技术存在的问题。 第二章对t o e 协议卸载技术进行了介绍,包括t o e 技术的原理,以及它的实 现方式,着重介绍了协议卸载的硬件实现。 第三章分析了t o e 软件系统的快速报文传输机制,比较了封装的和嵌入的软 第3 页 国防科学技术大学研究生院工学硕士学位论文 件体系结构的区别和各自优缺点,对带t o e 技术的软件报文路径和卸载的报文传 输进行了分析,并介绍了如何由软件进行协议状态管理。 第四章分析了协议的数据拷贝给系统性能带来的影响,以及当前各种减少协 议数据拷贝技术的实现方式和优缺点,在此基础上提出一种协议卸载的基于端系 统协助的数据零拷贝传输方法,并描述了实现该方法的主要算法。 第五章在上面几章的基础上,介绍我们自己的t o e 软件系统的设计方案,以 及它的主要实现机制,并简述了零拷贝算法的实现。 第六章进行总结和展望。 1 4 课题的研究成果 在本课题的研究中主要取得了如下成果: 1 详细分析了a d a p t e c 公司n a c7 7 1 1 系列产品和c h e l 公司t o e 产品的软件 实现,明确了t o e 软件的体系结构,数据传输以及状态控制的实现。 2 根据软件进行协议状态处理的设计方案,对网络协议处理t c p 连接状态的 部分进行了修改,增加对硬件连接卸载与释放的管理功能。在原来的协议中增加 卸载报文的直通隧道,完成数据在用户空间与硬件缓冲之间的直接传输。 3 参与完成了t o e 网卡驱动程序的设计实现,在p c i e 接口上实现卸载与非 卸载报文的同平台处理,普通报文处理速度达到千兆每秒,卸载报文则进行直接 传输。驱动完成硬件的初始化及管理,并完成硬件连接的设置。 4 仔细研究了零拷贝技术,并对利用协议卸载的r d m a 技术进行了深入分 析,最终提出了一种新的基于协议卸载的零拷贝方法,它克服了r d m a 技术需改 变应用程序接口且只能跟对等网卡进行通信的缺点。 5 完成一种t c p 卸载的数据零拷贝传输方法论文的撰写。 第4 页 国防科学技术大学研究生院工学硕士学位论文 第二章t c p i p 协议卸载技术概述 2 1 t o e 技术原理 协议的c p u 开销主要包括:存储器管理、模式迁移、上下文切换、同步管理、 t c p i p 协议栈以及网络设备驱动。为了能减少系统开销,在报文处理上可以采取 以下优化措施,把协议处理进行卸载,由网络接口实现大部分协议功能;使用大 报文结构;尽量减少中断数目,减少中断开销对主机处理带宽的需求。在数据处 理上,需要避免复制开销并进行校验和卸载,由硬件计算校验和。t o e 技术正是 从减少系统数据复制、中断处理、协议开销三方面实现系统减负。 t o e 技术的基本思想是分担c p u 对t c p i p 协议的处理,将协议处理过程放 到高速网卡或者高速线卡等硬件上完成,其中包括t c p 、p 、u d p 、i c m p 等子协 议的处理。传统网卡在集成t o e 功能后,采用会话层接口在传输层与主机之间进 行交互的方式,帮助实现应用中的大文件( 超过1 0 k b ) 处理。传统t c p i p 处理 与t o e 处理方式对比如图2 1 所示。 图2 1 处理方式对比图 对传统的网卡而言,处理一个6 4 k b 的文件,需要与主机c p u 进行约6 0 次交 互,大约4 0 次数据包交换,2 0 次应答。如果网卡配置了t o e 功能,数据包和应 答信号处理在网卡中实现,数据与应用缓冲区间的交换由基于硬件的d m a 处理, 这就为应用的处理腾出了更多的c p u 资源。同时也降低了系统i o 总线和内存总 线的负荷,降低了应用系统的处理延时。另外,对错误报文、广播报文和报文重 第5 页 国防科学技术大学研究生院二r :学硕士学位论文 组的处理都在t o e 硬件上完成,减少了中断次数,在减少c p u 处理负担的同时, 也减少了系统因中断切换所带来的开销。 2 2 t o e 实现方式 t o e 的实现主要考虑协议如何卸载到硬件以及硬件如何实现复杂的协议处 理,下面对这两方面分别加以说明。 2 _ 2 1 协议卸载方式 协议的卸载方式决定t o e 网络接口卡软硬件功能的界面划分,是t o e 网卡设 计的关键问题。不同卸载方式对t o e 网卡的体系结构和性能会产生很大影响,报 文的处理过程也存在极大差别,这将影响系统的实现难度,因此,必须选择合适 的协议卸载方式。 t c p 协议处理过程大概可以分为以下几个部分:t c p 建立链接过程、数据收 发过程、链接维护过程、错误管理与拥塞控制过程。其中数据收发过程、链接维 护过程和错误管理与拥塞控制过程是t c p 协议处理的主要部分,也是性能瓶颈所 在,通常需要采用卸载技术,由硬件完成相应功能,以提高其性能。t c p 建立链 接过程只占t c p 协议处理的极少部分,但它涉及大量复杂的连接状态变化,因此 需要根据实现难度和性能需求综合考虑是否采用硬件实现连接管理部分。根据 t o e 网卡对连接管理部分的支持方式,将t c p 协议卸载方式分为全卸载和部分卸 载两种【4 】,如表2 1 所示。 表2 1 t c p 卸载方式 不卸载 部分卸载全卸载 c p ut c p 连接管理t c p 连接管理无 乱序处理 网卡 顺序传输 乱序处理t c p 连接管理 慢启动 顺序传输乱序处理 滑动窗口 慢启动顺序传输 e c n 滑动窗口馒启动 选择性重传 e c n滑动窗口 快速重传 选择性重传 e c n 拥塞控制 快速重传 选择性重传 保活机制 拥塞控制快速重传 t c p 校验和保活机制拥塞控制 保活机制 全卸载方式下,t o e 网卡完成t c p 协议的连接管理、数据传输、定时器管理 和错误与拥塞控制等全部功能,而不需要c p u 的参与 4 】。在网络连接特别多的情 国防科学技术大学研究生院工学硕士学位论文 况下,频繁的t c p 建链、断链过程都将消耗巨大的c p u 资源,另外由于t c p 连 接对于端工作状态的不确定性,将导致c p u 需要对t c p 连接的错误及时处理。这 种情况下,全部卸载方法具有明显的优点。 为了实现全卸载,应用程序发出的s o c k e t 系统调用直接交给t o e 网卡处理 5 】, 同时为了实现对应用程序的兼容,必需屏蔽掉s o c k e t 系统调用的实现细节,因此 在应用层和网卡之间要有一个接口层,它将应用程序发出的s o c k e t 调用转换为t o e 网卡可以识别的消息格式。接收数据时,t o e 网卡将经过网卡上协议栈处理过的 数据交给接口层,由接口层确定数据所属于连接和进程,提交给相应进程处理。 当t o e 网卡与用户进程进行数据传送时,涉及到内核对用户进程地址空间的管理 机制,我们需要解决t o e 网卡对用户进程地址空间的访问和c p u 对用户进程地址 空间的访问冲突、虚拟地址和物理地址的转换等问题4 】。 部分卸载又称为数据路径卸载。t o e 网卡处理t c p 协议的数据传输、定时器 管理和错误与拥塞控制等过程,主机处理连接管理部分。连接的建立、关闭与传 统的t c p i p 协议栈处理过程相同,连接建立完成以后,将连接卸载到网卡,如果 网卡接收到属于该连接的数据报文,将在t o e 网卡上进行t c p p 协议处理,然 后将处理后的数据提交给主机,主机经过适当处理后交给用户进程,当该连接上 有数据要发送时,主机将数据交给网卡,由网卡进行t c p i p 协议处理后,再发送 到网络。这种方式没有涉及l i n t l x 内核核心管理机制。 由以上分析可知,部分卸载方式下,t o e 网卡不需要实现完整的t c p 册协议 栈,它只负责连接建立后报文的发送和接收处理,连接管理功能仍然由c p u 完成。 全卸载方式下,所有t c p f i p 协议处理都交给t o e 网卡完成,将c p u 从t c p i p 协议栈处理中完全解放出来。 全卸载方式的性能优于部分卸载方式【6 】,但是,从实现难度而言,它涉及内 核的进程管理、存储管理等核心机制的改动,实现难度和风险较大。在部分卸载 方式中,c p u 负责连接的建立、维护和关闭,内核中依然存在连接的s o c k e t 结构、 s o c k 结构等传统协议栈使用的数据结构,应用层和内核可以按照原来的接口工作, 不需要改动内核进程管理、存储管理等核心机制,实现难度小。针对不同的应用 环境,两种卸载方式各有优势。在连接持续时间较短,出错率高的环境下,使用 全卸载方式更利于提高t c p 处理的性能,降低c p u 的占用率。但是,在可靠的大 数据量传输应用环境下,使用部分卸载方式获得的性能与全卸载方式相当。由于 t o e 网卡主要应用于网络存储、文件服务、妒存储和可视化计算,这些应用的特 点是在局域网环境下进行海量数据传输,因此,与全卸载方式相比,部分卸载方 式更适合于实现t o e 。 2 _ 2 - 2 硬件实现方式 第7 页 国防科学技术大学研究生院工学硕士学位论文 t o e 的硬件实现主要有如下方式:使用网络处理器加固件的方式,使用专用 a s i c 芯片的方式,以及采用可编程器件将二者结合的方式。 基于网络处理器的方案使用商品化的通用部件如网络处理器或微处理器,在 其上运行一个实时操作系统。主机c p u 上的t c p i p 协议处理工作被放到t o e 实 时操作系统内部的协议处理栈,由网络处理器进行处理。这种方案不仅能支持 t c p i p 协议栈的减载,对实时操作系统支持的其他类型的协议栈的减载同样有效。 基于网络处理器的方案相对较灵活,通过固件更新就可以增加新功能或者升级, 由于使用通用部件,投资风险和开发成本都大大降低。开发周期也比较短,但它 所带来的性能提升相对有限。 采用专用a s i c 芯片的实现方案是将协议的处理功能集成到定制化的芯片中, 由于具备专用的处理和存储芯片,因此a s i ct o e 在性能上有很大的提高,但缺 点是硬件的开发和初始应用成本比较高,可编程能力、扩展性、灵活性比较差。 网络设备的可编程能力和处理性能常常是一对矛盾,为了进一步提高处理的灵活 性又保证处理速度,现在又出现了可配置a s i c 芯片,该芯片含有可编程固件,软 件可动态更新,具有较大的灵活性。 另外一种新的方式,结合了上述两种方式的优点,使用多个网络处理器提供 类似于a s i c 的性能,同时能够灵活地增加新的功能。它的很多特点介于前两者之 间。和a s i ct o e 相比,f p g at o e 实现具有较短的设计时间和定制时间。由于 功能完全由硬件语言编程实现,即使相对于可配置a s i c 芯片,仍具有较高的灵活 性,并且更易于升级。同时,对于专用设备的t o e 实现来说,成本较低。不足之 处是时钟频率较低,和t o e 板卡相比,对t c p i p 协议栈进行修改的代价要偏高, 即灵活性上具有劣势,但执行速度明显高于t o e 板卡。 2 3t o e 网卡的硬件实现 由上面的分析可知,采用可编程器件实现协议部分卸载的方案有很好的灵活 性和比较高的性能且便与开发。为了适应以后网络带宽的飞速发展,我们采用该 方案设计的t o e 网卡定位为万兆以太网卡,部分性能指标如表2 : 表2 2t o e 网卡部分性能指标 性能项指标 网络接口支持1 0 g 以太网l a n w a n 和l o gp o s 接口类型 介质光介质 系统总线 p c i e 总线,p c ie x p r e s sx 4 支持l i n u x 内核l i n u x2 4 ,1 8 可同时卸载t c p 连接数l k 以上 第8 页 国防科学技术大学研究生院工学硕士学位论文 t o e 网卡硬件主要包括几大逻辑模块:p 处理模块、t c p 协议处理模块、d d r 控制器以及p c i e 接口控制模块等,各模块之间的主要联系如图2 所示。其中,m 处理模块主要处理口报文的封装和解封;t c p 协议处理模块处理t c p 协议 e s t a b l i s h e d 状态下的所有报文处理过程,主要包括报文接收过程和发送过程;各模 块之间的通信采用公共队列传递事件消息,各模块的有限状态机控制事件消息的 消费和产生。 图2 2 硬件系统功能简单示意图 t o e 网卡中,t c p 协议处理模块是最重要、最复杂的一部分,该模块将处理 t c p 协议的几乎所有过程,包括数据传输、定时器管理以及错误与拥塞控制,它 的子模块包括输出处理模块、输入处理模块、定时事件处理模块等。输出处理模 块将要发送的数据封装成t c p 报文,交给口处理模块,另外它还负责发送零窗口 探测报文等控制报文。输入处理模块主要分成两部分,一部分负责处理接收到的 数据,另一部分负责处理接收到的a c k 和各种选项。定时事件处理模块负责各种 定时器超时后的处理,比如重传定时器超时后,调用输出处理模块重发报文。它 们之间的关系如图2 3 所示。 第9 页 国防科学技术大学研究生院工学硕七学位论文 图2 3 t o e 结构图 2 3 小结 本章分析了t o e 技术的原理,它把原来由软件进行的协议处理卸载到硬件中, 从减少系统数据复制、中断处理、协议开销三方面实现系统减负。协议的卸载有 两种方式:全部卸载和部分卸载,部分卸载的连接的状态管理由软件完成,一般 情况下,部分卸载更适合t o e 技术。另外t o e 硬件的具体实现也有三种方式:使 用网络处理器加固件的方式,使用专用a s i c 芯片的方式,以及采用可编程器件将 二者结合的方式,其中最后一种方式兼具前两者的优点,既灵活性能也高。由此 我们的实现采用部分卸载的方法,以可编程器件的方式实现t o e 硬件系统。它主 要包括m 处理模块、t c p 协议处理模块、d d r 控制器以及p c i e 接口控制模块等, 其中的t c p 协议处理模块最复杂,它的子模块包括输出处理模块、输入处理模块、 定时事件处理模块等。 第l o 页 国防科学技术大学研究生院工学硕士学位论文 第三章t c p 卸载的快速报文传输机制 为了研究t c p 卸载的快速报文传输机制,本章首先对跟t c p 卸载相关的传统 报文软件传输进行介绍,然后就t o e 软件的体系结构、报文传输以及连接的卸载 和释放过程进行分析。 3 1 传统报文软件传输分

温馨提示

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

评论

0/150

提交评论