IP Library Granted Patent US 10,778,533
Granted Patent B2
US 10,778,533 · App. 15/885,772 · Granted Sep 15, 2020

Systems and methods for simulating data center network topologies

Inventors: Gilad Goldfarb (Mountain View, CA); Naader Hasani (San Jose, CA); Hans-Juergen Schmidtke (Mountain View, CA)
Assignee: Facebook, Inc.
H04L41/145H04L41/12H04L45/02H04L47/10H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,778,533
App. No.
15/885,772
Granted
Sep 15, 2020
Kind
B2
Abstract

The disclosed computer-implemented method may include (1) defining a topology of a data center network that defines an arrangement of a plurality of networking devices included in the data center network, (2) generating a routing policy for the data center network based on the defined topology, (3) deriving a forwarding information base (FIB) for each networking device based on the defined topology and the generated routing policy for the data center network, (4) compiling a data center traffic profile for the data center network that includes a set of data flows that include an amount of data that a source networking device begins to transfer to a destination networking device via the data center network at a predetermined time, and (5) executing a simulation of the data center network via the data center traffic profile. Various other methods, systems, and computer-readable media are also disclosed.

Claims (85)

1. A method comprising:

defining a topology of a data center network that defines an arrangement of a plurality of networking devices included in the data center network by:

designating a set of networking devices within the data center network that share a common role within the data center network as a tier of the data center network; and

generating a connection profile comprising at least one adjacency matrix that indicates that a first networking device is adjacent to a second networking device when the first networking device is capable of communicating with the second networking device;

generating a routing policy for the data center network based on the defined topology of the data center network that describes how the plurality of networking devices route data within the data center network;

for each networking device included in the data center network, deriving a forwarding information base (FIB) for the networking device based on the defined topology of the data center network and the generated routing policy for the data center network;

compiling a data center traffic profile for the data center network based on the derived FIBs, the data center traffic profile comprising a set of data flows, each data flow in the set of data flows comprising an amount of data that a source networking device begins to transfer to a destination networking device via the data center network at a predetermined time; and

executing a simulation of the data center network via the data center traffic profile.

2. The method of claim 1 , wherein the routing policy comprises a sequence of connection profiles that the networking devices included in the data center network utilize to route data from the source networking device to the destination networking device.

3. The method of claim 2 , wherein the routing policy further comprises a route target that defines a set of target networking devices that are meant to be reachable from the source networking device via the routing policy.

4. The method of claim 1 , wherein defining the topology of

the data center network further comprises

assigning an identifier to each of the networking devices included in the tier of the data center network, the identifier associated with the tier of the data center network.

5. The method of claim 1 , wherein deriving the FIB for the networking device comprises:

determining an additional set of networking devices in the data center network to which the networking device is capable of transmitting data;

representing connectivity of the networking device to the additional set of networking devices as a matrix;

executing a matrix operation using the at least one adjacency matrix and the matrix representing connectivity of the networking device to the additional set of networking devices;

identifying, based on executing the matrix operation, a path from the networking device to a target networking device in the data center network; and

including the path from the networking device to the target networking device in the FIB for the networking device.

6. The method of claim 1 , wherein the derived FIB for the networking device comprises at least one set of assigned identifiers that defines a data path from the networking device to another networking device in the data center network.

7. The method of claim 1 , wherein executing the simulation of the data center network comprises:

defining a round-trip delay time (RTT) of the data center network;

initiating at least one data flow included in the set of data flows;

upon each expiration of the RTT:

updating a link utilization of each networking device in the data center network; and

executing at least one flow action for each data flow included in the data center traffic profile based on the link utilization of each networking device associated with the data flow.

8. The method of claim 7 , wherein executing the simulation of the data center network further comprises, for each data flow in the set of data flows:

using the derived FIBs to determine a flow trajectory of the data flow from the source networking device to the destination networking device; and

recording the determined flow trajectory.

9. The method of claim 8 , wherein updating the link utilization of each networking device in the data center network is based on the recorded flow trajectory of each data flow included in the set of data flows.

10. The method of claim 7 , wherein updating the link utilization of each networking device in the data center network comprises determining, for each networking device, an amount of data transferred via the networking device during the RTT.

11. The method of claim 7 , wherein the flow action comprises at least one of:

initiating the data flow;

increasing a flow rate of the data flow;

decreasing the flow rate of the data flow;

determining that the data flow is complete;

recording a completion time of the data flow; or

identifying a time out of the data flow.

12. The method of claim 1 , further comprising:

determining a cost metric associated with the defined topology of the data center network based on the simulation of the data center network; and

adjusting the defined topology of the data center network based on the determined cost metric associated with the defined topology of the data center network.

13. The method of claim 12 , wherein the cost metric associated with the defined topology of the data center network comprises at least one of:

a duration of time between an initiation of a data flow included in the data center traffic profile and a completion of the data flow;

a duration of time between an initiation of the simulation of the data center network and a completion of the simulation;

a most-utilized networking device in the data center network during the simulation; or

a distribution of utilization of the networking devices during the simulation.

14. A system comprising:

a defining module, stored in memory, that defines a topology of a data center network that defines an arrangement of a plurality of networking devices included in the data center network by:

designating a set of networking devices within the data center network that share a common role within the data center network as a tier of the data center network; and

generating a connection profile comprising at least one adjacency matrix that indicates that a first networking device is adjacent to a second networking device when the first networking device is capable of communicating with the second networking device;

a generating module, stored in memory, that generates a routing policy for the data center network based on the defined topology of the data center network that describes how the plurality of networking devices route data within the data center network;

a deriving module, stored in memory, that, for each networking device included in the data center network, derives a forwarding information base (FIB) for the networking device based on the defined topology of the data center network and the generated routing policy for the data center network;

a compiling module, stored in memory, that compiles a data center traffic profile for the data center network based on the derived FIBs, the data center traffic profile comprising a set of data flows, each data flow in the set of data flows comprising an amount of data that a source networking device begins to transfer to a destination networking device via the data center network at a predetermined time;

an executing module, stored in memory, that executes a simulation of the data center network via the data center traffic profile; and

at least one physical processor that executes the defining module, the generating module, the deriving module, the compiling module, and the executing module.

15. The system of claim 14 , wherein the defining module further defines the topology of the data center network by

assigning an identifier to each of the networking devices included in the tier of the data center network, the identifier associated with the tier of the data center network.

16. The system of claim 15 , wherein

the deriving module further derives the FIB for the networking device by:

determining an additional set of networking devices in the data center network to which the networking device is capable of transmitting data;

representing connectivity of the networking device to the additional set of networking devices as a matrix;

executing a matrix operation using the at least one adjacency matrix and the matrix representing connectivity of the networking device to the additional set of networking devices;

identifying, based on executing the matrix operation, a path from the networking device to a target networking device in the data center network; and

including the path from the networking device to the target networking device in the FIB for the networking device.

17. The system of claim 14 , wherein the executing module executes the simulation of the data center network by:

defining a round-trip delay time (RTT) of the data center network;

initiating at least one data flow included in the set of data flows;

upon each expiration of the RTT:

updating a link utilization of each networking device in the data center network; and

executing at least one flow action for each data flow included in the data center traffic profile based on the link utilization of each networking device associated with the data flow.

18. The system of claim 14 , further comprising:

a determining module, stored in memory, that determines a cost metric associated with the defined topology of the data center network based on the simulation of the data center network; and

an adjusting module, stored in memory, that adjusts the defined topology of the data center network based on the determined cost metric associated with the defined topology of the data center network;

wherein the at least one physical processor further executes the determining module and the adjusting module.

19. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor of a computing system, cause the computing system to:

define a topology of a data center network that defines an arrangement of a plurality of networking devices included in the data center network by:

designating a set of networking devices within the data center network that share a common role within the data center network as a tier of the data center network; and

generating a connection profile comprising at least one adjacency matrix that indicates that a first networking device is adjacent to a second networking device when the first networking device is capable of communicating with the second networking device;

generate a routing policy for the data center network based on the defined topology of the data center network that describes how the plurality of networking devices route data within the data center network;

for each networking device included in the data center network, derive a forwarding information base (FIB) for the networking device based on the defined topology of the data center network and the generated routing policy for the data center network;

compile a data center traffic profile for the data center network based on the derived FIBs, the data center traffic profile comprising a set of data flows, each data flow in the set of data flows comprising an amount of data that a source networking device begins to transfer to a destination networking device via the data center network at a predetermined time; and

execute a simulation of the data center network via the data center traffic profile.

20. The system of claim 17 , wherein the executing module further executes the simulation of the data center network by, for each data flow in the set of data flows:

using the derived FIBs to determine a flow trajectory of the data flow from the source networking device to the destination networking device; and

recording the determined flow trajectory.

Assignments (2)
CHANGE OF NAME Recorded Jan 27, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058871/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2018
From: GOLDFARB, GILAD; HASANI, NAADER; SCHMIDTKE, HANS-JUERGEN
To: FACEBOOK, INC.
Reel/Frame 044983/0425 →
Continuity (1)
Related Publication 20190238420A1 · Aug 1, 2019
Cited By (1)
US 12,627,588