零拷贝技术及其运用概述.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
零拷贝技术及其运用 Technique and its Usage 李星辰 夏浩茗 廖山河 Li Xingchen,Xia Haoming and Liao Shanhe 摘 要:零拷贝(zero-copy)是实现主机或路由器等设备高速网络接口的主要技术。零拷贝技术通过减少或消除关键通信路径影响速度的操作,降低数据传输的操作系统开销和协议处理开销,从而有效提高通信性能,实现高速数据传输。 Abstract: Zero-copy is an important technology to realize high-speed network interfacing forhosts and routers. It achieves high-speed data transfer through decreasing the overhead ofdata transm issioncaused by the operating system and transm ission protocols. Itsmain idea is to reduce orelim inate somemanipulations that affect speed in the critical transm ission path. 关键词: 零拷贝; 高速网络接口; 操作系统; 协议; 网络处理器; RAID; Keywords: zero-copy; high-speed network interfacing; OS; protocol;network conductor;RAID 1 引言   新的应用需求如多媒体、VOD以及WEB服务等加重了通信负载,要求网络具有更多的带宽和更短的传输延迟。高速网络链路技术(SDH、光互连等)的发展提供了高带宽的网络。信息传输更加关注数据从主机或其他设备到网络接口的有效移动。零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除通信数据在存储器之间不必要的中间拷贝过程,有效地提高通信效率,是设计高速接口通道、实现高速服务器和路由器的关键技术之一。数据拷贝受制于传统的操作系统或通信协议,限制了通信性能。采用零拷贝技术,通过减少数据拷贝次数,简化协议处理的层次,在应用和网络间提供更快的数据通路,可以有效地降低通信延迟,增加网络吞吐率。 零拷贝技术的主要研究涉及到数据的传输途径、传输控制、缓冲区管理机制、地址变换和地址空间的保护机制等设计问题,并且需要考虑与操作系统或协议的结合关系。目前零拷贝技术的主要实现是用户级的高速网络通信接口。 2 零拷贝的主要技术研究 零拷贝技术的研究主要针对以下两个方面: (1)创建有效的用户级通信接口,即应用程序直接将数据从通信接口发送出去或接收进来,消除系统内核中不必要的拷贝过程; (2)路由器的入端到出端的直接数据传输,即接收的报文只经过一次存储器缓冲,而缓冲队列中的报文经过必要的控制信息处理后,直接传送到输出端口发送出去,实现报文快速转发。 用户级网络接口的设计和实现的关键在于应用和网络间的接口,为此需要考虑以下一些关键问题。 2.1 数据传输机制 通常,协议优化的数据传输过程至少涉及到三次传送。每一个发送或接收数据的应用,其传输缓冲区在网络接口都有对应的传输描述块(发送或接收环中),它包含传输报文的目标地址、缓冲区起始地址和缓冲区大小等信息。进一步优化则无需经过网络接口的存储,应用程序直接将数据从自己的缓冲区通过网络接口发送出去,不在NIC的存储器中停留;而接收端将收到的报文直接传送给应用处理,如图1所示。 主机至接口的数据传输机制可使用DMA或可编程I/O(PIO)方法。PIO方式通常一次传送1~2个字,涉及到许多总线操作。而DMA使用专门的DMA引擎突发性地传送整个报文,并可与主机并行操作。用户进程和网络接口都可以启动DMA而无需操作系统的干预。由于DMA是异步完成的,操作系统在进行页交换时,可能会把正在进行DMA传输的信息交换出去,从而使部分传送的目标信息受到损坏。解决这一问题的方法之一是让应用程序将用于数据传送的页帧固定于其地址空间,从而避开页交换。 接口至接口传输机制使用接口的DMA引擎或PIO发送和接收网络数据,采用DMA传输较快。在流控方面,如果接收方没有取走数据,则发送方暂停网络接口数据的发送。为了防止死锁,暂停有一个时间限制,如果接收方在该时间限制内没有取走所有阻塞的网络数据,则网络接口就会复位,放弃阻塞的报文。为避免复位,接收方拷贝应足够快。 接收方网络接口至主机的传输同样可以使用DMA或PIO。大多数协议都使用DMA,也有少数协议使用主机PIO接收小信息,而用DMA传送大块数据。 2.2 地址变换技术 集成应用和网络接口间的缓冲区管理带

文档评论(0)

4477769 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档