- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第六章传输控制
第五章关注减少与数据操作有关的开销,主要是数据拷贝。本章关注减少数据包处理过
程中的控制开销,包括中断处理、系统调用、进程上下文切换等。
6.1为什么会有控制开销
第五章用web服务器发送文件作为例子,让我们看到在响应get请求的过程中涉及到了
哪些拷贝过程。本章用一个处理大量客户请求的web服务器作为例子,说明在这个服务器
中涉及到了哪些控制开销。
我们来看一下GET请求的服务过程:……
根据上面的叙述,这里的控制开销包括了一次中断处理和两个系统调用。其实这个描述
还是比较粗的,控制开销还不止这些。下面我们看一下不同的代码组织方式还会带来什么样
的控制开销。
代码组织和进程切换
首先看一下网络代码,网络代码是用于处理数据包的代码。我们知道网络功能是按层次
组织的,如果采用简单的结构化,即每一层实现为一个进程,则处理一个数据包要涉及进程
切换。一次进程调度的典型时间是几百微秒,远远高于一个数据包的到来时间(包长/链路
速率),因此这种代码组织方式的控制开销极大。
如果将所有层实现为一个进程,则数据包处理过程中不涉及进程切换,其控制开销是最
小的。目前,大多数网络代码采用的是这种整体化结构。
下面再看web服务器的代码组织方式。前面针对web处理的描述只是关于一个客户的,
我们现在考虑一个服务于几千个并发客户的大型web服务器。
在一个极端上,每个进程服务一个客户,并发度最大(当客户1正在等待磁盘读时,客
户2可以发送网络包),代价是进程调度开销很高。
在另一个极端上,一个进程服务所有客户,这里没有进程切换,但是这个进程必须自己
调度客户来最大化并发度。
一种折中的方法是将客户划分成组,每个组由一个进程处理。
可见,如果应用代码和网络代码组织得很差的话,可能导致相当大的控制开销。这里主
要考虑是权衡调度开销和并发度。
Web服务器中的控制开销
图6.2给出了web服务器中涉及的控制开销。由于本章关注传输控制开销,因此图中忽
略了和数据传输有关的方面,用了一个简化的架构图,重点关注网络适配器与CPU之间、
应用和内核之间、各种应用级进程之间与控制有关的相互作用。为简单起见,图中只画了一
个CPU和一个适配器。
适配器和CPU之间存在中断处理开销;应用和内核之间存在系统调用开销。
不同的内核子系统之间存在进程切换开销(在等待磁盘I/O时,可以继续处理到来的包)。
如果网络代码组织得不好,协议栈内部也存在进程切换开销。
应用层上如果每个客户作为一个进程,或者一组客户由一个进程处理,则存在应用级进
程之间的切换开销。这里不同的组织方式关系到调度开销与并发度的权衡。
如果所有客户由一个应用进程处理,应用进程需要自己调度客户,为此需要知道之前启
动的I/O操作(如读文件、等待收包)是否结束了。许多操作系统为此目的提供了一个系统
调用,在图6.2中笼统地称它为FindActive(),返回已经完成I/O操作的描述符。
从这张图可以清楚地看到,控制开销包括进程切换、系统调用和中断处理三种。
本章考虑的控制开销
本章主要关注进程切换、系统调用和中断处理三种开销,这三种开销的数量级如下:进
程切换几百微秒,系统调用几十微秒,中断处理几微秒。这些数字意味着什么呢?如果在一
个10Gbps的以太网链路上传输最小长度(64字节)的包,则每隔51.2ns会到来一个包。
很显然,我们必须想方设法降低控制开销。特别是,随着CPU的速度越来越高,与进
程切换、系统调用和中断处理相关的开销并没有显著降低(因为这些开销与访存有很大关系)。
下面我们就来介绍如何解决图6.2中描述的瓶颈。
6.2避免网络代码中的调度开销
前面讲到,进程切换开销与代码组织很有关系,所以我们从代码组织入手。
我们首先考虑网络代码的组织,我们看一下现代计算机系统是怎么组织协议栈代码的。
UNIX将所有协议代码作为……
目前普遍认为两次上下文切换的开销是很高的,能不能减少上下文切换的次数呢?可以,
这就是在用户空间实现协议栈。
在用户空间实现协议
用户级协议实现的基本思想是,协议处理与应用在同一个进程中,可以通过upcall进行
通信。
在用户空间实现协议栈有许多好处,……。最早提出用户空间协议栈是为了解决协议栈
定制、维护等问题,在高速网络出现之后,用户空间协议栈更多地
您可能关注的文档
- 陈列设计工作总结.docx
- 银行信贷员工作述职报告.docx
- 项目六固定资产管理子系统(ppt课件).pdf
- (实用)军训心得体会.docx
- 项目管理应用软件总体方案.pdf
- 2023年08月内蒙古兴安盟事业单位暨乡村振兴边境旗县专场公开招聘412人笔试参考题库附答案解析.pdf
- 商业计划书创业计划PPT模板课件.pdf
- 金蝶学习软件日积月累知识.pdf
- 更新采伐护路林审批指南.pdf
- 过春节的传统600字说明文5篇作文.docx
- ABB REX640 保护和控制继电器 适用于高级发电和配电应用的一体化保护装置 数据表(中文).pdf
- honeywell霍尼韦尔SmartLine® 电子远传变送器产品文档.pdf
- Fujifilm 富士胶片 ApeosWare Management Suite 2 GM1216C2-6 说明书.pdf
- Panasonic松下HBC软件YA-2KPMV1F01说明书用户手册.pdf
- Colorlight卡莱特AI智能媒体中心AX6K 产品规格书 V1.0说明书用户手册.pdf
- ABB Prerequisite SOP for ServiceNow Discovery BAU 操作说明(英语).pdf
- YJ扬杰SiC MOSFET模块 MC14HFZ12C1N规格说明书.pdf
- YJ扬杰IGBT模块 MG40P12E2A规格说明书.pdf
- YJ扬杰IGBT单管 DGB20N65CTL1K规格说明书.pdf
- ApeosWare 管理套件 系统要求 Management Suite 2 入门指南.pdf
最近下载
- 陕西省榆林市2025-2026年高三上12月联考物理试卷.docx
- 化工原理实验考试及答案.doc VIP
- 年产2000吨3-溴-1-(3-氯吡啶-2-基)-1H-吡唑-5-甲酸、600吨2-氨基-(N,3)-二甲基苯甲酰胺、500吨2-氨基-5-氰基-(N,3)-二甲基苯甲酰胺产品技改项目环境影响报告书.pdf VIP
- 抖音文案创作课件.pptx
- 如何把手机里删掉的短信找回来手机短信恢复技巧指南.docx VIP
- T∕CMATB 7001-2020 冷冻肉冷藏规范.docx VIP
- 药物治疗进展与合理用药.pptx VIP
- 儿科神经系统疾病与病例解析知到智慧树期末考试答案题库2025年浙江大学.docx VIP
- 肿瘤治疗合理用药进展.pptx VIP
- 护理质量持续改进项目——降低住院病人压疮发生率.pdf VIP
原创力文档


文档评论(0)