Switch for managing service meshes
Examples described herein relate to offload service mesh management and selection of memory pool accessed by services associated with the service mesh to a switch. Based on telemetry data of one or more nodes and network traffic, one or more processes can be allocated to execute on the one or more nodes and a memory pool can be selected to store data generated by the one or more processes.
1 . An apparatus comprising:
a switch circuitry comprising:
an interface to an ingress port;
an interface to an egress port;
a switch fabric; and
circuitry to:
load balance processes among one or more nodes, wherein the load balance processes among one or more nodes comprises:
based on telemetry data of the one or more nodes and network traffic of packets among the one or more nodes, select one or more processes to execute on the one or more nodes and select a memory pool to store data generated by the one or more processes, wherein;
the one or more processes are to communicate via a service mesh,
the one or more processes comprise microservices, and
the select one or more processes to execute on the one or more nodes comprises migrate the one or more processes from execution by a first circuitry of a first node to execution by a second circuitry of a second node.
2 . The apparatus of claim 1 , wherein the telemetry data of the one or more nodes comprises two or more of: current load on the one or more nodes, current expected completion time for process execution on the one or more nodes, and/or expected available resources on the one or more nodes.
3 . The apparatus of claim 2 , wherein the telemetry data of the network traffic comprises: latency and bandwidth of communications among the one or more nodes via the service mesh.
4 . The apparatus of claim 2 , wherein the telemetry data of the one or more nodes comprises telemetry associated with the memory pool and includes one or more of: an available amount of memory space and latency and/or bandwidth between the one or more nodes and the memory pool.
5 . The apparatus of claim 1 , wherein the switch circuitry is to determine a graph of the one or more processes and corresponding nodes of the one or more nodes to execute the one or more processes and cause execution of the one or more processes on the corresponding nodes.
6 . The apparatus of claim 1 , wherein the one or more processes are to access data from the selected memory pool.
7 . The apparatus of claim 1 , wherein the switch circuitry comprises one or more of: a network interface controller (NIC), SmartNIC, router, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).
8 . The apparatus of claim 1 , comprising a host system to execute at least one of the one or more processes and wherein the host system is communicatively coupled to the switch using a network interface device.
9 . The apparatus of claim 8 , comprising a data center that comprises the one or more nodes that execute the one or more processes.
10 . The apparatus of claim 1 , wherein the circuitry is to:
based on the telemetry data of the one or more nodes and the network traffic, migrate data associated with a process of the one or more processes to a second memory pool for access by the one or more nodes and wherein the telemetry data comprises expected completion time for process execution on the one or more nodes.
11 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors, cause the one or more processors to:
offload, to a switch: load balancing processes among one or more nodes, service mesh management, and selection of memory pool accessed by services associated with the service mesh, wherein:
the switch comprises an interface to an ingress port, an interface to an egress port, and a switch fabric,
the switch is to select one or more processes to execute on the one or more nodes and select a memory pool to store data generated by the one or more processes based on telemetry data of the one or more nodes communicatively coupled to the switch and network traffic of packets transmitted among the one or more nodes,
the one or more processes comprise microservices,
the one or more processes are to communicate via a service mesh, and
the select one or more processes to execute on the one or more nodes comprises migrate the one or more processes from execution by a first circuitry of a first node to execution by a second circuitry of a second node.
12 . The computer-readable medium of claim 11 , wherein offload service mesh management and selection of memory pool accessed by services associated with the service mesh to the switch comprises: cause the switch to, based on telemetry data of one or more nodes and network traffic, change a node of execution of the one or more processes and change the memory pool to store data generated by the one or more processes.
13 . The computer-readable medium of claim 12 , wherein the one or more processes are to write data to the selected memory pool and/or access data from the selected memory pool.
14 . The computer-readable medium of claim 12 , wherein
the telemetry data of the one or more nodes comprises: current load on the one or more nodes, current expected completion time for process execution on the one or more nodes, and expected available resources on the one or more nodes and
the telemetry data of the network traffic comprises one or more of: latency and/or bandwidth of communications between the nodes.
15 . The computer-readable medium of claim 12 , wherein the telemetry data of one or more nodes comprises telemetry associated with the memory pool and includes one or more of: an available amount of memory space and latency and/or bandwidth between the one or more nodes and the memory pool.
16 . The computer-readable medium of claim 12 , wherein the switch is to determine a graph of the one or more processes and corresponding nodes of the one or more nodes to execute the one or more processes and cause execution of the one or more processes on the corresponding nodes.
17 . A method comprising:
a switch performing:
load balancing processes among one or more nodes, wherein the load balancing processes among one or more nodes comprises:
allocating a memory pool to store data accessed and generated by microservices that communicate using a service mesh based on telemetry data associated with the one or more nodes and
causing execution of the microservices on nodes based on the telemetry data associated with the one or more nodes, wherein:
the switch comprises: an interface to an ingress port, an interface to an egress port, and a switch fabric, and
the causing execution of the microservices on nodes based on the telemetry data associated with the one or more nodes comprises migrating at least one of the microservices from execution by a first circuitry of a first node to execution by a second circuitry of a second node.
18 . The method of claim 17 , wherein the telemetry data associated with one or more nodes comprises two or more of: current load on one or more nodes, current expected completion time for microservices execution on the one or more nodes, and/or expected available resources on the one or more nodes.
19 . The method of claim 17 , wherein the telemetry data associated with one or more nodes comprises telemetry associated with the memory pool and includes one or more of: an available amount of memory space and latency and/or bandwidth between one or more nodes and the memory pool.
20 . The method of claim 17 , wherein the microservices are to write data to the allocated memory pool and/or access data from the allocated memory pool.