Posted on 2010-07-14 15:51
startpoint 阅读(140)
评论(0) 编辑 收藏 所属分类:
Paper
因为不是搞网络出身,最近又看一篇网络方面的paper,所以把一些基本概念记录下来,以备大家查阅。
checksum calculation offload: 将网络包的校验码的计算过程从软件层下放到硬件层,从而减少软件层面上的cpu开销。
interrupt mitigation: 当network device接收到数据包的时候,会引起相关的中断,提醒软件做相关操作。但是当网络的速度提高以后,如此频繁的中断成为了瓶颈所在,而且也没有必要。我们可以一直从device拿包,因为总有包可以拿到。
bulk data transfer: 当有大量连续数据传输的时候,将一些小的包组成大包有助于减少overhead,只要不超出ethnet的限制就可以。
RDMA: remote direct memory access, 传统的网卡操作如下:当接收到网络的数据包的时候,先暂时存在系统的buffer当中,然后将buffer中的东西经过整理后复制到application的内存空间中。这样的操作需要耗费大量的系统时间。RDMA则是App-Net-Net-App的流程,其中不需要操作系统做任何事情,这样做的效率提高了许多。
TCP offload:就是把TCP的协议让硬件adapter做,问题是performance和协议支持的完整性都不好,减小了OS对于网络操作的控制性,鲁棒性(robust)不是很好。
jumbo frames: 支持包岛屿1500bytes Ethernet frames。主要是提高每个包的大小,希望能够减少发包的次数。
Large Send Offload: 一次性向下最多向堆栈上放64k的数据(一次call),然后由adaptor将其拆分成多个小包发送出去(最大9000byte)。
Large Receive Offload:和上面的过程相反,adaptor多次接收包,然后将这些小包合并之后,提供给上层调用。