Trenton Systems Blog

What is a SmartNIC?

Written by Christopher Trick | Apr 13, 2022 8:37:44 PM

As the amount of information available on a daily basis increases rapidly, data center operators are looking for ways to extract as many tasks from their servers as possible.

In this blog, you'll learn more about how SmartNICs help enhance storage, security, and networking capabilities to deliver actionable insights and ensure optimal performance.

What is a SmartNIC?

A SmartNIC is a type of NIC card and programmable accelerator that makes data center networking, security, and storage efficient and flexible. 

SmartNICs offload a growing array of tasks from server CPUs needed to manage modern distributed applications. 

They consist of a variety of connected, often configurable units. These silicon blocks act like a committee that decides how to process and route packets of data as they flow through the data center.

How does a SmartNIC work?

Most of these blocks are highly specialized hardware units called accelerators that run communications jobs more efficiently than CPUs. 

Some are flexible units that users can program to handle their changing needs and keep up with network protocols as they evolve. 

This combination of accelerators and programmable cores help SmartNICs deliver both performance and flexibility with outstanding price performance. They can be easily integrated into data center servers via PCIe slot. 

Why are SmartNICs important? 

Today's computers are both smaller and larger than those that used regular NICs. With the increased use of smartphones and cloud service providers, data centers have become the new unit of computing.

Fueled by virtualization and microservices, however, the growing number of tasks data center CPUs are expected to handle have become unmanageable. 

Each year, around 10 million servers that are shipped are consumed with running the data center's software-defined networking stack. Workloads are increasing much faster than data center CPUs can handle, highlighting the need for offloading and accelerating tasks.

What are some differences between a regular NIC card and a SmartNIC?

SmartNICs are different from regular NIC cards in two primary ways: capabilities and components.

At a high-level, SmartNICs deliver accelerated, hardware-based networking, storage, and security capabilities for cloud, AI, and traditional enterprise workloads. 

SmartNICs empower high-performance computing solutions to securely and rapidly analyze massive amounts of data in-real time while taking on some of the tasks of a CPU, maximizing efficiency and reducing total cost of ownership.

Unlike regular NICs, SmartNICs have the ability to handle new tasks as they emerge. Network protocols are constantly changing, and new concepts for moving data, called network overlays, are always emerging. 

Users can configure SmartNICs to use the latest software libraries that implement these changes.

To highlight these differences, let's first take a look at the capabilities.

Capabilities

Regular NICs are merely a middleman between computers and networks, facilitating basic communication, whereas SmartNICs can be programmed to perform other functions like storage and security.

The primary difference is that SmartNICs can offload computationally intensive tasks from a server's CPU on the SmartNIC's multi-core processor, so operators can extract as much performance from existing hardware as possible. This offers data center operators more performance without having to change all of the existing hardware.

Let's look at some other examples: 

  • Networking: A SmartNIC is capable of running functions like routing, fireballing, telemetry, load balancing, and overlay networks. All of this is processed by the SmartNICs CPU, reducing the load on the host server's CPU. This leaves room for other applications to run without overload. 
  • Storage: SmartNICs also function as storage controllers, managing the hard-disk drives or solid-state drives. They are usually connected to the same bus as the storage that is in servers and, as a result, are able to talk directly to storage devices. This eliminates the need for data to flow to the server's CPU, as data only needs to flow from the storage device to the SmartNIC. 
  • Cybersecurity: 
    • SmartNICs can protect data center servers from DDoS (distributed denial-of-service) attacks. These types of attacks occur when a person or organization floods the target network or server with an overwhelming amount of traffic, denying service to normal traffic to the target site or network.
      • By offloading the detection and prevention of DDoS attacks from the host server to the SmartNIC, the main system CPU is protected from being overwhelmed by DDoS attacks and improves DDoS mitigation capability. SmartNICs also filter all inbound and outbound packets, providing a strong system for filtering network traffic. 
    • SmartNICs can accelerate data center servers by offloading data encryption from the servers' CPU to the DPU (data processing unit). DPUs have a built-in hardware-based encryption and key infrastructure engines, including a true random number generator, built-in PKI (public key infrastructure) engine, and a secure key storage that keeps session keys encrypted in memory.
      • SmartNICs provide an extra layer of security by creating an air gap between the host system's operating system and the SmartNICs operating system, preventing attacks on the SmartNICs OS. 

Now, let's take a look at components.

Components 

A regular NIC Card is made from ethernet ports, a small amount of memory to store data that is being communicated, and a low-powered processor for converting the data message, so that it can be communicated. 

SmartNICs, however, are made using powerful multi-core processors, a high-permeance NIC Card equipped with 10/25/50/100/200/400 GbE ports, and a set of flexible, programmable acceleration engines to improve the performance of specific applications. Some SmartNICs are also equipped with a GPU to accelerate AI workloads.

Regular NICS, however, can still be used on servers that are equipped with SmartNICs. 

Let's take a look at a SmartNIC that we are currently working with, the NVIDIA ConnectX-7.

NVIDIA ConnectX-7 SmartNIC

The NVIDIA ConnectX-7 SmartNIC is equipped five main capabilities: 

  1. It accelerates software-defined networking with NVIDIA ASAP technology, delivering line-rate performance without penalizing the CPU. 
  2. It provides security from edge to core with hardware engines that offload and accelerate security using in-line encryption/decryption of TLS (transport layer security) protocol, IPsec, and MACsec.
  3. It enhances high-storage performance and data access with RoCE (remote direct memory access over converged ethernet) and GPUDirect Storage and accelerates NVMe-oF (non-volatile memory express over fabrics) over both RoCE and TCP (Transmission Control Protocol). 
  4. It enables precision timing and synchronization for data-center applications and timing-sensitive infrastructures. 
  5. It supports virtualized data centers with Single-Root I/O Virtualization and virtual switching and routing. 

In addition, the host interface is PCIe Gen5.0, and its maximum total bandwidth is 400GbE. 

Conclusion

As data centers become saturated with information, the need to offload tasks from a host server's CPU is more important now than ever. 

Though NIC cards play a pivotal role in improving connectivity and communication between a computer and a network, SmartNICs add to their capabilities by performing additional functions such as storage and security. 

These advanced network controllers help accelerate intense workloads to avoid overload and increase data and signal processing, enhancing the networking and processing power of high-performance computers. 

Source: