CN109218230A - 用于平衡跨多级网络交换机的输入端口的吞吐量的技术 - Google Patents
用于平衡跨多级网络交换机的输入端口的吞吐量的技术 Download PDFInfo
- Publication number
- CN109218230A CN109218230A CN201810697177.XA CN201810697177A CN109218230A CN 109218230 A CN109218230 A CN 109218230A CN 201810697177 A CN201810697177 A CN 201810697177A CN 109218230 A CN109218230 A CN 109218230A
- Authority
- CN
- China
- Prior art keywords
- round
- data
- arbiter
- arbiter element
- equipment
- 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.)
- Granted
Links
- 238000005516 engineering process Methods 0.000 title abstract description 7
- 238000009826 distribution Methods 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000000034 method Methods 0.000 claims description 34
- 230000004044 response Effects 0.000 claims description 25
- 241001269238 Data Species 0.000 claims description 15
- 238000011144 upstream manufacturing Methods 0.000 claims description 13
- 230000005611 electricity Effects 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 15
- 238000013500 data storage Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- YIWGJFPJRAEKMK-UHFFFAOYSA-N 1-(2H-benzotriazol-5-yl)-3-methyl-8-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carbonyl]-1,3,8-triazaspiro[4.5]decane-2,4-dione Chemical compound CN1C(=O)N(c2ccc3n[nH]nc3c2)C2(CCN(CC2)C(=O)c2cnc(NCc3cccc(OC(F)(F)F)c3)nc2)C1=O YIWGJFPJRAEKMK-UHFFFAOYSA-N 0.000 description 1
- MKYBYDHXWVHEJW-UHFFFAOYSA-N N-[1-oxo-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propan-2-yl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(C(C)NC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 MKYBYDHXWVHEJW-UHFFFAOYSA-N 0.000 description 1
- NIPNSKYNPDTRPC-UHFFFAOYSA-N N-[2-oxo-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 NIPNSKYNPDTRPC-UHFFFAOYSA-N 0.000 description 1
- VCUFZILGIRCDQQ-KRWDZBQOSA-N N-[[(5S)-2-oxo-3-(2-oxo-3H-1,3-benzoxazol-6-yl)-1,3-oxazolidin-5-yl]methyl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C1O[C@H](CN1C1=CC2=C(NC(O2)=O)C=C1)CNC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F VCUFZILGIRCDQQ-KRWDZBQOSA-N 0.000 description 1
- JAWMENYCRQKKJY-UHFFFAOYSA-N [3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-ylmethyl)-1-oxa-2,8-diazaspiro[4.5]dec-2-en-8-yl]-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]methanone Chemical compound N1N=NC=2CN(CCC=21)CC1=NOC2(C1)CCN(CC2)C(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F JAWMENYCRQKKJY-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/60—Queue scheduling implementing hierarchical scheduling
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/629—Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/112—Switch control, e.g. arbitration
-
- 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
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/568—Load balancing, smoothing or shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5684—Characteristics of traffic flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用于平衡跨多级网络交换机的输入端口的吞吐量的技术。一种用于平衡跨输入端口的吞吐量的技术包括网络交换机。网络交换机针对仲裁器单元的级的层级的第一级中的仲裁器单元生成指示其中从连接到仲裁器单元的输入端口的设备传送分组数据的轮次的集合的轮次数据。网络交换机还与仲裁器单元一起传送来自轮次的集合中的设备的分组数据。此外,网络交换机将确定指示集合中所表示的轮次的数量的权重数据并将权重数据从第一级中的仲裁器单元提供给后续级中的另一仲裁器单元,以使后续级中的仲裁器单元为从第一级中的仲裁器单元传送分组数据的分配轮次的数量。
Description
背景技术
用于高基(high-radix)网络交换机的典型架构扩展了跨越多级子交换机交换数据分组的过程,有时称为仲裁器单元。这样的架构可能导致竞争相同资源(例如,网络交换机的输出端口)的不同输入端口之间的不公平。例如,网络交换机的第一级中的每个仲裁器单元可以实现循环(round-robin)方案以给予计算设备连接到的每个输入端口的轮次(turn)(例如,在其中发送分组的时间段)。然而,如果计算设备的数量跨第一级中的仲裁器单元的输入端口不是均匀分布的,那么在第二级中,执行循环方案的仲裁器单元将不公平地分配用于从之前级传送分组的轮次,给予连接到具有最少量的连接的计算设备的之前级中的仲裁器单元的计算设备相对较多的吞吐量,并且给予连接到之前级中的其他仲裁器单元的计算设备相对较少的吞吐量。
附图说明
在此描述的概念在附图中以示例而非限制的方式来说明。为了说明的简单和清楚起见,图中所示的元素不一定按比例绘制。在认为合适的地方,参考标签已在图中重复以指示相应或类似的元素。
图1是用于跨多级网络交换机的输入端口平衡吞吐量的系统的至少一个实施例的简化框图;
图2是图1的系统的网络交换机的至少一个实施例的简化框图;
图3是可由图1和2的网络交换机建立的环境的至少一个实施例的简化框图;
图4-6是可由图1和图2的网络交换机执行的用于跨输入端口平衡吞吐量的方法的至少一个实施例的简化框图;以及
图7是通过图1和图2的网络交换机的分组的流的至少一个实施例的简化框图。
具体实施方式
虽然本公开的概念容易受到各种修改和替代形式的影响,但是其具体实施例已经通过附图中的示例示出并且将在本文中进行详细描述。然而,应该理解的是,没有意图将本公开的概念限制到所公开的特定形式,而是相反,意图是涵盖与本公开和所附权利要求书一致的所有修改、等同物和替代方案。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以或可以不必须包括该特定的特征、结构或特性。而且,这样的短语不一定是指相同的实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否明确描述的其他实施例来实现这种特征、结构或特性是在本领域技术人员的知识内。另外,应该理解的是,以“至少一个A、B和C”的形式包括在列表中的项目可以表示(A); (B); (C); (A和B); (A和C); (B和C);或(A、B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可以表示(A); (B); (C); (A和B); (A和C); (B和C);或(A、B和C)。
所公开的实施例可以在一些情况下以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由暂时或非暂时性机器可读(例如,计算机可读)存储介质携带或存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于存储或传输机器可读形式的信息的任何存储设备、机制或其他物理结构(例如,易失性或非易失性存储器、媒体盘或其他介质设备)。
在附图中,可以以特定布置和/或排序来示出一些结构或方法特征。然而,应该认识到,这种特定的布置和/或排序可能不是必需的。而是,在一些实施例中,这种特征可以以不同于说明性图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这种特征,并且在一些实施例中可能不被包括或可能与其他特征组合。
如图1中所示,用于跨多级交换机110的输入端口平衡吞吐量的说明性系统100包括与网络120中的多个计算设备150通信的多级网络交换机110。网络交换机110包括多级130、132,并且每个级130、132包括一个或多个仲裁器单元140。在说明性实施例中,第一级130包括仲裁器单元142、144,并且第二级132包括仲裁器单元146。在其他实施例中,在每个级130、132中的仲裁器单元140的数量可以与所示实施例不同,并且级130、132的数量可以大于二。然而,通常,级130、132形成其中每个后续级(例如,从网络交换机110的输入侧移动到网络交换机110的输出侧)中的仲裁器单元140的数量减少的层级。在操作中,每个计算设备152、154、156、158、160将数据分组传输到相应的仲裁器单元140的相应的输入端口170。另一个计算设备162是空闲的(例如,不活跃地向网络交换机110传输分组) 。
每个仲裁器单元140诸如在循环方案中顺序地传送数据分组,其中计算设备150所连接到的每个输入端口170接收轮次(例如,分组数据流中的时隙(slot))。每个仲裁器单元140附加地向后续级132中的仲裁器单元146发送权重数据,所述权重数据指示计算设备150连接到的输入端口170的数量(例如,活跃地发送分组)。仲裁器单元146然后执行修改后的循环方案,其中分配给每个输入端口170的轮次的数量对应于从之前级中的仲裁器单元140(例如,级130的仲裁器单元142、144)接收到的权重数据。因此,当计算设备152、154、156、158正在向仲裁器单元142活跃地传输分组并且仅计算设备160正在向仲裁器单元144活跃地传输分组(例如,计算设备162暂时空闲)时,而不是向四个计算设备152、154、156、158提供总吞吐量(例如,轮次的总数量)的50 %以及向计算设备160提供吞吐量的另外50%,仲裁器单元146可以替代地向来自仲裁器单元142的分组流分配吞吐量的80%(例如,每五个轮次中的四个)并且向来自仲裁器单元144的分组流分配20%(例如,每五个轮次中的一个)。结果,来自各种计算设备152、154、156、158、160的数据分组在由网络交换机110通过仲裁器级132的输出端口180发送到网络交换机110的输出侧的目标计算设备164的输出数据流中被公平地表示。
现在参考图2,网络交换机110可以体现为能够执行本文描述的功能的任何类型的设备,所述功能包括用多个仲裁器单元140从计算设备150传送数据分组,并且与后续级中的一个或多个其他仲裁器单元140共享指示向每个仲裁器单元140的每个输入端口170发送数据分组的计算设备150的数量的权重数据,以跨所有输入端口170平衡吞吐量。例如,在一些实施例中,网络交换机110可以体现为计算机、多处理器系统或网络设备。
如图2中所示,说明性网络交换机110包括中央处理单元(CPU)202、主存储器204、输入/输出(I / O)子系统206、通信电路208和一个或多个数据存储设备212。当然,在其他实施例中,网络交换机110可以包括其他或附加部件,诸如在计算机中常见的那些部件(例如外围设备、显示器等)。另外,在一些实施例中,说明性部件中的一个或多个可以并入另一个部件中或以其他方式作为另一个部件的一部分。例如,在一些实施例中,主存储器204或其部分可以被并入CPU 202中。
CPU 202可以体现为能够执行在此描述的功能的任何类型的一个或多个处理器。这样,CPU 202可以体现为(一个或多个)单核或多核处理器、微控制器或其他处理器或处理/控制电路。在一些实施例中,CPU 202可以体现为、包括或耦合到现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可重新配置的硬件或硬件电路或其他专用硬件,以促进这里描述的功能的执行。主存储器204可以体现为能够执行在此描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储装置。在一些实施例中,主存储器204的全部或一部分可以被集成到CPU 202中。在操作中,主存储器204可以存储在操作期间使用的各种软件和数据,诸如分组数据、权重数据、轮次数据、操作系统、应用、程序、库和驱动。
I/O子系统206可以体现为能够促进与CPU 202、主存储器204以及网络交换机110的其他部件的输入/输出操作的任何电路和/或部件。例如,I/O子系统206可以体现为或者以其他方式包括存储器控制器集线器、输入/输出控制集线器、集成传感器集线器、固件设备、通信链路(例如,点对点链路、总线链路、导线、线缆、光导、印刷电路板迹线等)和/或其他部件和子系统以促进输入/输出操作。在一些实施例中,I/O子系统206可以形成片上系统(SoC)的一部分并且连同CPU 202、主存储器204以及网络交换机110的其他部件中的一个或多个一起被合并在单个集成电路芯片上。
通信电路208可以体现为任何通信电路、设备或其集合,其能够使能在网络交换机110和另一个设备(例如,计算设备150中的一个或多个)之间的通过网络120的通信。通信电路208可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,以太网、Bluetooth®(蓝牙)、Wi-Fi®、WiMAX等)来实现这种通信。
说明性通信电路208包括一个或多个端口逻辑210,其中的每一个也可以被称为网络接口控制器(NIC)。通信电路208可以位于与CPU 202分开的硅上,或者通信电路208可以包括在具有CPU 202的多芯片封装中,或者甚至在与CPU 202相同的管芯上。一个或多个端口逻辑210可以体现为一个或多个插件板、子卡、网络接口卡、微控制器芯片、芯片组、专用部件,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)或可由网络交换机110用来与另一设备(例如,计算设备150 )连接的其他设备。在一些实施例中,一个或多个端口逻辑210可以体现为包括一个或多个处理器或包括在也包含一个或多个处理器的多芯片封装上的片上系统(SoC)的部分。在一些实施例中,一个或多个端口逻辑210可以包括对于(一个或多个)端口逻辑210而言两者都是本地的本地处理器(未示出)和/或本地存储器(未示出)。在这样的实施例中,(一个或多个)端口逻辑210的本地处理器可能能够执行在此描述的CPU202的一个或多个功能。另外地或替代地,在这样的实施例中,(一个或多个)端口逻辑210的本地存储器可以以板级、插座(socket)级、芯片级和/或其他级集成到网络交换机110的一个或多个部件中。在说明性实施例中,(一个或多个)端口逻辑210包括上述仲裁器单元140,其可以体现为如下任何设备或电路,所述任何设备或电路能够确定要分配给每个仲裁器单元140的一个或多个输入端口170中的每一个的权重、确定分配给输入端口170中的每个的用于按顺序传送数据分组的轮次的数量、将权重(例如,作为权重数据)提供给网络交换机110的后续级中的一个或多个仲裁器单元140以及通过输出端口180将数据分组发送到另一个设备(例如,发送到另一个仲裁器单元140、计算设备150或其他设备)。
一个或多个说明性数据存储设备212可以体现为被配置用于数据的短期或长期存储的任何类型的设备,诸如例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其他数据存储设备。每个数据存储设备212可以包括存储用于数据存储设备212的数据和固件代码的系统分区。每个数据存储设备212还可以包括存储用于操作系统的数据文件和可执行文件的操作系统分区。另外,网络交换机110可以包括一个或多个外围设备214。这样的外围设备214可以包括在计算设备中常见的任何类型的外围设备,诸如显示器、扬声器、鼠标、键盘和/或其他输入/输出设备、接口设备和/或其他外围设备。
计算设备150可以具有与图2中描述的那些部件类似的部件。这样,对网络交换机110的那些部件的描述同样适用于对计算设备150的部件的描述,并且为了描述的清楚性,这里不再重复对网络交换机110的那些部件的描述。应当理解的是,计算设备150可以包括计算设备中常见的其他部件、子部件和设备,这些未在上面参考网络交换机110进行讨论并且为了描述的清楚性而不在此讨论。
如上所述,网络交换机110和计算设备150说明性地经由网络120进行通信,网络120可以体现为任何类型的有线或无线通信网络,包括全球网络(例如因特网)、局域网(LAN)或广域网(WAN)、蜂窝网络(例如,全球移动通信系统(GSM)、3G、长期演进(LTE)、全球微波接入互操作性(WiMAX)等)、数字用户线路(DSL)网络、有线网络(例如,同轴网络、光纤网络等)或其任何组合。
现在参考图3,在说明性实施例中,网络交换机110可以在操作期间建立环境300。说明性环境300包括网络通信器320和轮次管理器330。环境300的每个部件可以体现为硬件、固件、软件或其组合。如此,在一些实施例中,环境300的一个或多个部件可以体现为电路或电子设备的集合(例如,网络通信器电路320、轮次管理器电路330等)。应该理解的是,在这样的实施例中,网络通信器电路320或轮次管理器电路330中的一个或多个可以形成CPU 202、主存储器204、I/O子系统206和/或网络交换机110的其他部件中的一个或多个的一部分。
在说明性实施例中,环境300包括分组数据302,分组数据302可以体现为指示分组(例如分组流)的任何数据,包括由网络交换机110(例如,从计算设备152、154、156、158、160中的一个或多个)接收的、在仲裁器单元140之间传送的以及从网络交换机110(例如,向计算设备164)传输出去的净荷和报头(例如源地址信息、目的地地址信息、端口信息等)。另外,在说明性实施例中,环境300包括权重数据304,权重数据304可以体现为指示要提供给每个仲裁器单元140的每个输入端口170以从其传送分组的轮次的数量的任何数据。如本文更详细描述的,权重数据304指示其分组被传送到特定输入端口170的不同设备(例如,计算设备150)的数量。在说明性实施例中,网络交换机110将权重数据304分配给每个仲裁器单元140的每个输入端口170,指示连接到每个输入端口170的不同设备(例如,计算设备150)的数量(例如,一个),或者连接到将分组提供给另一个仲裁器单元140(例如,在网络交换机110的稍后级处的仲裁器单元140)的特定输入端口170的一个或多个仲裁器单元140的一个或多个输入端口170的设备的数量。如此,如果活跃地传送来自四个计算设备150的分组的仲裁器单元140向随后的仲裁器单元140的一个输入端口170传递分组,则与后续仲裁器单元140的输入端口170相关联的权重是四。另外,在说明性实施例中,环境300包括轮次数据306,轮次数据306可以体现为针对特定仲裁器单元140的、由网络交换机110生成以在传送分组流(例如,分组数据)时赋予每个输入端口170的轮次的序列。在说明性实施例中,网络交换机110生成作为权重数据304的函数的轮次数据306。例如,如果与特定输入端口170相关联的给定权重是四,则网络交换机110将使得相应的仲裁器单元140在从相同仲裁器单元140的下一个输入端口170传送一个或多个分组之前将四个轮次分配给该输入端口170(例如,从输入端口170传送四个分组)。
在说明性环境300中,可以被体现为如上所述的硬件、固件、软件、虚拟化硬件、模拟架构(emulated architecture)和/或其组合的网络通信器320被配置为促进分别去往和来自网络交换机110的入站和出站网络通信(例如,网络业务、网络分组、网络流量等)。为了这样做,网络通信器320被配置为接收和处理(例如,来自计算设备150)的数据分组并且准备数据分组以及向系统或计算设备(例如,另一个计算设备150)发送数据分组。因此,在一些实施例中,网络通信器320的功能性的至少一部分可以由通信电路208执行,并且在说明性实施例中,可以由(一个或多个)端口逻辑210执行。
可以被体现为如上所述的硬件、固件、软件、虚拟化硬件、模拟架构和/或其组合的轮次管理器330被配置为辅助网络通信器320,其通过确定赋予输入端口170中的每个以为连接到网络交换机110的设备(例如,计算设备150)提供吞吐量的平衡分布的、用于仲裁器单元140的轮次的序列,而不管是否跨级130中的仲裁器单元140不均匀地分布设备。为了这样做,在说明性实施例中,轮次管理器330包括权重确定器332和序列确定器334。在说明性实施例中,权重确定器332被配置为确定与每个仲裁器单元140的每个输入端口170相关联的设备(例如,计算设备150)的数量,并且生成指示(例如,等于)该数量的权重。在说明性实施例中,对于网络交换机110的级130(例如,输入级)中的仲裁器单元140,权重确定器332可以检测设备是否物理连接到相应的输入端口170(例如,通过检测指示导体到输入端口170的物理连接的电压改变或电流)和/或否则是否与输入端口170通信,诸如通过检测从设备无线传输到输入端口170的分组(例如,例如通过检测分组的报头中的端口的标识符)。权重确定器332还被配置为将后续级(例如,级132)中的仲裁器单元140(例如,仲裁器单元146)的每个输入端口170的权重确定为来自之前级(例如,级130)的相应的上游仲裁器单元140(例如,仲裁器单元142)的输入端口170的总权重。这样,如果仲裁器单元142具有连接到输入端口170中的每个的计算设备150,则仲裁器单元142的每个输入端口170的权重是一,并且仲裁器单元146的相应输入端口170的权重是四。在说明性实施例中,序列确定器334被配置为根据权重数据304来确定其中每个仲裁器单元140将从其输入端口170传送分组的轮次的序列(例如,轮次数据306)。在说明性实施例中,序列确定器334确定其中给定仲裁器单元140在前进到下一个输入端口170之前提供等于分配给相应输入端口170的权重的多个连续轮次的循环序列,如果有的话。在说明性实施例中,当用于仲裁器单元140的所有输入端口170的所有轮次均已被使用时,该序列重复。
应该理解,权重确定器332和序列确定器334的类中的每一个可以分别体现为硬件、固件、软件、虚拟化硬件、模拟架构和/或其组合。例如,权重确定器332可以体现为硬件部件,而序列确定器334体现为虚拟化硬件部件或体现为硬件、固件、软件、虚拟化硬件、模拟架构和/或其组合的一些其他组合。
现在参考图4,在使用中,网络交换机110可以执行用于平衡跨输入端口(例如,输入端口170)的吞吐量的方法400。方法400从框402开始,其中网络交换机110确定是否要平衡连接到输入端口170的设备(例如,计算设备150)的吞吐量。这样做,网络交换机110可以确定是否已经从外部源(例如,从管理员计算设备)接收了平衡吞吐量的请求或者平衡吞吐量的指示符是否存在于配置文件(例如,存在于存储设备312中)或来自另一个源。在其他实施例中,网络交换机110可以基于其他因素进行确定。无论如何,响应于平衡吞吐量的确定,方法400前进至框404,其中网络交换机110在当前级130、132处的当前仲裁器单元140处从连接到当前仲裁器单元140的一个或多个输入端口170的一个或多个上游设备(例如,(一个或多个)上游仲裁器单元140)获得权重数据304 。这样做,在说明性实施例中并且如框406中所示,网络交换机110在中间或出口级(例如,级130之后的级,其中输入端口170不直接连接到网络交换机110的外部的设备)中的仲裁器单元140处接收权重数据304。存在多种方式将权重数据传送到下游仲裁器。一种方式是在每个输入的基础上保持权重的滑动平均(running average)。另一种方式是在给定时刻获得权重的快照。
在框408中,网络交换机110针对当前仲裁器单元140的一个输入端口170确定是否已经获得权重数据304。如果是,则方法400前进到框410,其中网络交换机110根据所获得的权重数据304生成轮次数据306。这样做,网络交换机110将用于输入端口170的轮次的数量设置为针对输入端口170获得的权重,如框412中所指示的。替代地,如果网络交换机110没有获得用于当前输入端口170的权重数据304,则方法400前进到框414,其中网络交换机110生成默认轮次数据而没有权重数据304。这样做,并且如框416中所示,网络交换机110可以生成指示用于当前输入端口170的一个轮次的轮次数据306(例如,如果网络交换机110确定设备连接到输入端口170,如上所述)。随后,方法400前进到框418,其中网络交换机110将生成的轮次数据306添加到用于当前仲裁器单元140的任何先前存在的轮次数据306。之后,方法400前进到框420,其中网络交换机110确定当前仲裁器单元140是否包括另一个输入端口170,在框404中可能已经为其获得了权重数据304。响应于仲裁器单元140包括另一个输入端口170的确定,方法400循环回到框408,其中网络交换机110确定是否针对下一个输入端口170获得了权重数据304(例如,在框404中),并且重复上述操作以将附加轮次数据306(例如,用于当前输入端口170)添加到现有的轮次数据306。回头参考框420,响应于仲裁器单元140中不存在其他输入端口170的确定,方法400前进到图5的框422,其中,网络交换机110顺序地传送来自耦合到当前仲裁器单元140的(一个或多个)输入端口170的一个或多个上游设备(例如,计算设备150)分组数据302。
现在参考图5,在顺序传送分组数据302中,网络交换机110依次传送来自一个或多个上游设备的分组数据302,如在框424中所示。例如,如果当前仲裁器单元140在级130中,则网络交换机110可以传送来自连接到仲裁器单元140的输入端口170的一个或多个计算设备150的分组数据。否则,如果当前仲裁器单元140处于后续级中(例如,级132中的仲裁器单元146 ),则网络交换机110在仲裁器单元146处传送来自上游仲裁器单元140(例如,来自级130中的仲裁器单元142、144)的分组数据。在说明性实施例中,并且如框426中所示,在依次传送分组数据302中,网络交换机110以参考图4所述的框408至418中生成的轮次数据306中所指示的序列传送分组数据302 。如框428中所示,在以该序列传送分组数据中,网络交换机110可以针对使用的每个轮次减少初始被设置为用于输入端口170的权重的轮次值,并在当前输入端口170的轮次值达到零时前进到下一个输入端口170。如框430中所示,在传送分组数据302中,网络交换机110可以传送来自一个或多个计算设备150的分组数据302。另外或替代地,网络交换机110可以传送从一个或多个上游仲裁器单元140的分组数据302,如框432中所示和/或传送来自一个或多个其他设备的分组数据302,如框434中所示。
随后,方法400前进到框436,其中网络交换机110确定用于当前仲裁器单元的140权重数据304。这样做,在说明性实施例中,网络交换机110将权重数据确定为轮次数据306中的轮次的总数量(例如,在序列重复之前传送来自当前仲裁器单元140的(一个或多个)输入端口170的分组所花费的轮次的数量),如在框438中所示。然后,在框440中,网络交换机110确定下游仲裁器单元140是否存在(例如,诸如级132之类的后续级是否存在于网络交换机110中)。在框442中,网络交换机110根据下游仲裁器单元140是否存在来确定后续的行动步骤(course of action)。响应于确定下游仲裁器单元140存在,网络交换机110将来自框436的确定的权重数据304提供给下游仲裁器单元140,如框444中所示。这样做,网络交换机110可发送包括所确定的权重数据304的消息(例如,从当前仲裁器单元140到下游仲裁器单元140),如框446中所示。另外地或替代地,网络交换机110可以将所确定的权重数据304写到下游仲裁器单元140可访问的存储器位置,如在框448中所示。这样做,网络交换机110可将权重数据写到模型特定寄存器以由下游仲裁器单元140读取,如框450中所示。
之后,或者如果网络交换机110确定不存在自当前仲裁器单元140而言的下游仲裁器单元140(例如,当前仲裁器单元140处于最后级132中),则方法400前进到图6的框452,其中,网络交换机110以轮次数据306中指示的序列通过输出端口180将接收到的分组数据302从当前仲裁器单元140发送到下游设备(例如,下游仲裁器单元140或计算设备150,诸如计算设备164)。这样做,网络交换机110可以依次发送分组数据302,如框454中所示。此外,并且如框456中所示,网络交换机110可以使当前仲裁器单元140响应于来自下游设备的相应轮次消息(例如,对下一个分组的请求)而发送分组数据中的每个分组。
在框458中,基于另一仲裁器单元140是否在当前级中,方法400沿多个路径中的一个继续前进。如果否,则方法400前进到框462,其中,基于在网络交换机110中是否存在后续(例如,下游)级,方法400将沿着多个路径中的一个继续前进。如果是,则方法400前进到框464,其中后续级成为当前级。随后,或者如果框458中的确定是在当前级中存在另一仲裁器单元140,则当前级中的下一仲裁器单元140变成当前仲裁器单元140。在前进到下一仲裁器单元140和/或下一级之后,方法400循环回到图4的框404以获得用于当前仲裁器单元140的权重数据304。否则,并且返回参考图6的框462,如果不存在后续级,则方法400循环回到框402,其中网络交换机110再次确定是否平衡吞吐量。虽然上面将方法400描述为执行针对一个仲裁器单元140的操作并且然后执行针对在相同级或在后续级(例如,下游级)中的另一个仲裁器单元140的类似操作以解释通过网络交换机110的分组流,但是应该理解的是,在说明性实施例中,仲裁器单元140彼此同时操作,而不是一次一个地操作。
现在参考图7,当网络交换机110正在执行方法400以平衡跨输入端口170的吞吐量时,分组流700通过网络交换机110。如图7中所示,仲裁器单元142接收其中每个分组被表示为“A”的分组的输入流702。另外,仲裁器单元142接收其中每个分组被表示为“B”的分组的另一个输入流704。仲裁器单元142还接收其中每个分组被表示为“C”的分组的输入流706以及其中每个分组被表示为“D”的分组的另一个输入流706。仲裁器单元142通过相应的输入端口170从相应的计算设备150(例如,计算设备152、154、156、158)接收每个输入流702、704、706、708。另外,仲裁器单元144接收其中每个分组被表示为“E”的分组的输入流710。
仲裁器单元142将分组的输出流712发送到仲裁器单元146。在输出流712中,来自每个输入流702、704、706、708的分组已经接收到重复序列“ABCD ”中的相应轮次。同样,仲裁器单元144向仲裁器单元146发送对应于输入流710的“E”分组的输出流714。仲裁器单元146作为响应发送分组的输出流716,其中输入流702、704、706、708、710中的每个被公平地表示(例如,来自每个输入流的一个分组被包括在重复序列中),而不是将输出流716的一半分配给流712并且将另一半分配给流714。
如下提供了一组技术方案:
1.一种用于平衡跨输入端口的吞吐量的网络交换机,所述网络交换机包括:
以级的层级配置的多个仲裁器单元,其中每个仲裁器单元包括一个或多个输入端口和输出端口;
电路,用于:
为层级的第一级中的仲裁器单元生成指示其中将来自连接到仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;
利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;并且
将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
2.根据技术方案1所述的网络交换机,其中生成轮次数据包括:
从设备中的一个或多个接收权重数据;并且
将接收到的权重数据中表示的轮次的数量添加到轮次数据。
3.根据技术方案1所述的网络交换机,其中生成轮次数据包括:
确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;并且
响应于确定设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
4.根据技术方案1所述的网络交换机,其中在轮次的集合中传送来自一个或多个设备的分组数据包括:
减少与用于通过输入端口接收的每个分组的输入端口相关联的轮次值;
确定与输入端口相关联的轮次值是否等于零;并且
响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过第二输入端口传送一个或多个分组。
5.根据技术方案1所述的网络交换机,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
6.根据技术方案1所述的网络交换机,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
7.根据技术方案1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
8.根据技术方案1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
9.根据技术方案1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
10.根据技术方案1所述的网络交换机,其中所述电路还用于:
为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;
利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备接收的分组;并且
将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于传送来自第一级中的第二仲裁器单元的分组数据。
11.根据技术方案1所述的网络交换机,其中所述电路还用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
12.根据技术方案1所述的网络交换机,其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
13.一个或多个机器可读存储介质,其包括存储在其上的多个指令,所述多个指令响应于被执行而使得网络交换机:
为层级的第一级中的仲裁器单元生成指示其中向后续级传送来自连接到仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;
利用仲裁器单元将来自一个或多个设备的分组数据在轮次的集合中传送到后续级;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及
将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使得后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于将来自第一级中的仲裁器单元的分组数据传送到下游设备。
14.根据技术方案13所述的一个或多个机器可读存储介质,其中生成轮次数据包括:
从设备中的一个或多个接收权重数据;并且
将接收到的权重数据中表示的轮次的数量添加到轮次数据。
15.根据技术方案13所述的一个或多个机器可读存储介质,其中生成轮次数据包括:
确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;以及
响应于设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据的确定,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
16.根据技术方案13所述的一个或多个机器可读存储介质,其中在轮次的集合中传送来自一个或多个设备的分组数据包括:
减少与用于通过输入端口接收的每个分组的输入端口相关联的轮次值;
确定与输入端口相关联的轮次值是否等于零;并且
响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过第二输入端口传送一个或多个分组。
17.根据技术方案13所述的一个或多个机器可读存储介质,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
18.根据技术方案13所述的一个或多个机器可读存储介质,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
19.根据技术方案13所述的一个或多个机器可读存储介质,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
20.根据技术方案13所述的一个或多个机器可读存储介质,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
21.根据技术方案13所述的一个或多个机器可读存储介质,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
22.根据技术方案13所述的一个或多个机器可读存储介质,其中,所述多个指令在被执行时还使得所述网络交换机:
为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;
利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备接收的分组;并且
将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于传送来自第一级中的第二仲裁器单元的分组数据。
23.根据技术方案13所述的一个或多个机器可读存储介质,其中,所述多个指令在被执行时还使所述网络交换机利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
24.根据技术方案13所述的一个或多个机器可读存储介质,其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
25.一种网络交换机,包括:
装置,用于为仲裁器单元的级的层级的第一级中的仲裁器单元生成指示其中将来自连接到仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;
电路,用于利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;
电路,用于传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及
电路,用于将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
26.一种用于平衡跨网络交换机的输入端口的吞吐量的方法,所述方法包括:
由用于仲裁器单元的级的层级的第一级中的仲裁器单元的网络交换机生成指示其中向后续级传送来自连接到仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据的轮次的集合的轮次数据;
由网络交换机并利用仲裁器单元将来自一个或多个设备的分组数据在轮次的集合中传送到后续级;
由网络交换机传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及
由网络交换机将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使得后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于将来自第一级中的仲裁器单元的分组数据传送到下游设备。
27.根据技术方案26所述的方法,其中生成轮次数据包括:
从设备中的一个或多个接收权重数据;并且
将接收到的权重数据中表示的轮次的数量添加到轮次数据。
28.根据技术方案26所述的方法,其中生成轮次数据包括:
确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;以及
响应于设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据的确定,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
示例
下面提供了本文公开的技术的说明性示例。这些技术的实施例可以包括下面描述的任何一个或多个示例和示例的任何组合。
示例1包括一种用于平衡跨输入端口的吞吐量的网络交换机,所述网络交换机包括以级的层级配置的多个仲裁器单元,其中每个仲裁器单元包括一个或多个输入端口和输出端口;电路,用于为所述层级的第一级中的仲裁器单元生成指示其中将来自连接到所述仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;并且将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
示例2包括示例1的主题,并且其中生成轮次数据包括从设备中的一个或多个接收权重数据;并且将接收到的权重数据中表示的轮次的数量添加到轮次数据。
示例3包括示例1和2中的任何示例的主题,并且其中生成轮次数据包括:确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;并且响应于确定设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
示例4包括示例1-3中的任何示例的主题,并且其中在轮次的集合中传送来自一个或多个设备的分组数据包括:减少与用于通过输入端口接收的每个分组的输入端口相关联的轮次值;确定与输入端口相关联的轮次值是否等于零;并且响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过所述第二输入端口传送一个或多个分组。
示例5包括示例1-4中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
示例6包括示例1-5中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
示例7包括示例1-6中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
示例8包括示例1-7中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
示例9包括示例1-8中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
示例10包括示例1-9中的任何示例的主题,并且其中,所述电路还用于为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据;确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备接收的分组;并且将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于传送来自第一级中的第二仲裁器单元的分组数据。
示例11包括示例1-10中的任何示例的主题,并且其中所述电路还用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
示例12包括示例1-11中的任何示例的主题,并且其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
示例13包括示例1-12中的任何示例的主题,并且其中确定权重数据包括获得与每个输入端口相关联的权重的快照。
示例14包括一种用于平衡跨网络交换机的输入端口的吞吐量的方法,所述方法包括由用于仲裁器单元的级的层级的第一级中的仲裁器单元的网络交换机生成指示其中向后续级传送来自连接到仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据的轮次的集合的轮次数据;由网络交换机并利用仲裁器单元将来自一个或多个设备的分组数据在轮次的集合中传送到后续级;由网络交换机传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及由网络交换机将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使得后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于将来自第一级中的仲裁器单元的分组数据传送到下游设备。
示例15包括示例14的主题,并且其中生成轮次数据包括从设备中的一个或多个接收权重数据;并且将接收到的权重数据中表示的轮次的数量添加到轮次数据。
示例16包括示例14和15中的任何示例的主题,并且其中生成轮次数据包括确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;以及响应于设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据的确定,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
示例17包括示例14-16中的任何示例的主题,并且其中在轮次的集合中传送来自一个或多个设备的分组数据包括:减少与用于通过输入端口传送的每个分组的输入端口相关联的轮次值;确定与输入端口相关联的轮次值是否等于零;并且响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过所述第二输入端口传送一个或多个分组。
示例18包括示例14-17中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
示例19包括示例14-18中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
示例20包括示例14-19中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
示例21包括示例14-20中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
示例22包括示例14-21中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
示例23包括示例14-22中的任何示例的主题,并且还包括由用于层级的第一级中的第二仲裁器单元的网络交换机生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;由具有第二仲裁器单元的网络交换机在轮次的集合中传送来自一个或多个设备的分组数据;由网络交换机确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;并且由网络交换机将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于接收来自第一级中的第二仲裁器单元的分组数据。
示例24包括示例14-23中的任何示例的主题,并且还包括利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
示例25包括示例14-24中的任何示例的主题,并且其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
示例26包括示例14-25中的任何示例的主题,并且其中确定权重数据包括获得与每个输入端口相关联的权重的快照。
示例27包括一个或多个机器可读存储介质,所述一个或多个机器可读存储介质包括存储在其上的多个指令,响应于所述多个指令被执行而使得网络交换机执行示例14-26中的任何示例的方法。
示例28包括一种用于管理平台互连的服务质量的网络交换机,所述网络交换机包括一个或多个处理器;一个或多个存储设备,所述一个或多个存储设备具有存储在其中的多个指令,所述多个指令在由所述一个或多个处理器执行时使得所述网络交换机执行示例14-26中的任何示例的方法。
示例29包括一种网络交换机,其包括用于执行示例14-26中的任何示例的方法的装置。
示例30包括一种用于平衡跨输入端口的吞吐量的网络交换机,所述网络交换机包括以级的层级配置的多个仲裁器单元,其中每个仲裁器单元包括一个或多个输入端口和输出端口;轮次管理器电路,用于为所述层级的第一级中的仲裁器单元生成指示其中将来自连接到所述仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;并且将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
示例31包括示例30的主题,并且其中生成轮次数据包括从设备中的一个或多个接收权重数据;并且将接收到的权重数据中表示的轮次的数量添加到轮次数据。
示例32包括示例30和31中的任何示例的主题,并且其中生成轮次数据包括:确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;并且响应于确定设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
示例33包括示例30-32中的任何示例的主题,并且其中在轮次的集合中传送来自一个或多个设备的分组数据包括:减少与用于通过输入端口接收的每个分组的输入端口相关联的轮次值;确定与输入端口相关联的轮次值是否等于零;并且响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过所述第二输入端口传送一个或多个分组。
示例34包括示例30-33中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
示例35包括示例30-34中的任何示例的主题,并且其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
示例36包括示例30-35中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
示例37包括示例30-36中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
示例38包括示例30-37中的任何示例的主题,并且其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
示例39包括示例30-38中的任何示例的主题,并且其中,所述轮次管理器电路还用于为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据;确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备接收的分组;并且将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于传送来自第一级中的第二仲裁器单元的分组数据。
示例40包括示例30-39中的任何示例的主题,并且其中轮次管理器电路还用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
示例41包括示例30-40中的任何示例的主题,并且其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
示例42包括示例30-41中的任何示例的主题,并且其中确定权重数据包括获得与每个输入端口相关联的权重的快照。
示例43包括一种网络交换机,所述网络交换机包括用于为仲裁器单元的级的层级的第一级中的仲裁器单元生成指示其中将来自连接到所述仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据的装置;电路,用于利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;电路,用于传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及电路,用于将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
示例44包括示例43的主题,并且其中用于生成轮次数据的装置包括用于从设备中的一个或多个接收权重数据的装置;以及用于将接收到的权重数据中表示的轮次的数量添加到轮次数据的装置。
示例45包括示例43和44中的任何示例的主题,并且其中用于生成轮次数据的装置包括:用于确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据的装置;以及用于响应于确定设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据而生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据的装置。
示例46包括示例43-45中的任何示例的主题,并且其中用于在轮次的集合中传送来自一个或多个设备的分组数据的电路包括:用于减少与用于通过输入端口传送的每个分组的输入端口相关联的轮次值的电路;用于确定与输入端口相关联的轮次值是否等于零的电路;以及用于响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过所述第二输入端口传送一个或多个分组的电路。
示例47包括示例43-46中的任何示例的主题,并且其中用于传送来自一个或多个设备的分组数据的电路包括用于传送来自一个或多个计算设备的分组数据的电路。
示例48包括示例43-47中的任何示例的主题,并且其中用于传送来自一个或多个设备的分组数据的电路包括用于传送来自一个或多个其他仲裁器单元的分组数据的电路。
示例49包括示例43-48中的任何示例的主题,并且其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于向其他仲裁器单元发送包括权重数据的消息的电路。
示例50包括示例43-49中的任何示例的主题,并且其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于将权重数据写到其他仲裁器单元可访问的存储器位置的电路。
示例51包括示例43-50中的任何示例的主题,并且其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于将权重数据写到与其他仲裁器单元相关联的模型特定寄存器的电路。
示例52包括示例43-51中的任何示例的主题,并且还包括用于为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据的装置;用于利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据的电路;用于确定指示集合中所表示的轮次的数量的权重数据的电路,其中每个轮次对应于从不同设备传送的分组;以及用于将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于接收来自第一级中的第二仲裁器单元的分组数据的电路。
示例53包括示例43-52中的任何示例的主题,并且还包括用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据的电路。
示例54包括示例43-53中的任何示例的主题,并且其中用于确定权重数据的电路包括用于以每个输入端口为基础动态地确定权重的滑动平均的电路。
示例55包括示例43-54中的任何示例的主题,并且其中用于确定权重数据的电路包括用于获得与每个输入端口相关联的权重的快照的电路。
Claims (25)
1.一种用于平衡跨输入端口的吞吐量的网络交换机,所述网络交换机包括:
以级的层级配置的多个仲裁器单元,其中每个仲裁器单元包括一个或多个输入端口和输出端口;
电路,用于:
为层级的第一级中的仲裁器单元生成指示其中将来自连接到仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;
利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;并且
将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
2.根据权利要求1所述的网络交换机,其中生成轮次数据包括:
从设备中的一个或多个接收权重数据;并且
将接收到的权重数据中表示的轮次的数量添加到轮次数据。
3.根据权利要求1所述的网络交换机,其中生成轮次数据包括:
确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据;并且
响应于确定设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据,生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据。
4.根据权利要求1所述的网络交换机,其中在轮次的集合中传送来自一个或多个设备的分组数据包括:
减少与用于通过输入端口接收的每个分组的输入端口相关联的轮次值;
确定与输入端口相关联的轮次值是否等于零;并且
响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过第二输入端口传送一个或多个分组。
5.根据权利要求1所述的网络交换机,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个计算设备的分组数据。
6.根据权利要求1所述的网络交换机,其中传送来自一个或多个设备的分组数据包括传送来自一个或多个其他仲裁器单元的分组数据。
7.根据权利要求1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括向其他仲裁器单元发送包括权重数据的消息。
8.根据权利要求1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到其他仲裁器单元可访问的存储器位置。
9.根据权利要求1所述的网络交换机,其中将来自仲裁器单元的权重数据提供给另一仲裁器单元包括将权重数据写到与其他仲裁器单元相关联的模型特定寄存器。
10.根据权利要求1所述的网络交换机,其中所述电路还用于:
为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据;
利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据;
确定指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备接收的分组;并且
将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元,以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于传送来自第一级中的第二仲裁器单元的分组数据。
11.根据权利要求1所述的网络交换机,其中所述电路还用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据。
12.根据权利要求1所述的网络交换机,其中确定权重数据包括以每个输入端口为基础动态地确定权重的滑动平均。
13.一种网络交换机,包括:
装置,用于为仲裁器单元的级的层级的第一级中的仲裁器单元生成指示其中将来自连接到仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据传送到后续级的轮次的集合的轮次数据;
电路,用于利用仲裁器单元在轮次的集合中将来自一个或多个设备的分组数据传送到后续级;
电路,用于传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及
电路,用于将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于向下游设备传送来自第一级中的仲裁器单元的分组数据。
14.根据权利要求13所述的网络交换机,其中用于生成轮次数据的装置包括:
用于从设备中的一个或多个接收权重数据的装置;以及
用于将接收到的权重数据中表示的轮次的数量添加到轮次数据的装置。
15.根据权利要求13所述的网络交换机,其中用于生成轮次数据的装置包括:
用于确定设备中的一个或多个是否没有向第一级中的仲裁器单元提供权重数据的装置;以及
用于响应于设备中的一个或多个没有向第一级中的仲裁器单元提供权重数据的确定而生成指示针对没有提供权重数据的每个设备的一个轮次的轮次数据的装置。
16.根据权利要求13所述的网络交换机,其中用于在轮次的集合中传送来自一个或多个设备的分组数据的电路包括:
用于减少与用于通过输入端口传送的每个分组的输入端口相关联的轮次值的电路;
用于确定与输入端口相关联的轮次值是否等于零的电路;以及
用于响应于与输入端口相关联的轮次值等于零的确定前进到仲裁器单元的第二输入端口以通过第二输入端口传送一个或多个分组的电路。
17.根据权利要求13所述的网络交换机,其中用于传送来自一个或多个设备的分组数据的电路包括用于传送来自一个或多个计算设备的分组数据的电路。
18.根据权利要求13所述的网络交换机,其中用于传送来自一个或多个设备的分组数据的电路包括用于传送来自一个或多个其他仲裁器单元的分组数据的电路。
19.根据权利要求13所述的网络交换机,其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于向其他仲裁器单元发送包括权重数据的消息的电路。
20.根据权利要求13所述的网络交换机,其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于将权重数据写到其他仲裁器单元可访问的存储器位置的电路。
21.根据权利要求13所述的网络交换机,其中用于将来自仲裁器单元的权重数据提供给另一仲裁器单元的电路包括用于将权重数据写到与其他仲裁器单元相关联的模型特定寄存器的电路。
22.根据权利要求13所述的网络交换机,还包括:
用于为层级的第一级中的第二仲裁器单元生成指示其中传送来自连接到第二仲裁器单元的输入端口中的一个或多个的一个或多个设备的分组数据的轮次的集合的轮次数据的装置;
用于利用第二仲裁器单元在轮次的集合中传送来自一个或多个设备的分组数据的电路;
用于确定指示集合中所表示的轮次的数量的权重数据的电路,其中每个轮次对应于从不同设备传送的分组;以及
用于将来自第一级中的第二仲裁器单元的权重数据提供给层级的后续级中的仲裁器单元以使层级的后续级中的仲裁器单元分配相等的轮次的数量用于接收来自第一级中的第二仲裁器单元的分组数据的电路。
23.根据权利要求13所述的网络交换机,还包括用于利用层级的后续级中的仲裁器单元向耦合到后续级中的仲裁器单元的输出端口的设备传输分组数据的电路。
24.根据权利要求13所述的网络交换机,其中用于确定权重数据的电路包括用于以每个输入端口为基础动态地确定权重的滑动平均的电路。
25.一种用于平衡跨网络交换机的输入端口的吞吐量的方法,所述方法包括:
由用于仲裁器单元的级的层级的第一级中的仲裁器单元的网络交换机生成指示其中向后续级传送来自连接到仲裁器单元的一个或多个输入端口的一个或多个设备的分组数据的轮次的集合的轮次数据;
由网络交换机并利用仲裁器单元将来自一个或多个设备的分组数据在轮次的集合中传送到后续级;
由网络交换机传送指示集合中所表示的轮次的数量的权重数据,其中每个轮次对应于从不同设备传送的分组;以及
由网络交换机将来自第一级中的仲裁器单元的权重数据提供给层级的后续级中的另一仲裁器单元,以使得后续级中的仲裁器单元分配权重数据中指示的轮次的数量用于将来自第一级中的仲裁器单元的分组数据传送到下游设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/639,816 US10911366B2 (en) | 2017-06-30 | 2017-06-30 | Technologies for balancing throughput across input ports of a multi-stage network switch |
US15/639816 | 2017-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109218230A true CN109218230A (zh) | 2019-01-15 |
CN109218230B CN109218230B (zh) | 2024-04-26 |
Family
ID=64739262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810697177.XA Active CN109218230B (zh) | 2017-06-30 | 2018-06-29 | 用于平衡跨多级网络交换机的输入端口的吞吐量的技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10911366B2 (zh) |
CN (1) | CN109218230B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039909A (zh) * | 2021-11-04 | 2022-02-11 | 西安数道航空技术有限公司 | 一种快速实时生成树协议的实现方法 |
CN114979033A (zh) * | 2022-06-13 | 2022-08-30 | 华北理工大学 | 一种基于可编程数据平面的网内神经计算系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10481944B2 (en) * | 2017-08-09 | 2019-11-19 | Xilinx, Inc. | Adaptive quality of service control circuit |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020048280A1 (en) * | 2000-09-28 | 2002-04-25 | Eugene Lee | Method and apparatus for load balancing in network processing device |
US20030043813A1 (en) * | 2001-08-31 | 2003-03-06 | Andries Van Wageningen | Distribution of weightings between port control system and switch cards of a packet switching device |
US20030072326A1 (en) * | 2001-08-14 | 2003-04-17 | Mehdi Alasti | Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric |
US6667983B1 (en) * | 1999-05-27 | 2003-12-23 | 3Com Corporation | Scaleable priority arbiter for arbitrating between multiple FIFO entry points of a network interface card |
WO2005018124A1 (en) * | 2003-08-15 | 2005-02-24 | Xyratex Technology Limited | A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network |
CN1689283A (zh) * | 2002-10-02 | 2005-10-26 | 思科技术公司 | 使用仲裁系统处理超级帧的方法和装置 |
US20070053356A1 (en) * | 2003-10-30 | 2007-03-08 | Venkat Konda | Nonblocking and deterministic multirate multicast packet scheduling |
US20070268825A1 (en) * | 2006-05-19 | 2007-11-22 | Michael Corwin | Fine-grain fairness in a hierarchical switched system |
CN101471856A (zh) * | 2007-12-26 | 2009-07-01 | 无锡江南计算技术研究所 | 仲裁方法和仲裁器 |
CN102546417A (zh) * | 2012-01-14 | 2012-07-04 | 西安电子科技大学 | 基于网络信息的片上网络路由器调度方法 |
US20140025817A1 (en) * | 2012-07-19 | 2014-01-23 | Broadcom Corporation | Port Scheduling For A Network Device |
US20140086260A1 (en) * | 2012-09-27 | 2014-03-27 | Donglai Dai | Managing starvation and congestion in a two-dimensional network having flow control |
US20140122771A1 (en) * | 2012-10-31 | 2014-05-01 | International Business Machines Corporation | Weightage-based scheduling for hierarchical switching fabrics |
CN105897621A (zh) * | 2016-07-01 | 2016-08-24 | 中国航空无线电电子研究所 | 基于cioq结构的千兆afdx交换机及其交换方法 |
-
2017
- 2017-06-30 US US15/639,816 patent/US10911366B2/en active Active
-
2018
- 2018-06-29 CN CN201810697177.XA patent/CN109218230B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6667983B1 (en) * | 1999-05-27 | 2003-12-23 | 3Com Corporation | Scaleable priority arbiter for arbitrating between multiple FIFO entry points of a network interface card |
US20020048280A1 (en) * | 2000-09-28 | 2002-04-25 | Eugene Lee | Method and apparatus for load balancing in network processing device |
US20030072326A1 (en) * | 2001-08-14 | 2003-04-17 | Mehdi Alasti | Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric |
US20030043813A1 (en) * | 2001-08-31 | 2003-03-06 | Andries Van Wageningen | Distribution of weightings between port control system and switch cards of a packet switching device |
CN1689283A (zh) * | 2002-10-02 | 2005-10-26 | 思科技术公司 | 使用仲裁系统处理超级帧的方法和装置 |
WO2005018124A1 (en) * | 2003-08-15 | 2005-02-24 | Xyratex Technology Limited | A data merge unit, a method of producing an interleaved data stream, a network analyser and a method of analysing a network |
US20070053356A1 (en) * | 2003-10-30 | 2007-03-08 | Venkat Konda | Nonblocking and deterministic multirate multicast packet scheduling |
US20070268825A1 (en) * | 2006-05-19 | 2007-11-22 | Michael Corwin | Fine-grain fairness in a hierarchical switched system |
CN101471856A (zh) * | 2007-12-26 | 2009-07-01 | 无锡江南计算技术研究所 | 仲裁方法和仲裁器 |
CN102546417A (zh) * | 2012-01-14 | 2012-07-04 | 西安电子科技大学 | 基于网络信息的片上网络路由器调度方法 |
US20140025817A1 (en) * | 2012-07-19 | 2014-01-23 | Broadcom Corporation | Port Scheduling For A Network Device |
US20140086260A1 (en) * | 2012-09-27 | 2014-03-27 | Donglai Dai | Managing starvation and congestion in a two-dimensional network having flow control |
US20140122771A1 (en) * | 2012-10-31 | 2014-05-01 | International Business Machines Corporation | Weightage-based scheduling for hierarchical switching fabrics |
CN105897621A (zh) * | 2016-07-01 | 2016-08-24 | 中国航空无线电电子研究所 | 基于cioq结构的千兆afdx交换机及其交换方法 |
Non-Patent Citations (4)
Title |
---|
BOURAOUI CHEMLI等: ""Design of a Network on Chip router based on turn model"", 《2015 16TH INTERNATIONAL CONFERENCE ON SCIENCES AND TECHNIQUES OF AUTOMATIC CONTROL & COMPUTER ENGINEERING(STA)》, 7 July 2016 (2016-07-07) * |
HYOUKJUN KWON等: ""OpenSMART: Single-Cycle Multi-hop NoC Generator in BSV and Chisel"", 《IEEE》, 25 April 2017 (2017-04-25) * |
官铮;钱文华;杜长青;: "具有服务质量保障的片上网络路由仲裁控制", 计算机科学, no. 02, 15 February 2015 (2015-02-15) * |
朱博: ""高性能高阶路由器交换结构设计与分析"", 《中国硕士学位论文全文数据库》, 15 January 2015 (2015-01-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039909A (zh) * | 2021-11-04 | 2022-02-11 | 西安数道航空技术有限公司 | 一种快速实时生成树协议的实现方法 |
CN114979033A (zh) * | 2022-06-13 | 2022-08-30 | 华北理工大学 | 一种基于可编程数据平面的网内神经计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109218230B (zh) | 2024-04-26 |
US10911366B2 (en) | 2021-02-02 |
US20190007319A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107278362B (zh) | 云计算系统中报文处理的方法、主机和系统 | |
CN109076029B (zh) | 用于非统一网络输入/输出访问加速的方法和装置 | |
US11855880B2 (en) | Data processing method, apparatus, and system for combining data for a distributed calculation task in a data center network | |
CN103595648B (zh) | 用于在服务器的接收侧进行负载均衡的方法和系统 | |
US9871720B1 (en) | Using packet duplication with encapsulation in a packet-switched network to increase reliability | |
CN104579695B (zh) | 一种数据转发装置和方法 | |
CN104320350B (zh) | 用于提供基于信用的流控制的方法及系统 | |
CN108886496A (zh) | 多路径虚拟交换 | |
CN108234187B (zh) | 一种面向数据报文转发的高逼真链路仿真方法 | |
CN103181119A (zh) | 管理不同通信协议网络之间的通信 | |
US20160380848A1 (en) | Packet Copy Management For Service Chain Processing Within Virtual Processing Systems | |
US20190044879A1 (en) | Technologies for reordering network packets on egress | |
CN104580011B (zh) | 一种数据转发装置和方法 | |
CN102334112A (zh) | 用于虚拟机网络的方法和系统 | |
CN110138630A (zh) | 内置测试业务生成器 | |
CN104662862A (zh) | 可扩展低延迟多协议网络设备 | |
CN109218230A (zh) | 用于平衡跨多级网络交换机的输入端口的吞吐量的技术 | |
CN104158764B (zh) | 报文处理方法及装置 | |
CN108768692A (zh) | 一种网络创建方法、相关设备及系统 | |
CN109672575B (zh) | 数据处理方法及电子设备 | |
US10554513B2 (en) | Technologies for filtering network packets on ingress | |
JP7098711B2 (ja) | 遠隔ノード発見、ならびに通信チャネル確認および通信チャネル接続のためのプロセッサによって実施される方法、コンピュータ・システム、およびコンピュータ・プログラム | |
CN106657279A (zh) | 一种网络业务加速方法和设备 | |
Chowdhury et al. | $\mu\mathrm {NF} $: A Disaggregated Packet Processing Architecture | |
US20220276809A1 (en) | Interface between control planes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |