高速 IP 路由器中输入排队调度算法综述
IP组播技术
IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。
但是,在组播网络设计时仍应十分小心,以免引起网络性能恶化或由于不恰当地使用IP组播应用而过分地消耗网络带宽,使网络发生故障。
另外,随着Internet迅猛发展,其网络规模越来越庞大,结构越来越复杂,仅仅依靠端到端的拥塞控制是不够的,网络必须参与资源的控制工作。
目前IP组播拥塞控制策略是在路由器中采用包调度算法结合缓存管理技术,由此而产生了几种IP处理的方法。
本文主要从IP组播流量管理和拥塞控制两方面进行了一些探讨。
传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP 主机和网络中所有的IP主机之间(广播)进行的。
现在要将信息发送给网络中的多个而非所有IP主机,如果采用传统的IP通信技术就有两种方法可以选择:要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP 包。
广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴。
单播方式由于IP包的重复发送而白白浪费掉大量带宽,同时也增加了服务器的负载。
可见,传统的IP通信技术不能有效地解决单点发送多点接收的问题。
而IP组播却很好地解决了这个问题。
组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式。
IP组播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为组播组。
IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。
即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其它IP主机不能收到该分组。
这种逻辑上的子集(目标主机)就是组播组,用D类IP地址(224.0.0.0~239.255.255.255)来标识。
IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送。
ns3 队列调度算法
ns3 队列调度算法队列调度算法是计算机网络领域中的重要内容,它在网络资源分配和性能优化方面起着关键作用。
在ns3中,队列调度算法被广泛应用于网络模拟和仿真中,以帮助研究人员评估和改进网络性能。
队列调度算法的主要目标是在网络中平衡流量和提高资源利用率。
它通过管理和控制数据包的排队和转发来实现这一目标。
常见的队列调度算法包括先进先出(FIFO)、公平队列(FQ)、权重公平队列(WFQ)、最短剩余时间优先(SRTF)等。
FIFO是最简单的队列调度算法,它按照数据包到达的顺序进行排队和转发。
然而,由于缺乏优先级控制,FIFO算法容易导致网络拥塞和性能下降。
为了解决这个问题,公平队列算法引入了带宽划分和优先级控制的概念。
它将网络流量划分为多个队列,并为每个队列分配一定的带宽。
这样,高优先级的流量可以获得更多的带宽,从而提高其服务质量。
权重公平队列算法是公平队列算法的扩展,它为每个队列分配不同的权重。
这样,低优先级队列可以获得更多的带宽,以确保网络中的各种流量都能得到公平的服务。
最短剩余时间优先是一种动态的队列调度算法,它根据数据包的剩余处理时间来决定下一步的调度。
这种算法能够在保证公平性的同时,最大限度地减少数据包的等待时间和延迟。
除了上述算法,还有一些其他的队列调度算法,如最小平均排队长度(Mean Queue Length)和最大最小公平(Max-Min Fairness)等。
这些算法在不同的场景和需求下,能够提供更加灵活和高效的队列调度策略。
队列调度算法在ns3中扮演着重要角色,它们能够帮助研究人员评估和优化网络性能。
通过合理选择和使用队列调度算法,我们能够提高网络资源的利用率,减少网络拥塞,从而提供更好的网络服务质量。
IPQoS剖析
RSVP的预留方式
• WF〔Wildcard-Filter〕方式: • 全部发送方共享预留的资源,适用于 会
议 • FF(Fixed-Filter)方式: • 接收方选择特定发送方独占资源 • SE(Shared Explicit)方式: • 接收方可以选择多个发送方共享预留的
资源
IntServ的优缺点
分组调度算法
• 分组调度算法的作用是:依据对分组流通信量 的标准要求,在每个分组转发结点承受相应的 排队算法调度排队的分组流,满足该分组流要 求的传输带宽和传输延迟指标,实现该分组流 要求确实保效劳和受控负载效劳。
• 分组算法包括: • 刻划分组流通信量特征的漏桶模型; • 实现保证效劳和受控负载效劳的排队算法
IETF关于综合效劳的建议
• 综合效劳〔IntServ〕/RSVP(最早由MIT 93年提出)
• IETF: • Intserv: RFC1633; • RSVP: RFC2205, RFC2211,RFC2212
IETF 的综合效劳网络
• 根本思想是为用户供给多种效劳类型,依据客 户的质量要求供给不同的效劳, 相应地收取费 用
• 单向预留:只预留从发送者到接收者方向的资 源
• 独立于路由协议:QoS的建立与路径建立相独 立,RSVP适用于任何路由协议
RSVP根本操作
• 建立路径过程:发送方沿单播或者多播 路由发送PATH报文,携带流标准,接收 方沿PATH报文路径返回RESV报文,携带 流标准和过滤器标准,并且在中间结点 预留资源
IP QoS的业务需求
传统的IP网络
承载数据业务
当前的IP网络
承载多种业务 〔VOIP、VPN、ERP〕
有效把握网络资源及其使用
网络速率控制技术中的排队策略优化方法(八)
网络速率控制技术中的排队策略优化方法随着互联网的飞速发展,人们对网络速度的要求也越来越高。
然而,网络速度的快慢往往受到许多因素的制约,其中一个重要的因素就是网络中的排队策略。
在网络传输数据时,数据包需要经过路由器进行排队,然后按照一定的策略被发送出去。
不同的排队策略会对网络的性能产生不同的影响,因此优化排队策略对于提高网络速率至关重要。
一、先进先出(FIFO)策略先进先出是一种常见的排队策略,即先到的数据包先被发送。
这种策略简单直观,易于实现,然而,实践中它并不总是能够保证网络的高性能。
由于网络中的各个数据包的大小和处理时间不同,FIFO策略可能导致数据包在排队时长时间等待,造成网络拥塞,降低网络速率。
二、最小优先权(SP)策略为了解决FIFO策略带来的问题,人们提出了最小优先权策略。
SP 策略会根据一定的优先级进行排队,优先级高的数据包会被尽快发送,从而减少数据包的等待时间。
这种排队策略适用于在一些对于实时性要求较高的应用中,比如网络电话、实时视频传输等。
然而,SP策略对于一般的数据传输却不够灵活,无法根据网络拥塞的程度来进行调整。
三、公平排队(FQ)策略公平排队是一种常见的排队策略,它可以在一定程度上解决网络拥塞的问题。
在公平排队中,每个数据包都有相同的机会被发送,避免了某些数据包一直被忽视的问题。
然而,公平排队也存在一些问题,比如对于不同优先级的数据包没有明确的处理方式,容易导致低优先级的数据包被长时间拖延。
四、加权公平排队(WFQ)策略为了解决公平排队策略中的问题,人们提出了加权公平排队策略。
在WFQ策略中,每个数据包的优先级是由其权重来决定的,权重高的数据包会被更快地发送。
这种策略兼顾了数据包的优先级和公平性,能够在一定程度上优化网络的传输速率。
然而,WFQ策略的实现较为复杂,需要准确地估计每个数据包的权重,因此在实际应用中会面临一些挑战。
综上所述,排队策略对于网络速率的控制起着重要的作用。
路由器、交换机常见指标总结
三、 路由器配置
接口种类:列举路由器能支持的接口种类,体现路由器的通用性。常见的 接口种类有:通用串行接口(通过电缆转换成 RS 232 DTE/DCE 接口、V.35 DTE/DCE 接口、X.21 DTE/DCE 接口、RS 449 DTE/DCE 接口和 EIA530 DTE 接口 等)、10M 以太网接口、快速以太网接口、10/100 自适应以太网接口、千兆以 太网接口、ATM 接口(2M、25M、155M、633M 等)、POS 接口(155M、622M 等)、 令牌环接口、FDDI 接口、E1/T1 接口、E3/T3 接口、ISDN 接口等。
1. 端口吞吐量 实测值与接口位置及关系相关,例如同一插卡上端口间测试的吞吐量可能与 不同插卡上端口间吞吐量值不同。
2. 整机吞吐量 实测值小于等于路由器所有端口的吞吐量实测值之和——只有在达到整机 线速的时候相等。“支持线速”,表示能无阻塞地处理帧,即设备内部没有因内 部背板带宽不足而等待处理的帧。交换机支持线速等价于:交换机的整机线速带 宽约=千兆端口数*2(对应光纤收发 2 个方向)≤标称背板带宽(G)。也就是短 板是线速,不在背板时,吞吐量才能达到线速。
对 IP 以外协议的支持:除支持 IP 协议外,路由器设备还可以支持 IPX、 DECNet、AppleTalk 等协议。这些协议在国外有一定应用,在我国应用较少,一 般不用考虑。
三、 组播协议支持情况
互连网组管理协议(IGMP) :IGMP(Internet Group Management Protocol) 是 IP 主机用作向相邻多目路由器报告多目组成员。多目路由器是支持组播的路 由器,向本地网络发送 IGMP 查询。主机通过发送 IGMP 报告来应答查询。组播路 由器负责将组播包转发到所有网络中组播成员。
网络通信的排队等待理论
网络通信的排队等待理论在我们日常生活中,网络通信已经成为了必不可少的一部分。
不论是浏览网页、发送电子邮件,还是在线聊天和视频通话,我们都需要依赖网络进行信息传递。
然而,网络通信也面临着一个普遍存在的问题,那就是排队等待。
在网络通信中,当大量的用户同时发送数据包时,就会出现数据传输的排队等待现象。
这导致了网络的拥塞,降低了数据传输的效率。
为了解决这个问题,学者们发展了一些排队等待理论模型,这些模型可以帮助我们理解和优化网络通信的性能。
一、排队论的基本概念排队论是研究排队系统的数学理论。
在网络通信中,数据包的传输可以看作是一个排队系统,而排队论提供了分析和优化这个系统的方法。
排队论中的基本概念包括以下几个要素:顾客、服务设备和排队规则。
顾客代表数据包或请求,服务设备代表网络传输的资源,排队规则则决定了数据包的排队顺序和等待时间。
二、排队论的主要模型1. M/M/1模型M/M/1模型是排队论中最为经典的模型之一,它假设到达时间和服务时间都符合泊松分布,且只有一个服务设备。
在M/M/1模型中,我们可以通过计算顾客的平均等待时间和平均逗留时间来评估排队系统的性能。
这对于网络通信来说非常重要,因为我们可以根据这些指标来判断网络的拥塞程度,从而采取相应的优化策略。
2. M/M/c模型M/M/c模型是在M/M/1模型基础上进行扩展得到的,它允许有多个服务设备同时提供服务。
在M/M/c模型中,我们可以计算出系统中平均的顾客数和顾客的平均等待时间。
这些指标可以帮助我们评估多设备网络通信系统的性能,并进行资源的合理分配和负载均衡。
三、排队论在网络通信中的应用排队论的研究成果在网络通信中有着广泛的应用。
以下是一些例子:1. 流量调度通过排队论模型,可以确定不同流量的优先级和调度方式,从而合理分配网络资源,提高数据传输的效率和服务质量。
2. 延迟优化排队论提供了衡量网络延迟的指标,可以帮助我们优化网络的传输延迟,提升用户体验。
无线网络资源调度算法的研究与应用
无线网络资源调度算法的研究与应用随着无线通信技术的不断发展,无线网络已经成为人们生活中不可缺少的一部分。
然而,随着无线设备的数量不断增加,无线网络的资源也变得越来越紧张,导致许多用户在使用无线网络时遇到网络拥塞、延迟和不稳定等问题。
这时,无线网络资源调度算法便应运而生。
无线网络资源调度算法是一种重要的网络优化技术,通过无线带宽的动态分配和资源共享,将网络带宽进行有效管理,改善网络性能和用户体验。
其主要目标是在满足用户服务质量的前提下,提高网络带宽的利用率,减少网络拥堵,并保证网络的稳定性和可靠性。
因此,无线网络资源调度算法对于提高无线网络质量和性能具有非常重要的作用。
当前,无线网络资源调度算法已经成为无线网络优化的重要领域之一,涉及到无线网络的各个层面,如物理层、链路层、网络层、传输层和应用层等。
其中,无线网络资源调度算法主要可分为以下几类。
第一类是基于信号功率控制的资源调度算法。
这种调度算法通过调整发送和接收设备之间的信号功率,控制无线带宽的传播范围,以达到通信质量和网络性能的最佳状态。
第二类是基于链路调度的资源调度算法。
这种调度算法主要通过对无线链路的动态调度和优化,以保证网络带宽的公平分配和优化利用。
第三类是基于路由调度的资源调度算法。
这种调度算法通过对网络路由进行调度和管理,以优化网络带宽的利用率,提高网络的数据传输效率。
第四类是基于流量调度的资源调度算法。
这种调度算法主要通过对网络流量进行调度和管理,以保证网络带宽的动态分配和流量控制,以达到优化网络性能和服务质量的目的。
目前,无线网络资源调度算法已经在实际网络中得到了广泛的应用。
例如,在移动通信网络中,基于信号功率控制和链路调度的资源调度算法已经成为无线通信系统中的重要技术。
而在无线传感器网络中,则更多采用基于路由和流量调度的资源调度算法,以确保网络的高效和稳定性。
此外,还有许多其他领域,如智能交通、智慧城市、物联网等等,无线网络资源调度算法也在其中得到了广泛的应用。
5G网络下无线通信的调度算法优化
5G网络下无线通信的调度算法优化第一章概述5G技术被认为是未来移动通信发展的主要方向,其高速、低延迟、高可靠性等特点将在未来的通信领域得到广泛的应用。
其中,无线通信作为5G技术的一个重要组成部分,如何进行调度算法的优化已经成为当前5G技术发展的关键问题之一。
本文将详细介绍5G网络下无线通信的调度算法优化。
第二章无线通信的调度算法2.1 调度算法的定义调度算法的主要作用是将不同用户在相同频段下的传输信息进行有效的调度与分配。
在无线通信领域中,协调频谱资源分配和时间协调以实现对数据的高效传输是非常重要的。
无线通信调度算法主要分为贪心、动态规划、遗传算法和神经网络等多种类型,本文将着重介绍其中的贪心和遗传算法。
2.2 贪心算法贪心算法是一种基于每一次的最优决策来达到整体的最优结果的算法。
在无线通信中,贪心算法的实现原理是通过始终选择当前最适合的调度策略,以此优化用户体验和网络效率。
贪心算法的最大优点是具有较快的运算速度,可以在短时间内快速为用户分配频谱资源,确保无线网络的通信质量和效率。
但是,贪心算法往往不考虑长期的网络负载方案,容易产生局部最优解,而忽略全局最优解的存在。
2.3 遗传算法遗传算法是以自然界的进化过程为模板,利用生物的遗传学与进化论的思想开发而成的一种优化搜索算法。
在无线通信中,遗传算法的实现是通过对网络拓扑、用户需求、调度策略等元素进行基因编码,之后通过选择、交叉、变异等过程来产生更优的解决方案。
遗传算法的主要优点是可以全局地搜索最优解,能够克服局部最优解的缺点。
同时,由于其基于多个解决方案,因此可以找到多项解决方案,以保证网络的高效性和稳定性。
第三章 5G网络下无线通信的调度算法优化3.1 频率复用技术在5G网络中,频率复用技术是无线通信中最常见和最有效的优化算法之一。
通过基站站分析和检测周围现有基站的信号强度和整体负载等因素,来对整个网络中频率资源进行合理的管理和分配。
通过调度算法来实现无线资源的优化,提高网络吞吐量,避免频率复用的冲突和瓶颈,从而获得更高的传输效率和更好的用户体验。
无线网络中分组队列调度算法研究与实现
东北大学硕士学位论文g-章IPQoS体系结构关键技术标识这类业务,在核心路由器中,以流聚集为服务对象,根据P头部DS字段中不同的DSCP(DiffServCodingPoint)值提供不同服务质量的转发处理,这种对不同类型的业务流进行转发的方式,称为PHBll5,J03,这样可以减轻核心路由器的处理量。
区分服务只承诺相对的服务质量,而不对任何用户承诺具体的服务指标。
区分服务机制下,用户和网络管理部门之间需要预先商定服务等级合约(SLA),根据SLA,用户的数据流被赋予一个特定的优先级等级,当数据流通过网络时,路由器会采用相应方式(如PI-IB.逐跳行为)来处理流内分组。
当网络出现拥塞时,级别高的数据流在排队和占用资源时比级别低的数据流有更高的优先权,队列溢出时,按照丢弃优先级根据相应的算法进行丢弃。
区分服务只包含有限数量的业务级别,状态信息数量少,实现简单,扩展性较好。
虽然Di舔el'V仍在不断的发展,一些标准仍在(制定、完善之中,但经过几年的发展,Di确erv的相关概念及模型已经比较成熟,DiffServ体系结构也比较明确。
DiffServ网络由若干DiflServ域(domain)组成,其中DiffServ域由一些相连的DS节点集构成,它们遵循统一的服务提供策略,实现一致的PHB(转发、丢弃等),如某个ISP的网络或企业内部网,其结构如图2.2所示【1”。
每个Ds域通过边界节点(BoundaryNode)与其它Ds域或非Ds域相连,根据不同的数据流传输方向,边界节点可以分为入口节点和出口节点。
在DS域内,节点(路由器)分两类:边缘路由器和核心路由器。
图2.2区分服务的结构Figure2.2TheframeworkofDifferentiatedServicesDiffServ模型具有如下特点:(1)层次化结构分为DS区域①Sdomain)与DS区∞Sregion)两级。
在DS区域内,服务提供策略与PHB的语义和实现要一致;但DS区内的各DS区域可以支持不同的PHB、有不同的服的路由转发转变为依赖于标记的交换转发,这不仅大大提高口分组的转发速度,更可使传统的IP网络具有QoS能力。
网络路由技术中的流量控制方法分享(系列九)
网络路由技术中的流量控制方法分享随着互联网的快速发展,网络流量的增长越来越快。
作为网络基础设施的路由器需要有效地控制流量,以确保网络的高效运行。
在这篇文章中,我将分享一些网络路由技术中常用的流量控制方法。
一、队列管理算法队列管理算法是一种常见的网络流量控制方法。
它通过管理路由器中的输出队列来控制流量。
常用的队列管理算法有先进先出(FIFO)、加权公平排队(WFQ)、公平排队(Fair Queuing)、优先级队列等。
FIFO是最简单的队列管理算法,它按照到达顺序将数据包放入队列,并按顺序处理。
但是,FIFO无法区分优先级,可能导致低优先级的数据包长时间等待。
相比之下,WFQ可以根据流的权重来分配带宽,确保高优先级的流获得更多的带宽资源。
公平排队则是按照流的优先级和传输速率来分配带宽,以实现公平的资源共享。
优先级队列则是根据数据包的优先级将其放入不同的队列中,以便更好地管理流量。
二、拥塞控制算法拥塞控制是流量控制中非常关键的一环。
拥塞控制算法可以帮助路由器监测网络中的拥塞程度,并根据情况采取相应的措施来降低拥塞。
常见的拥塞控制算法有TCP拥塞控制算法、RED算法、ECN等。
TCP拥塞控制算法是用于TCP协议的拥塞控制机制。
当网络出现拥塞时,TCP会减小发送速率,以免造成进一步的拥塞。
RED算法是路由器中的一种主动队列管理算法,通过动态调整队列中的数据包丢失概率来控制发送速率。
ECN(Explicit Congestion Notification)是一种被广泛采用的拥塞控制机制,它通过在IP首部中的特殊字段上标记拥塞情况,从而通知发送方减小发送速率。
三、流量调度算法流量调度算法是一种用于分配带宽资源的方法。
在拥有有限带宽的情况下,流量调度算法可以根据不同的需求和优先级为流分配合理的带宽。
常见的流量调度算法有最大最小公平分享(Max-Min Fair Sharing)、权重轮转(Weighted Round-Robin)、SPFQ(Strict Priority First Queueing)等。
一种高速crossbar调度算法及其性能分析
种 高速 cosa 调 度算 法及 其性 能分 析 rsbr
姜小波 , 小伟 杜
( 南 理 工 大 学 电子 与 信 息 学 院 ,广州 5 04 ) 华 16 1
(m w @ tm.o s Mle o cn)
摘
要: 分析 了 高速 cosa 调 度 算 法 iLP在 处 理 突发 业 务 时性 能 严 重 恶 化 的 原 因。 结 合 L F iQ rsbr SI Q /L F算 法 的 思
第3 0卷 第 1 期
21 0 0年 1月
计 算机 应 用
J u n lo o u e p iai n o r a fC mp t rAp l t s c o
V0 . O No 13 .1
Jn 2 1 a.0 0
文章 编 号 :0 1 9 8 (0 0 0 — 1 1 0 10 — 0 1 2 1 ) 1 0 0 — 3
比, 不仅 具 有 更 高 的吞 吐 量 , 而且 平均 延 迟 降低 了 1 % 左 右 。 0
关键词 :rs a; cos r调度算 法; b 输入排 队; 非均 匀业务流 ; LP i I S
中 图 分 类 号 : P 9 e c e u i g a g r t n hi h- pe d c o s a n t r o m a e a a y i v ls h d ln l o ihm i g s e r s b r a d is pe f r nc n l ss
J AN Xio b , DU Xio we I G a . o a— i
( colfEe r ia dI om t n o t C iaU iri e n l y u nzo un dn 6 1 C i ) Sho lt nc n fr ai ,S uh hn nv syo Tc o g ,G a ghuG a g og5 0 4 , hn o co n o e tf h o 1 a
无线路由器上的QoS设置详解(二)
无线路由器上的QoS设置详解在如今高速互联网成为人们生活中必不可少的一部分的时代,无线路由器的使用变得越来越普遍。
然而,随着越来越多的设备连接到同一个路由器上,其中一个常见的问题是网络速度的下降和网络拥塞。
为了解决这一问题,许多无线路由器都配备了一个叫做QoS(Qualityof Service,服务质量)的功能。
QoS是一种网络管理机制,通过优先处理一些特定的网络流量,从而提供更好的网络服务质量。
它可以在无线路由器上根据不同的应用协议,如Web浏览、音视频传输、在线游戏等,对网络流量进行分类和优先级管理,从而确保对关键应用的优先处理,提高网络的使用效果。
要进行QoS设置,首先需要登录到无线路由器的管理界面。
一般而言,我们可以通过在浏览器输入路由器的IP地址来进入管理界面。
在登录界面后,寻找名为“QoS”、“Quality of Service”或“服务质量”等标签。
在这个标签下,会有一些与QoS相关的设置选项。
首先,我们可以选择启用或禁用QoS功能。
启用QoS功能后,我们可以选择一个QoS算法,该算法将确定流量如何分配和调度。
常见的算法包括Fair Queueing(公平排队)、Weighted Fair Queueing (加权公平排队)和Strict Priority Queueing(严格优先排队)。
其次,我们需要定义QoS规则。
这些规则包括许多参数,如IP地址、端口号、协议类型等。
通过将流量分为不同的类别,我们可以为每个类别设置不同的优先级和带宽限制。
例如,我们可以将视频流量高优先级分类,并为其分配更多的带宽,以保证无缝的观看体验;而将下载文件的流量设置为低优先级,并降低其带宽限制,以避免对其他应用的干扰。
此外,某些现代无线路由器还提供了智能QoS功能。
它可以根据网络负载和设备的需求,自动调整QoS设置。
这种智能功能可以显著简化设置过程,并确保网络的高效利用。
需要注意的是,正确的QoS设置对于网络性能的改善至关重要。
路由器质量服务(QoS)设置技巧
路由器质量服务(QoS)设置技巧在如今高速互联网时代,越来越多的家庭和办公场所选择使用路由器来共享宽带连接。
然而,由于网络上的流量越来越多,常常会导致网络拥堵和速度下降。
这时候,我们就需要使用路由器的QoS功能来优化网络中各种服务的质量。
本文将介绍一些路由器QoS设置技巧,以帮助您更好地管理网络流量和提升用户体验。
1. 了解QoSQoS(Quality of Service)是一种网络管理机制,通过给不同的应用程序或流量设置优先级,确保网络资源被优先分配给重要的服务,从而提高网络的质量和稳定性。
路由器上的QoS功能可以帮助我们按照需求分配带宽,优化网络性能。
2. 确定优先级在设置QoS之前,首先需要确定不同服务或应用程序的优先级。
例如,网络电话和视频会议对实时性要求较高,应该设置为高优先级,而文件下载和普通网页浏览则可以设置为低优先级。
根据实际需求,确定不同服务的优先级,以便路由器进行相应的流量控制。
3. 设置带宽限制QoS的关键是限制带宽,确保重要的服务能够得到足够的网络资源。
可以根据实际情况,设置带宽限制来平衡不同服务间的带宽分配。
例如,将视频流媒体的带宽限制设置为10Mbps,将普通网页浏览的带宽限制设置为2Mbps,以确保视频服务在网络拥堵时不会受到太大影响。
4. 配置流量分类路由器的QoS功能允许我们根据不同的服务或流量,将其划分为不同的类别,并根据优先级进行管理。
在QoS设置中,可以配置流量分类规则,例如根据端口号、IP地址、协议等来将流量分类。
这样路由器就能够根据分类结果,对不同的流量应用相应的QoS策略。
5. 使用队列管理队列管理是QoS的一种重要方式,通过对网络传输的数据包进行排队和调度,可以优化网络的性能。
路由器上通常会提供多个队列,可以根据优先级将不同服务的数据包放置在不同的队列中。
通过合理设置队列的权重和调度算法,可以实现对带宽的更加精细的调控。
6. 动态带宽调整在一些场景下,网络负载可能会出现不稳定的情况,例如办公室中有人突然进行大量文件上传或下载。
加权公平排队wfq算法例题
加权公平排队wfq算法例题
加权公平排队(Weighted Fair Queuing,WFQ)算法是一种流
量调度算法,它可以根据流量的权重来实现对流量的公平分配。
在WFQ算法中,每个数据流都被分配一个权重,数据包根据其流的权
重来进行排队和调度。
下面我将通过一个例题来解释WFQ算法的工
作原理。
假设有3个数据流A、B、C,它们的权重分别为2、3、1。
现在
有一批数据包到达路由器进行排队和调度。
根据WFQ算法,数据包
将根据其流的权重来进行排队和调度,具体步骤如下:
1. 首先,路由器会根据数据包的到达顺序将它们分配到相应的
队列中,每个队列对应一个数据流。
2. 接下来,路由器会根据每个队列中数据包的权重来进行调度。
假设在某个时刻,队列A中有4个数据包,队列B中有3个数据包,队列C中有2个数据包。
那么在这个时刻,路由器会先调度队列B
中的一个数据包,然后调度队列A中的两个数据包,最后调度队列
C中的一个数据包。
3. 调度完成后,路由器会继续监测各个队列中的数据包情况,
并根据权重进行下一轮的调度。
通过上述例题,我们可以看到,根据WFQ算法,不同数据流的
数据包可以按照其权重进行公平调度,从而实现了对流量的公平分配。
除了上述例题,WFQ算法还涉及到细节问题,比如如何处理队
列溢出、如何处理低优先级流量等,这些细节问题也是实际中需要
考虑的。
希望这个例题可以帮助你更好地理解WFQ算法的工作原理。
一种新的高速路由调度算法——SERENA算法研究
Ke w rs n u— uu d O tu— u ud S R N grh M x w i tMa h y od :Ip tQ e e , up tQ ee ,E E A a o tm, a — e h t l i g c
1 引 言
随 着 网络 宽 带 化 需 求 的不 断增 长 , 为 网络 互 连 核 心 设 备 作
的路 由器 , 其 是 核 心 级 路 由 器 的 处 理 能 力 、 换 容 量 、 吐 速 尤 交 吞 率 等 性 能 越 来 越 成 为 问题 的关 键 。 为 其 核 心 技 术 可 以进 一 步 放 宽 , 且 许 多仿 真结 果 证 明它 能 提 供 而
的原 理 及性 能进 行 了 详 细 研 究 , 在 此 基 础 上 通 过 更 充 分 利 用 并
输 入 输 出排 队 、 度 和 服 务 , 调 同时 实 现 流 量 的 管 理 与 控 制 、 突 冲 处 理 、 宽 的 分 配 与 管 理 等 功 能 。调 度 算 法 从 所 采 用 交 换 结 构 带
Abt c :S R N sashd l g agrh ae n I t c r. hr x tsle m th g sbrp so a h g sr t E E A i c e ui loi m bsd o Q su t eI tee ei a a i u ga h fm t i a n t r u f s n cn cn
低 时 延 , 是 以前 所 提 出 的此 类 算 法 大都 由 于 复 杂 度 过 高 而 不 但 易 于在 高端 路 由 器 中 实 现 。 文 献 【 1提 出 了 一 种 新 的 调 度 算 法 — — S R N l】 E E A算 法 , 该 方 法 利 用 到 达 包 的 随机 性 和 两 个 连 续 的时 隙 之 间交 换 结 构 的
论文题目:基于输入排队的可扩展交换结构调度算法的
论文题目:基于输入排队的可扩展交换结构调度算法的研究摘要交换结构(switch fabric)作为交换机和路由器的核心,如何提高其交换容量可扩展性和服务质量可预测性,是近十年来网络研究的一个热点和难点问题。
一个典型的交换结构由三部分组成:输入端口、输出端口和交换内核。
为了避免来自不同输入端口的信元同时发往同一个输出端口,需要在输出端口或者输入端口设置缓冲区,从而形成输出排队和输入排队两大基本交换结构。
尽管输出排队型交换结构可以提供良好的服务质量保证(100% 的吞吐率,有界的延迟,带宽公平性等),然而其存储器的带宽却需要所有输入端口带宽总和,这极大限制了其扩展性。
与之相比,输入排队型交换结构允许内部存储器的带宽工作在线速,其良好的可扩展性使其成为高性能路由器的主流交换结构。
由于交换结构的调度算法负责将输入端口的信元通过交换内核发送至输出端口,所以它在提高交换设备的利用率及其服务质量保证方面起着关键性作用。
本文从交换容量的可扩展性及服务质量可预测性的角度出发,研究了基于输入排队的不同类型交换结构下的调度算法设计。
目前,核心交换机/路由器的主流交换结构一般采用交叉开关(crossbar)以保证交换内核无阻塞,并采用集中式调度器调度定长信元通过交叉开关。
对于该交换结构,具有较强理论意义的一类算法为最大权重匹配算法,已证明对于任意容许的流量,均能达到100%的吞吐率,并且平均延迟有界,然而其算法的复杂度高达O(N3), 本文从局部搜索的角度研究了最大权重匹配的近似算法,结合局部搜索的可并行计算的特点,提出了一种并行随机调度算法及一种并行确定性调度算法,并且证明了算法的稳定性,与已有近似算法相比,具有更低的平均延迟。
缓冲交叉开关型交换结构由于具有分布式存储及分布式调度的特点,是构建特比特级(Terabit)路由器的一种理想选择。
由于轮转型调度算法易于硬件实现,具有较高的应用价值,从而得到了广泛的研究。
现有轮转型算法在调度均匀流量时具有逼近100%的吞吐率,然而对于非均匀的流量,现有轮转型算法的吞吐率却明显下降。
队列调度算法
队列调度算法
队列调度算法是一种常用的调度算法,用于在多任务系统中决定进程或线程的执行顺序。
在队列调度算法中,所有任务按照先来先服务(FIFO)的原则排队,并按照队列中的顺序依次执行。
队列调度算法的实现通常依赖于操作系统的内核。
当一个任务需要执行时,它会被添加到运行队列的末尾。
当当前任务执行完毕后,调度器会从队列的头部取出下一个任务,并将其分配给可执行的处理器。
这样,任务就可以按照先来先服务的顺序依次执行。
队列调度算法的一个重要特点是公平性。
所有任务都按照到达的顺序进行执行,因此每个任务都有机会被执行。
这种调度算法确保所有任务都得到公平的资源分配,避免了某些任务长时间等待的情况发生。
然而,队列调度算法也存在一些缺点。
首先,它无法根据任务的优先级进行调度。
即使某个任务对系统的性能要求更高,它也需要等待之前的任务执行完毕才能开始执行。
其次,队列调度算法无法适应任务的变化需求。
当一个高优先级的任务到达时,它仍然需要等待之前的任务执行完毕,这可能导致系统响应变慢。
为了解决队列调度算法的不足,还可以使用其他调度算法,例如优
先级调度算法、时间片轮转调度算法等。
这些算法可以根据任务的优先级或者时间片轮转的方式进行调度,更加灵活地满足不同任务的需求。
总结起来,队列调度算法是一种公平的调度算法,通过按照先来先服务的原则依次执行任务。
虽然它具有公平性的优点,但也存在无法根据任务优先级调度和适应任务变化需求的缺点。
因此,在实际应用中,需要根据具体的系统需求选择合适的调度算法。
路由器性能指标详解与简介
路由器性能指标详解与简介说到路由器的性能,不妨我先给大家简单的介绍一下什么是路由器,路由器是用来做什么的!路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
路由器有两大典型功能,即数据通道功能和控制功能。
数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
多少年来,路由器的发展有起有伏。
90年代中期,传统路由器成为制约因特网发展的瓶颈。
ATM交换机取而代之,成为IP骨干网的核心,路由器变成了配角。
进入90年代末期,Internet规模进一步扩大,流量每半年翻一番,ATM网又成为瓶颈,路由器东山再起,Gbps路由交换机在1997年面世后,人们又开始以Gbps路由交换机取代ATM 交换机,架构以路由器为核心的骨干网。
相信大家已经对路由器的概念基本了解,那么下面我们就说说核心路由器十项性能指标:高速路由器的系统交换能力与处理能力是其有别于一般路由器能力的重要体现。
目前,高速路由器的背板交换能力应达到40Gbps以上,同时系统即使暂时不提供OC-192/STM-64接口,也必须在将来无须对现有接口卡和通用部件升级的情况下支持该接口。
在设备处理能力方面,当系统满负荷运行时,所有接口应该能够以线速处理短包,如40字节、64字节,同时,高速路由器的交换矩阵应该能够无阻塞地以线速处理所有接口的交换,且与流量的类型无关。
指标之一:吞吐量吞吐量是路由器的包转发能力。
吞吐量与路由器端口数量、端口速率、数据包长度、数据包类型、路由计算模式(分布或集中)以及测试方法有关,一般泛指处理器处理数据包的能力。
高速路由器的包转发能力至少达到20Mpps以上。
吞吐量主要包括两个方面:1. 整机吞吐量整机指设备整机的包转发能力,是设备性能的重要指标。
5GPDSCH调度介绍
5GPDSCH调度介绍5G PDSCH调度介绍概述NR调度算法依据下面三类:优先级计算调度器根据调度输入的信息,确定承载的调度优先级和选定调度的用户,保证调度公平性的同时,最大化系统吞吐量。
MCS(Modulation and Coding Scheme)选择调度器根据调度输入的信息,确定每一个调度用户的MCS,不同调制方式下采用不同的信道编码效率。
对于信道质量好的场景,提供高阶的调制方式和高的编码效率。
调制阶数和编码效率越高,传输效率越高。
资源分配调度器需要为UE指示调度所在slot,以及该slot内调度的OFDM (OrthogonalFrequency Division Multiplexing)符号的起止位置,同时根据用户数据量和选定的MCS,确定用户分配的RB(Resource Block)数和RB位置。
RE(Resource Element)是NR系统最小的时频资源单位,在频域上占据一个子载波,在时域上占据一个OFDM符号。
RB是NR系统在物理层数据传输的资源分配最小单位,在频域上包含12个子载波,在时域上无要求。
TBS(Transport Block Size)是指传输块大小。
PDSCH时频域资源包括PDSCH时域资源和PDSCH频域资源。
分配PDSCH时频域资源是指给用户分配合适的资源大小和资源位置。
分配PDSCH频域资源:3GPP TS 38.214 V15.4.0中的5.1.2.2 Resource allocation in frequency domain章节规定了type 0和type1两种资源分配方式。
type0是RBG粒度的分配方式,支持非连续分配和连续分配;type1是RB粒度的分配方式,仅支持连续分配。
当前用户级控制信息和数据信息采用type0连续分配方式。
以一个RBG包括4个RB为例,type0连续分配方式如图所示,调度器给UE1分配了1个RBG,给UE2分配了2个RBG,给UE3分配了1个RBG。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
V ol.14, No.5©2003 Journal of Software 软 件 学 报 1000-9825/2003/14(05)1011 高速IP 路由器中输入排队调度算法综述∗ 庞 斌1+, 贺思敏1, 高 文1,2,31(中国科学院 计算技术研究所,北京 100080) 2(哈尔滨工业大学 计算机科学与工程系,黑龙江 哈尔滨 150001) 3(中国科学院 研究生院,北京 100039)A Survey on Input-Queued Scheduling Algorithms in High-Speed IP RoutersPANG Bin 1+, HE Si-Min 1, GAO Wen 1,2,31(Institute of Computing Technology, The Chinese Academy of Sciences, Beijing 100080, China) 2(Department of Computer Science and Engineering, Harbin Institute of Technology, Harbin 150001, China) 3(Graduate School, The Chinese Academy of Sciences, Beijing 100039, China)+ Corresponding author: Phn: 86-10-82649316, Fax: 86-10-82649298, E-mail: bpang@Received 2002-06-06; Accepted 2002-12-10Pang B, He SM, Gao W. A survey on input-queued scheduling algorithms in high-speed IP routers. Journal ofSoftware , 2003,14(5):1011~1022. /1000-9825/14/1011.htmAbstract : Most high-speed IP routers exploit cell-based switching fabrics, whose scalability and performance aremainly affected by queuing scheme and scheduling algorithm. Input-queued router is referred to as an idealstructure in terms of scalability. However, it needs an efficient scheduling algorithm to guarantee throughput anddelay. Several input-queued scheduling algorithms are surveyed in this paper. The scheduling algorithms areclassified into four classes: maximum size matching, maximum weight matching, stable marriage matching, anddeterministic scheduling algorithm. The similarities and the difference of different algorithms in mechanisms ofeach class are described, and their performances are compared. Finally, the future directions and possible openproblems are discussed.Key words : router; switch fabric; queuing scheme; input queued; scheduling algorithm; matching摘 要: 高速IP 路由器一般采用基于定长信元的交换结构,其可扩展性和性能分别受排队策略和调度算法的影响.基于输入排队策略的路由器具有良好的可扩展性,但需要一个有效的调度算法的支持,才能保证吞吐率和延迟等性能.主要讨论输入排队调度算法,将现有的调度算法分为4类:最大(无权重)匹配、最大权重匹配、稳定婚姻匹配和确定型调度.对每一类算法,从技术特点和性能指标两个方面进行比较和分析.最后给出了输入排队∗ Supported by the National Natural Science Foundation of China under Grant No.69983008 (国家自然科学基金); the NationalHigh-Tech Research and Development Plan of China under Grant No.2001AA112100 (国家高技术研究发展计划(863)); the KnowledgeInnovation Program in CAS under Grant No.KGCXZ-103 (中国科学院知识创新工程)第一作者简介: 庞斌(1971-),男,山东临沂人,博士生,主要研究领域为计算机网络,多媒体通信技术.1012 Journal of Software软件学报2003,14(5)调度算法的发展趋势.关键词: 路由器;交换结构;排队策略;输入排队;调度算法;匹配中图法分类号: TP393文献标识码: A在过去的10年中,随着宽带技术和多媒体应用的迅速发展,Internet对高性能路由器的需求越来越高.与早期的基于总线结构的路由器不同,现在的高速路由器一般采用基于定长信元的交换结构,以实现快速的分组转发.在这种结构下,交换结构的配置由调度器决定.变长的分组首先在输入端口被分成定长的信元,然后通过交换结构传送到输出端口,最后在输出端口,信元被重新组装成分组,等待发送到输出链路[1].高速路由器的可扩展性和服务质量(quality of service,简称QoS)主要受排队策略和调度算法的影响.排队策略(如输入或输出排队)决定如何缓冲到达的分组,主要影响路由器的可扩展性.调度算法保证路由器的可预测QoS性能,如吞吐率、延迟、抖动等[2].由于输出排队存在可扩展性问题,高速路由器一般采用输入排队(虚拟输出排队)或组合输入/输出排队结构.在一个非单纯的输出排队的结构下,保证路由器性能的关键在于设计一个有效的调度算法,根据输入(和输出)队列的状态信息决定哪个输入端口能够通过交换结构传送信元,从而避免交换结构的访问冲突.我们将此类算法称为输入排队调度算法.现有的输入排队调度算法可以分为以下几类:根据匹配算法的不同,可以分为最大匹配和稳定婚姻匹配;根据加速比,可以分为有加速比和无加速比;根据排队策略,可以分为虚拟输出排队和组合输入/输出排队;根据调度算法的实现,可以分为集中式和分布式.实际上,对于某个具体的调度算法,根据不同的分类标准,又可分属多个不同的类.在本文中,我们将现有的输入排队调度算法大致分为以下4类:最大(无权重)匹配、最大权重匹配、稳定婚姻匹配和确定型调度算法.在本文中,我们假设路由器的交换结构以同步方式运行,即在相等的时间间隔内执行调度算法,而且内部不含存储器.有关利用交叉开关的缓冲区实现分布式调度的算法见文献[3].此外,我们主要讨论单播通信模式下的调度算法.有关组播通信模式下的调度算法见文献[4].本文第1节给出输入排队调度算法的研究背景.第2节主要对现有的调度算法进行分类并比较不同算法的技术特点和性能.第3节介绍调度算法的发展趋势.最后总结全文.1 研究背景1.1 路由器排队策略传统的路由器一般基于输出排队(output queueing,简称OQ).在这种结构下,到达输入端口的信元马上被交换到相应的输出端口.OQ的优点是能够提供最优的吞吐量和延迟控制,其调度算法(如通用处理器共享PGPS[5])在理论上已得到深入的研究且实现简单.但为了保证OQ的正常运行,交换结构的内部带宽和输出队列的存储器访问速率必须是输入端口链路速率的N倍(如果输入速率不同,则为端口速率之和),即要求N倍的加速比,这里,N是输入端口数.随着链路速率或端口数的增加,在现有的工艺水平下很难实现高速的基于OQ的交换结构.为了克服OQ结构的可扩展性问题,高速路由器考虑采用输入排队(input queueing,简称IQ).到达的信元首先被保存在输入端口的缓冲区中,然后通过调度算法决定信元何时通过交换结构传送到输出端口.IQ的优点是不需要加速比,但是存在链头阻塞问题(head of line blocking):如果队列链头的信元被阻塞,同队列到其他输出端口的信元就不能被转发.研究表明,当端口数较多时,在所有输出均匀分布的Bernoulli到达下,IQ只能达到58.6%的吞吐率[6].解决输入排队链头阻塞问题的一种简单方案是文献[7]提出的虚拟输出排队(virtual output queueing,简称VOQ).在这种结构下,每个输入端口为每个输出设置一个队列,从而消除了链头阻塞并保持加速比为 1.理论研究和仿真实验都表明,一个采用最大权重匹配调度算法(见第2.2节)的VOQ路由器可以到达100%的吞吐率.在本文中,如不特别指出,输入排队路由器均采用VOQ排队方式.但是,VOQ路由器的一个不足是很难提供QoS庞斌 等:高速IP 路由器中输入排队调度算法综述1013保证,原因在于信元的转发不仅与输入端口的通信量有关,而且受调度算法的影响. 提高VOQ 路由器性能的一种方法是利用加速比,这需要在输入和输出端口都设置缓冲区.这种结构称为组合输入/输出排队(combined input/output queueing,简称CIOQ).研究表明,加速比为2的CIOQ 路由器能够完全仿真一个OQ 路由器(见第2.3节).这样,我们可以利用CIOQ 继承OQ 的吞吐率和延迟特性.但是,要在CIOQ 路由器中实现QoS 保证,关键在于设计一个有效的配置交换结构的调度算法.1.2 VOQ 和CIOQ 路由器逻辑结构VOQ 路由器的逻辑结构如图1所示.它主要由4部分组成:输入端口、输出端口、交换结构和调度器.我们假设输入和输出端口的数量都是N 且数据传输速率相同.输入端口采用VOQ,共有N×N=N 2个队列.分组在进入交换结构前已被分成定长信元.时间被分成等长的时间片.输入端口i (1≤i ≤N )的信元到达是一个离散时间的随机过程A i (t ).在一个时间片t 内,最多有一个信元到达一个输入端口.到达输入端口i 且输出端口是j 的信元放入队列Q ij .在第t 个时间片内,队列Q ij 的长度表示为L ij (t ). Output port NInput port N QNN QN 1ANN (k )AN 1(k )Q 1N Q 11A 1N (k )A 11(k )Switching fabric Scheduler A 1(k )Output port1 AN (k )Input port1Fig.1 System structure of VOQ router 图1 VOQ 路由器系统结构我们定义A ij (t )为输入i 到输出j 的到达过程,其到达速率为λij ,到达过程的集合A (t )={A i (t ),1≤i ≤N }.若输入和输出都在负载范围以内,即 j N i ij ∀<∑=,11λi N j ij ∀<∑=,11λ和成立,则A (t )被认为是容许的,否则就是非容许的.我们定义通信量矩阵Λ=[λij ]. 我们用N×N 服务矩阵S (t )=[s ij (t )]表示时间片t 时交换结构的配置,其元素表示调度结果:, (1)=否则到输出如果有信元从输入,0,1)(j i t s ij 矩阵的限制条件(即交换结构的传输限制)是. (2) ∑=≤N i ij t s 11)(,∑=≤Nj ij t s 11)(CIOQ 和VOQ 路由器的结构基本相同.但由于加速比大于1,因此在每个输出端口也有队列.在CIOQ 结构下,我们将时间片分成更小的阶段(phase).在一个阶段内完成一次信元的调度和传输.1.3 性能评价在进行性能评价时,如果我们说信元到达是一个独立的过程,是指它满足以下两个条件:(1) 每个输入端口的信元到达是独立同分布的;(2) 每个输入端口的信元到达独立于其他输入端口.如果信元的到达过程具有相同的速率,并且目的端口均匀分布在所有的输出端口,我们称信元的到达是均匀的.性能评价常用的指标包括吞吐率和信元的延迟.吞吐率是指单位时间内路由器转发的信元数量.延迟是指信元从到达路由器到离开所经历的时间.我们说一个路由器是稳定的,是指输入队列长度的期望值不能无限增长,即t t L E ij ij ∀∞<∑,)( 成立.如果一个路由器在所有独立的和容许的到达下都是稳定的,我们说这个路由器能够达到100%的吞吐率.2 现有的输入排队调度算法我们将现有的调度算法分为最大(无权重)匹配、最大权重匹配、稳定婚姻匹配和确定型调度算法4类.其1014 Journal of Software 软件学报 2003,14(5) 中最大匹配、最大权重匹配和稳定婚姻匹配都是二分图的匹配算法,而确定型调度算法主要基于矩阵分解.除了确定型调度算法以外,其他调度算法都把交换结构看成一个二分图G =[V ,E ](如图2所示),这里顶点集合V 可以分为两个子集:(1) 左顶点子集V 1,其元素v 1k 表示输入端口k ;(2) 右顶点子集V 2,其元素v 2k 表示输出端口k .边集E 表示从输入到输出端口可能的传输(如从v 1i 到v 2j 的边表示有信元从输入i 到输出j ).边的权重记为w ij ,它可以表示队列中是否有信元,队列长度或队列头信元的等待时间等信息.当输入i 没有到输出j 的信元时, w ij =0.根据二分图G 的边的权重组成的N×N 矩阵称为权重矩阵W =[w ij ].我们定义时间片t 时权重矩阵W (t )= [w ij (t )].Bipartite graph G二分图G 的匹配定义为边集E 的子集M ,具有性质:M 中没有两条边有公共顶点.因此,如果M 是一个匹配,那么每一个左顶点最多与M 的一条边关联,类似地,每一个右顶点最多与M 的一条边关联.这说明一个二分图的匹配满足交换结构的传输限制条件(见式(2)).最大匹配(maximum size matching,简称MSM)是指边数达到最大,而最大权重匹配(maximum weight matching,简称MWM)是指边的权重之和达到最大.由于这两种算法具有复杂度高、硬件实现复杂等缺点,在实际应用中,我们一般用极大匹配(maximal matching)近似最大匹配.所谓的极大匹配是指在当前已完成的匹配下,无法再通过增加未完成匹配的边的方式来增加匹配的边数或权重.稳定婚姻匹配根据每个信元的优先级别来调度信元.2.1 基于最大匹配的算法2.1.1 最大匹配算法(MSM)我们可以直接用二分图的MSM 算法解决调度中的匹配问题.目前已知的渐进复杂性最好的该类算法可以达到O (N 2.5)[8].MSM 采用1位的队列占用作为边的权重:当队列中有信元时,相应的边的权重为1;否则为0.仿真实验表明[9],MSM 在均匀的独立到达下可以实现100%的吞吐率.但其也具有以下缺点:(1) 在容许的非均匀通信量下, 可能导致不稳定和不公平;(2) 在非容许的通信量下,可能导致饿死;(3) 算法实现起来过于复杂且运行时间长.2.1.2 极大匹配算法在实际应用中,我们一般用启发式算法来解决二分图的匹配问题.这些算法具有实现简单、运算速度快等优点,但只能实现极大匹配.启发式调度算法要经过多次迭代才能找到极大匹配,每次迭代包括3个步骤.在一个时间片开始时,所有的输入和输出都初始化为未匹配,只有那些直到一次迭代结束都未能完成匹配的输入和输出才能留到下一次迭代.这3个步骤是:(1) 请求(request):每个未完成匹配的输入端口向它的队列中信元可能到达的输出端口发送请求信号.(2) 响应(grant):一个输出端口可能收到多个输入端口发来的请求信号.每个未完成匹配的输出端口从收到的请求中选择一个输入端口并向其发送响应信号.(3) 接受(accept):每个未完成匹配的输入端口可能收到多个输出端口的响应信号.输入端口从响应信号中选择一个输出端口并向其发送接受信号.PIM(parallel iterative matching)[10]是第一个采用多次迭代实现输入排队调度的算法.它利用随机的方法选择请求或响应信号.PIM 平均经过O (log N )次迭代后收敛到极大匹配,并且能够保证所有的请求会被响应.但存在以下不足:首先,在高速情况下实现随机选择存在一定的困难[11];其次,对非容许的通信量,它可能导致连接间的不公平;最后,在单次迭代的情况下,只能达到63%的吞吐率,仅略高于FIFO(first in first out)队列.RRM(round robin matching)[11]算法采用轮转优先算法调度输入和输出端口.在RRM 算法中,每个输出(入)庞斌 等:高速IP 路由器中输入排队调度算法综述 1015 端口有一个跟踪最高优先级输入(出)端口的响应(接受)指针.RRM 算法的主要机制是:在第(2)步,输出端口按固定轮转顺序从它的优先级列表中选择当前优先级最高的元素,然后通知所有输入它的请求是否被响应.指向最高优先级的响应指针增加1(模N ),移到下一个位置;第(3)步,输入端口按固定轮转顺序从它的优先级列表中选择当前优先级最高的元素,然后发出接受信号.指向最高优先级的接受指针增加1(模N ),移到下一个位置.RRM 解决了PIM 中的两个问题:过于复杂和不公平.但是在高负载下,RRM 会变得不稳定,原因在于输出端口响应指针更新的规则不够合理,在负载较高的情况下会出现同步现象,从而导致其最大吞吐率只能达到50%.iSLIP(iterative SLIP)[11]算法在RRM 的基础上进行了改进,以减少同步现象.iSLIP 与RRM 不同之处在于第(2)步:输出端口的响应指针只有在被接受后才移动到下一个位置.与PIM 算法相比,iSLIP 算法的主要优点是实现简单且具有高吞吐率.实验结果表明,在均匀的独立Bernoulli 到达下,即使是单次迭代,iSLIP 算法也能达到100%的吞吐率,明显高于PIM 算法[12].其他调度算法还有FIRM [13]和DRRM(dual round robin matching)[14].FIRM 与iSLIP 的不同之处在于:当输出端口的响应信号被输入端口拒绝时,响应指针将指向该输入端口,从而保证该输入端口的请求信号在下一个时间片内被优先响应.DRRM 算法只需要两次信号交换,即请求和响应.在以上算法中,在一个时间片内,一次迭代建立的匹配在随后的迭代过程中不能被改变,即使有更好的匹配出现也不行.为了克服这种“局部最大”的限制,Goudreau 等人在文献[15]中提出了Shakeup 算法,目的是实现“全局最大”.但Shakeup 需要更多次的迭代才能收敛,在一个实际系统中,该算法是否可行仍然是一个开放的问题.PIM,iSLIP 和FIRM 等算法通过多次迭代实现对MSM 算法的近似,因此具有和MSM 算法类似的性能,如在均匀的独立到达下,所有算法经过多次迭代都可以实现100%的吞吐率,但对非均匀通信量会变得不稳定.2.2 基于最大权重匹配的算法本节首先给出最大权重匹配算法;其次,讨论极大权重匹配算法,并从技术特点和复杂度两个方面进行比较;随后,我们给出了最大权重匹配算法在3个方面的扩展:支持变长分组、多个节点和多类通信量;最后介绍理论研究结果并给出小结.极大权重匹配算法又分为有记忆和无记忆两类.我们知道,在一个时间片内,最多有一个信元到达(离开)一个输入(输出)端口.这表明队列的长度或路由器的状态在相邻的时间片内不会发生大的变化.因此,在一个时间片内权重最大的匹配在随后的几个时间片内仍然是最大,这就是调度算法的记忆特性.有记忆的极大权重匹配算法就是利用这种特性,根据时间片t 的最大权重匹配决定t+1时的最重匹配,而无记忆的极大权重匹配算法每次都重新开始发现最重匹配.2.2.1 最大权重匹配算法(MWM)MWM 是对最大匹配的扩展,在计算边的权重时考虑队列超过1位的性质,如队列长度或排队等待时间等.目前,解决这类问题的最有效的算法其渐进复杂度是O (N 3log N ) [16].LQF(longest queue first)和OCF(oldest cell first)[9,17]是较早提出的利用MWM 实现输入排队调度的两种算法.LQF 把权重w ij (t )设为队列长度L ij (t ),而OCF 的权重w ij (t )是队列Q ij 头信元的等待时间.在容许的通信量下,这两种算法都能达到100%的吞吐率.在非容许通信量下,LQF 有可能出现某个输入端口被饿死的现象.然而,OCF 在任何情况下都不可能出现饿死的现象.为了克服LQF 算法硬件实现复杂的缺陷,文献[18]提出LPF(longest port first)算法,它的权重w ij (t )采用端口占有,定义为队列长度的函数:, (3)>+=否则 ,00)( ),()()(,t L t C t R t w j i j i ij 这里,实际上,LPF 的权重并不确切地等于队列的长度,这使得LPF 能够同时利用最大匹配和最大权重匹配算法的优点.与LQF 算法一样,LPF 能在均匀和非均匀的通信量下到达100%的吞吐率,但LPF 算法的渐进复杂度为O (N ∑==N j j i i t L t R 1,)()(,∑==N i j i j t L t C 1,)()(.2.5),略低于LQF.1016Journal of Software 软件学报 2003,14(5)2.2.2 无记忆的极大权重匹配算法 LQF 算法和OCF 算法在硬件实现上相当复杂而且运行时间较长,为了克服这个缺点,文献[19]提出两种启发式算法: iLQF 和iOCF.这两种算法采用类似于PIM 的多次迭代的方法,但请求信号的长度由1位变成多位.其他调度算法还有iLPF,RPA(reservation with preemption and acknowledgement)和MUCS(matrix unit cell scheduler).iLPF [18]是一种近似LPF 的算法,目的是为了提高LPF 的运行速度,匹配算法采用基于预排序和仲裁的启发式算法.RPA [20]的权重与LQF 一样,都是队列长度,但匹配算法采用基于预留向量的启发式算法.MUCS [21]的匹配算法采用基于贪婪矩阵的启发式算法,权重定义为 ∑∑==+=N k kj ij N k ik ij ij t L t L t L t L t w 11)()()()()(. (4) 表1对以上5种算法进行了比较.文献[22]指出,对最大权重匹配算法性能影响最大的因素是如何计算权重,而对算法复杂度影响最大的是实现匹配的启发式算法.Table 1 Comparison of the maximal weight matching algorithms表1 最大权重匹配算法比较Algorithm Weight Matching algorithms Complexity22iOCF Cell age Iterative matching O (N 2log 2N )iLPF Port occupancy Preordering and arbitration O (N 2)RPA Queue length Reservation vector O (N 2)MUCS MUCS length Matrix greedy O (N 3)2.2.3 有记忆的极大权重匹配算法(随机调度算法)为了找到一个更好的匹配,调度器需要更长的时间才能完成多次迭代.但是,随着链路速率或端口数的增加,可供算法运行匹配计算的时间实际上越来越短.为了解决这个矛盾,文献[23,24]提出利用记忆特性和随机化算法近似MWM,其目的是提供一种在性能上和MWM 相似,同时在硬件上易实施的算法.这类算法又可称为随机调度算法.随机化算法的基本思想是:决策过程不是基于全部的状态,而是基于一个小的随机抽取的样本空间,从而大大简化了决策的过程.在文献[23]中,Tassiulas 最早将随机化应用到VOQ 调度.我们将此算法称为TASS 算法:(1) 设S (t )表示时间片t 时交换结构的服务矩阵.(2) 在时间片t+1,从N !个可能的匹配中随机均匀地选择一个匹配R (t+1).(3) 我们从匹配S (t )和R (t+1)中选择权重较大的一个作为时间片t+1的服务矩阵.TASS 算法在任何容许的独立Bernoulli 到达下都可以实现100%的吞吐率.但实验结果显示,TASS 算法的延迟性能很差[24].这是由于TASS 算法在实现匹配时只考虑了迭代间的记忆特性.实际上,一个匹配的大部分权重集中在少数几个边(重边)上,因此记住重边(heavy edge)比记住匹配更重要.根据这一观察,Giaccone 等人提出了LAURA 算法[24]:(1) 设S (t )表示LAURA 在时间片t 时交换结构的服务矩阵.(2) 在时间片t+1,使用RANDOM 过程产生匹配R (t+1).(3) 将S (t+1)=MERGE(R (t+1),S (t ))作为时间片t+1的服务矩阵.其中,RANDOM 过程随机地生成一个匹配,MERGE 过程根据所有属于匹配S (t )和R (t+1)的边组合成一个最大权重匹配.LAURA 算法的复杂度为O (N log 2N ),低于MWM.其他基于随机化的近似算法还包括APSARA 和SERNA [24].APSRA 算法主要利用调度的记忆特性,而SERNA 算法主要利用记忆特性和最近到达的信息.所有这些算法(LAURA,APSARA 和SERNA)在容许的独立Bernoulli 到达下,都可以达到100%的吞吐率,并且其延迟接近MWM.我们将随机化近似算法的特点总结如下:(1) 随机化的方法避免了一个时间片内的多次迭代过程;(2) 如果系统状态在相邻时间片之间变化不大,则可利用这些状态信息进一步简化算法;(3) 仿真实验结果表明[24],利用随机化方法生成的近似算法在吞吐率和延迟方面都有良好的性能.但是,在高速情况下利用随机的方法(如庞斌等:高速IP路由器中输入排队调度算法综述1017LAURA)生成一个匹配非常困难,因此,这类算法硬件实现的复杂性需要进一步的研究.2.2.4 算法的扩展最大权重匹配算法的扩展包括3个方面:从定长信元到变长分组、从单个节点到多个节点以及从单类通信量到多类通信量.在VOQ路由器中,变长的分组要分成定长的信元才能通过交换结构,然后在输出端口重新组装成分组.但是经过调度后,属于同一分组的信元可被其他分组的信元分隔开,因此增加了对缓冲区的要求且操作复杂.为了克服这一问题,文献[25]将现有MWM算法扩展成基于分组的模式.我们将该算法称为PB(packet based)-MWM,其基本思路是:对一个由n个信元组成的分组,如果输入端口开始传送该分组的第1个信元,那么在随后的n−1个时间片内,始终保持该输入-输出连接.在任何容许的独立的Bernoulli到达下,只要分组的长度是有限的,PB-MWM算法就可以达到100%的吞吐率.文献[26]将文献[25]的信元到达模式由Bernoulli扩展到更普通的容许模式,并发现存在一个反例,使得PB-MWM算法变得不稳定.为了在分组模式下实现稳定的调度,文献[26]提出一种基于“等待”的MWM算法,并证明了算法的稳定性.文献[27]的作者发现,LQF和LPF算法在多节点的环境下不能达到稳定.为了解决这个问题,文献[27]提出了LIN(longest-in-network)算法.但是LIN的计算复杂度高且不易扩展到更一般的通信量模式.在文献[28]中,Leonardi等人首先提出一类调度算法(F(x)-max-scalar),将目前的算法由面向单类通信量模式扩展到多类,然后将该算法由面向单节点扩展到多个互连的节点.无论是单/多节点,在容许的多类通信量下,该算法都是稳定的.2.2.5 理论研究对输入排队路由器调度算法性能的理论研究主要基于Lyapunov函数和流体模型这两种方法.在稳定性方面,文献[9,29]应用Lyapunov函数来发现在独立的信元到达下调度算法的稳定区域,而文献[30]将信元的到达扩展到更一般的模式,并利用流体模型证明:(1) 任何采用最大权重匹配算法的VOQ路由器都可以达到100%的吞吐率;(2) 在加速比大于2的情况下,任何采用极大权重匹配算法的CIOQ路由器都可以达到100%的吞吐率.在延迟方面,文献[31]利用Lyapunov函数分析了最大权重匹配算法信元延迟的均值以及队列长度的均值和方差.文献[32]将文献[31]的结果从最大权重匹配扩展到一类近似最大权重匹配算法1-APRX.在这类算法中,一个调度算法的权重W与最大权重匹配调度算法的权重W*相差最多f(W*),这里,f(W*)是一个次线性函数.这两类算法权重的差异记为“近似距离”.在任何容许的独立Bernoulli到达下,1-APRX算法可以达到100%的吞吐率.1-APRX算法的延迟限度与近似距离呈线性关系,即权重的差异越小,近似算法的性能越好.因此,我们可以利用近似距离指导近似最大权重匹配算法的设计.2.2.6 小结我们从算法的复杂度和性能两个方面对最大匹配和最大权重匹配算法做一个简单的比较.(1) 在算法复杂度方面.MSM和MWM的复杂度分别为O(N2.5)和O(N3log N),在硬件实现上非常复杂且运行时间长.但是采用多次迭代的近似算法平均经过log N次迭代就可以收敛到极大匹配,因此得到实际的应用;(2) 在性能方面.MSM 在均匀的通信量下可以到达100%的吞吐率,但在非均匀的通信量下,算法就会变得不稳定.而对MWM来说,只要通信量是容许的,无论是否均匀,都可以达到100%的吞吐量.近似算法具有类似的性能.2.3 基于稳定婚姻的算法稳定婚姻问题是一种二分图的匹配,最早由Gale和Shapley提出[33].已有的解决该问题的算法是GSA(gale-shapley algorithm),算法复杂度的下限是Ω(N2)[34].在输入排队调度算法中,GSA算法利用输入和输出端口定义的优先清单寻找稳定的输入-输出匹配.优先清单主要用来解决输入/输出端口的访问冲突.我们说一个匹配是稳定的,是指所有已完成匹配的输入和输出端口,在没有完成匹配的输出和输入端口集合中不能发现一个端口,其优先级比已匹配的端口要高.MUCFA(most urgent cell first algorithm)[35]算法利用GSA算法和输入/输出优先清单在输入/输出端口之间。