Switch-managed resource allocation and software execution
Abstract
Examples described herein relate to a switch device for a rack of two or more physical servers, wherein the switch device is coupled to the two or more physical servers and the switch device performs packet protocol processing termination for received packets and provides payload data from the received packets without a received packet header to a destination buffer of a destination physical server in the rack. In some examples, the switch device comprises at least one central processing unit, the at least one central processing unit is to execute packet processing operations on the received packets. In some examples, a physical server executes at least one virtualized execution environments (VEE) and the at least one central processing unit executes a VEE for packet processing of packets with data to be accessed by the physical server that executes the VEE.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method comprising:
a switch device for a rack of two or more physical servers, wherein the switch device is coupled to the two or more physical servers and the switch device performs packet protocol processing termination for received packets and provides payload data from the received packets without a received packet header to a destination buffer of a destination physical server in the rack.
2 . The method of claim 1 , wherein the switch device comprises at least one central processing unit, the at least one central processing unit is to execute packet processing operations on the received packets.
3 . The method of claim 2 , wherein
a physical server executes at least one virtualized execution environments (VEE) and the at least one central processing unit executes a VEE for packet processing of packets with data to be accessed by the physical server that executes the VEE.
4 . The method of claim 1 , wherein
the switch device stores a mapping of memory addresses and corresponding destination devices, and based on receipt of a memory transaction from a physical server in the rack, the switch device performs the memory transaction.
5 . The method of claim 4 , wherein the switch device performs the memory transaction comprises:
for a read request, the switch device retrieves data from a physical server connected to the rack or another device of a different rack based on the mapping and stores the data into a memory managed by the switch device.
6 . The method of claim 1 , wherein
the switch device stores a mapping of memory addresses and corresponding destination devices, and based on receipt of a memory transaction from a physical server in the rack:
based on a memory address associated with the memory transaction being associated with a destination server in another rack according to the mapping, transmitting the memory transaction to the destination server,
receiving a response to the memory transaction, and
storing the response in a memory of the rack.
7 . The method of claim 1 , wherein
the switch device comprises at least one central processing unit, the at least one central processing unit to execute a control plane for one or more physical servers that are part of the rack and the control plane to collect telemetry data from the one or more physical servers and based on the telemetry data, perform one or more of: allocation of execution of a virtualized execution environment (VEE) to a physical server of the rack, migration of a VEE from a physical server of the rack to execution on at least one central processing unit of the switch device, migration of a VEE from a physical server of the rack to execution on another physical server of the rack, or allocation of memory of a physical server of the rack for access by a VEE executing on a physical server of the rack.
8 . The method of claim 1 , wherein
the switch device comprises at least one central processing unit, the at least one central processing unit to execute a control plane for one or more physical servers that are part of the rack and the control plane distributes execution of virtualized execution environment (VEEs) among one or more physical servers of the rack and selectively terminates a VEE or migrates a VEE to execution on another physical server of the rack or on the switch device.
9 . An apparatus comprising:
a switch comprising: at least one processor, wherein the at least one processor is to perform packet termination processing of a received packet and copy payload data from the received packet without an associated received packet header to a destination buffer of a destination physical server through a connection.
10 . The apparatus of claim 9 , wherein the at least one processor is to execute a virtualized execution environment (VEE) and wherein the VEE is to perform the packet termination processing.
11 . The apparatus of claim 9 , wherein
based on receipt of a memory transaction from a physical server through the connection, the at least one processor is to perform the memory transaction based on a mapping of memory addresses and corresponding destination devices.
12 . The apparatus of claim 11 , wherein to perform the memory transaction, the at least one processor is to:
for a read request: retrieve data from a physical server connected to the at least one processor through the connection or another device of a different rack and store the data into a memory managed by the at least one processor.
13 . The apparatus of claim 12 , wherein:
based on receipt of a memory transaction from a physical server in a rack associated with the switch:
based a memory address associated with the memory transaction being associated with a destination server in another rack according to a mapping of memory addresses and corresponding destination devices, the at least one processor is to cause transmission of the memory transaction to the destination server,
the at least one processor is to access a response to the memory transaction, and
the at least one processor is to cause the response to be stored in a memory of the rack.
14 . The apparatus of claim 9 , wherein
the at least one processor is to execute a control plane for one or more physical servers that are part of a rack associated with the switch and the control plane is to collect telemetry data from the one or more physical servers and based on the telemetry data, perform one or more of: allocation of execution of a virtualized execution environment (VEE) to a physical server of the rack, migration of a VEE from a physical server of the rack to execution on the at least one central processing unit of the switch, migration of a VEE from a physical server of the rack to execution on another physical server of the rack, or allocation of memory of a server of the rack for access by a VEE executing on a physical server of the rack.
15 . The apparatus of claim 9 , wherein
the at least one processor is to execute a control plane for one or more physical servers that are part of a rack associated with the switch and the control plane is to distribute execution of virtualized execution environment (VEEs) among one or more physical servers of the rack and selectively terminate a VEE or migrate a VEE to execution on another physical server of the rack or at least one processor that is part of the switch.
16 . The apparatus of claim 9 , wherein the connection is compatible with one or more of: Peripheral Component Interconnect express (PCIe), Compute Express Link (CXL), or any type of Double Data Rate (DDR).
17 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by a switch, cause the switch to:
execute a control plane at the switch to collect telemetry data from one or more physical servers and based on the telemetry data, perform one or more of: allocation of execution of a virtualized execution environment (VEE) to a physical server of a rack that includes the switch, migration of a VEE from a physical server of the rack to execution on at least one central processing unit of the switch, migration of a VEE from a physical server of the rack to execution on another physical server of the rack, or allocation of memory of a server of the rack for access by a VEE executing on a physical server of the rack.
18 . The at least one non-transitory computer-readable medium of claim 17 , comprising instructions stored thereon, that if executed by a switch, cause the switch to:
store a mapping of memory addresses and corresponding destination devices and based on receipt of a memory transaction from a physical server through a connection and based on mapping of memory addresses and corresponding destination devices, the switch is to retrieve data from a physical server connected to the switch through the connection or another device of a different rack and store the data into a memory managed by the switch.
19 . The at least one non-transitory computer-readable medium of claim 17 , comprising instructions stored thereon, that if executed by a switch, cause the switch to:
store a mapping of memory addresses and corresponding destination devices, and based on receipt of a memory transaction from a server in a rack associated with the switch:
based a memory address associated with the memory transaction being associated with a destination server in another rack according to the mapping, the switch is to transmit the memory transaction to the destination server,
the switch is to receive a response to the memory transaction, and
the switch is to store the response in a memory of the rack.
20 . The at least one non-transitory computer-readable medium of claim 17 , wherein a connection between the switch and one or more physical servers of the rack is compatible with one or more of: Peripheral Component Interconnect express (PCIe), Compute Express Link (CXL), or any type of Double Data Rate (DDR).
21 . A network device comprising:
circuitry to perform network protocol termination for received packets; at least one Ethernet port; and multiple connections to be connected to different physical servers in a rack, wherein the circuitry to perform network protocol termination for received packets is to provide a payload of a received packet without an associated header to a physical server.Join the waitlist — get patent alerts
Track US2020322287A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.