举报文档 收藏
/30
帮帮创意 > 其他文档 > 第二部分 端节点算法学.ppt

第二部分 端节点算法学.ppt

第二部分 端节点算法学.ppt
内容要点:
第二部分 端节点算法学,第二部分 端节点算法学端节点算法学? 端节点算法学:T 网络算法学在端节点(尤其是服务器)上的运用,是建立高速服务器的一组系统性技术。? 研究如何减少以下开销:T 数据拷贝( chapter 5)T 控制转移( chapter 6)T 解复用( chapter 7)T 定时器( chapter 8)T 其它一般性协议处理任务 ( chapter 9)第五章 拷贝数据消除不必要的拷贝( P1)? 计算机中额外的拷贝消耗两个宝贵的资源:T 内存带宽:如果处理一个消息涉及 k次拷贝,系统吞吐量可能降至 1/kT 内存:如果一个消息在内存中存 k份,有效内存容量降至 1/k? 一个拷贝如果不是由硬件要求的,该拷贝是不必要的。? 消除多余的拷贝使得软件接近实现硬件的潜力,是网络算法学的目标之一。 5.1 为什么要拷贝数据? 应用场景:T 用户向 web服务器请求一个文件T 服务器从磁盘读出文件,发送到网络上 资源消耗情况? 拷 贝 和 TCP检查 和 计 算都要消耗内存 总线带宽? 不同内存区域之 间 的拷 贝 ( copy 2, copy 3):T 每个字都要通 过 内存 总线读 一次和写一次? 计 算 TCP检查 和: 需 对 每个字 读 一次? 涉及外 设 的拷 贝 ( copy 1, copy 4):T 如果由 CPU做拷 贝 ( PIO):每个字都要通 过 内存 总线读 一次和写一次T 如果由 设备 做拷 贝 ( DMA):每个字只需通 过 内存总线读 一次或写一次T 涉及外 设 的拷 贝还 消耗 I/O总线带宽对服务器吞吐量的影响? 在上面的例子中:T Web服务器吞吐量不超过 T/7, T为内存速度和内存总线速度中的较小值 。T 有效的文件缓冲区大小仅为总容量的 1/3。? 多余的拷贝在两个方面损害了服务器的性能:T 由于使用了过多的总线和内存带宽,服务器的运行速度低于总线速度。T 由于使用了过多的内存,服务器不得不大量地从磁盘而不是主存读文件。 请求动态内容5.2 消除 Copy 4? 为什么需要 copy 4?T 适配器内存位于适配器上, 而 内核 存储 空间位于存储子系统 中。? 理论上, 在一个内存映射的体系结构中,内存可以位于总线上的任何地方 ,包括在适配器中。? 利用网络适配器中已有的存储空间( P4,利用系统组件 )和内核存储空间放置的自由度( P13,利用自由度 ),可以将部分内核空间放在网络适配器中。如何计算检查和?? Witless方法( P2c,共享开销 ) :T CPU读 入每个字时,捎带计算检查和。? Afterburner适配器( TCP offloading engine) :T 数据传输由网卡通过 DMA完成,网卡使用特殊的硬件在传输数据的同时计算检查和。? 缺点:T 网络适配器需要很大的内存空间来支持大量的高速 TCP连接,网卡成本很高。T 在 Witless方法 中,出错的数据包可能写入应用缓冲区,这可能是 Witless方法从未被实施的原因。5.3 消除 Copy 3? 应用和内核之间需要一次拷贝有两个原因:T 应用程序在 write()之后可能修改其缓冲区,而TCP需要缓存数据以备重发,应用和内核之间通过数据拷贝可以解除耦合。T 应用程序和内核程序使用不同的虚拟地址空间,需要通过拷贝来传递数据。写时拷贝的原理? 写时拷贝( copy-on-write):T 当应用程序对内核执行一个写时拷贝时,通过修改一些描述符,将内核缓冲区映射到应用缓冲区的物理内存页上。T 当应用程序试图修改其缓冲区时,内核进行真正的拷贝( P2b), 但这种情况很少发生 。? 这里运用

发表评论

暂无评论,赶快抢占沙发吧。

咨询 关注

扫描手机访问

反馈 足迹 顶部