CN101099355A - 用于调度包和/或信元的方法和设备 - Google Patents
用于调度包和/或信元的方法和设备 Download PDFInfo
- Publication number
- CN101099355A CN101099355A CNA2006800018206A CN200680001820A CN101099355A CN 101099355 A CN101099355 A CN 101099355A CN A2006800018206 A CNA2006800018206 A CN A2006800018206A CN 200680001820 A CN200680001820 A CN 200680001820A CN 101099355 A CN101099355 A CN 101099355A
- Authority
- CN
- China
- Prior art keywords
- crosspoint
- output port
- input
- input port
- port
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1515—Non-blocking multistage, e.g. Clos
- H04L49/1523—Parallel switch fabric planes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于交换机设备的调度包或信元的系统和方法,所述交换机包括多个输入端口、多个交换单元和多个输出端口,其中,每个所述输入端口都具有至少一个输入队列。由在其至少一个队列中具有包或信元的每个输入端口生成向对应的包或信元要发往的每个所述输出端口输出所述对应的包或信元的请求,其中,所述请求包括用于将包或信元从对应的输入端口传送到对应的输出端口的所述多个交换单元中的特定的一个交换单元,所述多个交换单元中所述特定的一个交换单元根据第一优先级方案被选出。每交换单元每输出端口地向作出的请求授权访问,所述授权基于第二优先级方案。每交换单元每输入端口地接受授权,所述接受基于第三优先级方案。基于所接受的授权,利用在接受的授权中标识的对应的交换单元,包和/或信元从相应的输入端口输出到相应的输出端口。
Description
技术领域
本发明总的涉及输入缓冲交换机中包和/或信元的调度,更具体地,涉及使用并行交换单元的包和信元交换设备方法。在使用并行交换单元的交换系统中,通过增加每时间段的被调度包和/或信元的数目,提高交换性能。
背景技术
关于大型包交换机和路由器的设计,现有技术中公知的是,在提供高交换效率时,纯输出缓冲策略不是随着交换机维度变大而可升级的。这主要是因为要求交换核心的操作比各个交换端口快与端口数目相当的系数倍。由于该原因,大容量交换机通常是“输入缓冲”类型,其中,输入和输出端口模块通过交换单元如交叉开关(Crossbar)互连。为了克服输入缓冲器队头阻塞现象,每个输入端口处的缓冲器被组织成输入队列组,并且每个输入队列专用于去往特定输出端口的包。
一个普通的输入队列交换机具有N个输入端口和M个输出端口,此处N和M是整数值,其中,每个输入端口针对每个输出端口使用一个输入队列,因此总共有N×M个输入队列。调度器标识一组匹配的输入/输出对,在该输入/输出对之间,包或信元通过交换单元无冲突地传输。该交换机的吞吐效率依赖于调度算法的效率。由于该原因,目前业内采用了基于各种形式的次最优启发式的各种调度算法。
在输入队列的交换机中,用于调度业务的三种熟知的启发式算法是:并行迭代匹配(PIM)、轮转匹配(RRM)和iSLIP。这些算法中的每个算法通过努力挑选无冲突的输入/输出对组来试图最大化匹配效率,并且,通常执行多次连续迭代以提高匹配效率。
PIM方法包括三个步骤:请求、授权和接受。在请求步骤,N×M个输入队列发送请求给输出端口。在授权步骤,每个输出端口随机地授权所收到的请求中的一个请求并且将结果通知每个输入端口。一个输入端口可收到来自输出端口的许多授权,但是仅仅接受随机选择的一个授权。因此,PIM方法这样操作,即通过在第一输出仲裁(授权步骤)阶段中针对每个输出端口随机选择候选输入。于是,在第二输入仲裁(接受步骤)阶段中,通过采用类似的随机化策略,该系统解决了针对每个输入可选择的多个输出之间的冲突。
RRM方法以与PIM方法类似的输出和输入仲裁阶段顺序来实现相同的目的,除了选择是通过使用每个输出和输入端口处实现的轮转仲裁指针以确定性方式作出的之外。
iSLIP方法以类似于RRM的方式操作,除了输出和输入轮转指针的移动取决于成功的匹配之外,而在RRM的情况下输出和输入轮转指针的移动是无条件的。代表性的iSLIP方法在授予Nicholas McKeown的美国专利5,500,858号中具体描述。
在传统的交换设备中,必须解决资源仲裁。在授予Charles Thacker的美国专利5,267,235号中具体描述了这样一种传统的资源仲裁方法,藉此,实现请求者与服务者之间的快速的一对一匹配,从而每个服务者优选以随机方式选择一个请求者。
在授予Man Soo Han等人的美国专利6,633,568中描述了另一调度算法,从而描述了二维轮转调度算法,其中,在输入缓冲交换机中作出多个选择。
在授予Hiroshi Suzuki等人的美国专利6,813,274中描述了又一调度算法,其通过允许每个输入多个接受,努力解决传统调度方法仅仅允许每个输入端口一个接受的问题。
对于这些传统调度算法中的每个调度算法,在许多输出端口为同一输入端口生成授权时存在同步问题。这些算法通过执行多次连续迭代来努力使匹配效率最大化,并且在最坏的情况下,该算法必须重复N次以使N×M交换机收敛。而且,就每时间单元的调度决策而言,这些多次迭代降低了交换性能。
本发明涉及克服或者至少减少一个或多个上述问题的影响。
发明内容
根据本发明的至少一个方面,提供了在交换机中调度数据的方法,该交换机包括多个输入端口、多个交换单元和多个输出端口,其中每个输入端口都具有至少一个输入队列。该方法包括:a)每个输入端口生成向在输入端口等候的数据将发往的每个输出端口输出数据的请求,其中,该请求标识用于将数据从对应的输入端口传送到对应的输出端口的多个交换单元中的一个交换单元,多个交换单元中被标识的一个交换单元根据第一优先级方案标识。该方法还包括:b)每标识的交换单元、每输出端口地向步骤a)中生成的请求授权访问,该授权基于第二优先级方案。该方法还包括:c)每交换单元、每输入端口地接受授权,该接受基于第三优先级方案。该方法还包括:d)基于接受的授权,利用在接受的授权中标识的对应的交换单元,将数据从相应的输入端口输出到相应的输出端口。
根据本发明的另一方面,提供了用于调度数据的系统。该系统包括交换机,该交换机包括多个输入端口,每个输入端口都具有至少一个输入队列。该交换机又包括多个交换单元,其可通信地连接到所述多个输入端口。该交换机还包括多个输出端口,其可通信地连接到所述多个交换单元。该交换机还包括调度器,其被配置成:a)每个输入生成向该数据将被发往的每个输出端口输出存储在每个输入端口的输入队列中的数据的请求,其中,该请求包括标识多个交换单元中的哪些交换单元将被用于从对应的输入端口到对应的输出端口的数据传送,多个交换单元中被标识的一个交换单元根据第一优先级方案标识;b)按照标识的交换单元中的每个、按照每个输出端口向所生成的请求授权访问,该授权基于第二优先级方案;c)每交换单元、每输入端口地接受授权,该授权基于第三优先级方案;以及d)基于所接受的授权,利用在接受的授权中标识的对应的交换单元,指示对应的输入端口将数据从对应的输入端口的对应输入队列输出到对应的输出端口。
根据本发明的又一方面,提供了用于交换机的调度包或信元的方法,该交换机包括多个输入端口、多个交换单元和多个输出端口,其中每个输入端口都具有至少一个输入队列。该方法包括:a)每个输入端口生成向在输入端口等候的数据将被发往的每个输出端口输出数据的请求,其中,该请求包括标识将被用于将包或信元从对应的输入端口传送到对应的输出端口的多个交换单元中的一个交换单元,多个交换单元中被标识的一个交换单元根据第一优先级方案标识。该方法还包括:b)按照所述交换单元的至少一个中的每个、按照每个输出端口向步骤a)中生成的请求授权访问,该授权基于第二优先级方案。该方法还包括:c)按照所述交换单元的至少一个中的每个、按照每个输入端口接受授权,该接受基于第三优先级方案。该方法还包括:d)基于接受的授权,利用在接受的授权中标识的对应的交换单元,将包和/或信元从相应的输入端口输出到相应的输出端口。
根据本发明的另一方面,提供了用于调度包或信元的系统。该系统包括交换机,该交换机包括多个输入端口,每个输入端口都具有至少一个输入队列。该交换机又包括多个交换单元,其可通信地连接到所述多个输入端口。该交换机还包括多个输出端口,其可通信地连接到所述多个交换单元。该交换机还包括调度器,其被配置成:a)接收由至少一个输入单元生成的请求,该请求用以输出存储在输入端口的输入队列中的数据给该数据将发往的每个输出端口,其中,该请求包括标识多个交换单元中的哪些交换单元将被用于从对应的输入端口到对应的输出端口的包或单元的传送,多个交换单元中被标识的交换单元根据第一优先级方案标识;b)按照所述交换单元的至少一个中的每个、按照每个输出端口向步骤a)中生成的请求授权访问,该授权基于第二优先级方案;c)按照所述交换单元的至少一个中的每个、按照每个输入端口接受授权,该授权基于第三优先级方案;以及d)基于所接受的授权,利用在接受的授权中标识的对应的交换单元,将包和/或信元从相应的输入端口输出到对应的输出端口。
附图说明
参考以下具体描述和附图,本发明的上述优点和特征将变得明显,其中:
图1示出了根据本发明第一实施例的交换系统;
图2示出了根据本发明一实施例的调度方法中涉及的步骤;
图3示出了根据本发明一实施例的调度设备的框图;
图4示出了由根据本发明一实施例的调度设备执行的四次迭代处理;
图5示出了由根据本发明另一实施例的调度设备执行的四次迭代处理;
图6示出了根据本发明另一实施例的调度方法中涉及的步骤。
具体实施方式
本发明实施例涉及具有并行交换单元的交换系统和方法,藉此,通过允许每个输出端口在每次调度器迭代生成多个授权,并且通过允许每个输入端口在每次调度器迭代接受多个授权,来提高交换性能。这不同于传统的调度算法如iSLIP、PIM和RRM,其仅仅允许每个输出和输入端口在每次调度器迭代分别生成和接受一个授权。
与传统调度算法相比,根据本发明至少一个实施例的方法和设备改变请求步骤,以指定每个请求所请求的是多个并行交换单元中的哪个交换单元;其改变授权步骤以允许生成多至针对每输出端口的每个并行交换单元一个授权,并且其改变接受步骤以允许接受多至针对每输入端口的每个并行交换单元一个授权。这意味着每个输入和输出端口在每次调度器迭代可以交换多个包或信元,其增加了每时间单元的包或信元调度决策的数目。结果,这增加了使用并行交换单元的交换系统中的调度器匹配效率和交换容量。
而且,根据本发明至少一个实施例的方法和设备使得包和信元税(packet and cell tax)交换无效率减少,因为每个交换决策的时间段减少了。更进一步,根据本发明至少一个实施例的方法和设备提供了交换大小可变的包和大小固定的信元二者的能力,而不需要采取包分段和重组。
图1示出了结合了根据本发明至少一个实施例的调度方法和设备的N×M端口交换设备(N和M是整数值)。N个输入端口100中的每个输入端口接收包和/或信元,并且根据其输出端口目的地将其缓冲在输入队列180中,其中,输出端口目的地是通过输出链路150分别连接到M个输出单元140的M个输出端口150之一。每个输入单元110和输出单元140连接到若干(K个)并行交换单元120。
输入单元110经由输入链路160连接到交换单元120,并且输出单元140经由输出链路170连接到交换单元120。输入单元#1连接到K个并行交换单元120中的每个交换单元上的输入#1,输入单元#2连接到K个并行交换单元120中的每个交换单元上的输入#2,...,以及输入单元#N连接到K个并行交换单元120中的每个交换单元上的输入#N。类似地,输出单元#1连接到K个并行交换单元120中的每个交换单元上的输出#1,输出单元#2连接到K个并行交换单元120中的每个交换单元上的输出#2,...,以及输出单元#N连接到K个并行交换单元120中的每个交换单元上的输出#N。交换单元通过彼此并行地起作用而在功能上彼此不同,如下所述。下面将描述实际建立调度器单元的示例性方法。
本发明一实施例的调度方法优选为合并到调度器单元中,并且该调度器单元可在输入单元110、输出单元140或交换单元120中的任何一个中实现。可替选地,调度器单元可合并到图1中未具体示出的单独的单元中。在一个可能的实现中,调度器单元被并入交换单元120之一中或者作为单独的单元。调度器单元执行来自输入队列180的包和/或信元的调度,在最终转发到其目的输出端口150前,穿过交换单元120,用于交换到输出单元140。
图2是示出了由根据本发明第一实施例的调度方法所执行的步骤的流程图。第一步骤200是连续地将到达输入端口的包和/或信元载入输入队列,从该队列可生成针对特定输出端口的请求。下一步骤210是针对存在于每个输入队列前端的每个包或信元,请求访问特定的输出端口。下一步骤220是向所述请求授权输出端口。下一步骤230针对输入端口接受来自输出端口的授权。下一步骤240是生成输入到输出交换链路分配决策并且经由交换单元将包/信元传输到其目的输出端口。接着重复该过程,藉此,其返回步骤210以调度另一信元或包。
在第一实施例中,这三个步骤中的每个步骤在每个调度器迭代执行一次,其中每个步骤在下面具体描述。
步骤1(请求步骤):每个输入端口生成针对所有这样的输出端口的请求,针对该输出端口,该输入端口具有数据等候在输入队列中。从输入到输出端口的每个请求指定特定的交换单元,并且每个输入端口对每个输出端口使用旋转优先级方案以选择哪个并行交换单元来请求输出端口。
旋转优先级方案选择具有最高优先级的交换单元。其后,最高优先级的指示增大,使得上一迭代的最高优先级元素在随后的迭代中变成最低优先级元素。优选地,只有当请求导致了步骤2中的授权生成,其随后在步骤3中被接受的情况下,增大步骤才执行,因为这在由调度器执行的交换单元选择决策之间产生期望的去同步作用。
在第一实施例中执行的请求步骤与传统的PIM、iSLIP或RRM方法中的请求步骤之间的差别在于,对于这些传统的方法,由任一输入端口生成的所有请求总是针对相同的一个交换单元,而在根据第一实施例的方法中,请求是针对许多并行交换单元中的一个交换单元。而且,在第一实施例中,旋转优先级方案用于每输出端口每请求地标识并行交换单元中的哪个交换单元被请求。在第一实施例中使用的旋转优先级方案可以是轮转优先级方案,或者是记住前面的调度迭代中在输入单元、交换单元和输出单元之间作出的分配的其它类型的优先级方案。例如,就本发明一不同的实施例而言,在后面部分说明了随机优先级方案。
步骤2(授权步骤):在请求步骤之后,每交换单元每输出端口地授权访问。与关于请求步骤(步骤1)的上述旋转优先级方案类似,每交换单元、每输出端口地使用旋转优先级来选择来自输入端口的请求。旋转优先级方案仅仅考虑特别针对相对应的交换单元作出的请求。优选地,只有在授权相应地在步骤3中被接受的情况下,增大步骤才执行,因为这在由调度器执行的授权选择决策之间产生期望的去同步作用。
所有从特定输出端口生成的授权用于不同的输入端口,因为每个输入端口针对每个输出端口仅可以请求一个交换单元。
在第一实施例中执行的授权步骤与传统的PIM、iSLIP或RRM方法中的授权步骤之间相比较的差别在于,在这些传统的方法中,每个输出端口仅仅针对一个输入端口授权访问,而在根据第一实施例的方法中,每个输出端口可以针对每个并行交换单元的输入端口授权访问。换句话说,根据本发明的至少一个实施例,输出端口可以通过使用并行交换单元有效地向多个输入端口授权访问。
步骤3(接受步骤):在授权步骤之后,下一步骤是每交换单元每输入端口地接受授权。每交换单元每输入端口地使用旋转优先级方案来选择来自输出端口的授权,与上述旋转优先级方案类似。旋转优先级方案仅仅考虑特别针对相对应的交换单元作出的请求。在接受决策之后,优先级增加超过接受的优先级元素的一个值。
要注意的是,因为每个输出端口针对每个输入端口仅仅可以授权一个交换单元,所以,针对一个特定输入端口作出的所有接受决策是针对不同输出端口的。
在第一实施例中执行的接受步骤与传统的PIM、iSLIP或RRM方法中的接受步骤之间相比较的差别在于,在这些传统的方法中,每个输入端口仅仅接受来自一个输出端口的单个授权,而在根据第一实施例的方法中,每个输入端口可以接受来自输出端口的针对每个并行交换单元的授权。换句话说,根据本发明的至少一个实施例,输入端口通过使用并行交换单元可以有效地接受来自多个输出端口的授权。
在步骤3之后,最后的处理是根据步骤3中接受的授权,分配对应的输入和输出交换单元链路,并且将对应的包和/或信元经由其对应的分配的交换单元而传输到其目的输出端口。
如果该交换设备仅仅实施单个交换单元,即,没有并行交换单元,则根据第一实施例的方法的操作变得类似于iSLIP调度器算法的操作,除了在第一实施例的一个可能的实现中,调度器可以用于交换大小可变的包而不需要采取包分段/重组,不像iSLIP,其仅仅适用于信元(大小固定的包)的交换。下面说明应用本发明一实施例来交换大小可变的包和大小固定的包。
以下实例进一步阐述了本发明各个实施例的操作。
图4示出了图2的调度方法的四次迭代,其针对这样的交换机执行,该交换机具有两个输入端口、两个输出端口,其中,标记为a和b的两个并行交换单元连接输入端口和输出端口。该实例系统对应于如图1限定的系统,其中,N=2,M=2,并且K=2。图4中还示出请求指针410、请求420、授权指针430、授权440、接受指针450以及接受460。
图4示出了在每次迭代中对应于图2中步骤210的请求步骤、对应于图2中220的授权步骤以及对应于图2中230的接受步骤。在四次迭代中的每次迭代的开始,在该系统中,每个输入单元110具有针对每个输出单元140(因此,针对每个输出端口)在输入队列180中等候的数据。
图4所示调度算法的请求生成是通过每(输入、输出)端口组合使用二值旋转优先级方案来选择应该请求开关单元a和b中的哪个开关单元而实现的。授权生成是通过交换单元(a、b)上每输出端口使用二值旋转优先级方案来从输入端口1或2中选择一个请求而实现的。接受生成是通过交换单元(a、b)上每输入端口使用二值旋转优先级方案来从输出端口1或2中选择一个授权而实现的。
迭代1期间的处理以每个输入请求访问输出1和2开始,并且旋转优先级方案针对每个请求确定该请求是针对交换单元a还是b作出的,如同由请求指针410的值所确定的那样。输入1经由交换单元a请求输出1,并且经由交换单元a请求输出2。输入2经由交换单元a请求输出1,并且经由交换单元a请求输出2。在迭代1中,请求指针410总是指向交换a。
在请求步骤之后是授权步骤,其中,交换单元a、b上的每个输出选择来自一个输入端口的一个请求,并且旋转优先级方案针对交换单元a和b上的每个输出确定授权是针对输入1还是2作出的,如同由授权指针430的值所确定的那样。输出2经由交换单元a授权输入1,并且输出1经由交换单元a授权输入1。
在授权步骤之后是接受步骤,其中,交换单元a和b上的每个输入选择来自一个输出端口的一个授权,并且旋转优先级方案针对交换单元a和b上的每个输入确定接受是针对输出1还是2作出的,如同接受指针450的值所确定的那样。输入1经由交换单元a从输出1接受授权,并且对应的信元或包于是经由交换单元a传输到其目的输出端口。
现在,处理继续进行到迭代2。由于迭代1中的处理结果,(输入1、输出1)的请求指针现在已经从交换单元a增加到交换单元b,而没有导致在步骤3(图2中的步骤230)中接受的其它请求指针保持与迭代1开始时相同的值。交换单元a上的输出1的授权指针已经从输入1增加到输入2,而没有导致在步骤3(图2中的步骤230)中接受的其它授权指针保持与迭代1开始时相同的值。交换单元a上的输入1的接受指针已经从输出1增加到输出2,而没有导致在步骤3(图2中的步骤230)中接受的其它接受指针保持与迭代1开始时相同的值。
用于迭代2的请求步骤与用于迭代1的相同,除了由于迭代1中执行的请求指针更新的原因,输入1经由交换单元b请求输出1之外。在授权步骤,对输入1和输入2两者作出授权,并且输入1经由交换单元a和b两者接收授权,这是由于迭代1中请求和授权指针的更新,并且由于迭代1中发生的指针更新,所以,所有授权再次在接受步骤中被接受。
图5示出了根据本发明第二实施例的次最优调度方法,以示出请求指针的去同步的优点。在图5中,在每次迭代,请求指针总是自动被更新,而在图4中,只有在对应的请求在同一迭代中被接受的情况下,请求指针才被更新。通过比较图4和图5,可以看出请求指针的去同步导致每次迭代的更高的匹配效率,即第一实施例的期望的特征。
可以看出,在根据第一实施例的方法中,输入将经由特定交换单元持续请求输出端口,直到请求最后被授权,其导致期望的、相对于并行交换单元中的哪些交换单元被请求同一输出端口的不同输入端口所选择的去同步作用。用于对应的生成的请求的并行交换单元的分布越均匀,则每次迭代的匹配效率越好,因为在每次调度器迭代,更大量的并行匹配单元可以得到匹配。
在上文中,已经具体描述了根据第一实施例的发明的总的方法。下面的讨论描述用于实现本发明实施例的不同选项和方法。
图3示出了根据本发明第三实施例的调度器单元的一个可能实施例的框图。在一个可能实施例中,图3所示的每个块以软件实现;可替选地,由块实现的某些特征可以由硬件实现,如通过方案设计或通过硬件描述语言(HDL)并且以可编程逻辑器件的方式实现(例如,现场可编程门阵列/CPLD或专用集成电路)。根据第三实施例的调度器可以被配置成执行根据上下文中描述的任何实施例的方法。每输入300的每输入队列的队列状态310被转发给请求块320,在图1所示的系统中的每输入端口实现请求块320。每个请求块320连接到授权块340,在图1所示的系统中的每输出端口实现授权块340。从请求块330到授权块340的每个连接可以传送针对一个并行交换单元的一个请求330,并且请求块320可以生成多至总共每次调度器迭代每个授权块340一个请求。
每个授权块340连接到接受块360,在图1所示的系统中的每输入端口实现接受块360。从授权块到接受块的每个连接可以传送针对一个并行交换单元的一个授权350,并且授权块340可以生成多至总共在每次调度器迭代中每个并行交换单元一个授权。每个接受块360连接到确认块380,在图1所示系统中的每输入端口实现确认块380。从接受块到确认块的每个连接可以传送多至针对图1所示系统中的每个并行交换单元一个接受370,并且接受块360可以生成多至总共针对每次调度器迭代每个并行交换单元一个接受。
确认块380执行图2所示的步骤240的处理,其通过生成确认命令,控制对应的包和信元经由被分配的交换单元从输入队列到其对应的目的输出端口的传输,其中,确认命令被传递回输入队列以开始对队头包或信元从对应的输入队列的传输。确认块还连接到交换单元可用性块396,交换单元可用性块396维持所有交换单元输入和输出链路(图1中的160和170)的分配状态。在输入和输出链路的分配之后,被分配的输入和输出链路的可用状态根据各个包或信元的长度而被更新。在优选实施例中,包和信元的大小未被步骤1、2和3使用,而是仅仅被交换单元可用性块396使用。
如果信元和包具有可变大小,则图3中的交换单元分配块396维持系统中每单个链路的输入和输出链路状态为每个传输的单个包或信元的长度的函数,如同本发明第三实施例中所实现的那样。在第三实施例的请求步骤中,只有对应的输入链路到输出链路可用的交换单元才被交换单元的旋转优先级方案选择所考虑。否则,所有其它步骤与上述第一实施例相同。
可替选地,如果包和信元都具有相同的大小(即,大小固定的包/信元),则不需要图3中所示的交换单元可用性块396。在这种情况下,在请求步骤1的开始,所有输入和输出链路被简单地认为是可用的,并且生成一组分配决策所用的时间段与输入或输出链路上的大小固定的信元/包单元的传输时长尽量接近地对准。
图3所示的调度器与传统iSLIP调度器具有总的类似之处,因此,下面具体描述图3所示的调度器与iSLIP调度器之间的差别。在iSLIP调度器算法中,请求和授权块之间的每个连接并不标识特定交换单元(因为只有一个交换单元可用),而是仅仅标识是否存在请求。同样,在iSLIP调度器算法中,授权和接受块之间的每个连接并不标识特定交换单元(因为只有一个交换单元可用),而是仅仅标识是否存在授权。此外,与iSLIP方法相比,对于图3所示的调度器,每调度器迭代每授权块生成的授权的数目也不同,因为iSLIP每调度器迭代生成一个授权,而根据图3的调度器,每调度器迭代生成多至每并行交换单元一个授权。在接受块和确认块之间的连接也存在这个不同。
作为图3所示第三实施例的调度器的替选,在第四实施例中,调度器在作为授权步骤的一部分的授权块中执行交换单元的选择,而不是在作为请求步骤的一部分的请求块中执行交换单元的选择。在第四实施例中,每(输入、输出)端口组合限定的旋转优先级交换单元请求指针由授权块而不是请求块来维持和更新。对于第四实施例,交换单元可用性馈送入授权块,而不是如同3所示那样馈送入请求块中。
图6是示出了根据本发明第五实施例的调度方法的流程图,其在每个分配决策时段使用多个迭代。通常,根据第五实施例的方法与结合图2所示第一实施例描述的方法一致。但是,图2的方法假设在一个调度器分配决策时段期间,即调度器分配决策的生成之间的时隙时段期间,仅仅一个对应于请求、授权和接受步骤的迭代被执行。图6的方法在步骤500中测试,以确定是否已经到达时隙的终点或者在终止的阈值范围内。如果是,则在步骤510中,对应的包和/或信元经由其对应的被分配的交换单元而传输到其目的输出端口。如果否,则在步骤520中,承诺的并行交换单元的输入和输出链路被掩去,并且执行新的迭代。换句话说,如果已经向一个请求分配了一个输入到输出交换路径,则该请求在以下迭代中不予考虑。
根据本发明的调度方法的第六实施例扩展了本发明的基本技术,以包括多个优先级等级的请求。在第六实施例中,每个输入单元针对每输出端口建立的每个优先级等级维持单独的输入队列。这意味着对于具有P个优先级等级(P为整数值)的N×M交换机,每个输入单元维持P×M个队列。第六实施例中使用的优先级化的技术可以进行如下限定:
步骤1(请求步骤):每个输出端口请求被扩展成包括优先级等级。当一个输入生成针对特定输出端口、特定交换单元的请求时,该请求的优先级设置成等于与特定输出端口相关联的最高优先级非空输入队列。
步骤2(授权步骤):当一个输出端口收到针对特定交换单元的请求时,其确定该请求的最高优先级等级,并且该输出端口接着授权所收到的具有所确定的优先级等级的请求中的一个请求。输出端口每交换单元每优先级等级地使用与以前相同的旋转优先级方案。当一授权传递给输入端口时,该授权包括所选的优先级等级。像以前一样,只有在该授权相应地在步骤3(图2中的步骤230)中被接受的情况下,才执行增加步骤。该操作像以前一样针对每输出端口的每个并行交换单元来执行。
步骤3(接受步骤):当一个输入端口接收针对特定交换单元的授权时,其确定该授权的最高优先级等级,并且该输入端口接着接受所收到的具有所确定的优先级等级的授权中的一个授权。该输入端口每交换单元每优先级等级地使用与以前相同的旋转优先级方案。该操作像以前一样针对每输入端口的每个并行交换单元来执行。
本发明第七实施例实现若干旋转优先级授权机制,其少于每输出端口每交换单元一个旋转优先级授权机制。换句话说,第七实施例使用每输出端口少于K个旋转优先级授权机制(K是交换单元的数目),因为一个旋转优先级授权机制可以用于覆盖两个或更多交换单元。因此,可以在任何地方实现每输出端口从2到K个旋转优先级授权机制。
在第七实施例中,针对给定输出端口的旋转优先级请求选择在来自针对并行交换单元组的输入端口的请求之间选择,而不是在针对仅仅单个交换单元的请求之间选择。依赖于实现,由旋转优先级请求选择所覆盖的组中的交换单元的数目可以在从2到并行交换单元数目的范围内。每调度迭代每输出可以生成的授权的最大数目等于每输出端口所执行的旋转优先级请求选择的数目。针对一个输出端口执行的多个旋转优先级请求选择不需要覆盖相同数目的并行交换单元。对于由旋转优先级请求选择结果生成的每个授权,与该授权相关联的交换单元设置成等于所选请求的交换单元。
本发明第八实施例实现若干旋转优先级接受机制,其少于每输入端口每交换单元一个旋转优先级接受机制。换句话说,第八实施例使用每输入端口少于K个旋转优先级接受机制(K是交换单元的数目),因为一个旋转优先级接受机制可以用于覆盖两个或更多交换单元。因此,可以在任何地方实现每输入端口从2到K个旋转优先级接受机制。
在第八实施例中,针对给定输入端口的旋转优先级授权选择在来自针对并行交换单元组的输出端口的授权之间选择,而不是在针对仅仅单个交换单元的授权之间选择。依赖于实现,由旋转优先级授权选择所覆盖的组中的交换单元的数目可以在从2到并行交换单元数目的范围内。每调度迭代每输入可以生成的接受的最大数目等于每输入端口执行的旋转优先级授权选择的数目。针对一个输入端口执行的多个旋转优先级授权选择不需要覆盖相同数目的并行交换单元。对于由旋转优先级授权选择结果生成的每个接受,与该接受相关联的交换单元设置成等于所选授权的交换单元。
本发明第九实施例实现若干(例如R个,其中,R是整数值)旋转优先权授权机制,其少于每输出端口每交换单元一个旋转优先级授权机制,以及若干(例如S个,其中,S是整数值)旋转优先级接受机制,其少于每输入端口每交换单元一个旋转优先级授权机制。在第九实施例中,依赖于特定实现,S可设置成等于R,或者它们可具有不同的值。
本发明第十实施例在大多数方面类似于第一实施例,但是,其使用“随机选择”优先级方案,而不是旋转优先级方案。在第十实施例的步骤1(请求步骤)中,每个输入端口在所有并行交换单元中均匀、随机地选择哪个并行交换单元来请求输出端口。在步骤2(授权步骤)中,每交换单元的每个输出端口在所有的接收到的请求中均匀、随机地选择请求。在步骤3(接收步骤)中,每交换单元的每个输入端口在所有的接收到的授权中均匀、随机地选择授权。“随机选择”方案也可以与本发明的其它实施例一起使用,作为相对于其它实施例描述的“旋转优先级”方案的替选方案。
这样,已经描述了根据本发明各个实施例的设备和方法。可以对这里描述和图示的技术和结构进行许多修改和变化而不背离本发明的精神和范围。因此,应该理解,这里所述的方法和设备仅仅是示例性的,并且不限制本发明的范围。根据本发明任何实施例的调度方法和系统可以用于网络互联交叉结构和方法,如2004年7月26日提交的美国专利申请第10/898,540号中所描述的,该专利申请的全部内容通过引用结合于此。
Claims (60)
1.一种使用交换机调度数据的方法,所述交换机包括多个输入端口、多个交换单元和多个输出端口,其中,每个所述输入端口都具有至少一个输入队列,所述方法包括:
a)由具有存储待发送数据的至少一个队列的每个输入端口基于每队列生成向所述输入端口中的数据待发往的每个所述输出端口输出数据的请求,其中,所述请求包括用于将数据从对应的输入端口传送到对应的输出端口的所述多个交换单元中的一个交换单元,所述多个交换单元中被标识的一个交换单元根据第一优先级方案标识;
b)按照步骤a)中标识的交换单元中的每个、按照每输出端口授权访问,所述授权基于第二优先级方案;
c)按照步骤a)中标识的交换单元中的每个、按照每输入端口接受授权,所述接受基于第三优先级方案;以及
d)基于所接受的授权,利用在步骤a)中标识的对应的交换单元,将数据从相应的输入端口输出到相应的输出端口。
2.根据权利要求1所述的方法,其中,每个所述交换单元具有N个输入端口和M个输出端口,N和M是正整数,并且,其中每个所述交换单元能够将来自所述N个输入端口中任一输入端口的包或信元交换到所述M个输出端口中的任一输出端口。
3.根据权利要求1所述的方法,其中,所述交换单元以彼此并行的关系设置。
4.根据权利要求1所述的方法,其中,所述第一、第二和第三优先级方案是相同类型的优先级方案。
5.根据权利要求1所述的方法,其中,通过在所述输入端口之间选择,每交换单元、每输出端口地实现一个授权优先级方案。
6.根据权利要求1所述的方法,其中,通过在所述输出端口之间选择,每交换单元、每输入端口地实现一个接受优先级方案。
7.根据权利要求1所述的方法,其中,通过在所述交换单元之间选择,每输出端口、每输入端口地实现一个请求优先级方案。
8.根据权利要求1所述的方法,其中,所述第一、第二和第三优先级方案中至少一个是轮转、旋转优先级方案。
9.根据权利要求1所述的方法,其中,所述将被传送的数据是大小可变的包。
10.根据权利要求1所述的方法,其中,在相应的授权已经在所述接受步骤c)中被接受之后,在所述输出步骤d)中,通过向已经被接受的相应的授权中使用的交换单元分配优先级值,以使其具有相对于未被使用的交换单元更低的优先级值,并且返回到所述请求步骤a),从而重复所述方法。
11.根据权利要求10所述的方法,其中,所述输出步骤d)在已到达时隙终点时启动。
12.根据权利要求9所述的方法,其中,在大小可变的包使用所述交换单元的一个从所述输入端口的一个被交换到所述输出端口的一个的时间期间,优先级值被分配给所述交换单元中的所述一个,以使其具有比最低可接受的优先级值低的值,使得所述交换单元的所述一个不能用在随后的用于从所述输入端口的所述一个传送包或信元的请求中,直到所述大小可变的包已经完成到所述输出端口的所述一个的传送。
13.根据权利要求12所述的方法,其中,在所述交换单元的所述一个将大小可变的包从所述输入端口的所述一个传送到所述输出端口的所述一个的时间期间,所述输入端口的任何其它输入端口能够使用所述交换单元的所述一个来传送包或信元。
14.根据权利要求2所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N等于M。
15.根据权利要求2所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N大于M。
16.根据权利要求2所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N小于M。
17.一种用于调度数据的系统,包括:
交换机,其包括:
多个输入端口,每个具有至少一个输入队列;
多个交换单元,其可通信地连接到所述多个输入端口;
多个输出端口,其可通信地连接到所述多个交换单元;以及
调度器,其被配置成:
a)接收由至少一个所述输入端口生成的请求,基于每队列作出的所述请求用以将存储在所述输入端口的输入队列中的数据输出到所述输入端口中的数据将发往的每个所述输出端口,其中,所述请求包括标识所述多个交换单元中的哪些交换单元将被用于将数据从对应的输入端口传送到对应的输出端口,所述多个交换单元中的被标识的交换单元根据第一优先级方案标识;
b)按照标识的交换单元中的每个、按照每个输出端口向所生成的请求授权访问,所述授权基于第二优先级方案;
c)按照标识的交换单元中的每个、按照每个输入端口接受授权,所述接受基于第三优先级方案;以及
d)基于所接受的授权,通过利用在所接受的授权中标识的对应的交换单元,指示对应的输入端口将数据从对应的输入端口的对应的输入队列输出到对应的输出端口。
18.根据权利要求17所述的系统,其中,每个所述交换单元具有交叉开关结构。
19.根据权利要求17所述的系统,其中,所述交换单元以彼此并行的关系设置。
20.根据权利要求17所述的系统,其中,所述第一、第二和第三优先级方案是相同类型的优先级方案。
21.根据权利要求17所述的系统,其中,通过在所述输入端口之间选择,每交换单元、每输出端口地实现一个授权优先级方案。
22.根据权利要求17所述的系统,其中,通过在所述输出端口之间选择,每交换单元、每输入端口地实现一个接受优先级方案。
23.根据权利要求17所述的系统,其中,通过在所述交换单元之间选择,每输出端口、每输入端口地实现一个请求优先级方案。
24.根据权利要求27所述的系统,其中,所述第一、第二和第三优先级方案中至少一个是轮转、旋转优先级方案。
25.根据权利要求17所述的系统,其中,待传送的所述数据是大小可变的包。
26.根据权利要求17所述的系统,其中,在大小可变的包使用所述交换单元的一个从所述输入端口的一个被交换到所述输出端口的一个的时间期间,优先级值被分配给所述交换单元的所述一个,以使其具有比最低可接受的优先级值低的值,使得所述交换单元的所述一个不能用在随后的用于从所述输入端口的所述一个传送包或信元的请求中,直到所述大小可变的包已经完成到所述输出端口的所述一个的传送。
27.根据权利要求26所述的系统,其中,在所述交换单元的所述一个将大小可变的包从所述输入端口的所述一个传送到所述输出端口的所述一个的时间期间,所述输入端口的任何其它输入端口能够使用所述交换单元的所述一个来传送包或信元。
28.根据权利要求17所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N等于M。
29.根据权利要求17所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N大于M。
30.根据权利要求17所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N小于M。
31.一种使用交换机调度数据的方法,所述交换机包括多个输入端口、多个交换单元和多个输出端口,其中,所述输入端口中的每个都具有至少一个输入队列,所述方法包括:
a)由在其至少一个队列中具有数据的每个输入端口生成向数据待发往的每个所述输出端口输出数据的请求,其中,所述请求标识用于将数据从对应的输入端口传送到对应的输出端口的所述多个交换单元中的一个交换单元,所述多个交换单元中被标识的一个交换单元根据第一优先级方案而被标识;
b)基于步骤a)中作出的请求,按照步骤a)中标识的所述交换单元中的至少一个中的每个、按照每个输出端口授权访问,所述授权基于第二优先级方案;
c)按照步骤a)中标识的所述交换单元中的至少一个中的每个、按照每个输入端口接受授权,所述接受基于第三优先级方案;以及
d)基于所接受的授权,利用所述在步骤a)中标识的对应的交换单元,将数据从相应的输入端口输出到相应的输出端口。
32.根据权利要求31所述的方法,其中,每个所述交换单元具有N个输入端口和M个输出端口,N和M是正整数,并且,其中每个所述交换单元能够将来自所述N个输入端口中任一输入端口的包或信元交换到所述M个输出端口中的任一输出端口。
33.根据权利要求31所述的方法,其中,所述交换单元以彼此并行的关系设置。
34.根据权利要求31所述的方法,其中,所述第一、第二和第三优先级方案是相同类型的优先级方案。
35.根据权利要求31所述的方法,其中,通过在所述输入端口之间选择,每交换单元、每输出端口地实现一个授权优先级方案。
36.根据权利要求31所述的方法,其中,通过在所述输出端口之间选择,每交换单元、每输入端口地实现一个接受优先级方案。
37.根据权利要求31所述的方法,其中,通过在所述交换单元之间选择,每输出端口、每输入端口地实现一个请求优先级方案。
38.根据权利要求31所述的方法,其中,所述第一、第二和第三优先级方案中至少一个是轮转、旋转优先级方案。
39.根据权利要求31所述的方法,其中,所述要传送的数据是大小可变的包。
40.根据权利要求31所述的方法,其中,在相应的授权已经在所述接受步骤c)中被接受之后,所述输出步骤d)中通过向已经被接受的相应授权中使用的所述交换单元分配优先级值,以使其具有相对于未被使用的所述交换单元更低的优先级值,并且返回到所述请求步骤a),从而重复所述方法。
41.根据权利要求40所述的方法,其中,所述输出步骤d)在已到达时隙终点时启动。
42.根据权利要求39所述的方法,其中,在大小可变的包使用所述交换单元的一个从所述输入端口的一个被交换到所述输出端口的一个的时间期间,优先级值被分配给所述交换单元的所述一个,以使其具有比最低可接受的优先级值低的值,使得所述交换单元的所述一个不能用在随后的用于从所述输入端口的所述一个传送包或信元的请求中,直到所述大小可变的包已经完成到所述输出端口的所述一个的传送。
43.根据权利要求42所述的方法,其中,在所述交换单元的所述一个将大小可变的包从所述输入端口的所述一个传送到所述输出端口的所述一个的时间期间,所述输入端口的任何其它输入端口能够使用所述交换单元的所述一个来传送包或信元。
44.根据权利要求32所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N等于M。
45.根据权利要求32所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N大于M。
46.根据权利要求32所述的方法,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N小于M。
47.一种用于调度数据的系统,包括:
交换机,其包括:
多个输入端口,每个具有至少一个输入队列;
多个交换单元,其可通信地连接到所述多个输入端口;
多个输出端口,其可通信地连接到所述多个交换单元;以及
调度器,其被配置成:
a)接收由至少一个所述输入端口生成的请求,基于每队列作出的所述请求用以将存储在所述输入端口的输入队列中的数据输出到所述输入端口中的数据要发往的每个所述输出端口,其中,所述请求包括标识所述多个交换单元中的哪些交换单元将被用于将数据从对应的输入端口传送到对应的输出端口,所述多个交换单元中被标识的交换单元根据第一优先级方案标识;
b)按照标识的交换单元中的至少一个中的每个、按照每输出端口向步骤a)中作出的所述请求授权访问,所述授权基于第二优先级方案;
c)按照标识的交换单元中的至少一个中的每个、按照每输入端口接受授权,所述接受基于第三优先级方案;以及
d)基于所接受的授权,通过利用在所接受的授权中标识的对应的交换单元,将数据从相应的输入端口输出到相应的输出端口。
48.根据权利要求47所述的系统,其中,每个所述交换单元具有交叉开关结构。
49.根据权利要求47所述的系统,其中,所述交换单元以彼此并行的关系设置。
50.根据权利要求47所述的系统,其中,所述第一、第二和第三优先级方案是相同类型的优先级方案。
51.根据权利要求47所述的系统,其中,通过在所述输入端口之间选择,每交换单元、每输出端口地实现一个授权优先级方案。
52.根据权利要求47所述的系统,其中,通过在所述输出端口之间选择,每交换单元、每输入端口地实现一个接受优先级方案。
53.根据权利要求47所述的系统,其中,通过在所述交换单元之间选择,每输出端口、每输入端口地实现一个请求优先级方案。
54.根据权利要求47所述的系统,其中,所述第一、第二和第三优先级方案中至少一个是轮转、旋转优先级方案。
55.根据权利要求47所述的系统,其中,待传送的所述数据是大小可变的包。
56.根据权利要求47所述的系统,其中,在大小可变的包使用所述交换单元的一个从所述输入端口的一个被交换到所述输出端口的一个的时间期间,优先级值被分配给所述交换单元的所述一个,以使其具有比最低可接受的优先级值低的值,使得所述交换单元的所述一个不能用在随后的用于从所述输入端口的所述一个传送包或信元的请求中,直到所述大小可变的包已经完成到所述输出端口的所述一个的传送。
57.根据权利要求56所述的系统,其中,在所述交换单元的所述一个将大小可变的包从所述输入端口的所述一个传送到所述输出的所述一个端口的时间期间,任何其它的所述输入端口能够使用所述交换单元所述的一个来传送包或信元。
58.根据权利要求47所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N等于M。
59.根据权利要求47所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N大于M。
60.根据权利要求47所述的系统,其中,所述多个输入端口在数目上对应于N,并且所述多个输出端口在数目上对应于M,并且,其中N小于M。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/029,624 US7408947B2 (en) | 2005-01-06 | 2005-01-06 | Method and apparatus for scheduling packets and/or cells |
US11/029,624 | 2005-01-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101099355A true CN101099355A (zh) | 2008-01-02 |
Family
ID=36295557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800018206A Pending CN101099355A (zh) | 2005-01-06 | 2006-01-05 | 用于调度包和/或信元的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (3) | US7408947B2 (zh) |
EP (1) | EP1836814A1 (zh) |
JP (1) | JP2008527853A (zh) |
CN (1) | CN101099355A (zh) |
WO (1) | WO2006074240A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847181A (zh) * | 2016-03-10 | 2016-08-10 | 浙江大学 | 一种应用于输入队列交换机分布式调度算法的预测方法 |
CN106997325A (zh) * | 2017-04-10 | 2017-08-01 | 广东浪潮大数据研究有限公司 | 一种可配置的多输入端调度系统及实现方法 |
CN108173787A (zh) * | 2017-11-30 | 2018-06-15 | 成都成电光信科技股份有限公司 | Fc交换机的数据传递路径选择方法、并行调度方法及装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070133585A1 (en) * | 2005-12-08 | 2007-06-14 | International Business Machines Corporation | Method and device for scheduling interconnections in an interconnecting fabric |
JP2007259073A (ja) * | 2006-03-23 | 2007-10-04 | Nec Corp | パケットスイッチにおけるスケジューリング装置 |
WO2009018483A1 (en) | 2007-07-31 | 2009-02-05 | Viasat, Inc. | Input output access controller |
US7961630B2 (en) * | 2007-09-27 | 2011-06-14 | Agilent Technologies, Inc. | Methods and apparatus for stimulating packet-based systems |
US9100313B1 (en) * | 2012-12-10 | 2015-08-04 | Cisco Technology, Inc. | Shared egress buffer in a multi-stage switch |
US9965211B2 (en) | 2016-09-08 | 2018-05-08 | Cisco Technology, Inc. | Dynamic packet buffers with consolidation of low utilized memory banks |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US52235A (en) * | 1866-01-23 | whitlock | ||
US681324A (en) * | 1901-05-23 | 1901-08-27 | Hubbell Mfg Co | Detergent composition. |
US5267235A (en) | 1992-05-21 | 1993-11-30 | Digital Equipment Corporation | Method and apparatus for resource arbitration |
US5500858A (en) * | 1994-12-20 | 1996-03-19 | The Regents Of The University Of California | Method and apparatus for scheduling cells in an input-queued switch |
US6212182B1 (en) * | 1996-06-27 | 2001-04-03 | Cisco Technology, Inc. | Combined unicast and multicast scheduling |
GB9828144D0 (en) * | 1998-12-22 | 1999-02-17 | Power X Limited | Data switching apparatus |
US6993018B1 (en) * | 1999-08-03 | 2006-01-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Priority signaling for cell switching |
KR100363890B1 (ko) * | 1999-10-14 | 2002-12-11 | 주식회사 케이티 | 입출력 버퍼형 스위치의 다중 선택형 2차원 라운드로빈 스케줄링 방법 |
CA2292828A1 (en) * | 1999-12-22 | 2001-06-22 | Nortel Networks Corporation | Method and apparatus for traffic flow control in data switches |
US6721372B1 (en) * | 2000-03-17 | 2004-04-13 | Lucent Technologies Inc. | Intelligent software controlled correction of frequency tracking for a local oscillator of a receiver of a wireless device |
US6813274B1 (en) * | 2000-03-21 | 2004-11-02 | Cisco Technology, Inc. | Network switch and method for data switching using a crossbar switch fabric with output port groups operating concurrently and independently |
US7016365B1 (en) * | 2000-03-31 | 2006-03-21 | Intel Corporation | Switching fabric including a plurality of crossbar sections |
US7161906B2 (en) * | 2000-12-15 | 2007-01-09 | Agere Systems Inc. | Three-stage switch fabric with input device features |
US7023840B2 (en) * | 2001-02-17 | 2006-04-04 | Alcatel | Multiserver scheduling system and method for a fast switching element |
US7203170B2 (en) * | 2001-05-01 | 2007-04-10 | Integrated Device Technology, Inc. | Network switch port with weighted random early discard |
DE60217685T2 (de) * | 2001-08-30 | 2007-10-18 | Tellabs Operations, Inc., Naperville | System und verfahren zum vermitteln von daten unter verwendung eines gemeinsamen koppelfeldes |
US7035273B1 (en) * | 2002-02-06 | 2006-04-25 | Marvell International Ltd. | Quality of service queueing system for a network switch |
US7209440B1 (en) * | 2002-05-07 | 2007-04-24 | Marvell International Ltd. | Method and apparatus for preventing blocking in a quality of service switch |
US7110415B1 (en) * | 2002-05-17 | 2006-09-19 | Marvell International Ltd. | Apparatus and method for dynamically limiting output queue size in a quality of service network |
-
2005
- 2005-01-06 US US11/029,624 patent/US7408947B2/en active Active
-
2006
- 2006-01-05 EP EP06717414A patent/EP1836814A1/en not_active Withdrawn
- 2006-01-05 WO PCT/US2006/000206 patent/WO2006074240A1/en active Application Filing
- 2006-01-05 JP JP2007550438A patent/JP2008527853A/ja not_active Withdrawn
- 2006-01-05 CN CNA2006800018206A patent/CN101099355A/zh active Pending
-
2008
- 2008-07-24 US US12/178,839 patent/US7738472B2/en active Active
-
2010
- 2010-05-20 US US12/784,370 patent/US7830903B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847181A (zh) * | 2016-03-10 | 2016-08-10 | 浙江大学 | 一种应用于输入队列交换机分布式调度算法的预测方法 |
CN105847181B (zh) * | 2016-03-10 | 2019-04-30 | 浙江大学 | 一种应用于输入队列交换机分布式调度算法的预测方法 |
CN106997325A (zh) * | 2017-04-10 | 2017-08-01 | 广东浪潮大数据研究有限公司 | 一种可配置的多输入端调度系统及实现方法 |
CN108173787A (zh) * | 2017-11-30 | 2018-06-15 | 成都成电光信科技股份有限公司 | Fc交换机的数据传递路径选择方法、并行调度方法及装置 |
CN108173787B (zh) * | 2017-11-30 | 2020-12-18 | 成都成电光信科技股份有限公司 | Fc交换机的数据传递路径选择方法、并行调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20090059942A1 (en) | 2009-03-05 |
US7830903B2 (en) | 2010-11-09 |
US20060146706A1 (en) | 2006-07-06 |
EP1836814A1 (en) | 2007-09-26 |
US7408947B2 (en) | 2008-08-05 |
WO2006074240A1 (en) | 2006-07-13 |
US20100232449A1 (en) | 2010-09-16 |
JP2008527853A (ja) | 2008-07-24 |
US7738472B2 (en) | 2010-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101099355A (zh) | 用于调度包和/或信元的方法和设备 | |
US6813274B1 (en) | Network switch and method for data switching using a crossbar switch fabric with output port groups operating concurrently and independently | |
US9479462B2 (en) | Switching device | |
US7492782B2 (en) | Scalable crossbar matrix switching apparatus and distributed scheduling method thereof | |
AU746166B2 (en) | Fair and efficient cell scheduling in input-buffered multipoint switch | |
US6618379B1 (en) | RRGS-round-robin greedy scheduling for input/output terabit switches | |
Chang et al. | Mailbox switch: a scalable two-stage switch architecture for conflict resolution of ordered packets | |
JP3936044B2 (ja) | アクセス調停方法 | |
US20030035371A1 (en) | Means and apparatus for a scaleable congestion free switching system with intelligent control | |
CN1938992B (zh) | 用于加权随机调度的方法和装置 | |
WO1998019421A1 (en) | Asynchronous transfer mode switching architectures having connection buffers | |
JPH10164096A (ja) | マルチキャスト・パケット・アクセス調停方法 | |
US7889729B2 (en) | System and method for reevaluating granted arbitrated bids | |
KR20040038028A (ko) | 다중 입력/출력 버퍼형 교환기 | |
CN100379204C (zh) | 用于包括无阻塞交换结构和线路卡接口的系统的包调度 | |
US7522527B2 (en) | Scalable crossbar matrix switch and arbitration method thereof | |
US7130301B2 (en) | Self-route expandable multi-memory packet switch with distributed scheduling means | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
US7486687B2 (en) | Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots | |
US7130302B2 (en) | Self-route expandable multi-memory packet switch | |
KR100508635B1 (ko) | 확장형 크로스바 매트릭스 스위치 및 중재 방법 | |
Zheng et al. | An efficient round-robin algorithm for combined input-crosspoint-queued switches | |
KR100581079B1 (ko) | 확장형 크로스바 매트릭스 스위칭 장치 및 그의 분산스케쥴링 방법 | |
Kariniemi et al. | Improved multicast switch architecture for optical cable television and video surveillance networks | |
AU2002317564A1 (en) | Scalable switching system with intelligent control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080102 |