AI and Machine Learning for networks
Close

22 December 2022

Low-level programming

The upcoming SmartNICs Trends for 2023

8 minutes reading

The upcoming SmartNICs Trends for 2023

Modern network infrastructure is in a state of constant evolution to meet the ever-growing demand for improvements in fields like connectivity parameters, infrastructure flexibility, or overall power consumption.

Innovators on the market are trying to answer all those needs, and with this article, we would like to shed light on some of the trends resulting from those efforts. SmartNICs extend the boring NIC domain with “smart” elements. Different platforms can define their “smart” elements differently, but overall, those elements aim to improve the general parameters of network connections, reduce power consumption, and increase the flexibility of network infrastructure.

This article will mainly cover new trends and briefly examine SmartNICs themselves. Many new possibilities arise from these future trends, so it is definitely worth staying up to date.

Especially, that SmartNICs’ future seems to be bright. According to most current reports from 2022, SmartNICs are expected to make up 38% of the network market by 2026

What is a SmartNIC?

Because the complexity of network systems is increasing, a trend toward the virtualization of network infrastructure elements is emerging. The networking overhead on CPU cores is severe in this situation. Offloading this type of work to specialized external devices seems to be an obvious approach.

First, we will learn about the foundation - the NIC - to better understand a SmartNIC. A NIC is a network interface card. This piece of hardware changes data packages into signals that pass through a network. It enables computer-to-computer communication via routable protocols, or Internet Protocols (IPs), and more widespread network connections outside of a single local area network (LAN). In other words, a NIC links computers and servers to a computer network and makes communication between them easier.

The difference between a NIC and a SmartNIC is that a regular NIC just acts as a link for basic communication between computers and networks. However, SmartNICs, in the hands of experienced developers, can be designed to carry out additional tasks like storage and security.

You will find more in-depth information about SmartNIC peculiarities and definitions in our previous article.

Low-level programming services for high-end products. Check out our expertise.

New technological trends in SmartNICs emerge each year, so we have decided to focus on the most important ones that will make waves in 2023, so it is worth knowing what kind of changes they might bring.

4th Generation SmartNIC

The very first and probably the most important trend is about SmartNICs with embedded general-purpose processors that will facilitate infrastructure. It will be much easier to allow for offloading the overall virtual network functionality to hardware. A possible solution will enable the further development of the SmartNIC.

As the previous revisions of SmartNICs are gaining adoption on the market as a way to accelerate selected functions of software working on the host machine, but it appears that it is not enough.

Previously, to adapt a SmartNIC to the infrastructure, you had to install compatible control plane software (or write your own offloading code) on the host machine and connect it to the SmartNIC, which was acting simply as hardware acceleration for the data plane part of the virtual network function.

But to allow the host machine to be fully utilized for customer workload, a 4th gen SmartNIC allows for offloading whole virtual network functions to hardware, with both the control plane and data plane. This allows creation of things which can be called a “solution-on-chip” like OvS, with hardware offloading working on the card itself.

SmartNIC Operating System (OS)

The second thing which is the hot topic for the community is development of the Operating System which can be run on the next generation of SmartNICs. Because of the current rapid pace of SmartNICs evolution, there is a need to establish a standardized environment for the applications.

With the ongoing adaptation of the 4th generation of SmartNICs, there is a growing demand for the standardization of the operating systems working inside SmartNICs. Previously, SmartNICs were only used to offload the data plane part of virtual network functions, and the environment working on the card was mostly proprietary, closed, and specific to the given hardware.

When you equip a SmartNIC with a general purpose CPU, like ARM or RISC-V, to run well-known software or your own crafted solution, you will need an environment for it, like Linux.

Open-Source for SmartNICs

The third emerging trend is the development of open-source software for SmartNICs. Due to the complexity of SmartNICs, it might be beneficial to develop an open-source platform. Read why it is important down below.

We are not going to lie; programming in SmartNICs is a tough topic. It requires specialized knowledge about the hardware platform itself and the toolset used to work with it. It’s not strange that people who would like to speed up their data center/infrastructure with SmartNICs are looking for solutions that will give them the benefits of hardware acceleration out of the box.

Those solutions can be a well-defined API enabling SmartNIC use without too much knowledge about the hardware itself or complete solutions which can be adopted without any work on their site for simple cases.

SmartNIC + Open vSwitch (OvS)

The fourth trend is the use of SmartNIC together with Open vSwitch (OvS), which is similar to the previous point. Yet it requires a separate section to discuss it properly.

Open vSwitch is a widely adopted software used to realize lots of different networking tasks. But it’s also known that using OvS is connected with significant resource consumption, which lowers the actual workload of the host machine.

OvS with SmartNIC is currently the most common use case discussed on the SmartNICs scene, as there is a need to take the burden from the CPU and/or host machine. Many players in the market are trying to come up with their own implementation. However, there is no solution to this matter…yet.

Conclusion

Undoubtedly, these new trends will facilitate the use of SmartNICs and their functionality. The future of SmartNICs seems to be promising. Looking at the development and emerging trends, it is undeniable that their popularity is growing.

If you are interested in how CodiLime helps customize software and hardware in SmartNICs , check out our low-level programming engineering services.

Artur

Artur Jaworski

Software Engineer