端节点算法学 *端节点算法学 *网络算法学在端节点(尤其是服务器)上的运用,是 建立高速服务器的一组系统性技术 *随着网络功能虚拟化的提出,将来数据中心中绝大部 分的网络设备都会在通用服务器上实现 *端节点算法学研究如何减少以下开销: *数据拷贝( chapter5) *控制转移( chapter6) *定时器( chapter7) *解复用( chapter8) *其它一般性协议处理任务( chapter9)
端节点算法学 端节点算法学: 网络算法学在端节点(尤其是服务器)上的运用,是 建立高速服务器的一组系统性技术 随着网络功能虚拟化的提出,将来数据中心中绝大部 分的网络设备都会在通用服务器上实现 端节点算法学研究如何减少以下开销: 数据拷贝(chapter 5) 控制转移(chapter 6) 定时器(chapter 7) 解复用(chapter 8) 其它一般性协议处理任务 (chapter 9)
第五章拷贝数据
第五章 拷贝数据
消除不必要的拷贝(P1) *网络报文在收发和处理的过程中,通常会被拷贝 多次 *计算机中的数据拷贝消耗两个宝贵的资源: *内存带宽:如果处理一个报文涉及k次拷贝,系统吞吐 量可能降至1/k *内存:如果一个报文在内存中被保存k份,有效内存容 量降至1/k *本章关注如何消除不必要的拷贝: *一个拷贝如果不是由硬件要求的,该拷贝是不必要的 *本章还将讨论其它需要对数据包载荷进行的操作
消除不必要的拷贝(P1) 网络报文在收发和处理的过程中,通常会被拷贝 多次 计算机中的数据拷贝消耗两个宝贵的资源: 内存带宽:如果处理一个报文涉及k次拷贝,系统吞吐 量可能降至1/k 内存:如果一个报文在内存中被保存k份,有效内存容 量降至1/k 本章关注如何消除不必要的拷贝: 一个拷贝如果不是由硬件要求的,该拷贝是不必要的 本章还将讨论其它需要对数据包载荷进行的操作
51为什么要拷贝数据 CPU MEMORY 应用场景 Web server application Copy 3 Server buffer *用户向Web服务 write ready 器请求一个静 TCP/IP File system Socket buffer Copy 2 态文件 File cache buffer *服务器从磁盘 读出文件,发 MEMORY BUS 送到网络上 DISK 两个内核子系统: /O BUS NETWORK ADAPTOR *文件子系统 Network 网络子系统 FIGURE 5.2 Redundant copies involved in handling a get request at a server
5.1 为什么要拷贝数据 应用场景: 用户向web服务 器请求一个静 态文件 服务器从磁盘 读出文件,发 送到网络上 两个内核子系统: 文件子系统 网络子系统
个简单的故事 *直观上,这是一个简单的故事: *web应用程序通过一个系统调用(读文件 将文件从磁盘读入到它的缓冲区中 *构造一个HTTP响应头,通过一个系统调用(写 套接字),将响应头和缓冲区内容交给网络子 系统 *网络子系统将数据划分成适当大小的块,加上 各层协议头,交给网络驱动程序
一个简单的故事 直观上,这是一个简单的故事: web应用程序通过一个系统调用(读文件), 将文件从磁盘读入到它的缓冲区中 构造一个HTTP响应头,通过一个系统调用(写 套接字),将响应头和缓冲区内容交给网络子 系统 网络子系统将数据划分成适当大小的块,加上 各层协议头,交给网络驱动程序