|
Similar to Virtual Machine, containers on each worker node are sharing a virtualized single port of the NIC via software emulation. Figure 9b shows the container-based network model, with the container¡¯s network port connecting to NIC via CNI and Container Network Plugin. The multiple layers of emulation predictably worsen container overhead. Furthermore, surging network traffic is a burden to the CPU, taking up computing resources meant for other applications.
SR-IOV enabled physical network functions to be shared without software emulation. It provides two function types: The Physical Function and Virtual Function. The Physical Function, a PCIe function of a SR-IOV compatible NIC, configures and manages the SR-IOV functionalities, such as enabling virtualization and exposing Virtual Functions. Directly accessible to the operating system, each Virtual Function represents a virtualized instance of the NIC and has its own PCI configuration space. Virtual Functions share physical resources on the NIC with each other and with the Physical Function. Thanks to SR-IOV, the container can directly send and receive packages to/from Virtual Functions in the user space instead of the kernel space. Taking CNIs out of the equation also removes the associated computing cost and latency.
|