Optical switch architecture
10028041 ยท 2018-07-17
Assignee
Inventors
- Thomas Pierre SCHRANS (Temple City, CA, US)
- Cyriel Johan Agnes Minkenberg (Neuheim, CH)
- Nathan Farrington (Arcadia, CA, US)
- Andrew George RICKMAN (Marlborough, GB)
Cpc classification
H04Q2011/0032
ELECTRICITY
H04Q11/0071
ELECTRICITY
International classification
Abstract
An optoelectronic switch for transferring a signal from an input device for an output device, the optoelectronic switch including: a plurality of leaf switches, each having a radix R, and arranged in an L-dimensional array, in which the i-th dimension has a size R.sub.i where (i=1, 2, . . . , L) and for a reduced dimension, R.sub.i is less than for all of the other dimensions, each leaf switch having an associated L-tuple of coordinates (x.sub.1, . . . , x.sub.L) giving its location with respect to each of the L dimensions; wherein each leaf switch is a member of L sub-arrays, each of the L sub-arrays associated with a different one of the L dimensions, and including: a plurality of R.sub.i leaf switches whose coordinates differ only in respect of the i-th dimension, each leaf switch having C client ports for connecting to an input device or an output device.
Claims
1. An optoelectronic switch for transferring a signal from an input device to an output device, the optoelectronic switch comprising: an array of leaf switches, the array having L dimensions, each of the leaf switches having a radix R, R and L being integers greater than 1, the size of the array being less, in a reduced dimension of the L dimensions, than in each of the other dimensions of the L dimensions, each of the leaf switches having an associated L-tuple of coordinates giving its location in the array with respect to each of the L dimensions; and a plurality of spine switches, wherein the array consists of a plurality of overlapping sub-arrays, each of the sub-arrays being associated with a dimension of the L dimensions and consisting of R.sub.i of the leaf switches, wherein R.sub.i is the size of the array in the dimension associated with the sub-array, the coordinates of the leaf switches of the sub-array differing only in respect of the dimension associated with the sub-array, each of the sub-arrays being connected to a respective plurality of spine switches of the plurality of spine switches, wherein each of the leaf switches is a member of L sub-arrays of the sub-arrays, each of the L sub-arrays being associated with a different one of the L dimensions, wherein each of the leaf switches has: a plurality of client ports for connecting to an input device or an output device; and a plurality of fabric ports for connecting to the spine switches, wherein each spine switch has R fabric ports for connecting to fabric ports of the leaf switches of the array, and wherein each of the spine switches connected to a first sub-array of the plurality of sub-arrays, the first sub-array being associated with the reduced dimension, has: a connection to each of the leaf switches in the sub-array, and a plurality of connections to at least one of the leaf switches in the sub-array.
2. The optoelectronic switch of claim 1, wherein all of the fabric ports of each of the plurality of spine switches connected to the first sub-array are connected to a fabric port on a leaf switch in the first sub-array.
3. The optoelectronic switch of claim 1, wherein a spine switch of the plurality of spine switches connected to the first sub-array has a plurality of connections to each of the leaf switches in the first sub-array.
4. The optoelectronic switch of claim 1, wherein a spine switch of the plurality of spine switches connected to the first sub-array has the same number of connections to every leaf switch in the first sub-array.
5. The optoelectronic switch of claim 1, wherein each of the spine switches connected to the first sub-array has the same number of connections to every leaf switch in the first sub-array.
6. The optoelectronic switch of claim 1, wherein each of the spine switches connected to a second sub-array of the plurality of sub-arrays has: at least one connection to each leaf switch in the second sub-array; a first number of connections to each of a first subset of the leaf switches in the second sub-array; a second number of connections to each of a second subset of the leaf switches, disjoint from the first subset, in the second sub-array, wherein: the first number is the same for all of the spine switches connected to the second sub-array, the second number is the same for all of the spine switches connected to the second sub-array, and the first number is greater than the second number.
7. The optoelectronic switch of claim 6, wherein the first number is one greater than the second number.
8. The optoelectronic switch of claim 1, wherein at least two of the fabric ports of the plurality of spine switches connected to the first sub-array are unused.
9. The optoelectronic switch of claim 8, wherein the number of unused ports is the same on each of the spine switches connected to the first sub-array.
10. The optoelectronic switch of claim 8, wherein: the plurality of spine switches connected to the first sub-array consists of a first subset of spine switches and a second subset of spine switches, disjoint from the first subset of spine switches; each of the spine switches in the first subset of spine switches has: a first number of connections to each of a first subset of leaf switches in the first sub-array; and a second number of connections to each of a second subset of leaf switches in the first sub-array, the second subset of leaf switches being disjoint from the first subset of leaf switches; each of the spine switches in the second subset of spine switches has: a third number of connections to each of a third subset of leaf switches in the first sub-array; and a fourth number of connections to each of a fourth subset of leaf switches in the first sub-array, the fourth subset of leaf switches being disjoint from the third subset of leaf switches; and wherein: the first number is the same for all of the spine switches in the first subset of spine switches; the second number is the same for all of the spine switches in the first subset of spine switches; the third number is the same for all of the spine switches in the second subset of spine switches; the fourth number is the same for all of the spine switches in the second subset of spine switches; the first number is greater than the second number, and the third number is greater than the fourth number.
11. The optoelectronic switch of claim 10, wherein: the first number is one greater than the second number; and/or the third number is one greater than the second number.
12. An optoelectronic switch for transferring a signal from an input device to an output device, the optoelectronic switch comprising: an array of leaf switches, the array having L dimensions, each of the leaf switches having a radix R, R and L being integers greater than 1, the size of the array being less, in a reduced dimension of the L dimensions, than in each of the other dimensions of the L dimensions, each of the leaf switches having an associated L-tuple of coordinates giving its location in the array with respect to each of the L dimensions; and a plurality of spine switches, wherein the array consists of a plurality of overlapping sub-arrays, each of the sub-arrays being associated with a dimension of the L dimensions and consisting of R.sub.i of the leaf switches, wherein R.sub.i is the size of the array in the dimension associated with the sub-array, the coordinates of the leaf switches of the sub-array differing only in respect of the dimension associated with the sub-array, each of the sub-arrays being connected to a respective spine switch of the plurality of spine switches, wherein each of the leaf switches is a member of L sub-arrays of the sub-arrays, each of the L sub-arrays being associated with a different one of the L dimensions, wherein each of the leaf switches has: a plurality of client ports for connecting to an input device or an output device; and a plurality of fabric ports for connecting to the spine switches, wherein each spine switch has R fabric ports for connecting to fabric ports of the leaf switches of the array, and wherein a first spine switch is connected to a first sub-array of the plurality of sub-arrays and has R fabric ports each connected to a fabric port of a leaf switch of the array, and the spine switch has connections to: each of the leaf switches in a first sub-array of the plurality of sub-arrays, and a leaf switch of the leaf switches in a second sub-array of the plurality of sub-arrays, associated with the same dimension as the first sub-array.
13. The optoelectronic switch of claim 12, wherein the first spine switch is connected to a first plurality of leaf switches in a respective first plurality of sub-arrays of the plurality of sub-arrays, each associated with the same dimension, the leaf switches of the first plurality of leaf switches all having the same co-ordinate with respect to the dimension with which each sub-array of the first plurality of sub-arrays is associated.
14. The optoelectronic switch of claim 12, wherein the first spine switch is connected to a leaf switch in every sub-array, of the plurality of sub-arrays, associated with the same dimension as the first sub-array and the second sub-array.
15. The optoelectronic switch of claim 12, wherein each spine switch of a first plurality of spine switches connected to a second sub-array of the plurality of sub-arrays has: a connection to each leaf switch in the second sub-array, and a plurality of connections to at least one leaf switch in the second sub-array.
16. The optoelectronic switch of claim 15, wherein a spine switch of the first plurality of spine switches has a connection to each of the leaf switches in a first plurality of sub-arrays of the plurality of sub-arrays, each sub-array of the first plurality of sub-arrays being associated with the same dimension.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11)
(12) An example demonstrating this resulting inefficiency is shown in
(13)
(14) The RPFabric, which is employed in embodiments of the present invention includes spines and leaves in which the leaves are connected only to clients and spines, and the spines are connected only to leaves. Each leaf switch provides C client ports and F fabric ports, where C+FR. Each spine switch connected to sub-arrays associated with the i.sup.th dimension provides R fabric ports, where R.sub.i of those ports are used to connect to leaf switches within a given sub-array, and where R.sub.iR. The numbers of unused ports per switching element is given by the following expressions:
U.sub.leaf=RFC
U.sub.spine=RR.sub.i
(15) The size of a dimension i is denoted by R.sub.i, meaning that R.sub.i leaf switches are arranged along the i.sup.th axis of the grid. The total number of leaf switches equals the product of all R.sub.i. For each R.sub.i, R.sub.iR holds, meaning that each spine switch can be connected to all leaf switches in a given sub-array.
(16) In embodiments of the first aspect of the invention, there are multiple spine switches along each dimension, i.e. there are multiple spine switches connected to each sub-array. The number of spine switches for the i.sup.th dimension is denoted by S.sub.i. If the leaf switches are neither overprovisioned nor oversubscribed, then:
(17)
In some embodiments, a larger value of C may be used, so that the leaf switches are oversubscribed. This may result in an optoelectronic switch that provides a larger number of client connections, possibly resulting in a reduction in performance at the client ports. In other embodiments, a larger value of F may be used, resulting in leaf switches that are overprovisioned.
(18) Then consider a sub-array including R.sub.i<R leaf switches. There are then U=C(RR.sub.i) unused ports in total on the set of S.sub.i spine switches connected to that sub-array. Assuming that all sub-arrays associated with that dimension each contain the same number of leaf switches, the number of unused ports is the same for all sub-arrays associated with that dimension. Then, if C(RR.sub.i)R, then at least one spine switch may be removed without affecting the available bandwidth, as long as the existing connections are distributed over the remaining spines. This is where the concept of link bundling, and therefore the technical effect of embodiments of the present invention comes into play, and it will become apparent that four distinct cases arise, all falling within the scope of embodiments of the first aspect of the present invention.
(19) Denoting the actual number of spines for dimension i (i.e., the number of spines connected to each sub-array associated with dimension i, in an embodiment in which the number of spines connected to each such sub-array is the same) by S.sub.i, the total number of ports available on the spines connected to a dimension-isub-array is given by S.sub.iR. The total number of ports sufficient for full bisection bandwidth is given by CR.sub.i. In order to have zero unused ports, S.sub.iR=CR.sub.i. In some embodiments, however (e.g., along the reduced dimension, which includes fewer than the full number of leaf switches), it may instead be the case that S.sub.iR>CR.sub.i, e.g., it may be the case that
(20)
where the ceiling operator is used to select the smallest value of S.sub.i that ensures that every leaf fabric port in dimension i can be used, i.e., connected to a spine fabric port. Thus, there may still be some unused ports, given by U=S.sub.iRCR.sub.i, across the spine switches connected to the same sub-array. Even if there are unused ports, embodiments of the present invention still provide an arrangement in which this number is minimized and the spine switches are utilized in as efficient a manner as possible.
(21) Four cases may be identified, one corresponding to each of
(22) The case to which a given configuration of switching elements belongs can be determined by the following two criteria: Does S.sub.iR=CR.sub.i hold, so that it is possible to avoid unused ports? Can the link bundles be distributed evenly, i.e. is the bundling factor,
(23)
an integer?
(24) Case 1: In this case, the answer to each of the above two questions is yes. The bundling factor bis an integer, which means that exactly b ports from each leaf switch are connected to each spine connected to the sub-array in question. This case is illustrated in
(25) Here there are R.sub.1=4 leaf switches in the sub-array, connected using S.sub.1=2 spine switches. The bundling factor
(26)
and therefore, it can be seen that 2 links from each spine switch are connected to each of the leaf switches. Accordingly, all 8 of the fabric ports on each spine switch are used, maximizing efficiency, especially as compared to the case shown in
(27) Case 2: In this case, S.sub.iR=CR.sub.i but
(28)
is not, an integer. Thus, all of the fabric ports on all of the spine switches are used, but unlike in the previous example, the links are not distributed evenly amongst the spine switches. More specifically, there are a.sub.1 bundles having
(29)
line in them, and a.sub.2 bundles having
(30)
links in them. In these cases, the following is true:
a.sub.1b.sub.1+a.sub.2b.sub.2=R
a.sub.1+a.sub.2=R.sub.i
(31) It can then be shown that: a.sub.1=Rb.sub.2R.sub.i and a.sub.2=b.sub.iR.sub.iR.
(32) This is illustrated in
(33)
which is non-integer. Using the expressions defined above, it can be seen that a.sub.1=2, b.sub.1=2, a.sub.2=4, b.sub.2=1. In
(34) Therefore, the 8 fabric ports on each spine switch are distributed amongst the 6 leaf switches with 1 connection to 4 of the leaf switches and 2 connections to the remaining two leaf switches. The same is true for all of the spine switches, and accordingly each leaf switch has 1 connection to each of 2 of the spine switches, and 2 connections to the third. These connections are distributed evenly so that all 8 of the fabric ports are utilized for each spine switch.
(35) The table below sets out which leaf switches are in the first and second subsets, as described earlier in the application (accordingly, the first number is the first bundling factor, b.sub.1=2, and the second number, is the second bundling factor b.sub.2=1; a.sub.1 and a.sub.2 represent the number of leaf switches in the first and second subset respectively):
(36) TABLE-US-00001 TABLE 1 Constituent leaf switches of each subset, for the spine switches in FIG. 4 SPINE SPINE SPINE SWITCH SS1 SWITCH SS2 SWITCH SS3 FIRST SUBSET LS1, LS4 LS2, LS5 LS3, LS6 SECOND SUBSET LS2, LS3, LS5, LS1, LS3, LS4, LS1, LS2, LS4, LS6 LS6 LS5
(37) Case 3: In this case, S.sub.iR>CR.sub.i, but
(38)
an integer value. Thus, there still remain some unused fabric ports on each of the spine switches, but these are evenly distributed among all of the spine switches. Or equivalently, b fabric ports from each leaf switch are connected to each spine connected to the given sub-array. It therefore follows that the number of unused ports per spine is also uniform in this case:
(39)
(40) This example is shown in
(41)
links from each spine switch are connected to each of the leaf switches. This leaves 2 unused ports on each of the spine switches. It can be seen that this arrangement provides the optimum connectivity between the spine switches and leaf switches, and minimizes the number of unused ports.
(42) Case 4: The final case is the most irregular, in which S.sub.iR>CR.sub.i and
(43)
is non-integer. In this case, there are some bundles with
(44)
links in them, and other bundles with
(45)
links in them. Moreover, there are two disjoint sets of spines: the first set includes u.sub.1 spines with
(46)
unused ports and the second set includes u.sub.2 spines with
(47)
unused ports, wherein u.sub.1=Uv.sub.2S.sub.i and u.sub.2=v.sub.1S.sub.iU, such that u.sub.1+u.sub.2=S.sub.i.
(48) Each spine in the first set has a.sub.1=Rv.sub.1b.sub.2R.sub.i bundles of b.sub.1 links, and a.sub.2=R.sub.ia.sub.1 bundles of b.sub.2 links.
(49) Correspondingly, each spine in the second set has a.sub.3=Rv.sub.2b.sub.2R.sub.i bundles of b.sub.1 links and a.sub.4=R.sub.ia.sub.3 bundles of b.sub.2 links.
(50) This example is shown in
(51) The following tables set out which switches are present in which subsets, to use the terminology used earlier in the application. Accordingly, the first number and the third number are equal to the bundling factor b.sub.1=2, and the second number and the fourth number are equal to the bundling factor b.sub.2=1; u.sub.1 and u.sub.2 give the number of spines in each of the subsets of spine switches; a.sub.1 and a.sub.2 give the number of leaf switches in the first and second subset of leaf switches respectively, and a.sub.3 and a.sub.4 give the number of leaf switches in the third and fourth subsets respectively.
(52) TABLE-US-00002 TABLE 2 Constituent leaf switches of each subset, for spine switches in the first subset of spine switches of FIG. 6. Spine switch SS1 Spine switch SS2 First subset LS1, LS4 LS2, LS5 Second subset LS2, LS3, LS5 LS1, LS3, LS4
(53) TABLE-US-00003 TABLE 3 Constituent leaf switches of each subset, for spine switches in the second subset of spine switches of FIG. 6. Spine switch SS3 Third subset LS3 Fourth subset LS1, LS2, LS4, LS5
(54)
(55)
which is an integer. Accordingly, there are U=2416 unused ports across the two spine switches, i.e. 4 on each, and two connections to each spine switch SS1-2 from each leaf switch LS1-4. In other words, each of the spine switches has 4 bundles of 2 links per leaf.
(56) In
(57)
still. Each leaf switch LS1-4 therefore has two links connected to each of the spine switches SS1-2, or in other words, each spine switch has 5 bundles of 2 links per leaf. Again, this falls into case 3 as described above.
(58)
(59)
is not integer valued, these unused ports are not evenly distributed across the spine switches. There is therefore an irregular connection pattern, as compared to the previous examples. The connections are as follows: Each leaf has 1 link bundle of 2 and 2 link bundles of 1. Spine SS1 has 3 link bundles of 2 and 5 of 1 (10 links total, 2 unused) Spines SS2 and SS3 have 2 link bundles of 2 and 5 of 1 (29 links total, 23 unused).
(60) As above, the following tables summarize which leaf switches fall within which subset, as defined earlier in the application:
(61) TABLE-US-00004 TABLE 4 Constituent leaf switches of each subset, for spine switches in the first subset of spine switches of FIG. 9. Spine switch SS1 First subset (2 links) LS1, LS4, LS7 Second subset (1 link) LS2, LS3, LS5, LS6
(62) TABLE-US-00005 TABLE 5 Constituent leaf switches of each subset, for spine switches in the second subset of spine switches of FIG. 9. Spine switch SS2 SPINE SWITCH SS3 Third subset (2 links) LS2, LS5 LS3, LS6 Fourth subset (1 link) LS1, LS3, LS4, LS1, LS2, LS4, LS6, LS7 LS5, LS7
(63) The table below shows examples of which cases various configurations of switching elements fall into, in an optoelectronic switch having 2 dimensions (L=2), a switching element radix R=12, and for C=4 client ports. In particular the values of all of the other parameters described above are shown, when a given dimension is reduced to R.sub.i=2, 3, . . . , 12, for S.sub.i=1, 2, 3, 4 spine switches.
(64) TABLE-US-00006 TABLE 6 Values of various parameters, varying with the size of the reduced dimension and the number of spine switches in sub-arrays associated with that dimension. L 2 2 2 2 2 2 2 2 2 2 2 R 12 12 12 12 12 12 12 12 12 12 12 C 4 4 4 4 4 4 4 4 4 4 4 R.sub.i 2 3 4 5 6 7 8 9 10 11 12 S.sub.i 1 1 2 2 2 3 3 3 4 4 4 Case: 3 1 3 3 1 4 4 2 3 3 1 R|CR.sub.i FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE TRUE S|C TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE U 4 0 8 4 0 8 4 0 8 4 0 b.sub.1 4 4 2 2 2 2 2 2 1 1 1 b.sub.2 4 4 2 2 2 1 1 1 1 1 1 a.sub.1 0 0 0 0 0 2 2 3 0 0 0 a.sub.2 2 3 4 5 6 5 6 6 10 11 12 a.sub.3 0 0 0 0 0 3 3 3 0 0 0 a.sub.4 2 3 4 5 6 4 5 6 10 11 12 V.sub.1 4 0 4 2 0 3 2 0 2 1 0 V.sub.2 4 0 4 2 0 2 1 0 2 1 0 u.sub.1 0 0 0 0 0 2 1 0 0 0 0 u.sub.2 1 1 2 2 2 1 2 3 4 4 4
(65)
(66)
and so each of the spine switches SS1-3 is able to connect to all of the leaf switches in the two sub-arrays. Although in