已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
零拷贝技术及其运用Zero-Copy 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 forhostsand 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;RAID1引言新的应用需求如多媒体、VOD以及WEB服务等加重了通信负载,要求网络具有更多的带宽和更短的传输延迟。高速网络链路技术(SDH、光互连等)的发展提供了高带宽的网络。信息传输更加关注数据从主机或其他设备到网络接口的有效移动。零拷贝技术可以减少数据拷贝和共享总线操作的次数,消除通信数据在存储器之间不必要的中间拷贝过程,有效地提高通信效率,是设计高速接口通道、实现高速服务器和路由器的关键技术之一。数据拷贝受制于传统的操作系统或通信协议,限制了通信性能。采用零拷贝技术,通过减少数据拷贝次数,简化协议处理的层次,在应用和网络间提供更快的数据通路,可以有效地降低通信延迟,增加网络吞吐率。零拷贝技术的主要研究涉及到数据的传输途径、传输控制、缓冲区管理机制、地址变换和地址空间的保护机制等设计问题,并且需要考虑与操作系统或协议的结合关系。目前零拷贝技术的主要实现是用户级的高速网络通信接口。2零拷贝的主要技术研究零拷贝技术的研究主要针对以下两个方面:(1)创建有效的用户级通信接口,即应用程序直接将数据从通信接口发送出去或接收进来,消除系统内核中不必要的拷贝过程; (2)路由器的入端到出端的直接数据传输,即接收的报文只经过一次存储器缓冲,而缓冲队列中的报文经过必要的控制信息处理后,直接传送到输出端口发送出去,实现报文快速转发。用户级网络接口的设计和实现的关键在于应用和网络间的接口,为此需要考虑以下一些关键问题。2.1数据传输机制通常,协议优化的数据传输过程至少涉及到三次传送。每一个发送或接收数据的应用,其传输缓冲区在网络接口都有对应的传输描述块(发送或接收环中),它包含传输报文的目标地址、缓冲区起始地址和缓冲区大小等信息。进一步优化则无需经过网络接口的存储,应用程序直接将数据从自己的缓冲区通过网络接口发送出去,不在NIC的存储器中停留;而接收端将收到的报文直接传送给应用处理,如图1所示。主机至接口的数据传输机制可使用DMA或可编程I/O(PIO)方法。PIO方式通常一次传送12个字,涉及到许多总线操作。而DMA使用专门的DMA引擎突发性地传送整个报文,并可与主机并行操作。用户进程和网络接口都可以启动DMA而无需操作系统的干预。由于DMA是异步完成的,操作系统在进行页交换时,可能会把正在进行DMA传输的信息交换出去,从而使部分传送的目标信息受到损坏。解决这一问题的方法之一是让应用程序将用于数据传送的页帧固定于其地址空间,从而避开页交换。接口至接口传输机制使用接口的DMA引擎或PIO发送和接收网络数据,采用DMA传输较快。在流控方面,如果接收方没有取走数据,则发送方暂停网络接口数据的发送。为了防止死锁,暂停有一个时间限制,如果接收方在该时间限制内没有取走所有阻塞的网络数据,则网络接口就会复位,放弃阻塞的报文。为避免复位,接收方拷贝应足够快。接收方网络接口至主机的传输同样可以使用DMA或PIO。大多数协议都使用DMA,也有少数协议使用主机PIO接收小信息,而用DMA传送大块数据。2.2地址变换技术集成应用和网络接口间的缓冲区管理带来了另外的问题,因为应用使用的是缓冲区的虚拟地址,而网络接口的DMA引擎则需要用物理存储器地址进行传输。因此,必须有一个可信任的实体将虚拟地址变换为物理地址,再交给网络接口。此外,操作系统必须跟踪接口用来进行DMA传输的内存页,以便保持映射的进行。地址变换可采用: (1)由应用管理虚拟地址到物理地址的变换。用户从操作系统取得内存区的映射,并使用其作为缓冲区,其优点是将所有映射装在网络接口后,即可使用简单查找实现变换,但应用必须小心而理智地管理其内存区。(2)由网络接口完成虚拟地址到物理地址的变换。用户可将其缓冲区设在其虚拟地址空间的任何地方,网络接口包含一个TLB,负责将映射为物理页帧和读/写访问权。(3)编制一个简单的内核附加模块实现虚拟地址到物理地址的变换。用户负责固定其页帧并从该模块取得物理地址,该方法的缺点是网络接口无法检查其接收的物理地址的合法性。解决方法之一是让网络接口与该内核模块协同以便跟踪有效的地址变换。网络接口可以缓存部分有效地址变换,以便快速引用页帧。当网络接口在其缓存中发现用户指定的地址变换时,就可以使用DMA直接访问。当网络接口无法变换一个地址时,则产生一个中断,内核模块接收该中断,在页表中查找该地址,固定该页,并将变换信息传给网络接口。2.3保护机制当初始化发送描述块时,如果多个应用共享网络接口,某个应用可能会破坏另一个应用的发送描述块。可使用一部分网络接口存储器作为高速缓存,存放活跃的通信端点,将非活跃的端点存放于主机内存。当一个进程想通过非活跃端点发送信息时,网络接口和操作系统协作激活该端点,将其状态移到网络接口存储器中。另一种方法是将通信建立和数据传输分开。在建立期间,操作系统介入完成保护检查以确保应用彼此不会相互干扰。在数据传输期间,网络接口旁路操作系统并进行简单检查以加强保护。2.4传输控制传输控制一般采用中断或轮询方式。中断方式通常开销比较大,故需要结合一定形式的轮询。轮询是一种快速而开销低的机制,能够及时检查到达信息。方法之一:让网络接口在其存储器中设置标志,并让主机检测之。由于I/O总线存在开销,这一方法是低效的。方法之二:当信息到达时,网络接口将标志写入主机内存,主机就地进行轮询,减少I/O总线传输开销。由于标志通常驻留于Cache中,这样,频繁执行轮询时,不成功的轮询就不会产生访存。可以综合使用中断和轮询:在网络接口中设置一个轮询守护机制,当报文到达时,启动一个定时器,定时器计时到零时,如果主机还没有发出轮询,则产生一个中断。2.5可靠性基于可靠网络假设的可靠性处理较简单,不需要重发和超时机制,罕见的错误可交由高层软件处理或者只设应答重发机制而不设超时机制。对于信息量大的通信,系统可采用主机级信用卡机制实现流控:信用卡代表接收方的报文缓冲区量,必须执有接收方的信用卡,才能发送报文。一旦发送方用完信用卡,则必须阻塞以等待新的信用卡。基于网络不可靠的系统则在主机或网络接口中实现重发机制,设置定时器和应答处理。2.6多播实现考虑可以将所有多播目的地址传送到网络接口,然后在网络接口将同一报文发往每一个多播目的。这一方法在网络接口形成串行发送的瓶颈。通过在网络接口转发多播报文,可有效地实现基于生成树的协议,当它与中断驱动的报文传递方式相结合时,则更加有效,因为它消除了转发路径上的中断处理代价。3网络设备中零拷贝技术的实现3.1用户级网络接口设计实现3. 1. 1U-NetU-Net由美国康耐尔大学研制,是基于信息的用户级网络接口,它定义了一个很薄的软件层而对网络硬件呈现出一致的接口。U-et描述硬件操作,直接提供给应用一个标准硬件接口。在U-Net中,端节点作为应用进入网络的句柄,包含三个环形队列,分别保存各自的信息缓冲区描述块:发送队列、可接收信息的空闲队列和已接收信息的接收队列。网络接口读取描述块,验证应用的目的地址,将虚拟缓冲区地址变换为物理地址,并使用DMA传送数据。每一个端节点的队列只映射到对应进程的地址空间。3. 1. 2VMMC-2和AM-由美国普林斯顿大学实现的VMMC-2和由伯克利大学实现的AM-(ActiveMessage)均使用通信原语与虚拟共享存储器结合的方法,消除了接收端的一次拷贝:将接收信息放入缓冲区并使应用程序可访问之,应用将其数据拷贝到最终目的以释放缓冲区。AM-使用通信原语put将本地内存块传送给远端地址, get读取远端块。只要发送者和接收者预先协调好远端内存地址,则无需接收方干预,即可将数据移动到最终位置。VMMC-2使用了一个用户TLB (UTLB)进行存储管理,要求通信过程使用的内存必须先进行注册登记(固定)以避开内核的页交换。3. 1. 3VIA虚拟接口体系结构VIA是用户级网络接口的工业标准。在VIA中,进程首先打开VI(到网络的句柄),每一个VI有两个队列:发送和接收信息描述块链表,每一个描述块指向一个和多个缓存区。信息发送后,VIA置描述块中的完成位,从而应用可最终释放描述块。VIA也提供本地内存与远端内存间的直接传输,即远端DMA(RDMA)读和写。VIA的地址变换机制位于网络接口,所有用于通信的内存(队列、描述块和缓冲区)在使用前必须进行注册。注册一个内存区返回一个句柄,句柄和虚拟地址共同描述通信的区域。3.2主机式路由器中的零拷贝实现基于主机的路由器采用商品化的主机平台和网络接口,它比专用路由器产品更为便宜,其安全性、可配置性和可编程性更好,常常作为路由测试床以及动态可重编程的路由器。主机式路由器的主要缺点是缺乏高带宽接口的支持。主机式路由器由主机和至少两块网络接口卡(NIC)组成。每一块NIC都有一个DMA控制器和一些存储器。DMA控制器管理从NIC RAM直接到主机RAM的数据传输,无需主机CPU的干预。在传统的基于主机的转发处理中,数据通路是低效的,因为报文必须拷贝两次:一次进入主机存储器,一次从主机存储器中拷贝出来。采用零拷贝技术,将报文从其到达的NIC直接传送到其发出的NIC,使I/O端口上的报文从两次拷贝降为零次,可以有效地降低通过路由器的传输延迟。实现上采用网络接口之间的对等DMA直接进行报文传输:报文的大部分内容留在接收报文的NIC中,等待其目的地址的确定,然后通过DMA直接将报文从源NIC传送到目的NIC。其原理过程如图2所示。对等DMA转发的实现技术有两种:定位转发和报文头拷贝转发。实现需要修改网络接口驱动程序,但不修改内核代码,修改只影响到接收端NIC的报文传输。对于定位转发,整个报文留在NIC中,主机通过PCI总线直接读取报文头的相关字段进行处理,然后通过对等DMA将报文传送到发送端NIC。该方法对驱动程序只作很小的修改:例程中的报文缓冲区指针指向NIC存储器而非内核RAM。对于报文头转发,主机将报文头拷到主机内存中,使用本地RAM对其进行操作后,拷贝新的报文头覆盖原报文头,然后将整个报文通过对等DMA传送到目的NIC,减少了总线访问。报文头转发比定位转发更有效。对等DMA转发在报文尺寸较大时(大于或等于1K字节),吞吐率比常规方法高,它通过避免额外的报文拷贝,有效地提高了吞吐率和报文转发速率。我们将对等DMA转发进一步改进:在主机处理报文头时,接收NIC将报文传送给发送NIC,报文头处理完毕后,直接拷贝到发送的NIC中。该实现技术需要主机和发送NIC分别建立一个对应的FIFO队列,以完成报文的关联匹配。3.3路由器中零拷贝技术的实现采用零拷贝技术,减少报文转发过程中拷贝的次数,可以实现高速路由器。例如,对于报文缓存队列,如果同时采用输入和输出队列,则需要一次从输入队列到输出队列的额外拷贝。但是,如果只采用一种队列(例如输入队列),则可以在报文头处理完成后,将报文直接从输入队列发送到相应的路由器端口,从而实现零拷贝。通过采用由输出端口控制的虚拟输出队列技术,可有效地实现高速信息流的无阻塞传输。为了增加系统的灵活性,可以建立对应报文的描述块FIFO队列,描述块可包含报文头和指向报文的指针。可根据需要建立多个队列,以方便诸如报文分类或QoS的处理。这样报文处理的整个过程变成了对描述块的传递操作,而报文的其它部分则始终留在输入队列中。由于描述块的信息量很小,其操作处理的速度是很快的。如果队列放在各接口卡中,则可实现分布式的并行报文头转发处理(CPU和存储器集成于卡上)。另一优化技术是在路由器插卡间使用对等DMA传输。4基于网络处理器零拷贝技术的研究4.1网络处理器IXP2400简述IXP2400网络处理器中采用了与通用处理器不同的全新体系结构,以适应当今网络设备设计的需求。其中主要的结构模块有:一个XScale Core,它主要用来处理控制层面的工作;八个微引擎(ME),它们主要用于处理数据层面的工作;SRAM单元和DRAM单元,它们为不同类型的外部存储器;MSF(Media Switch Fabric),它是支持多种工业接口并提供一个数据包进出的高速外部数据总线;PCI控制器,用于连接主机处理器或外部设备,可提供与管理层面的通信接口;SHac单元,它包括一个小容量的快速片内Scratchpad存储器、片级控制状态寄存器CSR和一个Hash运算器。其中Hash运算器是用来实现网络处理中常用的Hash运算。所有这些结构模块可以通过总线相互通信。IXP2400网络处理器的体系结构具有以下突出特点:(1)并行处理器结构。八个微引擎都是可编程RISC处理器,它们并行工作,并且拥有各自的控制存储器和局部寄存器,对于外部存储器的访问机会均等,主要负责数据层面的处理;XScale则是符合ARM规范的Strong ARM,主要负责控制层面和上层应用程序的处理,它的显著特点是高性能、低功耗和紧凑设计,这使得它与其他专用的可执行单元可以集成在一个芯片中。这样在硬件设计上将控制与数据处理进行分离,提高了并行处理能力。(2)分布式多级数据存储结构。采用了分布式数据存储,四种类型存储器(LocalMemory,Scrachpad,SRAM,DRAM)兼顾了差别各异的网络数据处理的灵活性和高性能;其中对SRAM和DRAM的访问使用专用的读写寄存器实现,简化了编程模型。同时,SRAM和DRAM均支持多个读写队列进行优先级排队,以优化带宽。(3)微引擎内部优化。微引擎的高性能和可扩充性是通过多处理器、多线程和软件的流水线机制来实现的,其中每个微引擎可支持八个线程并行处理,并且由硬件实现线程切换,实现了线程切换零时延。此外,微引擎特殊的硬件体系结构可以支持高性能的数据平面的处理而无须核心处理器的干预。4.2数据包的收发机制网络数据包的接收、发送由MSF及ME完成,它们可以高速地接收与发送数据包。MSF以Mpacket为单位接收从外界传来的数据包,将Mpacket存入接收缓冲区(RBUF)内,ME从RBUF中读取Mpacket,通过实现一个状态机而将SOP,MOP,EOPMpackets进行有序的重组。在Mpacket组包过程中,当每次组包充满一个DRAM中的单位缓冲区时(本系统采用的缓冲区大小为2KB),将对应生成的一个缓冲区描述符放入SRAM中。当接收到每个数据包的SOP包时,将生成的一个数据包描述符存放在SRAM中。缓冲区描述符指向数据包描述符在SRAM中的位置,数据包描述符记录了数据包在DRAM中的位置及数据包的类型。DRAM中以缓冲区为存放数据包的单位,其大小可以由软件指定。当数据包较大需要多个缓冲区时,数据包描述符中的NextBuffer数据项指向同一数据包的下一个缓冲区的位置。在数据处理的过程中,ME之间通过传递缓冲区描述符来实现数据包的传递。发送是一个逆向的过程。在系统中,缓冲区描述符及数据包描述符的传递是通过Scrachpad的队列机制实现高效地通信。4.3收发机制与上层系统的交互作为一个嵌入式系统,在XScale上运行嵌入式操作系统MontaVista Linux,ME,SDRAM和SRAM及其他硬件均为系统下的设备。ME接收完数据包并要将其交付上层系统处理时,通过触发中断,将数据包的第一个缓冲区描述符交于Linux内核,内核再根据缓冲区描述符计算数据包的物理地址。实现零拷贝技术需将数据包映射到用户空间,以避免数据包内的拷贝,从而使用户空间可以直接读写数据包。当数据包处理完成之后,用户进程通过一简单的模块机制调用内核函数,并将数据包传递给ME,由ME完成数据包的发送。数据包可能同时被ME或XScale存取,因此必须实现同步机制。在内核空间,可通过队列机制进行数据包的同步:RxQ接收环形队列的描述符,它记录了接收环形队列的头尾指针。Rxbuf接收环形队列,存放由ME传上来的数据包缓冲区描述符。TxQ发送环形队列的描述符,它记录了发送环形队列的头尾指针。Txbuf发送环形队列,存放由用户层处理完的需交付ME发送的数据包缓冲区描述符。在此数据结构上有两个操作:入队操作(Enqueue),将数据包的缓冲区描述符存放在Rxbuf/Txbuf中,并修改RxQ /TxQ的头指针。通过队列机制,可以实现ME与XScale数据包收发的同步机制。以上数据结构存放在同一内存页中,方便后面的内存映射。4.4Linux下的用户空间存取内核空间机制上一节中的RxQ,RxBuf,TxQ,TxBuf及数据包均在内核层空间内。实现零拷贝必须给用户层空间提供存取内核空间的方便接口。Linux提供了用户层直接读取内核层数据的机制。Linux内存管理采用三层页式存储管理策略。通过内存映射技术,采用内核模块编程,将内核空间或设备内存映射至用户进程虚拟地址空间。本文需要映射两部分内存,即(1)维护数据包收发同步的RxQ,RxBuf,TxQ,TxBuf数据结构映射至用户空间。由于Remap_page_range方法只能给予对保留的页和物理内存之上的物理地址的访问,故这部分内存空间由Vmalloc分配,其大小为一页(4KB),使用VMA的Nopage方法将其映射至应用层的地址空间。Nopage方法的原理是当用户调用设备Mmap,用户进程只是得到虚拟地址。当用户进程真正访问虚拟地址,操作系统会调用Nopage方法进行缺页处理。(2)数据包的映射至用户进程。用户进程通过读取RxQ,RxBuf,TxQ,TxBuf可以获得数据包的物理地址及其大小。由于属于设备内存,用Remap_page_rage将数据包直接映射到用户进程地址空间。每个数据包大小为2KB,通过读取RxQ,Rx-Buf,TxQ,TxBuf一次可以映射多个数据包。5RAID中零拷贝技术研究 5.1 RAID核心控制软件中的拷贝操作数据拷贝操作需要CPU参与每字节传输,其开销相当大,这种开销一开始就得到了重视。随着高速网络发展,网络传输速度越来越快,网络带宽已经非常接近内存拷贝的速度,这时昂贵的内存拷贝操作给高速通讯带来的影响也日益明显。拷贝操作一方面开销大,但可以简化多模块/子系统的设计,各个子系统/模块间耦合性减少,相对来说独立开发程度越大,一个子系统/模块不必过多了解其余子系统/模块对数据的处理细节。RAID核心控制软件是一个复杂软件系统,它包括目标器,启动器,Cache管理,RAID映射,I/O调度等多个模块,数据在启动器和目标器间流动,需要经过多个模块的处理。这些模块间的数据处理可以借助于拷贝语义,结合现在PCI硬件广泛支持的DMA(直接内存访问)的Scatter/Gather(聚散缓冲区)特性也可以不借助于拷贝语义。RAID包括外置式RAID(RAID控制器)和内置式RAID(也就是软RAID)。目前影响最大的开放源代码的软RAID系统有LINUX下的MD,以及在BSD系列下的RAIDFrame。由于硬RAID常被作为商用产品,所以没有公开的硬RAID的核心控制软件,但两者之间的实现技术区别不大。我们下面将先以LINUX下MD的软RAID核心处理软件为例分析其中的拷贝操作。LINUX的MD逻辑卷都是以MD块设备形式提供给用户访问。当应用程序需要从MD块设备中读取数据时,应用程序通过系统调用接口read/write来向内核请求服务,I/O子系统各层之间通过互相配合来完成一个实际的读写过程。LINUX操作系统中所有的块设备之上有一个缓冲区层,主要作用是缓冲各个具体块设备所读写数据,提高系统对块设备的读写速度。MD-RAID核心控制软件借助了LINUX中通用的块缓冲模块作为RAID的Cache管理模块,而且它也没有自己的I/O调度模块,借助于实际的磁盘驱动程序完成I/O调度和读写操作。在对MD设备进行读操作时候,必须根据请求的大小和偏移,在块设备缓冲区中按所跨的页查找。如果找到了就直接拷贝到相应的用户缓冲区中,否则就构建新的请求,在请求完成后再进行拷贝操作。在对MD设备进行写操作时,也必须在块设备缓冲区中查找,要么经过拷贝更新块设备缓冲区中的内容,要么经过拷贝操作添加到块设备缓冲区中。由此可见MD-RAID核心控制软件借助了拷贝操作语义,此外,MD作为一个上层控制软件,为了通用性,没有考虑具体的硬件特性,没有利用目前PCI设备DMA支持的Scatter/Gather特性,实现零拷贝。5.2 RAID核心逻辑不同拷贝策略的性能对比RAID核心逻辑包括Cache管理,RAID映射,I/O调度三个模块。它是支持零拷贝和多协议的RAID的纯算法逻辑部分,和具体的目标器和启动器类型无关。 RAID核心逻辑通过Cache模块和目标器交换数据,并通过I/O调度模块直接驱动启动器所连接的不同接口类型的磁盘。RAID组采用不同映射策略,就实现了不同的RAID级别。RAID核心逻辑的各个模块间的请求和响应是通过队列进行传递的,这样可以降低模块间的耦合性。 对RAID核心逻辑分别采用零拷贝,一路拷贝,两路拷贝方案实现,并分别在P4-XEON平台和IOP80321平台下测试其性能。采用零拷贝方案时,在目标器端和启动器端都充分利用硬件支持的Scatter/Gather功能,缓冲区分配都交由全局内存分配管理模块分配。采用一路拷贝方案时,只在Cache管理模块中,对从目标器发来的请求数据进行一次内存拷贝。采用两路拷贝方案时,在Cache管理模块和I/O调度模块中都会进行一次内存拷贝操作。表1不同拷贝策略的RAID核心逻辑性能Mbit/s平台零拷贝一路拷贝两路拷贝IOP803211100488290P4-XEON33301160650从表1可以看出,同样的软件在不同平台下其性能差别明显,这主要是由于IOP80321是一个嵌入式平台,其处理能力赶不上P4-XEON处理器。但对同一种平台而言,零拷贝和非零拷贝的吞吐率差别明显,这也表明了拷贝操作的代价是巨大的,而两路拷贝方案的结果几乎是一路拷贝方案的一半。我们在这里没有考虑RAID中目标器和启动器的SCSI通道传输速度,考虑到SC-SI320通道速度达到了320 Mbit/s,在IOP80321平台下,如果采用两路拷贝,在不考虑目标器和启动器额外的算法开销,RAID核心逻辑也会成为系统的性能瓶颈。对于P4-XEON平台,是否采用零拷贝方案在支持单通道目标器和启动器时,对系统性能影响不大,但由于目前RAID都需支持多通道的磁盘和主机,因此零拷贝的RAID实现非常有必要。4结束语零拷贝技术的目标是减少或避开影响系统整体性能的瓶颈,主要是降低传统操作系统的通信开销,减少协议层次以及相应的协议间拷贝次数,有效地提高通信的性能。对于日益发展的高速网络,迫切需要研究高速通信接口,以便有效地提高诸如WEB服务器主机的响应速度,设计更加灵活、快速的路由器。因此,零拷贝技术仍然是一个值得研究的方向。以下是一些需要进一步研究的问题: (1)将网络接口硬件与处理单元紧密结合,进一步优化性能,降低通信延迟; (2)设计有效的低延迟的协议,创建有效的协议定时器、智能化通信调度、网络存储器管理等,尤其是存储器管理,需要与操作系统内核的很好协调,提供公平性; (3)将IP转发算法移入NIC,完全免除主机CPU对报文头的访问。这样做需要将路由表和算法拷贝到NIC中,对算法进行必要的改进,并提供足够的通用处理能力。参考文献:1 Bhoedjang R A F, et al. User-Level Network Interface Protocols J. IEEE Computer, 1998, (11): 53602W Alton S, Hutton A, Touch J. High-Speed Data Paths in Host-Based Routers J. IEEE Computer, 1998, (11): 46523Thadani M N, etal. A Efficient Zero-Copy I/O Framework for UNIX R. SML Technical Report, Sun Microsystems Inc, 19954von Eicken T,VogelsW.Evolution of the Virtual Interface Architecture J. IEEE Computer, 1998, (11): 61685 可向民.零拷贝技术及其实现的研究J.计算机工程与科学,2000,(5):17-20.6 Intel Corp. IXP2400 Hardware Reference ManualR. 2003.7 Int
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东、湖北省部分重点中学2025-2026学年数学高二第一学期期末监测试题含解析
- 黄河科技学院《多声部音乐分析与写作》2024-2025学年第一学期期末试卷
- 社会保障市场分析趋势
- 兼职合同中的法律责任分析
- 复合土工膜断裂强度、标准强度对应伸长率试验记录
- 岩土有机质含量(重铬酸钾法)试验记录
- 论文格式字体
- SAP物料帐材料成本差异未分摊各种原因分析-值流监视器
- 答辩评语50字左右
- 发展战略理论
- 河南省新郑市初中历史七年级期末上册高分通关测试题详细答案和解析
- 四川省甘孜藏族自治州(新版)2024小学语文部编版期末(复习)完整试卷(含答案)
- 北师大版六年级数学上册第五单元《数据处理》(大单元教学设计)
- 国开2024年《法律基础》形考作业1-4答案
- 24点练习题(下册)
- 中国老年骨质疏松症诊疗指南
- 维吾尔族舞蹈
- 预防医学三级预防
- 消防安全检查表-
- 工程测量期末考试试卷(附带答案)
- 信息化管理系统升级与迁移方案
评论
0/150
提交评论