欢迎来到天天文库
浏览记录
ID:51419519
大小:57.50 KB
页数:9页
时间:2020-03-24
《零拷贝技术及其运用.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、零拷贝技术及其运用Zero-CopyTechniqueanditsUsage李星辰夏浩茗廖山河LiXingchen’XiaHaomingandLiaoShanhe摘要:零拷贝(zero-copy)是实现主机或路由器等设备高速网络接口的主要技术。零拷贝技术通过减少或消除关键通信路径影响速度的操作,降低数据传输的操作系统开销和协议处理开销,从而有效提高通信性能,实现高速数据传输。Abstract:Zero-copyisanimportanttechnologytorealizehigh-speednetworkinterfa
2、cingforhostsandrouters.Itachieveshigh-speeddatatransferthroughdecreasingtheoverheadofdatatransmissioncausedbytheoperatingsystemandtransmissionprotocols.Itsmainideaistoreduceoreliminatesomemanipulationsthataffectspeedinthecriticaltransmissionpath・关键词:零拷贝;高速网络接口;操作
3、系统;协议;网络处理器;RAID;Keywords:zero-copy;high-speednetworkinterfacing;OS;protocol;networkconductor;RAID1引言新的应用需求如多媒体、VOD以及WEB服务等加重了通信负载,要求网络具有更多的带宽和更短的传输延迟。高速网络链路技术(SDH、光互连等)的发展提供了高带宽的网络。信息传输更加关注数据从主机或具他设备到网络接口的冇效移动。零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除通信数据在存储器Z间不必要的屮间拷贝过程,有效地提高
4、通信效率,是设计高速接口通道、实现高速服务器和路由器的关键技术2-0数据拷贝受制于传统的操作系统或通信协议,限制了通信性能。采用零拷贝技术,通过减少数据拷贝次数,简化协议处理的层次,在应用和网络间提供更快的数据通路,可以有效地降低通信延迟,增加网络吞叶率。零拷贝技术的主要研究涉及到数据的传输途径、传输控制、缓冲区管理机制、地址变换和地址空间的保护机制等设计问题,并且需要考虑与操作系统或协议的结合关系。忖前零拷贝技术的主要实现是用户级的高速网络通信接口。2零拷贝的主要技术研究零拷贝技术的研究主要针对以下两个方面:⑴创建有效
5、的用户级通信接口,即应用程序右•接将数据从通信接口发送出去或接收进来,消除系统内核屮不必要的拷贝过程;⑵路由器的入端到出端的貞接数据传输,即接收的报文只经过一次存储器缓冲,而缓冲队列中的报文经过必要的控制信息处理示,真接传送到输出端口发送出去,实现报文快速转发。用户级网络接口的设计和实现的关键在于应用和网络间的接口,为此需要考虑以下一些关键问题。2.1数据传输机制通常,协议优化的数据传输过程至少涉及到三次传送。每一个发送或接收数据的应用,其传输缓冲区在网络接口祁有对应的传输描述块(发送或接收环小),它包含传输报文的目标地
6、址、缓冲区起始地址和缓冲区大小等信息。进一步优化则无需经过网络接口的存储,应用稈序直接将数据从白己的缓冲区通过网络接II发送出去,不在NIC的存储器中停留;而接收端将收到的报文直接传送给应用处理,如图1所示。主机至接口的数据传输机制可使用DMA或可编稈l/O(PIO)方法。PIO方式通常一次传送1-2个字,涉及到许多总线操作。而DMA使用专门的DMA引擎突发性地传送整个报文,并可与主机并行操作。用户进程和网络接口都可以启动DMA而无需操作系统的干预。由于DMA是异步完成的,操作系统在进行页交换时,可能会把正在进行DMA传
7、输的信息交换出去,从而使部分传送的日标信息受到损坏。解决这一问题的方法Z—是让应用程序将用于数据传送的页帧同定于其地址空间,从而避开页交换。接口至接口传输机制使用接口的DMA引擎或PIO发送和接收网络数据,采用DMA传输较快。在流控方血,如果接收方没有取走数据,则发送方暂停网络接口数据的发送。为了防止死锁,暂停有一个时间限制,如果接收方在该时间限制内没有取走所有阻塞的网络数据,则网络接口就会复位,放弃阻塞的报文。为避免复位,接收方拷贝应足够快。接收方网络接口至主机的传输同样可以使川DMA或PIO。大多数协议都使用DMA,
8、也有少数协议使用主机PIO接收小信息,而用DMA传送大块数据。2.2地址变换技术集成应用和网络接口间的缓冲区管理带来了另外的问题,因为应用使用的是缓冲区的虚拟地址,而网络接U的DMA引擎则需要用物理存储器地址进行传输。因此,必须有一个可信任的实体将虚拟地址变换为物理地址,再交给网络接口。此外,操作系统必须跟踪接口用来
此文档下载收益归作者所有