What is smartNIC?
Before moving on to the smartNIC topic, we must first understand what NIC is. NIC is a network interface card or network interface controller that connects to the Ethernet network for data transfer. Physically it is a PCIe card that is connected to servers or any other computing device.
SmartNIC:
SmartNIC is a NIC that has some additional smart functionality compared to the traditional NIC.
The SmartNIC functionalities are listed below:
1. TCP / IP accelerations
2. SR-IOV (NIC virtualization)
3. Network Virtualization, e.g. vxlan
4. RoCE acceleration
5. DPDK
6. Acceleration of sparks
7. NVMe over fabric storage
8. OVS hardware acceleration
9. QoS and ACL Acceleration
10. Flow monitoring and reporting
11. Flow match and action engine
12. Fully programmable data plan.
13. Virtual switching and routing functionalities such as NAT, charge banker and stateless firewall, DPI, etc.
14. Virtual Switch Policy Engine
15. Analytics
16. Acceleration of containers
17. Smart virtualization in the cloud
18. Public key cryptography, RNG, etc.
19. Fault tolerance or HA
20. Stateful ACL or IP filtering
21. Hashing, ECC, compression
22. Encryption / Decryption
23. Download security feature
The first three functionalities are also available in the normal NIC.
So at smartNIC we can offload many features and improve VNF performance with less CPU usage.
Types of smartNIC:
There are mainly three types of smartNIC available on the market.
1. SmartNIC based on ASIC (Application Specific Integrated Circuit)
2. FPGA-based SmartNIC (Field Programmable Gate Array)
3. SmartNIC based on SOC (System-on-a-Chip)
ASIC-based SmartNIC:
– Very profitable and provides the best price performance
– Less flexibility
– The programmable data path is easy to configure.
– Limitation of functionality, since it depends on what functions are defined within the ASIC
FPGA-based SmartNIC:
– Provides great programming capacity.
– Supports almost all functionalities.
– Difficult to program and a little expensive
SOC-based SmartNIC:
– Price performance is good
– Programmability is easy.
– Flexible
SmartNIC’s role in the 5G network:
In the 5G network, almost everything will be virtualized and cloud-based architecture. 5G use cases and MEC application demand very low latency. By using smartNIC we can really improve VNF performance and provide latency and performance requirements for the 5G network.
SmartNIC is the recommended interface by OCP to be used for the white box solution.
SmartNIC Architecture:
There are various smartNIC is available in the market. SmartNIC shall differ based on the functionalities we wanted to offload. Sample smartNIC architecture diagram is given below where OVS data path and control plan are offloaded.
SmartNIC Vendors:
There are many vendors who are manufacturing smartNIC as smartNIC market is growing in 5G era. There are many cloud service providers have used smartNIC in their cloud deployment. Some popular smartNIC vendor’s name is given below.
Intel
Mellanox
Netronome
VVDN