Integer programming technique for verifying and reprovisioning an interconnect fabric design
First Claim
1. A computer implemented method for verifying and reprovisioning an initial design for an interconnect fabric, the method comprising:
- initializing an integer programming problem with the initial design including an arrangement of interconnect elements for interconnecting a plurality of network nodes and with requirements for a plurality of flows among the network nodes, the interconnect elements including at least communication links and the integer programming problem being in terms of decision variables and constraints with at least one decision variable being an integer value that represents addition of a new link between a pair of the nodes;
solving the integer programming problem thereby forming a plurality of solutions, wherein in each solution, one or more of the flows is assigned to a path in the initial design, said solving comprising for at least one solution adding a new communication link to the initial design in a path for a flow, the adding of the new link being represented by the integer value; and
selecting a solution according to an objective of maximizing assignment of flows to paths in the initial design.
3 Assignments
0 Petitions
Accused Products
Abstract
A technique for verifying and reprovisioning an interconnect fabric design using integer programming techniques. Requirements for the interconnect fabric design to be reprovisioned may be referred to as flow requirements. The flow requirements may include, for example, source and terminal nodes for communication flows and communication bandwidth required for the flows. An existing interconnect fabric design specifies an arrangement of elements of the fabric, such as links and interconnect devices. The invention programmatically verifies whether the existing design satisfies the flow requirements using integer programming techniques. If the existing design does not satisfy the flow requirements, the invention may also be used to reprovision the existing design to satisfy the flow requirements. If any flow(s) cannot be accommodated by the existing design, the integer programming techniques may also be used to identify links that can be added to accommodate the flow(s) Further, a new portion of interconnect fabric may be designed and added to the existing design to accommodate unassigned flows.
-
Citations
31 Claims
-
1. A computer implemented method for verifying and reprovisioning an initial design for an interconnect fabric, the method comprising:
-
initializing an integer programming problem with the initial design including an arrangement of interconnect elements for interconnecting a plurality of network nodes and with requirements for a plurality of flows among the network nodes, the interconnect elements including at least communication links and the integer programming problem being in terms of decision variables and constraints with at least one decision variable being an integer value that represents addition of a new link between a pair of the nodes; solving the integer programming problem thereby forming a plurality of solutions, wherein in each solution, one or more of the flows is assigned to a path in the initial design, said solving comprising for at least one solution adding a new communication link to the initial design in a path for a flow, the adding of the new link being represented by the integer value; and selecting a solution according to an objective of maximizing assignment of flows to paths in the initial design. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18)
-
-
15. A computer implemented method for verifying and reprovisioning an initial design for an interconnect fabric, the method comprising:
-
initializing an integer programming problem with the initial design including an arrangement of interconnect elements for interconnecting a plurality of network nodes and with requirements for a plurality of flows among the network nodes; solving the integer programming problem thereby forming a plurality of solutions, wherein in each solution, one or more of the flows is assigned to a path in the initial design; selecting a solution according to an objective of maximizing assignment of flows to paths in the initial design; and designing a new portion of the interconnect fabric to be added to the initial design where one or more flows cannot be accommodated by said initial design, wherein said designing the new portion comprises recasting an interconnect device of the initial design as a source or terminal node for at least one of the flows that cannot be accommodated by said initial design. - View Dependent Claims (16)
-
-
19. A computer implemented method for reprovisioning an initial design for an interconnect fabric, the method comprising:
-
initializing an integer programming problem with the initial design including an arrangement of interconnect elements for interconnecting a plurality of network nodes and with requirements for a plurality of flows among the network nodes; solving the integer programming problem thereby forming a plurality of solutions, wherein in each solution, one or more of the flows is assigned to a path in the initial design, and in at least one solution, one or more flows not assigned to a valid path in the initial design are assigned to a new portion of interconnect fabric and the at least one solution identifying entry and exit points for the one or more flows assigned to the new portion and routed between elements of the initial design and the new portion; selecting a solution to the integer programming problem; and designing the new portion of interconnect fabric for accommodating the flows not assigned to a valid path in the initial design. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification