《网络算法学》课程教学资源(PPT课件讲稿)第二部分 端节点算法学 第五章 拷贝数据

端节点算法学 *端节点算法学 *网络算法学在端节点(尤其是服务器)上的运用,是 建立高速服务器的一组系统性技术 *随着网络功能虚拟化的提出,将来数据中心中绝大部 分的网络设备都会在通用服务器上实现 *端节点算法学研究如何减少以下开销: *数据拷贝( 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响应头,通过一个系统调用(写 套接字),将响应头和缓冲区内容交给网络子 系统 网络子系统将数据划分成适当大小的块,加上 各层协议头,交给网络驱动程序

真实的故事 CPU MEMORY Copy 1: Web server application Server buffer 硬盘→文件缓冲区 Writen (内核空间) Kernel TCP/IP File system Socket buffe Copy 2 Copy 2 File cache buffer *文件缓冲区→应用缓 冲区(用户空间) MEMORY BUS Copy 3: Copy 4 s*应用缓冲区>套接字 缓冲区(内核空间) I/O BUS NETWORK ADAPTOR 幸Copy4: Network *套接字缓冲区→网卡 FIGURE 5.2 Redundant copies involved in handling a GET request at a server. TCP程序还需要扫描一遍 数据,计算TCP检查和
一个真实的故事 Copy 1: 硬盘→文件缓冲区 (内核空间) Copy 2: 文件缓冲区→应用缓 冲区 (用户空间) Copy 3: 应用缓冲区→套接字 缓冲区(内核空间) Copy 4: 套接字缓冲区→网卡 TCP程序还需要扫描一遍 数据,计算TCP检查和

资源消耗情况 拷贝和TCP检查和计算:每个字需要穿过内存总 线7~9次! 不同内存区域之间的拷贝(copy2,copy3): *每个字都要通过内存总线读一次和写 *计算TCP检查和:每个字都要通过内存总线读一次 *涉及外设的拷贝(copy1,copy4): *如果由CPU做拷贝(PIO):每个字都要通过内存总线 读一次和写一次 *如果由设备做拷贝(DMA):每个字只需通过内存总 线读一次或写一次 *涉及外设的拷贝都需要消耗IO总线带宽
资源消耗情况 拷贝和TCP检查和计算:每个字需要穿过内存总 线7~9次! 不同内存区域之间的拷贝(copy 2,copy 3): 每个字都要通过内存总线读一次和写一次 计算TCP检查和:每个字都要通过内存总线读一次 涉及外设的拷贝(copy 1,copy 4): 如果由CPU做拷贝(PIO):每个字都要通过内存总线 读一次和写一次 如果由设备做拷贝(DMA):每个字只需通过内存总 线读一次或写一次 涉及外设的拷贝都需要消耗I/O总线带宽

对服务器吞吐量的影响 *在上面的例子中: *Web服务器吞吐量不超过T/7,T为内存速度和内存总线 速度中的较小值 *有效的文件缓冲区大小仅为总容量的1/3 多余的拷贝在两个方面损害了服务器的性能: *由于使用了过多的总线和内存带宽,服务器的运行速 度远远低于总线速度 *由于使用了过多的内存,服务器不得不大量地从磁盘 而不是主存读文件 *如果请求动态内容,还要增加一次拷贝(CG|程序 →>Web服务器)
对服务器吞吐量的影响 在上面的例子中: Web服务器吞吐量不超过T/7,T为内存速度和内存总线 速度中的较小值 有效的文件缓冲区大小仅为总容量的1/3 多余的拷贝在两个方面损害了服务器的性能: 由于使用了过多的总线和内存带宽,服务器的运行速 度远远低于总线速度 由于使用了过多的内存,服务器不得不大量地从磁盘 而不是主存读文件 如果请求动态内容,还要增加一次拷贝(CGI程序 →web服务器)

请求动态内容 1. User fills in forr Data 2. Form sent back CGI ase 3. Handed to CGI Browser Server script on disk User 4. CGI queries DB 5. Record found 2 4 6. CGI builds page 5 7. Page returned 8. Page displayed Step6:CG|程序将构造好的网页文件,通过进程间通信 机制传给Web服务器程序,涉及一次拷贝
请求动态内容 Step 6:CGI 程序将构造好的网页文件,通过进程间通信 机制传给web服务器程序,涉及一次拷贝

52消除copy4 CPU MEMORY Web server application copy 3 Server buffer K, *为什么需要 Iwrite reado↓ copy 4? Kernel TCP/IP File system Socket buffer opy 2 File cache buffer ks 简单的解释: *适配器内存和 MEMORY BUS Copy 1 内核存储空间 DISK 不在同一个硬 1/O BUS 件上 NETWORK ADAPTOR Network 但是,这个理 FIGURE 5.2 Redundant copies involved in handling a GET request at a server 由不充分!
5.2 消除copy 4 为什么需要 copy 4? 简单的解释: 适配器内存和 内核存储空间 不在同一个硬 件上 但是,这个理 由不充分!
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《数值分析》课程教学资源(PPT课件讲稿)第1章 插值.ppt
- 中国科学技术大学:《算法基础》课程教学资源(PPT课件讲稿)第四讲 递归和分治策略(主讲人:吕敏).pptx
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第10章 密钥管理与其他公钥体制.pptx
- 《数据结构 Data Structure》课程教学资源(PPT课件讲稿)第四章 数组、串与广义表.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 1 Introduction.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 树.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 中国科学技术大学:A Practical Verification Framework for Preemptive OS Kernels(PPT讲稿).ppt
- 《算法设计与分析基础》课程教学课件(PPT讲稿)Chapter 2 Fundamentals of the Analysis of Algorithm Efficiency.ppt
- 中国医科大学:《计算机基础》课程教学资源(PPT课件)第8章 Internet应用基础.ppt
- RDA Testing & Comparison with AACR2(session 1).ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 2 Application Layer.ppt
- 《计算机网络》课程电子教案(PPT教学课件)第二章 物理层.pptx
- 同济大学:企业电子商务系统(PPT讲稿)Enterprise Electronic Business Systems.ppt
- 分布式数据库(PPT课件讲稿)Distributed DBMS Architecture.ppt
- 计算机网络 The Network Layer(PPT课件讲稿)网络互联、Internet上的网络层.ppt
- 《编码理论》课程电子教案(PPT课件讲稿)第二章 信息量和熵.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)代码优化——全局数据流分析技术.ppt
- 网络应用软件(PPT课件讲稿)第一讲 客户-服务器概念、协议端口的使用、套接字API.ppt
- 西安电子科技大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第一章 数制与码制(主讲:王晓甜).pptx
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第三章 流水线技术.pptx
- 北京航空航天大学:动态拼车服务中的高效插入操作(PPT讲稿)An Efficient Insertion Operator in Dynamic Ridesharing Services.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第一章 概述(主讲:马涛).pptx
- 计算机语言的学科形态与发展历程(PPT课件讲稿).ppt
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)概述(主讲:岳鹏).ppt
- 南京航空航天大学:《C++》课程电子教案(PPT课件讲稿)第4章 类的高级部分.ppt
- 《神经网络和模糊系统》课程教学资源(PPT讲稿)第四章 突触动力学、非监督学习.ppt
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,4th edition)Chapter 1 Introduction.ppt
- 清华大学:不确定型决策(PPT讲稿)Decision Making under Uncertainty.pptx
- 西安电子科技大学:《计算机网络 Computer Networks》课程教学资源(PPT课件讲稿)第五章 传输层.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第七章 贝叶斯分类器 MACHINE LEARNING.pptx
- 清华大学:计算机科学与技术(PPT讲稿)组播 Multicast.pptx
- 《网络算法学》课程教学资源(PPT课件讲稿)第四章 原则的运用.ppt
- 《电子商务概论》课程教学资源(PPT课件讲稿)第7章 电子商务与物流.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿,第三版)Chapter 04 网络层 Network Layer.ppt
- Efficient Algorithms for Optimal Location Queries in Road Networks.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)质量管理计划(主讲:周立新).ppt
- Flexible Online Task Assignment in Real-Time Spatial Data.pptx
- 《机器学习》课程教学资源(PPT课件讲稿)第10讲 决策树.ppt
- 《物联网技术导论》课程教学资源(PPT讲稿)Continuous Scanning with Mobile Reader in RFID Systems - an Experimental Study.pptx