模型的重要性.docVIP

  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文档。上传文档
查看更多
模型的重要性.doc

模型的重要性 网络算法学的一个中心难题是,它要求跨领域的知识,包括协议、硬件、体系架构、操作系统、算法等。但是一个人不可能对所有这些领域都非常了解,因此需要不同领域的专家协作才能设计出高效的网络系统。 不同领域的专家之间如何进行有效的对话呢?这时模型就很有用了,模型既可以把问题讲清楚,又不涉及不必要的细节。 最低程度,模型应能定义所需要的术语,这样不同领域的专家就能交流了(能听懂对方的话了)。最好情况:领域外的专家可以根据模型进行设计,并可由领域内的专家对设计进行检验。比如,算法设计者虽然不懂得硬件,但能够根据硬件专家给出的模型设计出与硬件相匹配的算法,并在硬件上进行验证。这正是本章的目的。 下面给出几个与网络计算机系统性能有关的抽象模型。 2.1 协议抽象模型 协议是网络的核心,各种网络功能都是通过执行协议来实现的。协议定义了对等实体之间通信的规则,对等实体之间通过交换报文来实现通信。网络协议定义了报文的格式和交换次序,……,协议还定义了调用接口。 因此,可将协议看成是一个加上了接口和报文格式的状态机。所有协议都可以抽象为图中的状态机模型:……。 常见而耗时的功能 这门课关注的是系统性能,而TCP/IP协议是因特网的核心,所以我们把基于TCP/IP的协议状态机需要经常执行而又非常耗时的功能抽象出来,这些功能正是我们优化实现的重点。图示的模型将贯穿于整个课程中。 图的中部是协议处理部分(传输层、网络层);图的下部是与网络的接口部分,涉及数据包的收发;图的上部是应用程序部分,涉及应用数据的交付。 在图的下部(Data Manipulation):协议状态机必须从网络接收和发送数据包。这涉及到数据操作,即必须读或写数据包中的每一个字节(当操作时间与数据长度成正比时,通常认为这是一个高开销的操作)。在此过程中需要分配资源,如分配缓冲区、CPU时间等(缓冲区分配、任务调度都需要操作系统参与)。 图的中部(Protocol processing)描述了许多协议都需要的一些功能,协议处理开销随着包数量的增加而增大: (1)很多协议允许将大块数据分成小段传输,因而需要重组功能。 (2)协议都需要查找或者修改一些状态。例如,每个TCP包到来都会导致TCP去查找TCP连接表并修改连接状态,每个IP包到来都会导致IP去查找转发表等。 (3)协议都需要设置定时器。 (4)如果协议模块需要处理多个不同的客户程序,它需要有效地调度这些客户,例如TCP必须调度对不同连接的处理。 在图的上部:协议状态机必须将数据包交付(Demultiplex)给某个客户程序。在某些情况下,客户程序程序需被激活,产生开销较大的控制切换(control transfer)。比如,当TCP收到一个web页时,根据端口号将数据包交给web浏览器程序,并可能需要唤醒运行浏览器的进程。当目标程序很多的时候,解复用和控制切换都会产生很大的开销。 本课程的主要内容就是仔细研究这些功能的实现。我们会看到,尽管这些常见功能一般来说开销很大,但是通过正确的技术是可以降低它们的开销的。 重要的性能度量 网络中两个最重要的性能指标:吞吐量,延迟。 我们比较熟悉比特速率这个指标,但在某些情况下我们更关注包速率这个指标。比如,对于路由器来说,每个包的处理开销是差不多的,包括包头检查、IP地址表查找等。包的长度越短,单位时间内包的数量就越多,路由器的负担就越重,因此包速率是更能够反映路由器处理能力的指标。因此在做路由器压力测试时,输入的都是最小长度的包。当然,如果我们关注与数据处理有关的功能,比如内容扫描、加密/解密等,那么长包的处理压力大,这时我们会采用比特速率这个指标。 线速处理是网络系统优化的重要目标之一。为满足线速处理要求(当前数据包必须在下一个包到来前处理完),必须限制最坏情况下数据包的处理时间。所以,往往我们对最坏情况延迟更感兴趣。 性能测量分为全局性能测量(如端到端延迟和带宽)和本地性能测量(如路由器查找速度)。尽管全局性能测量对于整个网络的性能很重要,但本课程只关注本地性能测量。 大多数网络管理工具(如HP的OpenView)用于全局测量,本地测量需要的工具是在计算机内部测量性能的工具,比如英特尔的VTune。 因特网环境的特点 当我们优化任何一个系统时,都要考虑它的运行环境。不要试图做出一个在各种情况下都最优的系统,因为通用和最优也是一对矛盾。就像我们前面介绍过的DIR24-8算法,它充分利用了因特网中绝大多数路由表项的前缀不超过24位、24位索引表消耗内存空间不大这个特点设计的,对于长度为128位的IPv6地址就不适用。(将来你们做研究时也要注意这个问题) 因此,我们要设计因特网中的高效网络系统,那么一定要了解因特网环境的特点。 链路速度:链路速度高意味着包的最大处理时

文档评论(0)

yanzhaoqiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档