CN1201532C - 具有中心调度程序的atm交换机及其调度方法 - Google Patents

具有中心调度程序的atm交换机及其调度方法 Download PDF

Info

Publication number
CN1201532C
CN1201532C CNB00100655XA CN00100655A CN1201532C CN 1201532 C CN1201532 C CN 1201532C CN B00100655X A CNB00100655X A CN B00100655XA CN 00100655 A CN00100655 A CN 00100655A CN 1201532 C CN1201532 C CN 1201532C
Authority
CN
China
Prior art keywords
port
input port
ready
output
tree structure
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.)
Expired - Fee Related
Application number
CNB00100655XA
Other languages
English (en)
Other versions
CN1275008A (zh
Inventor
谢里夫·M·沙瑞尔
亚力山大·T·伊什
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of CN1275008A publication Critical patent/CN1275008A/zh
Application granted granted Critical
Publication of CN1201532C publication Critical patent/CN1201532C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • 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/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

用于高容量ATM转换器的循环调度程序(RRS)的新型结构和执行程序。根据端口的优先级,从一组交替的实时/非实时优先级端口中选出一个端口,将最小的信元速率(MCR)分配给端口和来自输出缓冲器的被背压信号。使用二元树结构产生调度程序的快速执行程序。二元树中的节点作为“切入”交换机,因此调度程序可高速的运行。此调度程序适合用于在高速硅技术中执行。就逻辑门的要求而言,其紧密、非常可伸缩并且是在兆位ATM交换机中可行的选择。

Description

具有中心调度程序的ATM交换机及其调度方法
技术领域
本发明涉及一种网络系统和控制网络周围的数据流动的交换机,更具体的涉及高容量异步传输模式(ATM)交换机和通过交换机管理ATM信元流的调度程序。
背景技术
在众多的局域网(LAN)/广域网(WAN)和远程通讯系统中已经采用了ATM交换机。图1中示出了ATM交换机的基本结构。交换机包括一组输入端口、一组输出端口和中心调度程序。流动的ATM信元到达输出端口并被切换到所指定的输出端口。任何输入通过由ATM调度程序进行决定可在不同的时间到达任何的输出。通过多个ATM交换机,在任何的单元时间内会产生限制,只有一个单元可被调度。输入可与一个或几个输出相连。因此,输入与输出的映射是一对多的操作。如果一个输入只被切换到一个输出,此种连接模式被称为单点传送(unicast)。如果另一方面,一个输入被发送到多个输出端口,此种连接方式被称为多点传送(multicast)。调度程序执行这些连接的最快速度是决定ATM交换机的最大总处理能力的因素。
在文献中已经揭示了多种的ATM结构。很多此类的文献都着眼于输入/输出缓冲ATM交换机。参见IEEE INFO COM,1992 I.Iliadis的“在非平衡通信量中的具有输入和输出队列的分组交换机的性能”和I.Iliadia和W.E.DenZel的发表在IEEE INFO COM,1990的“具有输入输出队列的分组交换机的性能”。在输入/输出缓冲交换机中,在输出端口产生单元队列。所有的输入缓冲器都以线路速率进行工作,其可为622兆位/秒,或以类似的速度。输入缓冲的一个弊端是线路头(Head-Of-Line(HOL))堵塞,其是由于输出缓冲器已满而无被发送的输入单元所造成的结果。这个问题可通过根据目标端口由输入模块中的队列单元进行解决。所有的队列被存储在共享的公共存储器中。
最早的一个调度ATM信元的方法是先入先出(FIFO)。此方法以单元到达输入端的顺序进行连接。虽然此方法简单,但是其无法保证公平地共享带宽。为了解决此问题,人们已经提出了一种公平共享调度程序。参见A.Demers等人在1990年1月的互连网杂志:研究和实验,第3-26页“公平队列算法的分析和仿真”,Golestani的在1994年6月的IEEEINFOCOM,“用于宽带应用的自计时公平队列调度程序”及J.Bennett和H.Zhang在1996年3月的IEEE INFOCOM,第120-128页中的“WF2Q:最差情况的公平权重公平队列”。已经发表的一种公平共享调度程序为权重循环。参见M.Katevenis等人在1991年10月的IEEEJSACpp.1265-1279中的“在常规目的的ATM交换机中的权重循环单元的多路复用”。
通常的,调度程序的结构可表示为有限状态机,如图2中所示。有限状态机(FSM)的当前状态,标记为P_STATE,其表示正进行交换机连接的当前所选的输出端口。下一个所选的输出端口,标记为N_STATE,为当前状态P_STATE和两个输入信号IB_STAUS和OB_STATUS的函数。信号IB_STATUS和OB_STATUS为分别来自输入和输出缓冲器的状态信号。IB_STATU表示哪一个输入缓冲器(IB)为BUSY或NOT_BUSY,即其是否包含一个信元。OB_STATUS表示通过对到达某一特定的输出缓冲器的信元指派信号STOP、SHARE或GO而在输出缓冲器(OB)处的充满程度。因此,GO表示可以最大的线路速率将单元发送到OB,相反的,STOP表示禁止发送单元。SHARE信号指示放慢向OB发送单元。在此状态机中,需注意的是,输入信号和当前的状态被用于决定下一个状态:FSM被称为米利机(Mealy machine)。
虽然现有技术的系统通过较好的调度程序可提高交换机的速度,对网络性能而言在速度上小的改进是很有益的。另外,上述的交换机不具有高度的可伸缩性。因此,如果交换机的端口数增多,交换机的总的过程延迟会随着端口数的增多而增大。现有技术的系统在所需的逻辑门上也不够紧密,而这在当系统被应用在硅技术中时是很重要的。
发明内容
本发明的一个目的是提供一种用于高速ATM交换机的调度程序,其使用能够高速运行的循环调度程序。
本发明的另外的一个目的是提供一种就逻辑门的要求而言很紧密且尺寸规划好的调度程序。
本发明的再一个目的是提供一种调度程序,其具有一个总的交换机过程延迟,该过程延迟与交换机上的端口数的增加成对数关系,而不是随着端口数的增加过程延迟也线性的增大。
本发明的另外的一个目的是提供一种用于具有耐用结构且具备更强的总的处理能力的交换机的调度程序。
根据本发明的第一方面,提供一种用于控制网络中的ATM信元流的ATM交换机,包含:输入端口;输出端口;和中心调度程序,其包括:树结构,所述树结构用于参考前面所选择的输入端口处理包含数据的数据包;和端口选择器,所述端口选择器用于选择所述输入端口的特定的输入端口,并将特定的输入端口ATM信元发送到所述输出端口的一个指定的输出端,其中所述端口选择器使用切入路径选择所述的特定的输入端口。
在另外的一个实施例中,中心调度程序根据所述输入端口的所检测到的就绪状态选择特定的输入端口。就绪状态可能是用于在调度程序中设置优先的未就绪状态、通常的就绪状态或优先的就绪状态。另外,所选的端口也依据输出端口的最小信元速率而确定。
在第三实施例中,ATM交换机的调度程序使用了一个具有二元树结构或四元树结构。另外,ATM交换机可以单点传送或多点传送的连接方式进行工作。
在第四实施例中,其提供了一种对到达输入端口而要被发送到输出端口的输入信号进行调度的方法。通过确定所述输入端口的就绪状态,根据所述的就绪状态以循环的方式选择其中的一个所述输入端口,输入信号被从所选的输入端口发送到所指定的输出端口。选择过程使用具有给定数目的节点的树结构,从而数据包(其中包含与前面所选的输入端口、就绪状态和输出端口有关的信息)通过节点,而选择具有指定的输出端口的特定的数据包。
在第五实施例中,每个节点具有两个输入和一个输出,并通过对每个数据包的某一位的高速的比较而确定将哪一个输入提供到所述的输出。
在第六实施例中,交换机为ATM交换机。
在第七实施例中,调度程序使用了一个具有二元树结构或四元树结构的树结构,并可以单点传送或多点传送连接方式进行工作。在第八实施例中,以权重循环方式进行选择的过程。
在第九的实施例中,提供ATM交换机用于控制具有输入端口、输出端口和中心调度程序的网络中的ATM信元的数据流。中心调度程序参考前面所选的输入端口处理包含数据的数据包。调度程序运行,从而在交换机中的ATM信元的数据流中的总的处理延迟只随着端口总数的增长呈对数增大。然后调度程序选择输入端口的特定的输入端口并将特定的输入端口单元发送到输出端口的所指定的输出。
根据本发明的第二方面,提供一种用于调度到达交换机的输入端口并将被发送到所述交换机的输出端口的输入信号的方法,包含如下的步骤:确定所述输入端口的就绪状态;根据所述就绪状态以循环的方式选择所述输入端口中的一个;及将输入信号从所述所选的输入端口发送到指定的输出端口;其中所述的选择步骤使用具有给定数目节点的树结构,从而包含与所选的输入端口、所述就绪状态和所述输出端口相关的信息的数据包通过所述节点,选择具有所述指定输出端口的特定的数据包,其中所述选择步骤使用切入路径选择所述输入端口之一。
根据本发明的第三方面,提供一种用于控制网络中的ATM信元的流动的ATM交换机,包含输入端口;输出端口;中心调度程序,其包括:树结构,所述树结构用于参考前面所选择的输入端口处理包含数据的数据包;和端口选择器,所述端口选择器用于选择所述输入端口中的特定输入端口,并将特定的输入端口ATM信元发送到所述输出端口的被指定输出端,其中所述端口选择器使用切入路径选择所述的特定的输入端口,其中通过所述中心调度程序的作用,从而在交换机中的ATM信元的流动中的总的处理延迟在当交换机的端口的总数增加时只是对数增加。
附图说明
下面将对本发明的其他的目的和优点进行描述,通过描述或通过实践这些优点是很明显的。通过所述的描述和所附权利要求的结合会实现和获得本发明的上述的目的和优点。
图1为ATM交换机结构的示意图;
图2为表示为有限状态机的调度程序的结构示意图;
图3为用于描述用于128端口输入/输出ATM交换机的ATM调度程序结构的示意图;
图4为用于描述ATM交换机的端口的组成的示意图;
图5示出了实现4的多点回顾的结构示意图;
图6示出了二元树结构的每个节点结构的示意图;
图7为用于描绘通过节点元件处理数据包的示意图;
图8(a)和8(b)示出了在选择端口过程中二元树的工作实例的示意图;及
图9描述了循环调度程序的执行程序。
具体实施方式
图3描绘了用于128端口输入/输出ATM交换机的ATM调度程序结构的示意图。正如前面所描述的,ATM调度程序可被想象称为有限状态机,其中下一个状态基于当前的状态和所有的输入。交换机中的每个输入端口可为三种状态中的一种:未就绪、常规就绪和有限就绪。调度程序必须从就绪输入端口以循环的方式选择一个具有高于常规就绪端口的优先级的优先就绪端口。
通过将信号IB_STATUS、OB_STATUS和MCR_STATUS的逻辑结合获得对于每个端口的就绪(READY)信号了。如果对于一个端口的READY的比特位置为‘1’,其意味着端口可将单元发送到被称做OB的指定的输出端口。如果位为‘0’,端口不能发送单元。OB_STATUS信号为来自OB的背压信号,表示在输出端口的拥挤程度。每个OB可处于三种状态中的一种:STOP、SHAPE或GO。每个OB将一个2-位状态信号发送回输入端口,表示其处于三种状态中的哪一种。在表1中的真值表示对OB_STATUS的编码。每个端口同样被分配一个必须总是保持不变的称为MCR速率的最小信元速率。对于每个端口的MCR信号是周期性的,且它们产生在端口选择器子宏块的外部。MCR信号被用作为优先于SHAPE信号并使端口优先就绪。如果同时设定了IB_STATUS和MCR_STATUS且端口处于GO模式,则端口同样为优先就绪。当端口为优先就绪时,则指定一个规则,所有的通常就绪信号被禁止,即设置等于0。表2中的真值表中示出产生就绪信号的方法。
                  表1
状态位 单点传送 多点传送
 b1  b0  RT  NRT  RT  NRT
 0  0  Stop  Stop  Stop  Stop
 0  1  SHAPE  SHAPE  Stop  Stop
 1  0  SHAPE  SHAPE  SHAPE  SHAPE
 1  1  GO  GO  GO  GO
                           表2(a)
IB STATUS  Stop(RT) SHAPE(RT) MCR状态   就绪 就绪类型
    0     X     X     X     0 未就绪
    1     1     X     X     0 未就绪
    1     0     1     0     0 未就绪
    1     0     0     0     1 普通就绪
    1     0     1     1     1 优先就绪
    1     0     0     1     1 优先就绪
                         表2(b)
IB STATUS  Stop(NRT) SHAPE(NRT) MCR状态   就绪 就绪类型
    0     X     X     X     0 未就绪
    1     1     X     X     0 未就绪
    1     0     1     0     0 未就绪
    1     0     0     0     1 普通就绪
    1     0     1     1     1 优先就绪
    1     0     0     1     1 优先就绪
READY(就绪)的特征在于如果输入缓冲器存在一个单元准备发送,且其不会被其任何的目标OB所阻止,并将置位READY位。为了更加的精确,如果输入缓冲器具有一个要被发送的单元(IB_STATUS为‘1’),且要向其发送单元的所有的OB都处于GO状态(或MCR位被置位的SHAPE),并将置位READY位。否则,将不会置位READY位。
存在两种类型的有效READY信号:普通就绪和优先就绪。其原则是如果任何的端口为优先就绪,则所有的为普通就绪的端口被掩蔽。换句话说,它们的READY信号被禁止。交换机具有128个单点传送端口,这些端口被等量的划分为实时端口(RT)和非实时端口(NRT)。因此,有64个RT端口和64个NRT端口用于单点传送。另外,分别存在一个RT和一个NRT用于多点传送。图4中示出了其结构组成。
多点传送的单元的发送工作方式与单点传送不同。单点传送端口向其被指定的处于就绪的一个OB发送一个单元,而多点传送端口可向多个OB发送单元。通过多点传送端口发送单元的工作描述如下。
每个多点传送端口被分配一个目标端口向量(DPV),16位长,每位表示端口是否将其发送到该特定的OB。换句话说,如果位被置位,端口将会将其发送到OB,否则端口将不发送。所有的由DPV所确定的OB必须准备进行接收,否则多点传送将不向任何OB进行发送。为了消除线路头(HOL)堵塞,进行4的回顾。如果端口队列中的任何前面4个单元的指定的OB被就绪进行接收,多点传送端口将向该组OB进行发送。
为了以及时的方式进行多点传送单元的4的回顾,需要将第一个4多点传送单元的描述符存储进芯片上高速缓存存储器中。在每个块中用2×4字节将高速缓存存储器构成为4个块。这与ATM信元描述符具有相同的尺寸。因此,高速缓存存储器的总的尺寸为8×4字节。每个块中的DPV字段被存储进16位寄存器中。当选择了多点传送端口时,所有的4寄存器被相关的与由OB状态寄存器所表示的状态进行比较。如果在4个DPV中任何一个中的所有目标OB可接收一个信元,则产生“命中(hit)”。如果产生多于一个的命中,则以FIFO的顺序对高速缓存存储器进行访问。与所选的多点传送单元相关的调度队列识别(SQL)块被从高速缓冲存储器中读出。图5中示出实现4的回顾的结构。用于选择多点传送端口的程序可简述如下。
每个多点传送SQI被指定一个DPV,16位长,每位表示端口是否向OB进行发送。DPV字段范围为SQI字2的从第31位到第16位的范围;
由于存在64个OB,用一个2位的平面指示符(PI)表示DPV代表64OB的哪一个子组;
如果在多点传送端口的DPV中确定其可向所有的OB进行发送,则多点传送端口为就绪;
为了消除线路头堵塞,同时对RT和NRT表进行4的回顾;
多点传送高速缓冲存储器存储第一组4个SQI,从而在一个SQI被读出后,通过来自外部存储器中的多点传送端口表的一个对其进行替换;
如果由DPV所确定的所有的目标OB不是STOP,则产生命中;
在多个命中的情况下,按FIFO顺序访问高速缓冲存储块。
可使用二元树进行端口调度/选择。用于128端口输入/输出ATM交换机的二元树共有127个节点。在树中具有64叶节点,每叶节点具有两个输入链路。每个链路代表交换机的输入端口,因此,对于128端口交换机,有128个连接叶节点的链路。将比特位置从两个寄存器连接到链路。这些寄存器被命名为TOKEN(标识)和READY(就绪),并将在后续的段落中进行定义。最初,端口选择过程包含从最后被选择的端口比特位置开始从左到右扫描端口READY位。扫描过程一直进行到遇到‘1’位为止,且此端口变为新被选择的端口。如果在从左到右的扫描过程中未遇到‘1’位,则从第一位向最后被选择的比特位置进行从左到右扫描。类似的,扫描过程直到遇到‘1’位时为止,此端口变为新被选择的端口。在实践中,同时在最后被选择的端口比特位置的两侧进行扫描。下面通过实例对此过程作进一步的描述。
考虑到一个8端口输入/输出交换机,端口被从1到8进行编号。正如前面所描述的,存在两个向量,称为READY向量和TOKEN向量。READY向量与输入端口具有相同数目的位。READY向量中的每个位表示相应的端口是否就绪。通过READY向量的MSB表示端口1的就绪状态。如果交换机的当前状态具有READY向量0101 1010,其中从左到右的每个位分别表示端口1到8。与端口相关的下面划线的位是当前被选择的端口。扫描具有下划线的数位右侧的数位,遇到的第一位为‘1’,是位7。因此,下一个被选择的端口是端口号7。在选择端口后,位7被下划线,反映出其是新被选择的端口。READY向量现在为010110 10。在下一轮的端口选择中,在下面划线的位的右侧不存在1。因此,将在下面划线的位的左侧进行扫描。首先遇到的‘1’是位2,其表示端口2将是下一个被选择的位。因此,0 1011010是所获得的READY向量。
除了READY位向量外,还存在另外一个名为TOKEN的向量。TOKEN向量与READY向量的大小相同。通过前面的READY=0101 1010的实例可被用于解释如何获得TOKEN向量中的位。在此情况下,TOKEN=11111000,其中所有在划线位的左侧的位,包括该下划线位被设为‘1’,下划线位的右侧的其他的位被设为‘0’。因此,在READY=010100 00的情况下,TOKEN将为11111110。最后,对于READY=0101000 0,TOKEN将为11111111。同样,作为一种附注,TOKEN=00000000等同于TOKEN=11111111。最后,READY位向量中的每个位被称为“READY位”,而TOKEN位中的每个位被称为“TOKEN位”。
在输入/输出交换机中的每个端口可通过被称做PORT_NUMBER的-8-位数表示。总共存在128个端口,标号是1到128,通过8-位的PORT_NUMBER表示。对应于PORT_NUMBER的READY位和TOKEN位被附到PORT_NUMBER的LHS,以形成10-位的数据包。在端口选择的开始,对应每个端口的128个不同的数据包被施加到相应的与二元树的子叶相关的对应的链路上,如图8中所示。二元树中的每个节点具有两个输入链路和一个输出链路,如图6中所示。输入链路和输出链路被分别表示为RIGHT(右),LEFT(左)和PARENT(母)链路。被提供到子叶上的数据包扫过树且它们中的一个最终通过根节点的PARENT链路。此数据包包含新被选择端口的端口号PORT_NUMBER。
当数据包在树上路由时,对树进行前面所述的快速扫描运算。树中的每个节点在其LEFT和RIGHT链路接受数据包,快速对位8和位9进行比较,并将适宜的数据包送上通过其PARENT链路。以切入的方式将数据包送到树上,即在节点无缓冲。另外,在节点的处理非常的简单,只是使程序执行的简单且快速。
图7中的流程图示出一节点元素把进入其RIGHT和LEFT链路的数据包路由通过PARENT链路的方式。节点的第一个行为是检查其LEFT链路上的输入数据包的位9、8,依据这些位的设置,可能采取四个行为中的一种。如果位9、8为“00”或“01”,则分别在RIGHT和LEFT链路上的输入数据包被通过PARENT链路。如果另一方面,位9、8是“01”或(“11”),则RIGHT链路上的输入数据包的位9、8被检测。如果图中所示的这些位是“01“或“11”(“10”),RIGHT链路上的输入数据包路由到PARENT。在其他的情况下,LEFT链路上的输入数据路由到PARENT。数据包从子叶节点开始前行到树上。从根节点发送的数据包包含新选择端口的端口号PORT_NUMBER。
下面将描述在选择端口的过程中二元树的工作方式。在图8中示出了一个15-节点的树结构。此结构被用于选择16端口中的一个。假设最后被选择的端口是9。因此,TOKEN向量被设置,从而位9及其左侧的所有的位被设定为‘1’,9的所有右侧的位被设定为‘0’。同样假设READY向量具有图8(a)中所示的位设置。形成由TOKEN位、READY位和PORT_NUMBER构成的3字段数据包。将这些数据包提供到图8(a)中所示的叶节点的输入链路中。每个节点使用图7中所示的格式将其RIGHT和LEFT链路中的其中的一个输入数据包切换到其PARENT链路上。来自根节点的数据包包含所选的端口号。
在图8(a)中所示的实例中,来自根节点的数据包包含12作为所选的端口号。需注意的是,最后被选择的端口是端口9。因此,将READY位设定到端口9的右侧的第一个端口为端口12。因此,树确实可选择正确的端口。在图8(b)所示的实例中,示出了最后被选择的端口为同样是端口9的情况。然而,所有的到位9的RHS的位都为‘0’。因此,在端口9的RHS上无可供选择的READY端口。因此,端口9的LHS上的端口被从端口1进行搜索。第一个具有其READY位设置的端口为端口2,且其变为下一个被选择的端口。同样可以看到,当无就绪的端口时,总是选择端口1,即在树的根上出现端口号1。然而,其READY位是‘0’,因此可知端口没有就绪。
二元树只选择其中的一个单点传送端口。树选择算法不考虑多点传送端口是否就绪。因此,存在一个在单点传送端口和多点传送端口之间进行选择的最终仲裁器。仲裁器定义按下面优先顺序进行最后端口的选择。
1.如果单点传送RT优先就绪,选择单点传送RT,否则
2.如果单点传送NRT优先就绪,选择单点传送NRT,否则
3.如果多点传送RT优先就绪,选择多点传送RT,否则
4.如果多点传送NRT优先就绪,选择多点传送NRT,否则
5.如果多点传送RT普通就绪,选择多点传送RT,否则
6.如果单点传送RT普通就绪,选择单点传送RT,否则
7.如果多点传送NRT普通就绪,选择多点传送NRT,否则
8.如果单点传送NRT普通就绪,选择单点传送NRT。
图9中示出循环调度程序(RRS)通过三个VHSIC硬件描述语言(VHDL)进行执行,其中VHSIC为超高速集成电路。数据块对应实体且带箭头的线表示信号路径。在表3中定义了每个块的功能,而在表4中提供了对信号的描述。
                            表3
    块名称                       描述
  PORT_SEL_BLK 功能:(a)产生TOKEN向量,(b)在端口选择的开始锁存在TOKEN和READY中,(c)使用二元树初始化端口选择
  READY_SIG_GEN 功能:(a)产生单点传送Stop/SHAPE信号,(b)产生普通的就绪和优先就绪信号,(c)产生就绪向量
  BINARY_TREE 128节点二元树结构进行端口选择
                                表4
    信号名   位数                 描    述
    CLK     1 主时钟,100MHz
    RESET_F     1 有效低系统RESET
    IB_STATUS     128 输入缓冲状态位映射
    OB_STATUS     128 输出缓冲状态位映射
    MCR_STATUS     128 最小信元速率状态位映射
    TOKEN     128 最后被选择的端口的所有左面的位是‘1’,所有右面的位是‘0’
    READY     128 如果选择的端口可被忽略,设置为‘1’
    PORT_NUMBER     8 所选的端口号
为了确保调度程序的作用,在VHDL中构成其模型。其是一个寄存器传送级(RTL)模型。用多个IB_STATUS、OB_STATUS和MCR_STATUS的值对模式进行检测。对多点传送端口加上不同的DPV。模拟的结果正确,即在每种的检测的情况下都获得了正确的响应。接着,对模型进行合成以获得预测的门数和临界路径延迟。通过由商标为SYNOPSYS由加利弗尼亚的Synopsys公司所销售的逻辑合成软件工具的状态对模式进行合成,使用CB-C90.35微米标准单元技术。所获得结果提供一个12.5K的门数和15.5ns的临界延迟。
上述的二元树的结果可在不过大的增加延迟的情况下保证优良的尺寸设计。树中的节点以切入的方式进行工作,这是使程序快速运行的一个因素。就硅门需要而言调度程序很紧密并尺寸合理。其可在15.5ns快速的对连接进行调度。
虽然对具有二元树结构的用于高速ATM交换机的RR调度程序进行了描述,本发明并不限于此。除了二元树结构外的诸如四元树的结构也可提供同样的结果。虽然上述的实施例描述了执行循环调度程序,调度程序也可使用加权循环调度程序获得同样的优点。
对本领域中的技术人员而言,其他的优点和限定是很容易做到的。因此,本发明的范围并不限于所描述的各个细节。相应的,本发明的范围由所附的权利要求进行限定,对其所做的各种的修改都在本发明的范围之内。

Claims (17)

1.一种用于控制网络中的ATM信元流的ATM交换机,其特征在于包含
输入端口;
输出端口;和
中心调度程序,其包括:
树结构,所述树结构用于参考前面所选择的输入端口处理包含数据的数据包;和
端口选择器,所述端口选择器用于选择所述输入端口的特定的输入端口,并将特定的输入端口ATM信元发送到所述输出端口的一个指定的输出端,其中所述端口选择器使用切入路径选择所述的特定的输入端口。
2.根据权利要求1所述的ATM交换机,其特征在于所述中心调度程序根据至少部分检测的所述输入端口的就绪状态选择所述特定的输入端口。
3.根据权利要求2所述的ATM交换机,其特征在于每个所述的就绪状态是未就绪状态、普通就绪状态和优先就绪状态中的一种。
4.根据权利要求1所述的ATM交换机,其特征在于所述树结构包含一个二元树结构。
5.根据权利要求1所述的ATM交换机,其特征在于所述树结构包含一个四元树结构。
6.根据权利要求1所述的ATM交换机,其特征在于所述中心调度程序根据所述输入端口的最小信元速率选择所述特定的输入端口。
7.根据权利要求1所述的ATM交换机,其特征在于所述中心调度程序以多点传送方式选择所述特定的输入端口。
8.一种用于调度到达交换机的输入端口并将被发送到所述交换机的输出端口的输入信号的方法,其特征在于包含如下的步骤:
确定所述输入端口的就绪状态;
根据所述就绪状态以循环的方式选择所述输入端口中的一个;及
将输入信号从所述所选的输入端口发送到指定的输出端口;
其中所述的选择步骤使用具有给定数目节点的树结构,从而包含与所选的输入端口、所述就绪状态和所述输出端口相关的信息的数据包通过所述节点,选择具有所述指定输出端口的特定的数据包,其中所述选择步骤使用切入路径选择所述输入端口之一。
9.根据权利要求8所述的方法,其特征在于所述的给定数目的节点中每一个具有两个输入端和一个输出端,并通过对每个数据包的某些位的快速比较确定将所述两个输入端中的哪一个输入提供给所述输出端。
10.根据权利要求8所述的方法,其特征在于所述交换机是ATM交换机。
11.根据权利要求8所述的方法,其特征在于所述树结构包含二元树结构。
12.根据权利要求8所述的方法,其特征在于所述树结构包含四元树结构。
13.根据权利要求8所述的方法,其特征在于每个所述的就绪状态是从未就绪状态、普通就绪状态和优先就绪状态中选择的一种。
14.根据权利要求8所述的方法,其特征在于所述选择其中一个所述输入端口的步骤按加权循环方式进行。
15.根据权利要求8所述的方法,其特征在于所述选择其中一个所述输入端口的步骤同样根据所述输入端口的最小信元速率。
16.根据权利要求8所述的方法,其特征在于所述发送输入信号的步骤是以多点传送的方式进行。
17.一种用于控制网络中的ATM信元的流动的ATM交换机,其特征在于包含
输入端口;
输出端口;
中心调度程序,其包括:
树结构,所述树结构用于参考前面所选择的输入端口处理包含数据的数据包;和
端口选择器,所述端口选择器用于选择所述输入端口中的特定输入端口,并将特定的输入端口ATM信元发送到所述输出端口的被指定输出端,其中所述端口选择器使用切入路径选择所述的特定的输入端口,
其中通过所述中心调度程序的作用,从而在交换机中的ATM信元的流动中的总的处理延迟在当交换机的端口的总数增加时只是对数增加。
CNB00100655XA 1999-05-25 2000-01-26 具有中心调度程序的atm交换机及其调度方法 Expired - Fee Related CN1201532C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/317,964 1999-05-25
US09/317,964 US6556571B1 (en) 1999-05-25 1999-05-25 Fast round robin priority port scheduler for high capacity ATM switches

Publications (2)

Publication Number Publication Date
CN1275008A CN1275008A (zh) 2000-11-29
CN1201532C true CN1201532C (zh) 2005-05-11

Family

ID=23236031

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB00100655XA Expired - Fee Related CN1201532C (zh) 1999-05-25 2000-01-26 具有中心调度程序的atm交换机及其调度方法

Country Status (6)

Country Link
US (1) US6556571B1 (zh)
EP (1) EP1056307B1 (zh)
JP (1) JP2000341301A (zh)
CN (1) CN1201532C (zh)
DE (1) DE60040118D1 (zh)
ES (1) ES2312309T3 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000076152A1 (en) * 1999-06-03 2000-12-14 Fujitsu Network Communications, Inc. Method and system for transmitting traffic in a virtual tunnel of a transmission line
US6993018B1 (en) * 1999-08-03 2006-01-31 Telefonaktiebolaget Lm Ericsson (Publ) Priority signaling for cell switching
US20020059426A1 (en) * 2000-06-30 2002-05-16 Mariner Networks, Inc. Technique for assigning schedule resources to multiple ports in correct proportions
JP3570366B2 (ja) * 2000-09-13 2004-09-29 日本電気株式会社 アービタ回路及びそれに用いる出力セルのアービトレーション方法
US6963576B1 (en) * 2000-09-28 2005-11-08 Force10 Networks, Inc. Scheduling and arbitration scheme for network processing device
US7274692B1 (en) * 2001-10-01 2007-09-25 Advanced Micro Devices, Inc. Method and apparatus for routing packets that have multiple destinations
US7007123B2 (en) * 2002-03-28 2006-02-28 Alcatel Binary tree arbitration system and method using embedded logic structure for controlling flag direction in multi-level arbiter node
US20040131072A1 (en) * 2002-08-13 2004-07-08 Starent Networks Corporation Communicating in voice and data communications systems
US7227866B2 (en) * 2002-10-21 2007-06-05 Tropic Networks Inc. Fast work-conserving round robin scheduling
US7024506B1 (en) * 2002-12-27 2006-04-04 Cypress Semiconductor Corp. Hierarchically expandable fair arbiter
US20080028157A1 (en) * 2003-01-13 2008-01-31 Steinmetz Joseph H Global shared memory switch
US7440470B2 (en) * 2003-02-07 2008-10-21 Fujitsu Limited Multicasting in a high-speed switching environment
US7447201B2 (en) * 2003-02-07 2008-11-04 Fujitsu Limited Multicasting in a high-speed switching environment
US6822969B2 (en) * 2003-04-03 2004-11-23 Motorola, Inc. Method and apparatus for scheduling asynchronous transmissions
US20040210696A1 (en) * 2003-04-18 2004-10-21 Meyer Michael J. Method and apparatus for round robin resource arbitration
CA2528310A1 (en) * 2003-06-03 2004-12-16 Hamed Eshraghian System and method for communication over a bus
US7231479B2 (en) * 2003-12-17 2007-06-12 International Business Machines Corporation Round robin selection logic improves area efficiency and circuit speed
US7567572B1 (en) * 2004-01-09 2009-07-28 Cisco Technology, Inc. 2-rate scheduling based on search trees with configurable excess bandwidth sharing
EP1594263A1 (en) * 2004-05-04 2005-11-09 Alcatel Frame-to-cell traffic scheduling
US20060171386A1 (en) * 2004-09-01 2006-08-03 Interactic Holdings, Llc Means and apparatus for a scaleable congestion free switching system with intelligent control III
US7739436B2 (en) * 2004-11-01 2010-06-15 Sonics, Inc. Method and apparatus for round robin resource arbitration with a fast request to grant response
FR2878106A1 (fr) * 2004-11-15 2006-05-19 France Telecom Procede et dispositif d'ordonnancement de paquets pour leur routage dans un reseau avec determination implicite des paquets a traiter en priorite
US7506140B2 (en) 2005-02-04 2009-03-17 Mips Technologies, Inc. Return data selector employing barrel-incrementer-based round-robin apparatus
US7490230B2 (en) * 2005-02-04 2009-02-10 Mips Technologies, Inc. Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor
US7853777B2 (en) * 2005-02-04 2010-12-14 Mips Technologies, Inc. Instruction/skid buffers in a multithreading microprocessor that store dispatched instructions to avoid re-fetching flushed instructions
US7631130B2 (en) * 2005-02-04 2009-12-08 Mips Technologies, Inc Barrel-incrementer-based round-robin apparatus and instruction dispatch scheduler employing same for use in multithreading microprocessor
US7681014B2 (en) 2005-02-04 2010-03-16 Mips Technologies, Inc. Multithreading instruction scheduler employing thread group priorities
US7613904B2 (en) * 2005-02-04 2009-11-03 Mips Technologies, Inc. Interfacing external thread prioritizing policy enforcing logic with customer modifiable register to processor internal scheduler
US7664936B2 (en) * 2005-02-04 2010-02-16 Mips Technologies, Inc. Prioritizing thread selection partly based on stall likelihood providing status information of instruction operand register usage at pipeline stages
US7657883B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Instruction dispatch scheduler employing round-robin apparatus supporting multiple thread priorities for use in multithreading microprocessor
US7657891B2 (en) * 2005-02-04 2010-02-02 Mips Technologies, Inc. Multithreading microprocessor with optimized thread scheduler for increasing pipeline utilization efficiency
US7752627B2 (en) * 2005-02-04 2010-07-06 Mips Technologies, Inc. Leaky-bucket thread scheduler in a multithreading microprocessor
US20070070895A1 (en) * 2005-09-26 2007-03-29 Paolo Narvaez Scaleable channel scheduler system and method
US7990989B2 (en) 2006-09-16 2011-08-02 Mips Technologies, Inc. Transaction selector employing transaction queue group priorities in multi-port switch
US7961745B2 (en) * 2006-09-16 2011-06-14 Mips Technologies, Inc. Bifurcated transaction selector supporting dynamic priorities in multi-port switch
US7773621B2 (en) * 2006-09-16 2010-08-10 Mips Technologies, Inc. Transaction selector employing round-robin apparatus supporting dynamic priorities in multi-port switch
US7760748B2 (en) * 2006-09-16 2010-07-20 Mips Technologies, Inc. Transaction selector employing barrel-incrementer-based round-robin apparatus supporting dynamic priorities in multi-port switch
EP2008991A1 (de) * 2007-06-29 2008-12-31 Bayer CropScience AG Verfahren zur Herstellung von Biarylen
CN101729418B (zh) * 2009-11-27 2012-09-19 乐视网信息技术(北京)股份有限公司 一种降低频道切换延时的数据获取方法
EP2700202B1 (en) * 2011-04-20 2017-11-08 NXP USA, Inc. Integrated circuit device and methods for performing cut-through forwarding
EP2741452A1 (en) * 2012-12-10 2014-06-11 Robert Bosch Gmbh Method for data transmission among ECUs and/or measuring devices
US10505757B2 (en) 2014-12-12 2019-12-10 Nxp Usa, Inc. Network interface module and a method of changing network configuration parameters within a network device
US10176012B2 (en) 2014-12-12 2019-01-08 Nxp Usa, Inc. Method and apparatus for implementing deterministic response frame transmission
US10628352B2 (en) 2016-07-19 2020-04-21 Nxp Usa, Inc. Heterogeneous multi-processor device and method of enabling coherent data access within a heterogeneous multi-processor device
US11275632B2 (en) 2018-09-14 2022-03-15 Advanced Micro Devices, Inc. Broadcast command and response
CN113010173A (zh) 2019-12-19 2021-06-22 超威半导体(上海)有限公司 并行处理中矩阵数据广播的方法
CN113094099A (zh) 2019-12-23 2021-07-09 超威半导体(上海)有限公司 矩阵数据广播架构
CN112181790B (zh) * 2020-09-15 2022-12-27 苏州浪潮智能科技有限公司 一种存储设备的容量统计方法、系统及相关组件
US11403221B2 (en) 2020-09-24 2022-08-02 Advanced Micro Devices, Inc. Memory access response merging in a memory hierarchy

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5301333A (en) 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
JPH0637797A (ja) * 1992-05-20 1994-02-10 Xerox Corp パケット交換網の予約リング機構
US5528583A (en) * 1993-05-26 1996-06-18 The Trustees Of Columbia University In The City Of New York Method and apparatus for supporting mobile communications in mobile communications networks
US5633870A (en) * 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
GB2307823B (en) 1995-11-29 2000-04-12 Gen Datacomm Adv Res Available bit rate services in ATM networks
US6188690B1 (en) * 1996-12-12 2001-02-13 Pmc-Sierra, Inc. Method and apparatus for high speed, scalable communication system
US6034958A (en) * 1997-07-11 2000-03-07 Telefonaktiebolaget Lm Ericsson VP/VC lookup function
US6396834B1 (en) * 1997-11-24 2002-05-28 Riverstone Networks, Inc. Flexible scheduler in an asynchronous transfer mode (ATM) switch
US6345040B1 (en) * 1998-07-30 2002-02-05 Marconi Communications, Inc. Scalable scheduled cell switch and method for switching

Also Published As

Publication number Publication date
EP1056307A2 (en) 2000-11-29
EP1056307A3 (en) 2003-02-12
ES2312309T3 (es) 2009-03-01
US6556571B1 (en) 2003-04-29
CN1275008A (zh) 2000-11-29
EP1056307B1 (en) 2008-09-03
DE60040118D1 (de) 2008-10-16
JP2000341301A (ja) 2000-12-08

Similar Documents

Publication Publication Date Title
CN1201532C (zh) 具有中心调度程序的atm交换机及其调度方法
CN1146192C (zh) 以太网交换芯片输出队列管理调度方法和装置
US8010751B2 (en) Data forwarding engine
US20070153796A1 (en) Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths
Sivaram et al. HIPIQS: A high-performance switch architecture using input queuing
US20050018601A1 (en) Traffic management
CN1338168A (zh) 用于带宽分配的分布式分级调度与仲裁
CN1866927A (zh) 实现信息交换的系统及方法和调度算法
US12068972B1 (en) Shared traffic manager
US10846225B1 (en) Buffer read optimizations in a network device
CN110290074A (zh) FPGA片间互连的Crossbar交换单元设计方法
US7675930B2 (en) Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch
CN1791069A (zh) 输入排队分组交换结构及队列服务规则
CN1359241A (zh) 用于分组交换机和无源光网络的分布式调度器
CN104333516A (zh) 用于组合输入交叉点缓存交换结构的旋转轮训调度方法
CN100401718C (zh) 一种数据帧组播复制的方法及系统
CN1719805A (zh) 3D Torus交换网络中报文保序的多路径路由方法
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
US7460544B2 (en) Flexible mesh structure for hierarchical scheduling
US10742558B1 (en) Traffic manager resource sharing
US8670454B2 (en) Dynamic assignment of data to switch-ingress buffers
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
CN100425035C (zh) 基于变长包的交换系统及交换方法
Schultz et al. Multicast contention resolution with single-cycle windowing using content addressable FIFO's
CN116389390A (zh) 高速大容量聚合式交叉节点输出联合排队的交换系统

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050511

Termination date: 20150126

EXPY Termination of patent right or utility model