What is SmartNIC and why network cards for servers have become smarter

While the world around us is getting smarter every day, consumer technologies are certainly changing faster than others. However, the backend infrastructure to support smart devices is still dragging its bones from the age of dinosaurs. For decades, the network "backbone" that connects these devices has been created using proprietary and specially designed hardware devices such as routers, switches, load balancers, firewalls, CDNs, WAN accelerators, gateways, and so on. The list goes on and on. All these specialized and proprietary hardware devices do their job perfectly, but they are not flexible, discourage innovation, and do not scale. I call the hardware of the entire world the "age of dinosaurs" because it's hard to sustain.

Flexibility and efficiency are key factors for the long-term success of any business. In 2007, we saw a movement to disrupt this ancient way of building a monolithic and closed network infrastructure based on single-vendor solutions. Software has taken over the functions of hardware, and open source technologies such as the kernel-based virtual machine (KVM), open virtual switch (OVS), and OpenStack have become the building blocks of cloud infrastructure and revolutionized the construction of next-generation networks. The basis of this transformation that are determined by the software was the flexibility, automation and support from the community. I would call it software that defines the whole world. The pendulum swung all the way to the other end, and hardware became a commodity for computing, network, and storage infrastructure. Software has become the brain, and the most valuable asset in software has defined the entire world. We have entered an evolutionary phase with a fundamentally different way of building a software-defined infrastructure with server virtualization, network virtualization, software-defined networks, network function virtualization, and software-defined storage. So many innovations, everything happens quite quickly. Good news for the industry, right? Well, not exactly.

Running the virtual network (VNF) function on the CPU affects network performance in terms of bandwidth, packet transfer rate, latency, and I / o operations for storage workloads. In addition, software and hardware disaggregation, along with server and network virtualization, consumes even more CPU resources due to the high software layer. Think about the layers of abstractions that software virtualization, such as hypervisors, virtual routers, or overlay networks, creates to run workloads in a hardware-independent manner. The result of all this is a decrease in efficiency, which looks something like the one shown below.

As shown above, we started with a clean slate, a high-performance conventional server, and because of SDX such as virtualization, disaggregation, and security systems, we only got 20-25% of the computing power available to run business applications or to transfer this computing power to tenants for infrastructure as a service (IaaS). Imagine a $ 20,000 server with only $ 5,000 of available computing power. Basically, because of the cost of SDX, we need to pay 400% of the capital cost to match the computing power of the bare server. In terms of capital savings, we are in the same place as before, or even worse, when we build the next-generation software-defined infrastructure with regular servers. In addition to increasing CapEx, the pure software world performs worse compared to the hardware-defined world due to CPU-bound networking and data processing. At this point, you will obviously ask: "But what does this have to do with the Smart Era?» Well, the fact is that we are entering a world in which even the server components, which I have called building materials, must be smart enough to solve our problems. Network controllers were among the first to become smarter, having evolved from conventional NICs to SmartNIC. Everyone talks about smart network cards, but they never answer one simple question: what is SmartNIC and how do They differ from regular network cards? We all know that under the abbreviation NIC is hidden & quot;Network Interface Card" (network interface card); practically speaking, a NIC is a PCI Express card that is installed in a server or storage system for connecting to an Ethernet network.

What is SmartNIC

The concept of SmartNIC goes beyond a simple connection and already implies that the network card itself, and not the server's Central processor or storage, processes not only network traffic and protocols, but even some calculations of the application itself. In other words, SmartNIC takes care of offloading everything related to communications, freeing up processor resources for useful power. Cool, right?

Each of the SmartNIC manufacturers sees the concept of a smart network card in its own way, and the main thing is, of course, the processor of the Board. At the processor level, these can be ASIC, FPGA, and System-on-a-Chip (SOC) solutions. Naturally, each manufacturer claims that its SmartNIC is correct, and other types of smart network cards are not.

Features of the architecture used for SmartNIC cards

ASIC

FPGA

SOC (NIC + processor)

Excellent price-performance ratio

High performance and high price

The average ratio of price and performance

The high cost of developing

Very difficult to program

The processor is programmed in C

Easy to program but the scope of use is limited to the initial scenarios

Optimization based on tasks

Highest flexibility, easy to program

As you can see, there is no perfect solution. ASIC boards (for example, Mellanox ConnectX-5) have a very low cost, but the final functions will be limited to those defined in the ASIC architecture. FPGA-based network cards such as the Mellanox Innova-2 Flex, on the other hand, are fully customizable, and with sufficient persistence on the part of the operator to cope with any task assigned to them, but the programming costs can be unreasonably high. The best solution is SoC (for example, Mellanox BlueField SmartNIC, which uses an ARM processor), which combines ease of programming, maximum flexibility and a good price-performance ratio.

What architecture should SmartNIC be built on? In General, it doesn't matter: the list of what your interface controller can do comes out in the first place, and it doesn't matter whether it's an ASIC or an FPGA. Mellanox has network cards that can be attributed to SmartNIC on all three types of architectures. But it's easier to look at the following table, in which I defined three NIC classes: basic NIC, intelligent NIC (iNIC), and SmartNIC, based on their ability to speed up certain functionality. A regular NIC, or a regular network controller, simply moves network traffic and has several simple functions for hardware unloading of TCP packets, or it may not have any Offload capabilities at all. As a rule, these basic NICs include all Intel network cards, all Realtek network cards, and in General all network cards embedded on server motherboards and storage systems, not to mention workstations and desktops.

Sometimes customers think that they need SmartNIC network cards, but when they look at the functions used in their work tasks, they eventually decide that the usual advanced network cards of the Connect-X family have enough offload mechanisms. This family of ASIC boards is commonly called Intelligent NIC, and although this word sounds in the same way as SmartNIC, it is important not to get confused here: smart controllers are smart in different ways.

I mean, let's sum it up.

  • For example, a conventional network card Intel such as X520-DA2 or X550-T2 is a simple network card
  • Mellanox ConnectX - NIC is Intelligent, too smart, but compared to Intel
  • Mellanox Innova is already a SmartNIC in the classic view
  • Mellanox BlueField is the smartest SmartNIC currently

In other words, SmartNIC is a network adapter that speeds up certain network functionality and offloads the server processor.

Which SmartNIC should I choose?

You may have already realized that for most transport tasks that require CPU offloading due to the network card hardware engine, smart NICs based on ASIC processors, such as Connect-x, are sufficient. Clearly, flexibility is not their strong point, but the relatively low cost is the main criterion for choosing. But if you have a high load on a virtual switch (vSwitch) or virtual router (vRouter), you will have to use a full-fledged SmartNIC of the latest generation, such as Mellanox BlueField.< / p>

As the world around us gets smarter, it's critical that the next-generation cloud-scale infrastructure that helps connect billions of these smart things to consumers and businesses also gets better. Modern equipment is not ready for speeds above 100 Gbit / s without hardware Protocol offloading, and 400-Gigabit networks are already looming on the horizon.

SmartNIC manufacturers:

Ron Amadeo
25/04.2019


Read also:

Ditching 10GBe in favor of Infiniband: aftermarket buying guide

Оборудование InfiniBand не пользуется высоким спросом на вторичке, поэтому цены на него в 5-10 раз ниже, чем на 10-гигабитное. При этом, скорость - выше, а сети можно строить вообще без коммутаторов.

Evolution of cyber threats in OT environments

This year marks the 10th anniversary of the discovery of Stuxnet. The malicious computer worm made headlines because it was targeting supervisory control and data collection systems. Since then, there have been many similarly...

5 performance indicators of corporate backup

Finding out if your backup and restore systems are working well is much more difficult than just knowing how long the backup process takes. Meeting the baseline requirements is a prerequisite for properly evaluating your syst...