Access for compute nodes to a storage server through a PCI Express fabric
A network architecture including network storage. The network architecture includes a plurality of streaming arrays, each streaming array including a plurality of compute sleds, wherein each compute sled includes one or more compute nodes. The network architecture includes a PCI Express (PCIe) fabric configured to provide direct access to the network storage from compute nodes of each of the plurality of streaming arrays, the PCIe fabric including a plurality of array-level PCIe switches, each array-level PCIe switch communicatively coupled to compute nodes of compute sleds of a corresponding streaming array and communicatively coupled to the storage server. The network storage is shared by the plurality of streaming arrays.
1 . A system comprising:
a rack assembly comprising:
a storage server;
a streaming array including a plurality of compute nodes;
a PCI Express (PCIe) switch communicatively coupled to the plurality of compute nodes; and
a PCIe fabric communicatively coupled to the PCIe switch and to the storage server,
wherein each of the plurality of compute nodes directly accesses the storage server via the PCIe switch and the PCIe fabric, and
wherein the storage server, the streaming array including the plurality of compute nodes, the PCIe switch, and the PCIe fabric are configured within the rack assembly.
2 . The system of claim 1 , further comprising:
a plurality of compute sleds including the plurality of compute nodes,
wherein each of the plurality of compute sleds includes one or more compute nodes, and
wherein the streaming array includes the plurality of compute sleds.
3 . The system of claim 2 , wherein the streaming array includes:
a network switch;
an array management server configured for managing the plurality of compute sleds; and
an Ethernet fabric.
4 . The system of claim 3 , wherein the network switch provides for a control path over the Ethernet fabric for streaming management information to the plurality of compute sleds and the plurality of compute nodes.
5 . The system of claim 3 wherein the network switch provides for access to the storage server from the array management server over the Ethernet fabric.
6 . The system of claim 3 , further comprising:
another PCIe fabric coupling the array management server to the plurality of compute sleds.
7 . The system of claim 3 wherein the array management server is configured to manage a cloud gaming session involving a first instance of a video game and a second instance of the video game executing on a first compute node and a second compute node of the streaming array.
8 . The system of claim 1 , wherein a compute node in the plurality of compute nodes is configured for executing one or more instances of one or more video games.
9 . The system of claim 1 , wherein each of the plurality of compute nodes is communicatively coupled to the PCIe switch over a corresponding dedicated lane,
wherein the PCIe switch is coupled to the storage server over a set of lanes that includes less lanes than a total number of the plurality of compute nodes.
10 . The system of claim 1 , further comprising:
another streaming array including another plurality of compute nodes;
another PCI Express (PCIe) switch communicatively coupled to the another plurality of compute nodes; and
the PCIe fabric communicatively coupled to the another PCIe switch and to the storage server, wherein each of the another plurality of compute nodes directly accesses the storage server via the another PCIe switch and the PCIe fabric.
11 . The system of claim 10 , wherein the storage server is shared by the streaming array and the another streaming array.
12 . A network architecture, comprising:
a plurality of rack assemblies, wherein each of the plurality of rack assemblies includes:
a streaming array including a plurality of compute nodes;
a PCI Express (PCIe) switch communicatively coupled to the plurality of compute nodes; and
a PCIe fabric communicatively coupled to the PCIe switch and to a storage server,
wherein each of the plurality of compute nodes directly accesses the storage server via the PCIe switch and the PCIe fabric;
a plurality of cluster switches coupled to the plurality of rack assemblies; and
a management server coupled to the plurality of cluster switches, wherein the management server is configured for management of the plurality of rack assemblies.
13 . The network architecture of claim 12 , wherein the management server is configured for assigning one or more compute nodes in the plurality of rack assemblies to a client device.
14 . The network architecture of claim 12 , wherein the streaming array in a corresponding rack assembly includes:
a plurality of compute sleds including the plurality of compute nodes,
wherein each of the plurality of compute sleds includes one or more compute nodes,
wherein the streaming array includes the plurality of compute sleds.
15 . The network architecture of claim 14 , wherein the streaming array in the corresponding rack assembly includes:
a network switch;
an array management server configured for managing the plurality of compute sleds; and
an Ethernet fabric.
16 . The network architecture of claim 15 , wherein the network switch provides for a control path over the Ethernet fabric for streaming management information to the plurality of compute sleds and the plurality of compute nodes.
17 . The network architecture of claim 15 wherein the network switch provides for access to the storage server from the array management server over the Ethernet fabric.
18 . The network architecture of claim 15 , wherein the array management server is configured to manage a cloud gaming session involving a first instance of a video game and a second instance of the video game executing on a first compute node and a second compute node of the streaming array.
19 . The network architecture of claim 12 , wherein the streaming array of a corresponding rack assembly includes:
another streaming array including another plurality of compute nodes;
another PCI Express (PCIe) switch communicatively coupled to the another plurality of compute nodes; and
the PCIe fabric communicatively coupled to the another PCIe switch and to the storage server, wherein each of the another plurality of compute nodes directly accesses the storage server via the another PCIe switch and the PCIe fabric, and wherein the storage server is shared by the streaming array and the another streaming array.