This post was originally published on the Mellanox blog.
Amazon recently announced that Alexa, the smart personal voice assistant is expanding from a small desktop gadget and getting into the fabric of our life. Anything and everything can get an Alexa boost, including your microwave, home security, car infotainment, and even your wall clock. Soon, smart devices are going to get even smarter. They can even hear you whisper (for example, when your kids are napping in the living room) and answer you back with a whisper. That is so smart! A smart fabric of artificial intelligence and machine learning is being built around us to make our lives easier.
Smart is not limited to the smart personal assistants. Today, there are a variety of smart personal assistants from Amazon, Google, Apple, and others in the market, but the key thing to remember is that “smart” is an evolution of life. You’ve seen many innovations already that are all happening around us and which are termed “smart”. Over the last decade, we have happily adopted anything and everything that made lives easier. This includes the smartphone that came out from Apple in 2007 that introduced a new and unique human-compute interface and smart cars that are environmentally friendly, fuel-efficient, and easier to park in large cities. It also includes smart credit cards with embed microprocessors that can securely process payment transactions, protecting consumers from fraud and identity theft. Life is getting smarter all around us. I call this living in a smart era!
Moving to software-defined networking and software-defined everything
The world around us has evolved to be “smarter,” and consumer technologies have certainly been leading the charge. However, the backend infrastructure to support smart devices was still stuck in a dinosaur era. For decades, the backbone supporting these devices was built using proprietary and purpose-built hardware appliances such as routers, switches, load balancers, firewalls, CDNs, WAN accelerators, gateways, and so on. These purpose-built and proprietary hardware appliances are great at what they do, but they are not flexible. They hinder innovation and are locked down. I call the hardware-defined-everything world a dinosaur era because it is hard to sustain.
Agility, effectiveness, and efficiency are the key drivers for the long-term success of any business. In 2007, we saw a movement to disrupt this age-old way of building monolithic and vendor locked networking infrastructure. Software took over hardware and open-source technologies, such as kernel-based virtual machine (KVM), open virtual switch (OVS), and OpenStack became the building blocks of cloud infrastructure and revolutionized the way next generation networks would be built. Agility, automation, and community-driven standards were at the heart of this software-defined transformation.
I called this a software-defined-everything world. The pendulum swung all the way to the other end and hardware became a commodity for compute, network, and storage infrastructure. Software became the brain and the most value-added asset in the software defined everything world. We have entered an evolutionary phase with a radically different way of building software defined infrastructure with server virtualization, network virtualization, software-defined networks, network function virtualization and software defined storage. So many innovations, all happening quickly. Great news for the industry right? Well, not quite.
True cost of software-defined networking?
Nothing in life is free. As you know, there is a hidden cost to every transformation. This is true for the software-defined world as well. As network functions shifted from purpose-built hardware appliances to software-driven virtual appliances, general-purpose CPUs took center stage. While these CPUs are great for general-application tasks, they aren’t specialized in handling network and storage workloads.
Running virtual network functions (VNFs) on the CPU affects networking performance in terms of throughput, packet rate, latency, and I/O operations for storage workloads. Further disaggregation of software and hardware, along with the virtualization of servers and networks, consumes even more CPU due to software overloads. Think of the layers of abstractions that software virtualization like hypervisors or virtual routers or overlay networking creates to run workloads in a hardware-agnostic manner. The result of all of this is decreased efficiency that looks something like Figure 4.
Best smart cloud performance requires the best SmartNIC
However, we achieved flexibility at the expense of efficiency. As Figure 4 showed, we started with a clean slate, high performance, bare metal, commodity server. Due to SDX such as virtualization, disaggregation, and security overheads, we ended up with only 20-25% compute power available for running business applications, or for offering that power to tenants for infrastructure as a service (IaaS). Imagine a server costing $20K with only $5K worth of available compute capacity!
Essentially, due to SDX penalties, we had to pay up to 400% on the capital expense to match a bare metal server’s compute power. This is great news for server-CPU vendors as it increases the server footprint, but it defeats the essence of software-defined everything. In terms of capital savings, we are all at the same place as before or even worse when building the next generation software defined infrastructure with commodity servers. In addition to the CapEx increase, the purely software-defined world performs inferiorly compared to a hardware-defined world, due to CPU-bound network and storage processing.
At this point, you might ask, “But what does this all have to do with the smart era?” In the next post in this series, I explain how SmartNICs are revolutionizing the software-defined world to achieve smartness in building next-generation, cloud-scale infrastructure. Indeed, SmartNICs are a key innovation to make this truly a smart era.
For more information, see the following resources: