What is smartNIC?

What is smartNIC | Types of smartNIC | FPGA | ASIC | SOC | OVS Offload | How to choose best smartNIC | smartNIC Architecture | smartNIC Vendors

smartnic

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 ARCHITECTURE
SMARTNIC ARCHITECTURE

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