二部分端节点算法学.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第二部分端节点算法学

端节点算法学数据拷贝(chapter5)控制转移(chapter6)解复用(chapter7)定时器(chapter8)其它一般性协议处理任务(chapter9)研究如何减少以下开销:端节点算法学:网络算法学在端节点(尤其是服务器)上的运用,是建立高速服务器的一组系统性技术。

第五章拷贝数据

消除不必要的拷贝(P1)计算机中额外的拷贝消耗两个宝贵的资源:内存带宽:如果处理一个消息涉及k次拷贝,系统吞吐量可能降至1/k内存:如果一个消息在内存中存k份,有效内存容量降至1/k一个拷贝如果不是由硬件要求的,该拷贝是不必要的。消除多余的拷贝使得软件接近实现硬件的潜力,是网络算法学的目标之一。

5.1为什么要拷贝数据应用场景:用户向web服务器请求一个文件服务器从磁盘读出文件,发送到网络上

单击此处可添加副标题资源消耗情况拷贝和TCP检查和计算都要消耗内存总线带宽不同内存区域之间的拷贝(copy2,copy3):每个字都要通过内存总线读一次和写一次计算TCP检查和:需对每个字读一次涉及外设的拷贝(copy1,copy4):如果由CPU做拷贝(PIO):每个字都要通过内存总线读一次和写一次如果由设备做拷贝(DMA):每个字只需通过内存总线读一次或写一次涉及外设的拷贝还消耗I/O总线带宽

对服务器吞吐量的影响Web服务器吞吐量不超过T/7,T为内存速度和内存总线速度中的较小值。有效的文件缓冲区大小仅为总容量的1/3。在上面的例子中:由于使用了过多的总线和内存带宽,服务器的运行速度低于总线速度。由于使用了过多的内存,服务器不得不大量地从磁盘而不是主存读文件。多余的拷贝在两个方面损害了服务器的性能:

请求动态内容

5.2消除Copy4为什么需要copy4?适配器内存位于适配器上,而内核存储空间位于存储子系统中。理论上,在一个内存映射的体系结构中,内存可以位于总线上的任何地方,包括在适配器中。利用网络适配器中已有的存储空间(P4,利用系统组件)和内核存储空间放置的自由度(P13,利用自由度),可以将部分内核空间放在网络适配器中。

如何计算检查和?Witless方法(P2c,共享开销):CPU读入每个字时,捎带计算检查和。Afterburner适配器(TCPoffloadingengine):数据传输由网卡通过DMA完成,网卡使用特殊的硬件在传输数据的同时计算检查和。缺点:网络适配器需要很大的内存空间来支持大量的高速TCP连接,网卡成本很高。在Witless方法中,出错的数据包可能写入应用缓冲区,这可能是Witless方法从未被实施的原因。

5.3消除Copy3应用和内核之间需要一次拷贝有两个原因:应用程序在write()之后可能修改其缓冲区,而TCP需要缓存数据以备重发,应用和内核之间通过数据拷贝可以解除耦合。应用程序和内核程序使用不同的虚拟地址空间,需要通过拷贝来传递数据。

写时拷贝的原理写时拷贝(copy-on-write):当应用程序对内核执行一个写时拷贝时,通过修改一些描述符,将内核缓冲区映射到应用缓冲区的物理内存页上。当应用程序试图修改其缓冲区时,内核进行真正的拷贝(P2b),但这种情况很少发生。这里运用了LazyEvaluation(P2b)来优化预期情形(P11)。

使用写时拷贝的示意图

写时拷贝的实现02当对X进行写时拷贝时:内核修改页表,令Y指向物理页P将X表项的COW保护位置位03当应用试图写页X时:硬件读X的COW位,发现置位,产生一个异常。操作系统将物理页P拷贝到物理页P’,清除X的COW位,令X指向P’,Y继续指向P。举例:假定进程P1的虚拟页X映射到物理页P,操作系统要复制X的内容到进程P2的虚拟页Y。01

写时拷贝的实现(续)对于不提供写时拷贝功能的操作系统(如UNIX和Windows):可以通过修改页表避免物理拷贝需要找到一种替代COW位的保护机制

5.4优化页面重映射对页面映射过于简单的看法是,只需修改进程2的页表,使VP8指向存放包数据的物理页。(X)

页面重映射的开销实际映射可能要求修改多级页表,涉及多次写。当新的地址映射写入页表时,相关的TLB表项要清除或修正。为防止页被换出,必须锁住物理页。修改页表前后要有请求锁和释放锁的开销。系统要在目标进程中找到一个空闲的页表表项。0102030405修改多级页表:01刷新TLB:03锁住物理页:0502要求锁操作:04在目标域中分配虚拟内存:

Fbufs(fastbuffers)基本观察:如果一个应用正在通过内核向网络发送大量的数据包,那么一个缓冲区可能会被重用多次。方法一:提前分配好需要的包缓冲区,并计算好所有的页面映射信

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档