Pensando Expands What SmartNIC Offloads Can Do
From the outset, let me admit that I don't think I'm smart enough to understand what Pensando are trying to do. During their presentation at Cloud Field Day 7 I struggled to figure out what the—impressive sounding, don't get me wrong—technology was for.
The company has been created by people with a strong track record of selling companies to Cisco. Everything from Catalyst switches to UCS to ACI. Solid products all. That indicates that if I don't understand what's going on, the fault is probably with me. So here's what I've been able to figure out.
Pensando has built an ARM-based chip that is programmable using an emerging network programming language called P4. It's a Domain Specific Language (DSL) rather than a general-purpose programming language like Python or C. That means it's good for doing network things but pretty terrible for anything else, while C is good for writing very fast buffer overflow vulnerabilities, Python is good for starting space-versus-braces arguments, and both are equally terrible at everything else. Don't @ me.
Pensando then put this chip into a SmartNIC called a Distributed Services Card that you install in your server to offload various network functions from the general-purpose CPU (usually x86-based) to the more specialised Pensando hardware.
The idea is to use the more specialised Pensando hardware to perform a variety of network functions, similar to how GPUs are better at the floating point mathematics used in graphics processing than general-purpose CPUs. We already kind of do this with various Ethernet tasks, such TCP offload, and Pensando seems to want to expand the scope of what sort of networking tasks could be done outside of the CPU.
Okay, neat tech. But… why?
You can make network processing faster, which is cool and all, but a lot depends on the price/performance ratio here. If the cards are expensive, and the gains marginal, the market for these things isn't that large.
GPUs got cheap because of how many people play computer games, and the relentless desire to have better graphics made older cards cheap as they were rendered obsolete by the new tech. nVidia got huge as a result, helped along by Bitçöin weirdos yelling Numberwang at each other to solve Sudokus they could trade for heroin, who were then replaced by ML/AI weirdos solving important questions like “What if Not Hotdog, but for phrenology?”
Similarly, Flash storage became cheap because of mobile phones (and iPods) needing solid-state storage, and people always wanted more room to store their music, photos and apps.
But network performance isn't really a consumer thing, because most people are stuck at the end of a relatively slow pipe to their ISP compared to what the NIC in their computer can do. NIC speed is mostly a datacentre thing, and the datacentre market is consolidating because cloud.
So when you look at Pensando's partners—Oracle, HPE, Equinix, NetApp—we start to understand what these cards are for.
In a NetApp array, a Pensando DSC can run all the storage-networking workloads, just like existing TCP/IP Offloading Engine (TOE) cards do, only more of them. When you start adding more functionality onto the networking—think encryption, dedupe, etc.—but need to keep low-latency performance, an offload card like this makes sense. A programmable card provides flexibility, so you can upgrade the functionality with software updates rather than hardware replacements, or just limit what the card will do until you pay a license fee to enable it.
Similarly, the management-at-scale capabilities of the Pensando approach align well with cloud-scale environments, especially those that are trying to differentiate on price/performance like Oracle. Telcos are also very keen to have high-performance core networks that are easy to operate at scale, and Equinix has invested a lot in being telco friendly.
AWS seems to be doing similar things with its Nitro cards, which indicates to me that Pensando is addressing a real problem, though it might only be a problem at the scale of AWS.
That's the open question for me at the moment: exactly how big a need is there for what Pensando sells, and can Pensando provide a solution at the right price? The follow-on questions are about the market dynamics we can expect if the answer is “big enough, and yes”: Will we see the use of network offload move down-market as the technology matures and the price drops? Is there a substantial experience curve here? Or will this remain a niche solution for telco and cloud players that is ignored by most of the enterprise market?
And will Cisco find enough spare cash lying around to buy another MPLS company?
VMware has added DR capabilities to VMware Cloud on AWS with Site Recovery Manager support.
VMware has added Kubernetes capabilities to vSphere and elsewhere, but ease-of-use remains elusive.