Server node interconnect devices and methods
AssigneeAdvanced Micro Devices, Inc.
InventorsMark Hummel, David E. Mayhew, Michael J. Osborn
Life of this patent
Estimating the term…
Abstract
Described are systems and methods for interconnecting devices. A switch fabric is in communication with a plurality of electronic devices. A rendezvous memory is in communication with the switch fabric. Data is transferred to the rendezvous memory from a first electronic device of the plurality of electronic devices in response to a determination that the data is ready for output from a memory at the first electronic device and in response to a location allocated in the rendezvous memory for the data.
Claims24
An aggregation device, comprising:
- a switch fabric in communication with a plurality of electronic devices;
- a control plane processor that fetches a first transmit descriptor from a memory at a first electronic device, including information corresponding to data ready for output from the memory at the first electronic device, the information including a location of the memory at the first electronic device where the data resides and the size of the data, wherein the control plane processor comprises a virtual network interface card (vNIC), and wherein the vNIC fetches the data from the first electronic device;
- and
- a rendezvous memory in communication with the switch fabric, wherein the control plane processor transfers the data to the rendezvous memory from the first electronic device of the plurality of electronic devices in response to a determination, using the first transmit descriptor, that the data is ready for output from the memory at the first electronic device and in response to an allocation of a location in the rendezvous memory sufficient to contain the data;
- and wherein a rendezvous management module fetches from the rendezvous memory a second transmit descriptor including information corresponding to the data ready for output from the rendezvous memory, the information including a location of the rendezvous memory where the data resides and the size of the data and moves the data, using the second transmit descriptor, from the rendezvous memory to the second electronic device in response to a determination that the data is ready for output from the rendezvous memory to the second electronic device and in response to a location allocated in a memory at the second electronic device for the data.
A server aggregation system, comprising:
- a plurality of electronic devices;
- and
- an aggregation device coupled to the plurality of electronic devices, the aggregation device including:
- a control plane processor that fetches a first transmit descriptor from a memory at a first electronic device, including information corresponding to data ready for output from the memory at the first electronic device, the information including a location of the memory at the first electronic device where the data resides and the size of the data, wherein the control plane processor comprises a virtual network interface card (vNIC), and wherein the vNIC fetches the data from the first electronic device;
- and
- a rendezvous memory that participates in a data transfer with a local memory of a first server node of the plurality of electronic devices and wherein the control plane processor transfers the data to the aggregation device from the first electronic device in response to a determination, using the first transmit descriptor, that the data is ready for output from a memory of a first electronic device and in response to an allocation of a location in the rendezvous memory sufficient to contain the data, wherein a rendezvous management module fetches from the rendezvous memory a second transmit descriptor including information corresponding to the data ready for output from the rendezvous memory, the information including a location of the rendezvous memory where the data resides and the size of the data and moves the data, using the second transmit descriptor, from the rendezvous memory to the second electronic device in response to a determination that the data is ready for output from the rendezvous memory to the second electronic device and in response to a location allocated in a memory at the second electronic device.
A method for communication between a plurality of electronic devices and an aggregation system, the method comprising:
- providing data at a local memory of a first electronic device of the plurality of electronic devices for sending to a second electronic device of the plurality of electronic devices;
- fetching, at a control plane processor, a first transmit descriptor from a memory at a first electronic device, including information corresponding to data ready for output from the memory at the first electronic device, the information including a location of the memory at the first electronic device where the data resides and the size of the data, wherein the control plane processor comprises a virtual network interface card (vNIC), and wherein the vNIC fetches the data from the first electronic device;
- providing a rendezvous memory at the aggregation system for receiving the data from the local memory of the first electronic device;
- transferring by the control plane process the data from the local memory of the first electronic device to the rendezvous memory in response to determining, using the first transmit descriptor, that the data is in the local memory of the first electronic device for transmission and in response to determining an allocation of a location in the rendezvous memory sufficient to contain the data;
- fetching from the rendezvous memory a second transmit descriptor including information corresponding to the data ready for output from the rendezvous memory, the information including a location of the rendezvous memory where the data resides and the size of the data;
- and
- moving the data, using the second transmit descriptor, from the rendezvous memory to the second electronic device in response to a determination that the data is ready for output from the rendezvous memory to the second electronic device and in response to a location allocated in a memory at the second electronic device for the data.
A method for communication between a plurality of electronic devices and an aggregation system, the method comprising:
- fetching, at a control plane processor, a first transmit descriptor from a local memory at a first electronic device, including information corresponding to data ready for output from the local memory at the first electronic device, the information including a location of the local memory at the first electronic device where the data resides and the size of the data, wherein the control plane processor comprises a virtual network interface card (vNIC);
- notifying the virtual network interface card (vNIC) at the aggregation system that the data is available at the local memory of the first electronic device for transmission;
- generating a notification of at least one available buffer at the second electronic device;
- allocating the at least one available buffer for receiving the data;
- transferring, by the control plane processor the data from the local memory of the first electronic device to the rendezvous memory in response to a determination, using the first transmit descriptor, that the data is in the local memory of the first electronic device for transmission and in response to determining an allocation of a location in the rendezvous memory sufficient to contain the data;
- and
- fetching from the rendezvous memory a second transmit descriptor including information corresponding to the data ready for output from the rendezvous memory, the information including a location of the rendezvous memory where the data resides and the size of the data;
- and
- moving the data, using the second transmit descriptor, from the rendezvous memory to the second electronic device in response to a determination that the data is ready for output from the rendezvous memory to the second electronic device and in response to a location allocated in the at least one available buffer at the second electronic device for the data.
A computer program product, comprising:
- a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
- computer readable program code configured to fetch, at a control plane processor, a first transmit descriptor from a local memory at a first electronic device, including information corresponding to data ready for output from the local memory at the first electronic device, the information including a location of the local memory at the first electronic device where the data resides and the size of the data, wherein the control plane processor comprises a virtual network interface card (vNIC);
- computer readable program code configured to notify the virtual network interface card (vNIC) at the aggregation system that the data is available at the local memory of the first electronic device for transmission;
- computer readable program code configured to generate a notification of at least one available buffer at the second electronic device;
- computer readable program code configured to allocate the at least one available buffer for receiving the data;
- computer readable program code configured to transfer, by the control plane processor, the data from the local memory of the first electronic device to the rendezvous memory in response to a determination, using the first transmit descriptor, that the data is in the local memory of the first electronic device for transmission and in response to determining the allocation of the at least one available buffer at the second electronic device;
- and
- computer readable program code configured to fetch from the rendezvous memory a second transmit descriptor including information corresponding to the data ready for output from the rendezvous memory, the information including a location of the rendezvous memory where the data resides and the size of the data;
- and
- computer readable program code configured to move the data, using the second transmit descriptor, from the rendezvous memory to the second electronic device in response to a determination that the data is ready for output from the rendezvous memory to the second electronic device and in response to a location allocated in a memory at the second electronic device for the data.
Dependencies are inferred from the claim text.