Netronome and I/O Virtualization

At what point does a product become a virtualization product? With all the hype and the buzz around virtualization—predominantly because of VMware’s success—every company is hopping on the “virtualization bandwagon” and releasing a new “virtualization product”. In most cases, these products are simply repackaged versions of their existing products, perhaps with a slight improvement here or there to justify the virtualization moniker.

Of course, virtualization is more than just machine virtualization such as that offered by VMware, Microsoft Hyper-V, and Citrix XenServer. Virtualization is about inserting layers of abstraction between different computing resources, and there are other valid forms of virtualization. Take application virtualization, for example. Products such as ThinApp and App-V insert a layer of abstraction between applications and the underlying operating system.

A couple of weeks ago I had the opportunity to speak with Netronome, a small company developing a 40-core processor called the Network Flow Processor (NFP). Based on technology acquired from Intel, Netronome touts the NFP as an I/O virtualization product. But is this another instance of repackaging an existing product with the virtualization moniker just to capitalize on a sales opportunity, or is the NFP truly an I/O virtualization product? Like a lot of other products, it’s really hard to say.

Netronome’s upcoming product, the NFP-3200, is a hardware product that they intend to OEM to leading server manufacturers. The idea is that the NFP will be embedded into the server design to allow networking I/O functions to be offloaded to the NFP. Much ado has been made about hypervisor bypass (aka VMDirectPath), but rather than removing the software switch, why not put the switch into hardware? That would be one such function offered by the NFP. The NFP could provide line-rate switching between physical ports, virtual NICs, or any combination of the two. This approach with the NFP-3200 is almost like the best of both worlds—no “hypervisor overhead” for software switching but all the benefits of a local switch in each host.

Of course, the Netronome folks are also talking about all kinds of other functionality made possible by the NFP-3200, like flow classification, firewalling, load balancing, etc., all running at line speed inside the NFP. Of course, the keys are a) getting one or more major server manufacturers on board with the idea; and b) getting one or more hypervisor vendors on board with the idea.

Netronome wasn’t willing to share any information on the former (naturally), but with regard to the latter they did indicate that much of this functionality will be available on open source Xen almost immediately upon the release of the NFP-3200. That’s nice, but it doesn’t really accomplish a whole lot. They need to get VMware and Microsoft (more VMware than Microsoft right now) to jump on this idea.

Aside from the lack of widespread hypervisor support, my only other complaint with Netronome’s approach is that it isn’t standards-based. Rather than leveraging SR-IOV, the PCI SIG standard for PCIe-based device virtualization, Netronome is leveraging what they call Software Configurable Virtual Functions (SCVF). I understand the benefits they see out of using SCVF instead of relying upon SR-IOV, but I’d still prefer to see more innovation upon standards instead of innovating without standards. But what do I know? It might be that PCI SIG adopts SCVF as their future standard. Stranger things have happened…

Anyway, for more information visit the Netronome web site. If they can pull off support from one or more major server manufacturers and one or more major hypervisor vendors, the NFP-3200 could make the virtualization scene very interesting indeed.

Tags: , ,

  1. Etherealmind’s avatar

    A processor like this would also change the storage landscape. One criticism of iSCSI is that it requires too much CPU and add latency. With this kind of offloading, iSCSI would be a MUCH better solution that FCoE.

    Using IP for storage is much better for operational and cost reasons, than the burden of upgrading to FCoE and all the pain therein.

    Bring that on.

  2. phys2virt’s avatar

    IMHO, with the # of available cores on the system these days, it makes more sense to “onload” the I/O processing (which is what most of the hypervisors do) to the host CPU (which is what most of the hypervisors do today and I am sure Intel will like this a lot), than buying various “un-integrated” offload solutions which only increases the management complexity (Classic example is Infiniband which had no traction in the enterprise data centers and only HPC people liked it) . I think these type offload solutions defintely has some play, but many vendors tend to overplay this under the hood of say “reduced TCO” or “better CPU efficiency”, etc.