Thanks to all who joined us for the Netronome & Nuage Networks DemoFriday, How Hardware Acceleration Boosts Efficiency and Lowers TCO of Cloud Networking. After the webinar we had a live Q&A but unfortunately we ran out of time before we could address all the audiences questions. Read the full Q&A below.
What changes do I need to make to my applications to take advantage of the Netronome offload?
In general, none. The Netronome OVS offloads are designed to be transparent to customer applications.
No, the datapath that runs within the SmartNIC is completely software defined.
How many flows can I keep in the cache on the Netronome SmartNIC?
The short answer is millions of active flows. The full answer is a little more complicated and depends on the definition of “flows” as well as the specific hardware configuration being targeted (Netronome ships various flavors of SmartNIC with differing DRAM configurations). The Netronome OVS datapath stores two categories of flows: (i) wildcard flows, which are analogous to their OVS kernel datapath flows; and (ii) exact match flows, which are used in the Netronome stateful flow tracker to cache wildcard flow lookups more efficiently. Netronome supports several hundreds of thousands of wildcard flows and in the order of 2 million exact match flows on Agilio CX devices.
Is a packet copy to the guest prevented using XVIO?
This depends on the scenario. For the bulk of packets, the kernel datapath is bypassed (avoiding most kernel / user space transitions) and the packet is delivered directly into user space memory via SR-IOV. Depending on configuration, packets can either be delivered directly into guest memory or they can be transported via user space to user space copies initiated by the XVIO agent.
Do you need multiple instances of OVS running in the host if there are multiple Agilio NICs?
At present, yes. Agilio OVS support for multiple SmartNICs has not yet been implemented. It is, however, a simple matter of software support, not an inherent hardware limitation.
Is the throughput measured with zero packet loss?
The throughput numbers reported in the demo are for packets successfully received at the other end. The traffic generation software utilized in the demo does not implement any flow control, so several packets were also being dropped by the SmartNIC – these were not counted.
How many CPU resources need to be allocated for XVIO?
The demo numbers were achieved using two cores dedicated to the XVIO agent. Depending on the CPU make and model, around 12 to 15 million packets per second can be handled by a single CPU core. The number of cores utilized by XVIO can be scaled up and down as necessary.
Can it handle live migration while processing traffic at the max rate?
Yes. There may be a momentary hiccup while the rest of the network catches up with the new topology, but all session state is transferred and maintained as per the virtio specification.
How much of performance boost is coming from the direct packet copy into the VM’s memory space as opposed to skipping the OVS stack for classification?
These two aspects are not separable concerns. It is certainly true that vanilla SR-IOV can achieve high performance in isolation, but it is a far more restrictive environment having none of the powerful features of OVS. The flexibility, reduced power consumption and cost savings afforded by doing intelligent classification (and actions) in the SmartNIC is what makes the Netronome offering so compelling. Both aspects need to be equally performant, as either one being too slow would bottleneck the other.