主动队列对web性能影响的研究论文.doc

上传人:仙人指路1688 文档编号:3934128 上传时间:2023-03-28 格式:DOC 页数:27 大小:835.50KB
返回 下载 相关 举报
主动队列对web性能影响的研究论文.doc_第1页
第1页 / 共27页
主动队列对web性能影响的研究论文.doc_第2页
第2页 / 共27页
主动队列对web性能影响的研究论文.doc_第3页
第3页 / 共27页
主动队列对web性能影响的研究论文.doc_第4页
第4页 / 共27页
主动队列对web性能影响的研究论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《主动队列对web性能影响的研究论文.doc》由会员分享,可在线阅读,更多相关《主动队列对web性能影响的研究论文.doc(27页珍藏版)》请在三一办公上搜索。

1、主动队列对WEB性能影响的研究摘要我们首先呈现一个关于主动队列管理技术(AQM)和显式堵塞通知在网络中经历大量用户浏览网页后响应时间的分布情况的经验研究。三种著名的方案可以考虑:比例积分(PI)控制器,随机指数标记(REM)控制器和自适应随机早期检测(ARED)。研究了在有显式堵塞通知和无显式堵塞通知下这些AQM方案的影响。我们的主要衡量性能指标是端到端的HTTP请求-响应交换响应时间。对于这种方法,我们的主要结果是:如果不支持显式堵塞通知,ARED操作在字节模式是表现最好的AQM方案,提供比尾部丢包FIFO排队在提供的负载超过链路容量的90%时有更好的响应时间性能。然而,ARED操作在包模式

2、(有或没有显式堵塞通知)是表现最差的方案。甚至比尾部丢包FIFO排队还要差。显式堵塞通知支持有利于PI和REM。在显式堵塞通知下,PI和REM是所有方案中表现最佳的方案,显式堵塞通知为在字节模式下的ARED操作提供重要的响应时间改进。对于REM, 显式堵塞通知带来的好处是戏剧性的。没有显式堵塞通知,REM比尾部丢包的FIFO排队在所有负载下的响应时间性能都还要差。AQM对于响应时间是否有重大的改善很大程度上依赖于流经历的往返时延的分布情况,当流的RTT增加时引起AQM和显式堵塞通知对于响应时间性能的影响降低。我们得出结论,AQM可以提高网页类应用程序和网络性能的工作负载。特别是,在AQM和显式

3、堵塞通知下,提供的链接可以在接近饱和水平没有明显退化上操作达到用户预期的性能。关键字:网络拥塞控制;AQM算法;标记/丢失概率;PI控制器第一章 引言计算机科学的迅速发展是20 世纪科学发展史上最伟大的事件之一,标志着人类社会进入了信息时代。随着现代高科技技术的发展,计算机技术和通信技术的结合形成了计算机通信系统。计算机网络就是把分布在不同地点的具有独立功能的多台计算机系统通过通信线路和设备互相连接在一起,按照网络协议进行信息通信,实现资源共享的计算机通信系统。20 世纪80 年代出现的Internet 是现在全球最大的计算机网络。Internet 在过去的几十年经历了爆炸式发展。1980年A

4、RPA 网(Internet 的前身)只包含200 台计算机,从1986 年接入6000 台计算机开始,5 年后数量就达到了60 万,一直到上一世纪末,全球Internet 用户达到2 亿之多。现在Internet 网络的容量与规模仍以惊人的速度继续不断的向前发展,人类日常的生活与工作也越来越觉得离不开Internet。Internet 的出现使得传统的信息获取、传送、存储和处理方式发生了根本的变化,人们的生活与工作方式也随之发生了很大的变化。Internet 网络的强大功能使得计算机网络在社会各个领域已有广泛的应用,对全世界科学、经济和社会产生了重大影响。Internet 网络使终端与计算机

5、之间、计算机与计算机之间能快速地相互传输数据、程序和信息,并可对这些数据信息进行分散、分级、集中管理和处理,从而使用户解除了地理位置的束缚,提高了数据处理的速度。如自动订票系统、银行财经系统、政府的计划统计系统、气象数据收集系统等。Internet 网络可以让用户充分利用计算机系统共享网络上的软件资源和硬件资源。如大容量磁盘存储器、异常昂贵的外部设备、数据库、应用软件等,使得网络中分散的资源互通有无,分工协作,资源使用率大为提高,处理能力大为增强,处理的平均费用大为下降。Internet 网络上设备分散,数据安全可靠。当网络上某处计算机发生故障时,可由别处的计算机代为处理,也可把数据备份到其他

6、计算机上,有网络作为公用后备,投资少,效益高。当某处计算机负担过重时,可将新的作业传送到网络中另一个较空闲的计算机上去处理,从而减少了用户等待时间,均衡了网络负载。多媒体网络的应用,使声、文、图像多种信息的收集、传送、存储和处理融为一体,给计算机网络用户提供了很大的方便。如用户可以在网络上收听广播、收看电视、查询信息等。随着网络应用范围不断扩大,用户数量的爆炸式增长,Internet 遇到了网络拥塞的问题。所谓拥塞(Congestion)是指在某一时刻,当网络中某一资源的到达量超过了该资源在相关网络节点的承载量时,称该节点在该时刻发生了拥塞。拥塞导致的直接后果是分组丢失率提高,端到端延时加大,

7、网络性能降低,严重时会产生拥塞崩溃,几乎没有数据包可以送达目的地。拥塞崩溃的出现可以追溯到Internet 的早期发展中。1984 年Nagle 报告了由于TCP 连接中不必要的重传所诱发的拥塞崩溃,19861987 年间这种现象在美国曾经多次发生,严重时一度使美国LBL 到UC Berkeley 之间的数据吞吐量从32Kb/s 跌落到了40b/s。拥塞崩溃在20 世纪80年代中期最先提出的时候,主要是由于TCP 连接重传那些正在传送或己经被接收方接收了的数据包所引起。我们将这种由于不必要的重传数据包而引起的拥塞崩溃称为典型拥塞崩溃。典型拥塞崩溃的问题己经通过定时器和TCP 的改进应用而基本得

8、到解决。当今的Internet 中的拥塞控制机制代表着一种最大利用的人工反馈系统,随着Internet 在规模、应用种类、应用领域的不断扩大,拥塞控制在多网络融合方面起着日益重要的作用。人们一致认为这种成为社会基本资源的网络如何得到有效控制已经变得日益紧迫了。鉴于网络的规模和复杂性,传统的拥塞控制开始是基于直接推断、实验证明的方法,直到本世纪初,国外研究人员开始尝试使用分析模拟和反馈控制理论。最近几年,人们把分析模型用于Internet 的拥塞控制6。拥塞控制策略包括拥塞避免(Congestion avoidance)和拥塞控制(Congestion control)两种不同的机制。拥塞避免是

9、“预防机制”,它的目标是避免网络进入拥塞状态,使网络运行在高吞吐量、低延迟的状态。拥塞控制是“恢复机制”,作为拥塞避免失败的补救措施。拥塞控制的研究目的不是完全避免拥塞,而是研究怎样的拥塞程度更为合适。这是因为:TCP/IP 网络采用分组交换技术来提高网络链路的利用率,经常造成数据包在路由器的缓存中排队待发;如果队列缓存经常为空,虽然传输延迟小,但此时网络利用率低;反之,队列缓存总被占用,传输延迟加大了,但网络利用率较高。拥塞控制的目标是实现网络综合指标的最优化。根据拥塞控制算法实现的位置可以分为两大类:在传输层实现的源端拥塞控制,已被广泛应用的是TCP 拥塞控制;在网络层实现的通信子网拥塞控

10、制,也称为IP 拥塞控制。当网络中传输的数据分组接近网络的处理能力时,网络中间节点(如交换机、路由器等)设备缓存(buffer)中等待服务的数据分组队列(queue)会逐渐增大,在网络中的分组由于往返时间的增大有可能导致发送端定时器超时,而发生数据重传现象。如果队列长度超出中间节点的缓存中队列的容量,分组就会由于队列溢出而被丢弃。网络中发生分组丢失或者重传现象,就标志着发生了网络拥塞。如果不采用及时的、适宜的方法去控制网络拥塞,保证网络稳定运行,将导致网络瘫痪。因此在网络中为了避免出现网络拥塞,最大限度提高网络的利用率,最大可能地保证网络的稳定运行,保证网络信息的可靠传输,采用有效的拥塞控制机

11、制是非常重要的。拥塞会造成网络吞吐量的急剧下降和响应时间的增加。图1.1 中是网络有拥塞控制算法和无拥塞控制算法时有效吞吐量对于网络负载的变化曲线。由图可知,如果不采用拥塞控制机制,当网络负载较大时会导致有效吞吐量的急剧下降,而有效的拥塞控制机制能使网络在这种情况下仍然维持较高的有效吞吐量。在Internet 中,拥塞控制算法根据其实现的位置可以分为源算法(source algorithm)和链路算法(link algorithm),也可以分别称之为端节点算法和中间节点算法,两者协作完成网络的拥塞控制。其中链路算法的研究主要集中在主动队列管理(Active Queue Management,A

12、QM)。AQM 的思想是:网络中间节点在队列溢出之前通过丢弃或标记部分分组,以通知端系统网络的拥塞状况,端系统及时对可能发生或者已经发生的拥塞进行响应,避免即将发生的拥塞或者缓解已经发生的拥塞。AQM 算法使网络中间节点主动的参与到拥塞控制之中,期望在保证较高吞吐量的基础上,中间节点上的AQM 机制有效地控制队列长度,从而实现控制端到端的时延和时延抖动,保证网络的服务质量(Quality of Service,QoS)。AQM 是近年来拥塞控制领域的一个研究热点,AQM 机制可以减少数据分组的突发性丢弃,减小端到端延迟,并可以避免少数连接流占用大多数队列资源现象的发生。AQM 是当前拥塞控制研

13、究的一个热点。但是已提出的AQM 算法大多数是基于经验,启发式的算法,没有用系统理论的观点进行分析和设计。近几年系统控制理论被引入到拥塞控制的研究中,已经有一些基于控制理论的AQM 算法被提出,但大多此类算法都是基于传统控制理论(包括经典控制理论和现代控制理论)设计的。由于网络的复杂性和时变特性,这些算法的实用性和有效性还存在一些问题,需要更进一步的研究。 第二章 经典AQM算法在使用AQM算法的网络中间节点中,路由器根据自身拥塞状况对分组进行转发、丢弃/标记。图2.1是在路由器使用AQM控制机制的框图。AQM机制根据缓冲区队列长度或者其它测度检测拥塞,计算丢弃/标记数据分组的概率。中间节点通

14、过对分组的丢弃或标记,及时通知端系统网络的拥塞状况,发送端可以及时的调整自己的数据发送速率,尽量避免拥塞的产生。图2.1 在路由器中使用主动队列管理当前AQM 算法的研究根据其研究方法和思想主要可以分为以下几种:(1)基于经验的启发式算法,如RED;(2)基于优化理论的算法,如REM;(3)基于控制理论进行已有的算法稳定性分析、参数整定或者设计新的AQM 算法,如PI; 2.1 RED算法随机早期检测(Random Early Detection,RED)由Floyd 等提出的RED是目前已提出的最主要的AQM 的算法。它在队列溢出之前以一定概率丢失或标记分组,及时通知端系统网络的拥塞情况,以

15、便发送端对发送速率做出调整,减小网络发生拥塞的可能性。RED 算法由两部分组成,每当有新的分组到达队列时:(1)由瞬时队列长度计算出平均队列长度;(2)根据平均队列长度计算丢弃概率,并以此概率丢弃刚到达队列的分组。平均队列长度avg和丢弃概率p的计算方法,分别见式(2.1)和(2.2): (2.1) (2.2)其中: 为计算avg的权值,q为瞬时队列长度。式中: 为最小阈值, 为最大阈值,为最大概率。图2.2所示为RED中丢弃概率与平均队列长度之间的函数关系。RED 使用平均队列长度而不是瞬时队列长度进行网络拥塞程度的度量,其计算平均队列长度的过程本质上是一个截止频率为,(其中 为采样间隔,在

16、RED 中即为分组到达的间隔时间)的低通滤波器,目的是为了平滑由于数据突发产生的瞬间的队列变化。从控制理论的角度分析,计算丢弃概率p 的部分是一个比例控制器。RED算法与Drop-Tail相比,可以有效的控制平均队列长度,从而控制了端到端的延时,同时减少了分组的突发性丢弃,避免了TCP全局同步问题。此外由于RED算法的随机丢弃机制,占用带宽越高的流的分组越容易被丢弃,所以算法可以在无需维护每个流状态的前提下提供一定程度的公平性,避免死锁问题。实验结果证明RED的性能优于Drop-Tail。尽管RED已被广泛应用于网络队列管理中来提高网络系统的性能,但是RED算法仍然存在以下问题:1)算法性能对

17、网络参数和状态敏感;2)不能总是保证所有的流公平地分享带宽;3)算法鲁棒性不佳,导致路由器队列长度大幅震荡甚至溢出;4)使用RED算法的平均队列长度会随着活动流数量的增多而增加,即RED算法中网络负载和队列长度存在耦合。从控制理论的角度分析,RED算法中网络负载和队列长度的耦合的根本原因是算法中的比例控制器使系统存在静差。此外,一方面RED算法使闭环系统的带宽过低,从而导致系统对于干扰和负载变化的响应速度很慢(低通滤波器是造成响应过慢的一个主要因素);另外一个方面,当系统在负载较轻或较重时,稳态的丢弃概率可能会小于或大于,这时算法工作在图3.2所示曲线的非线性区域,导致系统难以稳定,从而造成队

18、列大幅度振荡。2.2 ARED算法自适应RED(Adaptive RED,ARED)针对RED存在的缺陷,出现了不少RED的派生算法,包括ARED(Adaptive RED)、SRED(Stabilized RED)和RED-PD(RED Preferential Dropping)等。它们的主要思路是根据网络中负载的情况对丢失概率进行动态调整,这里主要介绍ARED算法。ARED 在RED 算法的基础上增加了根据平均队列长度调整 的策略,以改变RED 算法的控制激进程度。当平均队列长度小于,就减小 以使控制更为保守;反之当平均队列大于 时,就增大 以使控制更为激进。ARED 使用了两个额外的参

19、数 和 来对进行调整,其调整策略是:每当平均队列长度avg 被更新时,如果avg 的值所在区域发生变化, 的更新方法如2.3式所示: (2.3)其中 1,当选取 = =1时,ARED算法就变成了普通的RED算法。ARED对RED算法改动很小,但在一定程度上弥补了RED 算法参数对于网络条件的依赖性,算法性能得到了较大的改善。2.3 PI算法比例-积分(Proportional Integral,PI)前面提到的AQM 控制机制大多在研究工作很大程度上是依赖于直觉的、启发性的、针对局部个别问题的,没有以系统的理论作为分析和设计的依据。因此算法的性能难以保证,另外在算法参数的选择问题上也具有一定的

20、困难性。Misra等将Internet中的数据流看作一个连续状态的流体,并据此假设建立了TCP/AQM系统的一个流体流非线性动态模型(Fluid-Flow Model)。该模型可描述为: (2.4)式中:W 为TCP拥塞窗口大小,q为瞬时队列长度,R为往返时间RTT = q /C + d ,d 为传输延时,C 是链路带宽, N 为网络负载(TCP连接数), p 为分组丢弃/标记的概率。研究表明式(2.4)所示的模型可以在一定程度上较好的描述TCP/AQM系统的动态特性,因此被大多数基于控制理论的算法用于拥塞控制算法的设计和分析。Hollot据此线性化后的模型,用经典线性控制理论分析了RED的稳

21、定性和参数选择的依据,并给出了一种用于AQM的比例-积分(Proportional Integral,PI)控制器,控制算式见式(2.10): (2.5)其中,为比例增益系数,积分增益系数。 (2.6)这里E(s)是当前队列长度和目标队列长度之间的误差。使用离散的形式,误差可以表示为: (2.7)对式(2.6)使用双线性变换: (2.8)这里T是采样周期。由此,我们可以得到PI控制器传递函数的离散形式如下: (2.9)可以得到式(2.9)的离散化形式为: (2.10)式中:,PI算法在一定程度上克服了网络参数变化的扰动,在大多数网络环境下可以将队列长度控制在一个目标值附近,并保证了一定的稳定裕

22、度。算法降低了端到端的延时抖动,提高了系统性能,更有助于AQM技术目标的实现。但是PI算法也存在对扰动响应太慢的问题。基于控制理论设计和分析主动队列管理机制具有以下优越性:1) 设计方法更加科学,参数配置容易。控制理论是在系统数学模型的基础上建立起来的完善的理论体系,可以根据系统的稳态和动态性能要求选择合适的;2) 控制器,根据系统的稳定性、准确性、快速性、鲁棒性等要求决定控制器的参数;3) 算法的性能对网络条件的敏感性降低,在控制器的设计阶段就已经将系统的稳态精度、响应速度、稳定裕度、抗干扰能力等作为设计目标;4) 大部分基于控制理论设计的AQM 机制的复杂程度与RED 相当,实现简单,适用

23、于高速网络。特别是从经典控制理论推导出的控制器,其报文丢弃概率通常是瞬时队列长度的线性函数;5) 具有明确的控制目标,消除了队列长度与负载的耦合,减小了队列振荡。2.4 REM算法随机指数标记(Random Exponential Marking,REM)典型的基于优化理论方法的AQM 算法是REM(Random Exponential Marking)。它的设计是从最优化流控制(Optimization Flow Control)理论得到的,其设计目标是在较低的队列延迟下保证队列输入速率和输出速率的匹配。算法包含2 个主要部分。一个是价格机制(price mechanism),用于拥塞的测量

24、;另一个是指数标记(exponential marking),用于拥塞的反馈,但是算法并没有明确说明使用指数函数的优势。 (2.11)式中: p(t)为t时刻的价格;b(t)为t时刻的队列长度;为期望队列长度;x(t)为t时刻队列的输入速率;c(t)为t时刻队列的输出速率; 和 是较小的正实数。 (2.12)其中m(t)为t时刻分组的标记/丢弃概率; 为大于1 的正实数。式(2.11)、(2.12)用于标记概率的计算。其中式(2.11)用于计算价格,以对网络的拥塞程度进行度量,用户越多则价格也越高。 用于调整队列长度误差和速率误差之间的权值,用于控制REM 算法对于网络条件的响应速度。式(2.

25、12)由价格计算标记概率,价格越高则标记概率也越高。REM 算法是一个二阶网络拥塞控制算法,通过解耦网络性能的平衡值和分组丢弃率的平衡值,使得网络达到平衡时,系统具有较低的分组丢弃率和较短的队列时延,能更好的保证Internet 的服务质量,提高网络的稳定性。REM 算法利用了Kell提出的网络流量优化理论中“价格”的概念来探测和控制网络的拥塞状态。“价格”的变化由两方面的因素决定,一方面是瞬时队列长度与目标队列长度之间的差值,另一方面是报文到达速率与链路带宽的差值。REM 将报文到达速率与链路带宽的差值和瞬时队列长度与目标队列长度的差值的加权组合定义为链路“价格”。REM 利用一条通路上所有

26、连接的“价格”值的累加和作为这条通路的拥塞度量,并把它嵌入到,可以被源端检测到的端到端的包标记概率中。REM 的目标是使报文到达速率与链路带宽相匹配,从而清空缓冲区。 第三章 实验方法实验中,我们构建了一个实验室网络用来仿真两个互联网提供商网络的互连。特别地是,我们仿真了一条对等的连接用来负载源节点和目的节点之间的网络流量传输,并且两个ISP网络之间的网络传输在两个方向上取得均衡。架构中所有的系统全部是运行于FREEBSD4.5下的英特尔机制。在这个网络的边缘,一系列的机器在运行,例如网站请求发生器用来仿真成千上万个用户浏览网页的行为。另外,在网络的每一个边缘也运行着类似网站响应发生器的机器,

27、产生网络传输流来响应浏览请求。试验台上共有44个网络流量发生器。在本文在余下内容中,我们将以浏览器代称请求发生器,用服务器网络流量响应器。该网络的核心是有运行于有ALTQ扩展成的FREEBSD的两个路由器组成。ALTQ在网络接口处把IP输出队列扩展成可选择的队列管理科目。ALTQ通常有PI,REM和ARED组成。路由器有三个点对点的以太网段组成(2个100MPS的以太网段和1个光纤的Gbit的以太网)实现互连。Gbit的以太网用来仿真不拥塞的网络环境,而100MPS的以太网用来仿真拥塞的网络环境。当运行于不拥挤的网络环境时,路由器配置静态的路径,从而在GBIT以太网中实现网络中的全双工传输。当

28、我们需要模拟一下路由瓶颈时,静态路径需要重新配置,在一个方向的网络传输流通过10MPS以太网传输,在相反的方向上,利用另一个100mps以太网进行网络传输,这种配置可以用来模拟广域网的网络连接。影响这个网络仿真的另一个重要因素是端到端延迟。我们使用一个本地修改的FreeBSD组件配置浏览器出包的延迟,仿真每次TCP传输时的不同往返时延。通过扩展dummynet机制,从调整每次流的带宽扩展成一个新的模式,即对每次数据流的数据包随即附加一个最小的延迟。在一个跟定的数据流中所有的最小延迟相同(通过IP寻址5元组)。毫秒级的最小延迟从每次实验分配的一个轮回时间里随即采样获得。通常采用两轮循环分发。第一

29、次是离散的统一分发。一次统一分发的时间在10,150之间(平均80毫秒)。一次分发的最小值和最大值是通过文献5中所描述的方法来选择来近似网络往返时延的变化范围。统一分发确保了在这个范围内可以有很大的变化。第二个最小的往返时延是更加普遍的分布,其源自于一个最近关于往返时延的测量研究中,通过TCP连接传送一个大学校园的网关。本次试验中通过TCP发送的来回的次数是有最小的RTT循环时间加上路由器的队列延迟之和组成的。(终端系统配置成无资源限制,从而没有延迟)TCP传输窗口采用的是16KBIT,因为这被广泛应用于OS平台上。大多数的windows版本上,通常具有默认的windows值或比这个更小。3.

30、1 类网页流的产生流量是驱使我们的仿真是基于一个最近的大规模的网页流分析。由此产生的模型是一个应用程序级描述,具体描述了 HTTP / 1.0和HTTP / 1.1协议在实际中如何运行。它是基于实验数据,适用于合成Web工作负载。这个模型的一个重要特性是它反映了在我们目前使用的许多浏览器和服务器中持续使用HTTP连接实现。此外,文献16中区分了“顶层”Web对象(通常是一个HTML文件)和它们嵌入对象(例如,图像文件)。这些数据在这时聚集,近于所有TCP连接的15承载HTTP协议得到了有效的持续性(分别为用于请求两个或多个对象),但超过这些所有对象的50(40字节数)在这些持续的连接被转移。该

31、模型作为经验分布用来描述合成HTTP工作负载的元素。该模型的元素在在新增流中有明显的作用。大多数的网页浏览行为在客户请求程序(浏览器)中被仿真。它最主要的参数是浏览用户数量的仿真(最典型的是几百到几千)。对每个用户的仿真,这个程序实现了一个简单的状态机的功能,可代表了用户的状态如思考或者请求一个web网页。如果请求一个web网页发送一个请求到服务器端 (执行远程机器上)。然后对于每个嵌入式参考请求发送到一些服务器上。浏览器同样决定了适当的使用持续和非持续的连接;所以新连接的15%是随机选择持续 的。另一个随机选择是从每秒的分布请求是持续连接,用于确定有多少请求将使用持续连接。程序的另一个参数是

32、平行TCP连接的数量,允许每个浏览用户使嵌入的请求在一个页面上。对于每一个请求,一个消息的随机样本大小,来自于请求大小分布,通过网络发送到一个服务器程序的实例。这消息作为响应返回指定的服务器字节数量。(一个随机样本大小的分布不同的取决于是否它是一个顶层或嵌入的请求)。服务器传回字节大小到浏览器中。对每一个请求/响应的交换,浏览器记录其响应时间。响应时间定义为运行时间,无论是在套接字连接()操作(一个非持续的连接)或初始请求(在一个持续连接)或套接字写()操作(在持续连接后续请求)和最后字节响应被返回的时间。注意,这个响应时间是页面的每一个对象的时间,而不是加载一个页面中所有对象的总时间。当一个

33、页面所有的请求/响应被完成时,模拟浏览用户进入思维状态,在一个随机的时间段中不会做出更多的请求。这个网页的数量要求用户从分布连续页面请求继承一个给定服务器的样本。当页面请求的数量被完成,接下来的服务器随机地从一组活动服务器中选择,用来处理下一个顶层请求。在实验过程中用户的数量是不变的。表1元素描述请求大小 HTTP请求的长度字节反应大小 HTTP应答长度字节页面大小 每个页面的嵌入式(文件)的引用数量持续性连接使用每秒的持续连接请求数判断时间两个连续页面之间检索时间每页面的服务器一个页面中的所有对象的的服务器连续页面检索从一个给定服务器的连续顶层页面请求数3.2实验校准我们的实验提供的负载定义

34、为从模仿固定数量的网络用户产生的网络交通浏览行为。它表示为由用户产生的不拥挤的长期平均吞吐量(字节/秒) 。在我们实验过程中有三个关键因素必须在实验操作之前校准:链接吞吐量和用户统一的模拟浏览数量以及一般最小往返时间分布1、确保没有端到端路径的元素时,被代表的是一个主要的通信瓶颈, 而不是当他们被限制到100 Mbps时,连接到这两个路由器中。2、在网络上提供的负载可以通过控制模拟用户的使用数量来预测,并把它作为交通发电机的一个参数。3、确保产生的数据包到达的时间序列(如包数每毫秒)是如预期那样长范围相关的,因为分布的响应大小是一个重尾分布。为了验证这些校准,我们首先配置网络连接到路由器并运行

35、在1Gbps上来消除拥塞。所有的校准实验运行在长度等于2400的掉尾巴队列包(关于选择原因这个是第4部分中讨论)。我们在每个浏览器上运行了一个浏览器程序的实例和在所有服务器上运行了一个服务器程序的实例。每一个浏览器被配置为模拟相同数量的活跃用户和7000到35000等不同的总活跃用户数。我们演示了两套校准实验:一个是统一的最小RTT分布,另一个是更一般的最小RTT分布。相反方向上负载的测量本质上是相同的,所以没有绘制在这图中。提供的负载表示为链接的吞吐量是一个模拟用户数量的线性函数,它用来指示没有基本的系统资源限制和产生的负载可以轻松地超出100 Mbps链路的能力。对于我们每一个最小RTT分

36、布,这些数据可以被用来确定模拟用户的数量,并将会在缺乏瓶颈的链路上产生一个特定提供的负载。这个功能是用于后续实验中控制网络上提供的负载。例如,如果我们想要有产生一个提供负载等于100 Mbps链路的能力,我们将需要在ISP1上模拟一个用户群体和在ISP2上一个用户群体,这样在ISP1中模拟用户群体得到的总请求流量到在ISP2上的服务器,再加上总响应流量从ISP1服务器到ISP2上模拟用户群体,等于平均100Mbps。类似情况也会有持续的交通流量从ISP2到ISP1中。 为了产生一个提供100 Mbps的负载,用于确定均匀分布最小实时传输系统,大约9520用户必须在1Gbps链接两侧模拟(即95

37、20用户在ISP1和9520用户ISP2总数为19040仿真用户)。注意,正如预期的那样,更多的用户必须通过使用更为一般的最小RTT分布来模拟实现给定目标的负载。这是因为响应时间变得更长了,用户在他们能产生新的请求之前,他们必须等待更长的时间,进而在单位时间内产生更少的请求。在实验中使用web流量的动机是产生的交通假设会正确地展现实验室网络符合在实践研究中发现的那些真实网络的要求,特别地,一个远程依赖数据包到达过程。实证数据生成的网络流量显示尾分布对于用户“思考”时间和响应大小。例如,虽然在实验中产生的平均响应大小大约为1000字节,也产生109字节一样大小的响应。我们分析验证到达路由器接口的

38、数据包和字节数量实际上构成了一个LRD到达过程。因此,尽管我们的研究只考虑网络流量,但是在路由器对列中到达过程的动态性是说明到达过程是在实际网络中观察到的。3.3 实验步骤每个实验运行在使用模拟用户选择的固定群体上,正如上面描述的,将一个名义上提供的负载放在一个无约束网络上。每个浏览器程序模拟同等数量的用户。在实验中提供的负载用来表示能够消耗两台路由器100 Mbps链接中90%或98%的用户群体。我们证明了在提供的负载上升到链接能力的80%时,AQM响应分布时间的分布与传统下降的尾巴FIFO队列几乎相同。因为这些分布同样十分相似于在拥堵的网络上响应时间分布,我们推断AQM没有任何优势在掉尾低

39、于80%负载时。基于这个原因我们在这里开始研究90%的负载。这里很重要再强调一下,像“98%负载”这样的词被用来当作“能够产生一个在1Gbps链路上平均负载一直为98Mbps 的Web用户群体”的简称。每个实验运行120分钟,这样可以确保足够的采样样本(在每个实验中超过10000000个请求/响应交换),但是数据只在90分钟的间隔内采集,这样可以消除开始的启动效应和终端同步异常终止。对于每个给定方案的AQM实验要被重复三次通过每次设置不同随机种子数。为了促进不同AQM方案的比较,不同方案的实验在每个随机数发生器上运行相同的初始种子设置。我们在表述我们的结果时使用的关键性能指标是对于HTTP请求

40、/响应交换所需要的端到端响应时间。我们记录这些作为响应时间到达2秒的累计分布图。在这些图中,我们展示从每个独立重复实验得来的混合结果。我们同样也展示了在一个拥堵1Gbps链接上获得的结果,这样提供了一个比较的基准。在所有的图中,这个“拥塞的网络”线代表着最有可能的响应时间分布。我们同样记录了一部分在链接队列丢弃的IP数据报,和在实验中请求/响应交换完成的数量。我们记录测量的这些值代表着在一个实验中的三次重复。 第四章 丢包环境下的AQM实验对于PI和REM,我们针对目标队列长度分别为24和240个数据包的情况进行了分析。选这两个值代表两个研究点:一个代表可能产生的最小延迟(24),另一个则代表

41、可能提供的高链路利用率(240)。对于ARED,我们对相同的两个目标队列长度进行了分析。针对所有的ARED参数的设置,完全按照S. Floyd, R. Gummadi, S. Shenker, Adaptive RED: An Algorithm for Increasing the Robustness of REDs Active Queue Management, http:/www.icir.org/floyd/papers/ adaptiveRed.pdf, August 1, 2001.中的指导方针进行设置,用于实现所需的目标延迟(队列大小)。对于以上的这三种算法中,我们设置的最大

42、队列大小足够满足其内封包的数量,以保证不会出现队尾丢弃的情况。并且我们所有的仿真实验都使用统一的最小时延分布。4.1 丢包环境下PI的仿真结果图4.1给出了目标队列长度在24和240个数据包,负载为90和98情况下PI算法的仿真结果。当负载为90时,若目标队列长度为24,则对于基本上所有的请求/响应交换都对应较低的响应时间。当然除了最多10的业务量,这些交换请求需要超过大约500毫秒来完成。对于这部分请求/响应交换,在目标队列达到240的时候,能够得到相对更好的处理性能。表2提供的负载丢包率完成的请求(百万)链路使用率(Mbps)1Gbps 网络90%015.091.398%016.298.2

43、尾部丢弃90%1.914.790.098%5.815.191.9PI90%1.114.588.198%4.114.989.4PI90%0.414.688.398%3.715.090.0REM90%1.614.386.498%4.914.687.5REM90%3.213.783.398%5.414.486.2PI,REM算法下的丢包率,完成的请求以及链路使用率当负载为98%时,对于优化“短”的交换,即那些需要在小于约400毫秒内完成的请求,还是“长”的交换,即那些需要超过400毫秒的时间来完成的响应的请求,这两者时间之间的权衡,变得更为清晰。即负载为98%,目标队列长度为24个封包时,至少70%

44、的请求/响应交换将得到较低的响应时间。但是在两个负载情况下,两种队列长度,对于那些非常大的交换请求(需要2秒才能完成的)其性能都一致。总体来说,我们认为当使用的目标队列长度为参考值24时,PI提供了最佳的相应时间性能。表2总结了,丢包率,链路使用率和实验中完成的请求数。图4.1中分析在高负载下,即产生大量丢包情况下的实验结果,我们可以发现一个特点。在500毫秒到1秒之间的曲线较为平坦。这是TCP操作中超时重传机制的时间间隔所致。Figure 4.1:Response time distribution for PI with packet drops4.2丢包环境下REM的仿真结果图4.2给出

45、了目标队列长度在24和240个数据包,负载为90和98情况下REM算法的仿真结果。在负载为90%的情况下,队列长度为24个封包的仿真性能显著优于队列长度为240个封包的。同样在负载为98%的情况下,依然呈现上述结果。所以整体来说,对于PI和REM算法,当其目标队列长度为24个封包时,便可以提供最佳的响应时间性能。Figure 4.2:Response time distribution for REM with packet drops4.3丢包环境下ARED的仿真结果Figure 4.3:Response time distribution for ARED inpacket-mode wi

46、th drops针对ARED的仿真主要在两个模式下进行:封包模式和字节模式(利用ARED算法根据封包或是比特计算平均的队列长度)。之前在丢包情况下,对封包模式的ARED算法的仿真的结果并不理想。L. Le, J. Aikat, K. Jeffay, F.D. Smith, The Effects of Active Queue Management on Web Performance, ACM SIGCOMM 2003, August 2003, pp. 265-276. 此文,将ARED算法与先进先出队列尾部丢弃机制在各种负载情况下进行了全面对比,并指出ARED增加了HTTP传输的响应时间

47、。这些结果在这里得到了验证。在ARED封包模式下,图4.3显示了其在两种负载,和两种目标队列长度情况下,相对于PI和REM算法的一个显著差距。但是正如图4.4中显示的那样的,当在字节模式下,ARED将提供明显更好的响应时间。Figure 4.4:Response time distribution for ARED inbyte-mode with drops表3提供的负载丢包率完成的请求链路使用率AREDmin = 12max = 3690%0.913.885.298%2.11.3986.2ARED bytemin = 12max = 3690%0.814.688.098%3.614.889.4ARED min = 120max = 36090%1.1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号