Generating Network Topologies
Abstract
A method of generating a plurality of potential network topologies is provided herein. The method includes receiving parameters that specify a number of servers, a number of switches, and a number of ports in the switches. The parameters are for configuring a network topology. The method also includes generating one or more potential network topologies comprising the set of potential network topologies, for each of a number of dimensions. The number of dimensions is based on the number of switches. The method further includes determining that the set of potential network topologies is structurally feasible. Additionally, the method includes determining an optimal link aggregation (LAG) factor in each dimension of each of the set of potential network topologies.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A method of generating a set of potential network topologies, comprising:
receiving parameters that specify a number of servers, a number of switches, and a number of ports in the switches, for configuring a network topology; incrementing the number of switches to enable generating more efficient network topologies than possible with the number of switches; generating one or more potential network topologies, for each of a number of dimensions, wherein the number of dimensions is based on the incremented number of switches; determining that the potential network topologies are structurally feasible; and determining an optimal link aggregation (LAG) factor in each dimension of each of the potential network topologies.
22 . The method recited in claim 21 , wherein generating more efficient network topologies comprises generating topologies such that a number of ports per switch is less than possible with the number of switches.
23 . The method recited in claim 21 , wherein the potential network topologies comprises HyperX topologies, wherein HyperX topologies comprise network topologies wherein each switch is connected to all other switches in each dimension that the switch belongs to.
24 . The method recited in claim 21 , wherein determining the optimal LAG factor in each dimension comprises finding an optimal distribution of available ports among the dimensions such that bisection bandwidth is maximized.
25 . The method recited in claim 21 , wherein determining the optimal LAG factor comprises:
determining enough ports are available to increase bandwidth in a dimension; and incrementing the optimal LAG factor by 1.
26 . The method recited in claim 25 , comprising incrementing the optimal LAG factor by 1 until there are not enough ports to increase bisection bandwidth in the dimension.
27 . The method recited in claim 21 , wherein determining that the set of potential network topologies is structurally feasible comprises determining that R−T≧Σ i=1 D (S i −1)K i , wherein R represents a number of ports assigned to a switch, T represents a number of servers assigned to the switch, D represents a number of dimensions in a network topology, S i represents a number of switches in a dimension, and K i represents a link aggregation factor of the switch.
28 . The method recited in claim 21 , wherein generating the one or more potential network topologies comprises:
generating first plurality of potential network topologies for a first number of dimensions; and generating a second plurality of potential network topologies for a second number of dimensions by splitting from the all of the first plurality of potential network topologies.
29 . The method of claim 28 , comprising determining that the one of the first plurality of potential network topologies is not structurally feasible.
30 . The method recited in claim 21 , wherein generating the one or more potential network topologies is based on one or more constraints of each potential network topology comprising:
a specified cost; a specified bisection bandwidth; a space constraint; and using components from a specified list of parts, wherein the specified list of parts comprise:
switches with different numbers and types of ports;
cables of different types; and
cables of different lengths.
31 . A computer system for generating a set of potential HyperX topologies, comprising:
a memory storing instructions; a processor executing the instructions to: receive parameters that specify a number of servers, a number of switches, and a number of ports in the switches, for configuring a HyperX topology; and increment the number of switches to enable generating more efficient network topologies than possible with the number of switches; generate one or more potential HyperX topologies for each of a number of dimensions, wherein the number of dimensions is based on the incremented number of switches; determine that the set of potential HyperX topologies is structurally feasible; and determine an optimal link aggregation (LAG) factor in each dimension of each of the potential HyperX topologies.
32 . The computer system recited in claim 31 , wherein the more efficient network topologies are generated by generating topologies with the incremented number of switches such that a number of ports per switch is less than possible with the number of switches.
33 . The computer system recited in claim 31 , the processor executing the instructions to rank the set of potential HyperX topologies based on a cost for each of the set of potential HyperX topologies.
34 . The computer system recited in claim 31 , wherein the optimal LAG factor is determined by increasing a number of ports assigned from each switch to all other switches in the dimension.
35 . The computer system recited in claim 31 , wherein determining the optimal LAG factor comprises:
determining enough ports are available to increase bandwidth in a dimension; and incrementing the optimal LAG factor by 1.
36 . The computer system recited in claim 35 , wherein determining the optimal LAG factor comprises incrementing the optimal LAG factor by 1 until there are not enough ports to increase bisection bandwidth in the dimension.
37 . The computer system recited in claim 31 , wherein determining the optimal LAG factor in each dimension comprises finding an optimal distribution of available ports among the dimensions such that bisection bandwidth is maximized.
38 . The computer system recited in claim 31 , wherein determining the optimal LAG factor comprises:
determining enough ports are available to increase bandwidth in a dimension; and incrementing the optimal LAG factor by 1.
39 . A computer-readable medium comprising machine-readable instructions executable by a processor to:
receive parameters that specify a number of servers, a number of switches, and a number of ports in the switches, for configuring a HyperX topology; and increment the number of switches to enable generating more efficient network topologies than possible with the number of switches; generate one or more potential HyperX topologies for each of a number of dimensions, wherein the number of dimensions is based on the incremented number of switches; determine that the set of potential HyperX topologies is structurally feasible; determine an optimal link aggregation (LAG) factor in each dimension of each of the set of potential HyperX topologies; generate a first plurality of potential network topologies for a first number of dimensions; and generate a second plurality of potential network topologies for a second number of dimensions by splitting one of the first number of dimensions into two dimensions.
40 . The computer-readable medium recited in claim 39 , wherein determining the optimal LAG factor in each dimension comprises finding an optimal distribution of available ports among the dimensions such that bisection bandwidth is maximized.Join the waitlist — get patent alerts
Track US2015333968A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.