白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

Methods and apparatus for randomly distributing traffic in a multi-path switch fabric

專利號
US10097479B1
公開日期
2018-10-09
申請人
Juniper Networks, Inc.(US CA Sunnyvale)
發(fā)明人
Philip A. Thomas; Sarin Thomas; Jean-Marc Frailong; Pradeep Sindhu
IPC分類
H04L12/947; H04L12/707; H04L12/935
技術(shù)領(lǐng)域
egress,switch,indicator,module,schedule,status,fabric,stage,data,port
地域: CA CA Sunnyvale

摘要

In some embodiments, an apparatus comprises a schedule module within a switch fabric system. At a first time, the schedule module is configured to access a list of status indicators associated with a group of egress port indicators. The list of status indicators includes a set of status indicators each of which has a value greater than a threshold. The schedule module is configured to randomly select a status indicator from the set of status indicators and configured to reduce the value of the selected status indicator. The schedule module is then configured to send the egress port indicator associated with the selected status indicator such that a data cell is sent from an egress port associated with that egress port indicator. At a second time, when the value of every status indicator from the list of status indicators is not greater than the threshold, the schedule module is configured to increase the value of every status indicator above the threshold.

說明書

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 13/433,960 filed Mar. 29, 2012, (now U.S. Pat. No. 9,331,929), entitled “METHODS AND APPARATUS FOR RANDOMLY DISTRIBUTING TRAFFIC IN A MULTI-PATH SWITCH FABRIC,” which is incorporated herein by reference in its entirety.

BACKGROUND

Some embodiments described herein relate generally to switch fabric systems, and, in particular, to methods and apparatus for randomly distributing traffic within a multi-path switch fabric system.

Some known switch fabric systems use a round-robin algorithm (RR) to distribute traffic over available data paths, where a round-robin pointer is used to select an egress port from a list of egress ports in a switch device for sending a data item. Alternatively, a deficit-weighted round-robin algorithm (DWRR) is used in other embodiments where each egress port and/or each data item is associated with a weighted credit. To implement RR or DWRR, destination devices are usually grouped, with each group maintaining its own RR or DWRR state consisting of a set of available egress ports and a round-robin pointer. Because each group maintains its own round-robin pointer, however, several groups' pointers can possibly become aligned and advance in lock-step, as long as a particular traffic pattern repeats. This leads to instantaneous queue build-up at a single egress port within a switch device. Furthermore, even if only a single group is present per switch device, the fact that multiple switch devices are at one stage of a switch fabric can produce lock-stepped pointers in a similar way, which can lead to queue build-up in the immediately following stage.

權(quán)利要求

1
What is claimed is:1. An apparatus, comprising:a memory, anda processor operatively coupled to the memory,the processor configured to randomly select a first egress port indicator from a first list of egress port indicators for a first cell from a plurality of cells, each egress port indicator from the first list of egress port indicators representing a status of an egress port of a switch, the first list of egress port indicators is uniquely associated with a first destination indicator for the first cell,the first egress port indicator has a first value before the first egress port indicator is selected for the first cell,the processor is configured to change the first egress port indicator from the first value to a second value after the first egress port indicator is selected for the first cell, the second value being different from the first value,the processor configured to send the first egress port indicator such that the first cell is sent from an egress port associated with the first egress port indicator,the processor configured to randomly select a second egress port indicator from a second list of egress port indicators for a second cell from the plurality of cells, each egress port indicator from the second list of egress port indicators representing a status of an egress port of the switch, the second set of cells being mutually exclusive from the first set of cells, the second list of egress port indicators is uniquely associated with a second destination indicator for the second cell, the second destination indicator for the second cell being different from the first destination indicator for the first cell,the processor configured to send the second egress port indicator such that the second cell is sent from an egress port associated with the second egress port indicator.2. The apparatus of claim 1, wherein:the first list of egress port indicators corresponds to the second list of egress port indicators.3. The apparatus of claim 1, wherein:for each cell from the plurality of cells, the processor is configured to map (1) a destination indicator of that cell to a group indicator of that cell, and (2) the group indicator of that cell to a destination-related indicator of that cell.4. The apparatus of claim 1, wherein:the processor is configured to, for each remaining cell from the plurality of cells having the first destination-related indicator, (1) randomly select an egress port indicator from the first list of egress port indicators and having a first value, and (2) change that egress port indicator from the first value to a second value.5. The apparatus of claim 1, wherein:the processor is configured to, for each remaining cell from the plurality of cells having the first destination-related indicator, (1) randomly select an egress port indicator from the first list of egress port indicators and having a first value, and (2) change that egress port indicator from the first value to a second value,when every egress port indicator from the first list of egress port indicators has the second value, the processor is configured to change for every egress port indicator from the first list of egress port indicators from the second value to the first value.6. The apparatus of claim 1, wherein:each egress port indicator associated with the first list of egress port indicators is associated with a credit value,the processor is configured to, for remaining each cell from the plurality of cells having the first destination-related indicator, (1) randomly select an egress port indicator from the first list of egress port indicators and having a first value, (2) reduce the credit value for that egress port indicator, and (3) change that egress port indicator from the first value to a second value when the credit value for that egress port indicator is below a threshold.7. The apparatus of claim 1, wherein:each egress port indicator from the first list of egress port indicators is associated with a credit value,the processor is configured to, for each remaining cell from the plurality of cells having the first destination-related indicator, (1) increase the credit value for the egress port indicator of that cell above a threshold, and (2) change the egress port indicator from a first value to a second value when an egress port indicator from the first list of egress port indicators has been selected for every cell from the plurality of cells having the first destination-related indicator.8. The apparatus of claim 1, wherein:the processor is configured to receive the plurality of cells,the processor is configured to send each cell from the plurality of cells via an egress port of the switch associated with the egress port indicator selected for that cell.9. An apparatus, comprising:a memory; anda processor operatively coupled to the memory,the processor configured to receive a plurality of sets of cells, each egress port indicator from a list of egress port indicators for a set of cells from the plurality of sets of cells is associated with a credit value,the processor configured to, for each set of cells from the plurality of sets of cells, (1) randomly select an egress port indicator from the list of egress port indicators for that set of cells and that each having a first value, (2) reduce the credit value for that egress port indicator, and (3) change that egress port indicator from the first value to a second value when the credit value for that egress port indicator is below a threshold, that egress port indicator representing a status of an egress port of a switch until each egress port indicator from the list of egress port indicators for that set of cells has been selected,the switch having a plurality of egress ports, andthe processor configured to send each set of cells from the plurality of sets of cells via an egress port from the plurality of egress ports based on the egress port indicator selected for that set of cells.10. The apparatus of claim 9, wherein:the processor is configured to map, for each cell from the plurality of sets of cells, a destination indicator of that cell to a group indicator of that cell,the processor is configured to map, for each cell from the plurality of sets of cells, the group indicator of that cell to a destination-related indicator associated with a set of cells from the plurality of sets of cells, andthe plurality of sets of cells including a first set of cells having a first destination-related indicator, the first set of cells including a first cell and a second cell, the destination indicator of the first cell being different from the destination indicator of the second cell.11. The apparatus of claim 9, wherein:each egress port from the plurality of egress ports for the switch being uniquely associated with an egress port indicator from the list of egress port indicators.12. The apparatus of claim 9, wherein:the processor is configured to, for each set of cells from the plurality of sets of cells having a destination-related indicator, (1) increase the credit value for that egress port indicator associated with that set of cells above the threshold, and (2) change the egress port indicator from the first value to the second value when an egress port indicator from the list of egress port indicators has been selected for every cell from that set of cells from the plurality of sets of cells having the destination-related indicator.13. A method, comprising:receiving a plurality of sets of data cells, each data cell from the plurality of sets of data cells having a destination indicator from a plurality of destination indicators;mapping, for each data cell from the plurality of sets of data cells, the destination indicator of that data cell to a group indicator of that data cell;mapping, for each data cell from the plurality of sets of data cells, the group indicator of that data cell to a destination-related indicator of that data cell, each destination-related indicator associated with a set of data cells from the plurality of sets of data cells, each destination-related indicator uniquely associated with a list of egress port indicators, each egress port indicator from the list of egress port indicators representing a status of an egress port from a plurality of egress ports of a switch;for each data cell from the set of data cells from the plurality of sets of data cells having the destination-related indicator,randomly selecting an egress port indicator from the list of egress port indicators having a first value, andchanging that egress port indicator from the first value to a second value; andsending, for each data cell from the set of data cells, the egress port indicator for that data cell causing that data cell to be sent via an egress port from the plurality of egress ports and associated with the egress port indicator for that data cell.14. The method of claim 13, wherein:each egress port indicator from the list of egress port indicators for a set of data cells from the plurality of sets of data cells is associated with a credit value,for each set of data cells from the plurality of sets of data cells having the destination-related indicator,reducing the credit value for that egress port indicator, andthe changing including changing that egress port indicator from the first value to the second value when the credit value for that egress port indicator is below a threshold.15. The method of claim 13, wherein:each egress port indicator from the list of egress port indicators for a set of data cells from the plurality of sets of data cells is associated with a credit value,for each set of data cells from the plurality of sets of data cells having the destination-related indicator,increasing the credit value for the egress port indicator associated that set of data cells above a threshold, andthe changing including changing that egress port indicator from the first value to the second value, when an egress port indicator from the list of egress port indicators has been selected for every data cell from that set of cells from the plurality of sets of data cells having the destination-related indicator.16. The method of claim 13, wherein:each egress port from the plurality of egress ports for the switch is uniquely associated with an egress port indicator from the list of egress port indicators.
微信群二維碼
意見反饋