CN101263680B - 调度互连结构中的单播与多播流量的方法与设备 - Google Patents

调度互连结构中的单播与多播流量的方法与设备 Download PDF

Info

Publication number
CN101263680B
CN101263680B CN2006800333889A CN200680033388A CN101263680B CN 101263680 B CN101263680 B CN 101263680B CN 2006800333889 A CN2006800333889 A CN 2006800333889A CN 200680033388 A CN200680033388 A CN 200680033388A CN 101263680 B CN101263680 B CN 101263680B
Authority
CN
China
Prior art keywords
scheduling
multicast
clean culture
connection
merging
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2006800333889A
Other languages
English (en)
Other versions
CN101263680A (zh
Inventor
西里尔·明肯伯格
弗朗索瓦·G·埃布尔
恩里科·夏塔雷拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101263680A publication Critical patent/CN101263680A/zh
Application granted granted Critical
Publication of CN101263680B publication Critical patent/CN101263680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/60Queue scheduling implementing hierarchical scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

用于调度互连结构中的单播与多播流量的方法,在每一时隙中执行下列步骤。首先,执行多播信元调度(61),并且与其独立地执行单播信元调度(62)。然后,把单播信元调度和多播信元调度合并成合并调度(63),其中,在不能把所调度的连接包括在合并调度中的情况下,在稍后的时隙中把该所调度的连接包括在合并调度中(66,63)。

Description

调度互连结构中的单播与多播流量的方法与设备
技术领域
总体上,本发明涉及计算机网络,具体地,本发明涉及用于调度互连结构中的单播与多播流量的方法与设备。该方法与设备可用于诸如计算应用通信中所使用的路由器或者交换器的网络设备中。
背景技术
在分组交换网络中,通常存在两种类型的数据流量:单播和多播流量。在单播流量中,建立点到点连接,并且把数据从单一源导向单一目的地,而在多播流量中,建立一点到多点的连接,并且把数据分组从单一源导向接收所传输的数据分组的相同拷贝的多个目的地。通常,交换设备都支持这两种流量类型,这意味着交换设备必须能够对一个流入的多播分组进行多个拷贝,并且在输出链路上传输所拷贝的分组。
目前,绝大部分因特网流量由单播流量组成。然而,对于诸如音频与视频会议、例如,收音机与电视机的多媒体内容分布和远程合作之类的通信应用,以及对诸如并行计算机中的集体操作或者基于窥探的高速缓存一致性的实现的计算应用而言,对多播流量的有效支持是至关重要的。理想情况下,交换设备应该能够在这两种流量类型的任何混合状态下达到高性能。
在M.Anderws、S.Khanna、K.Kumaran的“Integrated Schduling of Unicastand Multicast Traffic in an Input-Queued Switch”(1999年3月,IEEEINFOCOM’99的会议论文集,第3卷,第1144到1151页)中,使用了两个调度器,即每种流量类型一个调度器。所描述的方案包括:首先调度多播,然后把剩余资源用于单播。这一方案顺序地运作。一个缺点是其不公平,即其不能防止多播流量使单播流量处于饥饿状态。向交换器加载被发往所有输出的多播分组(广播)的单一输入,将完全阻碍单播分组流。网络结点不能保证对于每一用户的最小量服务,并且易受拒绝服务的侵害。
在Angle等人的US 6477169的技术状态下,描述了另一种用于交换设备的单播与多播调度方法。在该实施例中,用户必须配置来确定将按何种频率调度多播流量的多播调度频率。如果把该频率设置为0,则多播流量将不接收任何服务。如果其大于0,则将按规则的间隔调度多播流量。在任何给定的时隙(time slot)中,基于该频率决定是否调度多播流量。如果在当前时隙中不调度多播,则仅执行一个单播调度循环。否则,并行地执行一个单播和一个多播调度循环。在此情况下,单播调度考虑先前的多播结果,如果可能,用单播放大现有的多播调度。并行地计算新的多播调度。该方案的主要特征在于,其并行地使用了单播调度器和多播调度器,其随时地“准备”稍后将使用的多播调度,同时用单播填充无信号区(hole)。这意味着,在该实施例中,通常仅调度单播流量。然而,在预定的时隙中,也计算多播调度。当多播调度就绪时,在下一个时隙中,把调度传递到单播调度器,该单播调度器试图通过进行仅考虑仍然可用的输入和输出的调度循环,将该调度加以放大。在该方案中,避免了单播和多播之间的冲突,因为通过令单播向预先计算的多播调度添加边(edge),实现了结合。单播调度器和多播调度器有时并行运作,即,它们按流水线形式运作,以加速串行计算。将所计算的多播调度用于稍后的时隙中,因为单播调度器需要有关哪些输出端依然空闲的信息。如果试图在同一时隙中使用它们,则可能会回到串行方案:先多播,后单播。在该实施例中,用户必须手动配置调度频率。该频率直接决定了多播可以接收的最大服务量。如果实际流量模式与所预期的、所编程的值不相匹配,则多播将不能接收到足够的服务,从而,必须对频率重新加以编程。一般来说流量条件极难预测,并且可能剧烈波动,这可能要求多播调度频率的频繁变化;否则,多播性能将会受损。其次,对于多播流量,将会引起取决于多播调度频率的等待时间作为代价。这是延迟向下一个时隙发送多播调度的结果,在该下一时隙中,多播频率计数器触发多播调度循环。因此,如果频率较低,则等待时间将非常长。在任何情况下,都会引起不必要的等待时间,在并行计算应用中,这是特别不希望的。第三,如果把多播调度频率编程为不对应于所提供的多播流量的实际值的一个值,则可能导致不公平。特别是,当把频率设置得过低时,单播可以使用可用带宽的不公平部分。
发明内容
本发明的目的是,提供用于调度互连结构中的单播与多播流量的方法、设备以及计算机程序制品,其提供了对单播与多播流量的公平与有效的调度,并且其还具有对于单播以及多播流量的低等待时间。
根据本发明的一个方面,通过分别具有独立权利要求1、8以及11的特性的、用于调度互连结构中的单播与多播流量的方法、设备以及计算机程序制品,实现此目的。
根据本发明用于调度互连结构中的单播与多播流量的方法在每一时隙中执行下列步骤。执行多播连接调度,并且与其独立地执行单播连接调度。然后,将单播连接调度和多播连接调度合并成合并调度,其中,在不能把所调度的连接包括在合并调度中的情况下,在稍后的时隙将该所调度的连接包括在合并调度中。
根据本发明的用于调度单播与多播流量的设备包括专门用于调度单播连接的单播调度器、专门用于调度多播连接的多播调度器、用于合并单播连接调度和多播连接调度的合并单元、以及由合并单元控制的互连结构。
计算机程序制品包含计算机可读程序代码,用于当将该计算机可读程序代码加载到用于调度单播与多播流量的计算设备的处理单元中时,在每一时隙中执行下列操作。执行多播连接调度,并且与其独立地执行单播连接调度。此外,把单播连接调度和多播连接调度合并成合并调度,其中,在不能将所调度的连接包括在合并调度中的情况下,在稍后时隙中将该所调度的连接包括在该合并调度中。
本发明的有利的进一步改善源于在所附专利权利要求中所示的特征。
优选地,在根据本发明的方法中,把来自多播连接调度的所有所调度的连接包括在合并调度中,并且把来自单播连接调度的、不与来自多播连接调度的所调度的连接相冲突的那些所调度的连接包括在合并调度中。这对于合并单播调度和多播调度是一种容易而有效的规则。
在根据本发明的方法的一个实施例中,通过iSLIP、双循环匹配DRRM、或者并行迭代匹配PIM来确定单播连接调度。
在根据本发明的方法的另一实施例中,通过TATRA或者基于权重的算法WBA来确定多播连接调度。
另外,在根据本发明的方法中,可以在不同的队列中缓冲单播信元。这样做,可以避免线路头部阻碍。因此这样加快了单播信元的转发。
除此之外,在根据本发明的方法中,还可以在一或多个单独的多播信元队列中缓冲多播信元。
最后,在根据本发明的方法的另一个实施例中,与还没有被调度的连接相比,首选不能被包括在合并调度中的所调度的连接,并且首先将其包括在被更新的合并调度中。这样做,所调度的连接得到了比还没被调度的连接更高的优选级,并且确保了所调度的连接不会在等待队列中停留太长时间。
在根据本发明的设备的另一个实施例中,互连结构是输入排队的纵横交换器。
在本发明的另一方面中,该设备可以包括过滤器,该过滤器被排列在单播调度器和多播调度器之前,并且该过滤器可操作用于基于从合并单元反馈的信息过滤单播与多播请求。
附图说明
当结合附图时,参照以下对根据本发明的当前优选的、但仅为说明性的实施例的详细的描述时,将可更充分地理解本发明及其实施例
附图图示了:
图1    用于网络的输入排队的交换器的方框图;
图2a   用于单播调度的双向图的例子;
图2b   用于多播调度的双向图的例子;
图3    调度器的第一实施例的方框图;
图4a到d 合并之前和之后的单播与多播流量的双向图的例子;
图5    调度器的第二实施例的方框图;以及
图6    整个流量调度的流程图的实施例。
具体实施方式
根据图1的交换设备基于这样一个输入排队(input-queued)的体系结构,该体系结构包含N个线路卡3.1到3.N;一个纵横交换器(crossbar switch)1,具有N个输入端I1到IN和N个输出端O1到ON;以及一个集中调度器或仲裁单元10。线路卡3.1到3.N形成交换器与其环境之间的接口,并且接收输入链路7上的分组,然后把分组传输到纵横交换器1的输入端I1到IN。线路卡3.1到3.N还保持到来的分组的队列Q1到QN等待被传输到输出端口O1到ON。依据到达线路卡的单播分组的目的地,把这些单播分组存储在不同的虚拟输出队列VOQ中。而通常把多播分组存储在单一多播队列MCQ中,尽管可能有不同的排队结构。这意味着,在纵横交换器1的每个输入端I处,为每个输出端O维持一个独立的先进先出(FIFO)队列,如图1中所示。例如,纵横交换器1的第一输入端I1与称为虚拟输出队列VOQ1.1到VOQ1.N的N个FIFO队列以及一个多播队列MCQ1耦接,而纵横交换器1的第二输入端I2与称为虚拟输出队列VOQ2.1到VOQ2.N的N个FIFO队列以及一个多播队列MCQ2耦接。在已经做出转发决定之后,把从线路卡3.1到3.N之一到达的信元(cell)安放在与其一或多个流出端口对应的虚拟输出队列或者多播队列中。
通常,把时间划分相等持续时间的段,称为时隙。一个时隙的持续时间等于其采集一个将通过交换结构,即纵横交换器1加以传输的、称为信元的固定大小数据单元的时间。在输入端将流入的数据分组分段为信元,并且在输出端将它们重新集合。
纵横交换器为一种用于构造交换器的互连或交换结构。有时,把纵横交换器称为交叉点交换器。纵横交换器具有在到交换器的输入端和交换器的输出端之间的交换器特征矩阵。如果交换器具有M个输入端和N个输出端,则一个纵横交换器具有M×N个交叉点的或“线”“交叉”位置的矩阵。
纵横交换器1是能够把N个输入端I1到IN互连于N个输出端O1到ON的电路。在每个时隙,由最多一个分组可以离开每个输入端I以及最多一个分组可以到达每个输出端O的约束来限制可能的输入-输出连接的集合。然而,可以由多个输出端O接收离开一个输入端I的一个信元。因此,纵横交换器1提供了对多播流量的自然支持,这是因为其允许在单一时隙中一个分组到多个输出端O的复制。
集中调度器10的输入端15和16经由控制信道5.1到5.N与输入端I1到IN连接,并且集中调度器10的输出端17与纵横交换器1的控制输入端连接。在每个时隙,集中调度器10检查虚拟输出队列VOQ1.1到VOQ1.N和多播队列MCQ1到MCQN的状态,并且计算针对受到上述约束的纵横交换器1的配置。该操作等效于寻找在双向图的结点之间的匹配调度,其中,每一个结点代表输入端或者输出端。图2a和2b中描述了具有4个输入端I1到I4和4个输出端O1到O4的双向图的例子。把连接输入端和输出端结点的线称为边,并且这些线对应于纵横交换器1所做出的输入输出连接。单播调度只包含一对一的连接,如图2a中所示,而多播调度还可以包含一对多的连接,如图2b中所示。
在一个根据图3中所描述的本发明的实施例中,集中调度器10包含请求过滤器14、用于单播调度的第一调度器11、用于多播调度的第二调度器12以及也称为集成块的合并单元13。单播调度器11和多播调度器12用于独立并行地计算单播与多播调度。稍后通过随后的合并单元13把这些调度组合在单一集成的调度中,称为合并调度。尽管已由相应的调度器11或者12加以选择但不能在当前时隙中服务的所调度的连接在稍后的时隙中接收服务。为此,合并单元13把未服务的连接或者关于未服务的连接的信息反馈给请求过滤器14。
在每一个时隙的开始处,集中调度器10接收来自控制链路6.1到6.N上的线路卡3.1到3.N的有关单播和多播队列的状态的信息或者请求。由控制信道接口CCI 5.1到5.N终止每个控制链路6.1到6.N。控制信道接口5.1到5.N保持对用于所连接的线路卡的每一队列的状态信息,即对未决的单播与多播请求的追踪。该状态信息确定了经由用于单播的控制链路15和用于多播的控制链路16向调度器10传送的请求。根据请求过滤器14中的特定算法来操纵这些请求,以下将进一步对其加以描述。在过滤之后,把单播与多播请求分别传输到链路20和19上的各自的调度器11和12。调度器11和12并行地运行它们的算法。单播调度器11从用于非空虚拟输出队列VOQ的输入端接收请求,并且产生纵横交换器1的输入端I和输出端O之间的一对一的,即单播调度。多播调度器12检查处于多播队列的线路头部处的信元的扇出,并且产生多播调度。允许扇出分割:在一个时隙期间,多播信元可以接收部分服务,该部分服务仅被传输到其目的地的一个子集。单播调度与多播调度被分别传送到链路21和22上的合并单元13。由于两个调度器11和12并行独立运行,所以通常它们产生的调度是重叠的,这意味着两个调度可能具有冲突的边。为了获得用于纵横交换器1的一致配置,合并单元13根据以下将描述的集成策略将两个独立的调度组合在单一的集成调度中,并且使用链路17,把包含准许的信息返回至控制信道接口5.1到5.N和纵横交换器1。可以作为集中调度器10或者线路卡3.1到3.N的一部分的控制信道接口5.1到5.N,根据合并调度更新它们的状态信息,并且向线路卡3.1到3.N发布相应的准许。可能发生的是,并非已经由调度器11和12所选择的所有分组均可在当前时隙中得以服务。那些服务被合并单元13撤回的信元,将在稍后的时隙中得以服务。把那些排除在集成的调度之外的边的集合称为剩余边。把关于这些信元的信息从合并单元13反馈到链路18上的请求过滤器14。
在根据本发明的实施例中,每个连接请求都经历了连接的两点:首先,其与属于同一流量类型的其它连接相竞争,然后与其它流量类型的连接相竞争。如果每个连接都规则地具有赢得两个连接的机会,则确保了公平性。如果合并单元13把分别已经由它们的调度器11和12加以选择的连接排除在外,则这些连接仍不能得以服务。调度器11和12不知道它们被准许的服务已经被撤回的事实,因此公平性不再能够得以保证。对此的一种解决方案是,确保作为剩余边的一部分的所有边实际都接收到服务,尽管在稍后的时隙中。
根据本发明的方法与设备的优点在于:在两种流量类型的任何混合状态下,其实现了较高的性能。另外,其更好地适应于流量模式,并且不需要如Angle等人所描述的手动设置诸如单播或者多播调度频率的调度参数,而且还得到了相当低的等待时间。另一个优点是,其是公平的,即,其保证了系统中的每一分组在有限的时间内都接收到服务。另一个优点在于,相对顺序方案,其减小了最小时隙持续时间,因为调度器并行地运行,而非一个接着另一个地运行。另外,其是算法独立的,即,其允许系统设计人员选择最适合于其需求的单播和多播调度算法。其还独立于所选择的排队结构,并且可以更容易在多个芯片上分布功能性。
调度单播流量并且可以在单播调度器11中实现的算法例如iSLIP、DRRM(双循环匹配)、以及PIM(并行迭代匹配)。
下面通过iSLIP算法描述单播流量调度。iSLIP是一种迭代算法。在每个时隙期间,进行多个迭代,以选择使输入端I1到IN与输出端O1到ON相匹配的纵横配置。iSLIP算法使用旋转优先级(循环法)仲裁,以依次调度每个有效的输入端和输出端。可以很容易以硬件实现iSLIP,并且iSLIP可以高速操作。iSLIP试图在多次迭代中快速收敛于无冲突匹配,其中,每次迭代由3个步骤组成。最初,所有输入端和输出端都不匹配,并且仅那些在一次迭代结束时不匹配的输入端和输出端才有资格在下一次迭代中进行匹配。每次迭代操作的3个步骤在每个输出端和输入端上并行地操作。每次迭代的步骤是:
步骤1:请求。每个不匹配输入端I向每个具有用于其的排队的信元的不匹配输出端O发送请求。
步骤2:准许。如果输出端O接收到任何请求,则其选择接下来出现在固定的、从最高优先级元素开始的循环调度中的一个请求。该输出端通知每个输入端I其请求是否被准许。
步骤3:接受。如果输入端I接收到准许,则其接受接下来出现在固定的、从最高优先级元素开始的循环调度中的一个请求。将指向循环调度的最高优先级元素的指针递增,以N为模,以指向所接受的输出端之外的位置。将指向相应输出端处的最高优先级元素的指针递增,以N为模,以指向所准许的输入端之外的位置。仅在第一次迭代之后更新这些指针。
通过仅考虑不匹配的输入端和输出端,每次迭代都对先前迭代期间不匹配的输入端和输出端进行匹配。
可以在N.McKeown的“The iSLIP Scheduling Algorithm for Input-QueuedSwitches”,IEEE/ACM论文集,Networking,1999年4月,第7卷,第2号,第188到201页中找到关于iSLIP算法的进一步的信息。
可以在H.Chao和J.Park的“Centralized contention resolution schemes for alarge-capacity optical ATM Switch”,Proc.IEEE ATM Workshop,Fairfax,VA,1988年5月,第11到16页中找到关于DRRM算法的进一步的信息。
可以在Rodeheffer,T.L.和J.B.Saxe的“An Efficient Matching Algorithmfor a High-Throughput,Low-Latency Data Switch”,1998年11月5日,Compaq/Digital SRC Research Report,no.162中找到关于PIM算法的进一步的信息。
调度多播流量并且可以在多播调度器12中实现的算法例如TATRA和基于权重的算法,WBA。在N.McKeown和B.Prabhakar的“Scheduling multicastcells in an input queued switch”,Proc.IEEE INFOCOM’96,CA,旧金山,1996年3月,第1卷,第271到278页中和B.Prabhakar、N.McKeown以及R.Ahuja的“Multicast scheduling for input-queued switches”,IEEE J.Sel.Areas inCommun.,1997年6月,第15卷,第5号,第855到866页中描述了这两种算法。
注意,如果单播与多播流量竞争一个输入端,则如果多播胜,则仅丢失一个边,而如果多播败,则可能除去多个边。因此,在优选实施列中,合并单元13使用下列算法来决定由单播与多播调度器11和12所选择的分组中的哪些分组在当前时隙中接收服务:
1.向多播调度器所选择的所有分组提供服务。
2.向多播调度器所选择的、不与多播调度冲突的,即其服务不违反纵横约束的单播分组提供服务。
因此,如果进行上述算法,则剩余边总是仅包含单播边。
这意味着,集成的调度包含所有多播边以及不与它们重叠的单播边。不能被添加的单播边对应于当前时隙中不能得以服务的单播分组,并且构成了“剩余边”。图4a到4d中示出了合并单元13操作的例子。在图4a中,描述了由多播调度器12所执行的多播调度。在图4b中,描述了由单播调度器11所执行的单播调度。通过合并单元13把这两个调度加以合并,并且得到图4c中所示的双向图。在图4d中,示出了不能被合并在单一时隙中的调度的剩余边。
在每个时隙开始时,请求过滤器14从合并单元13接收有关剩余边中的边所覆盖的输入端和输出端的信息。在下一个时隙中,请求过滤器14丢弃所有涉及那些资源的单播与多播请求,因此确保调度器11和12不考虑它们。
在每个时隙结束时,合并单元13向线路卡3.1到3.N发布对于在当前集成的调度中的边的以及针对先前时隙中所产生的剩余边中的边的准许。合并单元13还产生了新的剩余边,其也可能是空的,并且合并单元13将其反馈至请求过滤器14。换句话说,不能在当前时隙中得以服务的单播分组,将在下一时隙中马上得以服务。因此资源是空闲的,因为它们已经由请求过滤器14所保留。
在图6中,描述了上述流量调度60的操作。简而言之,这意味着,在步骤61和62中,执行多播信元调度,和与其独立地执行单播信元调度。在步骤63中,把单播信元调度和多播信元调度合并成合并调度。在不能够把所调度的连接包括在合并调度中的情况下,缓冲所调度的连接(步骤66),并且将其包括在稍后时隙中的合并调度中。把关于不能被包括在一个时隙内的合并调度中的,即被缓冲为剩余边的那些所调度的连接的信息反馈到在步骤67中执行过滤的过滤器。在还没有被调度的单播或多播请求中,过滤器算法首选在步骤66中被缓冲为剩余边的所调度的连接,并且首先向多播和/或单播调度步骤61和62传输对应于该所缓冲调度的连接的请求。这样做,在更新的合并调度中优选在步骤66中所缓冲的连接。
另一实施例
在同样情况下,多播性能可能受到限制,这是因为,在每个时隙,一些交换资源用于释放剩余边。尽管实质上最终要向在合并过程中未被选择的、要加以服务的所有边提供服务,但不必立即这样做。由于分解的剩余边特性,能够把所产生的剩余边聚集在相继的时隙中,并且在条件最有利时向各边提供服务。剩余边服务策略识别在每一时隙应该向哪些边提供服务,并且过滤相应的多播请求。相比之下,总是使用所有聚集的边来过滤单播请求,以获得分解的剩余边。好的策略应该能够迅速向剩余边中的边提供服务,并且同时引起尽可能少的多播信元流中断。
可以通过在每一时隙中更仔细地选择剩余边中的哪些信元接收服务来改进交换设备的性能。这意味着在请求过滤器14中实现更复杂的算法,并且向其提供更多的信息。
在该另一实施例中,如图5中所示,仅当适用下列条件中的任何一个条件时,才选择剩余边单播信元用于服务:
1.信元被指定到多播未请求的输出端,或者,
2.信元离开多播未请求的输入端,或者,
3.信元离开在先前时隙中已经完成多播信元的服务的输入端。
可以根据线路15和16上的请求,导出有关条件1和2的信息,同时可以在线路卡3.1到3.N上维持关于条件3的信息。
前两个规则或条件旨在改进集成:如果能够使用否则将保持闲置的资源,则最好加以使用。在此情况下,向剩余边中的边提供服务的开销是,使一个输出端(第一规则)或者一个输入端(第二规则)对于多播来说不可用。
使用第三规则,集成单元13趋向于首选与更少其他信元竞争的信元。一般,刚刚前进至线路头部的信元仍具有其完全的、通常很大的扇出,并且可能导致众多冲突。它们不可能接收到太多的考虑,因此推迟它们的调度不应显著影响调度的质量。第三规则使公平性得到提高:多播调度器12保证在任何输入端,将在有限的时间内向线路信元的头部提供服务;因此,输入端变得可用于向剩余边中的边提供服务。诸如TATRA、WBA以及mRRM的算法确保了在每一时隙至少完全释放了一个多播信元。在Nick McKeown、BalajiPrabhakar的“Scheduling Multicast Cell in an Input-Queued Switch”,IEEEINFOCOM’96会议论文集,旧金山,1996年3月,第1卷,第271到278页中描述了mRRM算法。
对于被选择用于服务的每个信元,请求过滤器14丢弃相应的多播请求,并且通知合并单元13发布准许。考虑到剩余边中的所有边,单播请求总是被过滤。
反馈回路18和请求过滤器14对解决冲突无直接贡献,但有助于实现适应性、性能和公平性;可以简单丢弃剩余边中的单播边。
图5中所示的实施例包含两个附加通信信道23和24。信道23通知合并单元13应发布哪些剩余边准许。信道24告知请求过滤器14输入条件3适用于哪些输入。
克服线路头部(HOL)阻碍
在纵横交换器的简单实施例中,把等待在每个输入端的所有信元存储在单一FIFO队列中。当一个信元到达其FIFO队列的头部时,由集中调度器对其加以考虑。该信元与被指定到同一输出端、但当前处于其它输入端的HOL处的信元竞争其输出端。集中调度器的工作是决定接下来哪个信元通过。最终,每个信元都将被选择,并且都将跨越纵横交换器被发往其输出端。使用这种类型的FIFO,排队的信元会被在它们前面的、发往不同输出端的信元阻档。把这一现象称为HOL阻碍。集中调度器仅“看到”FIFO队列头部处的信元,因此HOL信元阻碍了在其之后的、需要提被发往不同输出端的分组。即使在良性流量模式的情况下,HOL阻碍也会把吞吐量限制在仅为固定或者可变长度分组的总带宽的60%。当流量突发或者偏向某些输出端口时,吞吐量可能更糟。为了缓解这一问题,可以实现虚拟输出排队(VOQ)。在每个输入端,为每一输出端维持一个单独的FIFO队列,如图1所示。在已经做出转发决定之后,把到达的信元放入与其流出端口对应的队列中。在每一时隙开始时,集中调度算法检查所有输入队列的内容,并且找出输入端和输出端之间的无冲突的匹配。理论上,如果使用VOQ,则调度算法可以将使用FIFO排队的纵横交换器的吞吐量从60%提高到完整的100%。这是因为已经完全消除了HOL阻碍:没有信元被其之前的、被指定到不同输出端的信元阻档。
在此上下文中,排队的输入意味着在交换设备的输入端处缓冲分组,并且集中调度器解决了对交换结构的存取的竞争。这一体系结构允许交换结构和存储器以与输入链路相同的数据率来运行,从而提供了数据路径的高可放缩性。
本发明具有下列优点。可以提高性能,因为在每一时隙进行了集成。此外,如以上所指出的,等待时间变少了。而且,对流量模式变化的自动适应性变得更好。除此之外,公平性变得更好。最后,本发明还解决了无论其流量类型如何都并发地调度单播与多播流量同时旨在避免任何连接饥饿的问题。
已经图示和描述了一种新型方法与装置的优选实施列,注意,在不脱离本发明的构思或者所附权利要求的范围的情况下,可以对所述方法与装置做出变动与修改。
参考标记
1  纵横交换器
3.1到3.N  线路卡
5.1到5.N  控制信道接口
6.1到6.N  控制链路
7  外部数据链路
10  集中调度器或者仲裁器
11  单播调度器
12  多播调度器
13  合并单元
14  请求过滤器
15  控制链路
16  控制链路
17  控制链路
18  控制链路
19  链路
20  链路
21  链路
22  链路
23  链路
24  链路
I1到IN  输入端1到N
O1到ON  输出端1到N
Q1到QN  单播与多播队列1到N
60到66  操作步骤

Claims (9)

1.一种用于调度互连结构中的单播与多播连接请求的方法,
在每一时隙中执行下列步骤:
-创建多播连接调度(61),并且与其独立地创建单播连接调度(62),
-把所述单播连接调度(62)和所述多播连接调度(61)合并成合并调度(63),其中,在不能把所述多播连接调度(61)或者所述单播连接调度(62)的所调度的连接包括在所述合并调度(63)中的情况下,在稍后的时隙中把所述所调度的连接包括在所述合并调度中(66,63)。
2.根据权利要求1所述的方法,
-其中,把来自所述多播连接调度(61)的所有所调度的连接包括在所述合并调度(63)中,
-其中,把来自所述单播连接调度(62)的、不与来自所述多播连接调度(61)的所调度的连接相冲突的那些所调度的连接包括在所述合并调度(63)中。
3.根据权利要求1或2所述的方法,
其中,通过iSLIP、并行迭代匹配或者双循环匹配来确定所述单播连接调度。
4.根据权利要求1或2所述的方法,
其中,通过TATRA、WBA或者mRRM算法来确定所述多播连接调度。
5.根据先前权利要求1或2所述的方法,
其中,在不同的队列(VOQ1.1到VOQ1.N)中缓冲单播连接请求。
6.根据先前权利要求1或2所述的方法,
其中,在单独的多播队列(MCQ1到MCQN)中缓冲多播连接请求。
7.根据先前权利要求1或2所述的方法,
其中,与还未被调度的连接相比,首选不能被包括在所述合并调度中的所调度的连接,并且首先将其包括在被更新的合并调度中。
8.一种用于调度单播与多播流量的设备,
包括:
-单播调度器(11),用于调度单播连接,以创建单播连接调度(62),
-多播调度器(12),用于调度多播连接,以创建多播连接调度(61),
-合并单元(13),用于合并所述单播连接调度(62)与所述多播连接调度(61),以及
-由所述合并单元(13)控制并连接到所述合并单元(13)的互连结构(1),其中,将过滤器(14)排列在所述单播调度器(11)和所述多播调度器(12)之前,并且该过滤器(14)可操作用于基于从所述合并单元(13)反馈的未得以服务的连接来过滤单播连接请求和多播连接请求。
9.根据权利要求8所述的设备,
其中,所述互连结构(1)包括输入排队的纵横交换器。
CN2006800333889A 2005-09-13 2006-08-23 调度互连结构中的单播与多播流量的方法与设备 Active CN101263680B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05019939 2005-09-13
EP05019939.7 2005-09-13
PCT/IB2006/052924 WO2007031889A1 (en) 2005-09-13 2006-08-23 Method and device for scheduling unicast and multicast traffic in an interconnecting fabric

Publications (2)

Publication Number Publication Date
CN101263680A CN101263680A (zh) 2008-09-10
CN101263680B true CN101263680B (zh) 2010-05-19

Family

ID=37649284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800333889A Active CN101263680B (zh) 2005-09-13 2006-08-23 调度互连结构中的单播与多播流量的方法与设备

Country Status (6)

Country Link
EP (1) EP1925117B1 (zh)
JP (1) JP4568364B2 (zh)
CN (1) CN101263680B (zh)
AT (1) ATE438976T1 (zh)
DE (1) DE602006008324D1 (zh)
WO (1) WO2007031889A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815025B (zh) * 2009-02-24 2013-12-04 华为技术有限公司 单播多播的调度方法、装置和系统
CN101902390B (zh) * 2009-05-27 2013-04-17 华为技术有限公司 一种单播和多播集成调度装置、交换系统及方法
CN102111327B (zh) * 2009-12-29 2014-11-05 中兴通讯股份有限公司 信元调度方法和系统
CN103078809B (zh) * 2012-12-28 2015-06-24 中国航空工业集团公司第六三一研究所 一种基于多crossbar交换结构的调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1052804A2 (en) * 1999-05-14 2000-11-15 Nortel Networks Limited Multicast and unicast scheduling for a network device
CN1411211A (zh) * 2002-04-17 2003-04-16 华为技术有限公司 以太网交换芯片输出队列管理调度方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4489308B2 (ja) * 2001-01-05 2010-06-23 富士通株式会社 パケットスイッチ
IL150281A0 (en) * 2002-06-18 2002-12-01 Teracross Ltd Method and system for multicast and unicast scheduling
JP2005045626A (ja) * 2003-07-24 2005-02-17 Nec Engineering Ltd データ転送システム及びそれに用いるマルチキャスト転送方法
CA2544411A1 (en) * 2003-10-30 2005-05-26 Venkat Konda Nonblocking and deterministic multirate multicast packet scheduling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1052804A2 (en) * 1999-05-14 2000-11-15 Nortel Networks Limited Multicast and unicast scheduling for a network device
CN1411211A (zh) * 2002-04-17 2003-04-16 华为技术有限公司 以太网交换芯片输出队列管理调度方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈晴等.一种适合于多播和单播的集成调度算法.计算机学报27 6.2004,27(6),758-764.
陈晴等.一种适合于多播和单播的集成调度算法.计算机学报27 6.2004,27(6),758-764. *

Also Published As

Publication number Publication date
EP1925117A1 (en) 2008-05-28
DE602006008324D1 (de) 2009-09-17
WO2007031889A1 (en) 2007-03-22
ATE438976T1 (de) 2009-08-15
JP2009508428A (ja) 2009-02-26
CN101263680A (zh) 2008-09-10
EP1925117B1 (en) 2009-08-05
JP4568364B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
US8121122B2 (en) Method and device for scheduling unicast and multicast traffic in an interconnecting fabric
US7173931B2 (en) Scheduling the dispatch of cells in multistage switches
McKeown A fast switched backplane for a gigabit switched router
CN1152532C (zh) 有效的输出请求分组交换设备和方法
US6856622B1 (en) Multicast cell scheduling protocol
JPH10164096A (ja) マルチキャスト・パケット・アクセス調停方法
US7830903B2 (en) Method and apparatus for scheduling packets and/or cells
CN100379204C (zh) 用于包括无阻塞交换结构和线路卡接口的系统的包调度
CN101263680B (zh) 调度互连结构中的单播与多播流量的方法与设备
US20080273546A1 (en) Data switch and a method of switching
US7103056B2 (en) Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module
Pan et al. Localized independent packet scheduling for buffered crossbar switches
Gupta Scheduling in input queued switches: A survey
US7158512B1 (en) System and method for scheduling a cross-bar
Prabhakar et al. Designing a multicast switch scheduler
Pan et al. Bandwidth guaranteed multicast scheduling for virtual output queued packet switches
Liu et al. Scheduling multicast input‐queued switches
Jiang et al. A 2-stage matching scheduler for a VOQ packet switch architecture
Pan et al. Pipelined two step iterative matching algorithms for CIOQ crossbar switches
CN110430146A (zh) 基于CrossBar交换的信元重组方法及交换结构
Mhamdi et al. Efficient Multicast Support in High-Speed Packet Switches.
CA2544414A1 (en) Nonblocking and deterministic multirate unicast packet scheduling
Schiattarella et al. High-performance packet switching architectures.
Pan et al. Bandwidth guaranteed multicast scheduling for virtual output queued packet switches
EP1380139B1 (en) Feedback system for packet switching device with bufferless cascaded switching matrix

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant