Profiling and accelerating commodity NFV service chains with SCC
A tool that can thoroughly profile hot parts of NFV software stacks is proposed.Our profiler revealed I/O and scheduling problems for user-space NFV chains.We solve these problems by combining I/O multiplexing and scheduling techniques.We reduce the latency (by 3x) and latency variance (by 2-40x) of these NFV chains. Recent approaches to network functions virtualization (NFV) have shown that commodity network stacks and drivers struggle to keep up with increasing hardware speed. Despite this, popular cloud networking services still rely on commodity operating systems (OSs) and device drivers. Taking into account the hardware underlying of commodity servers, we built an NFV profiler that tracks the movement of packets across the systems memory hierarchy by collecting key hardware and OS-level performance counters. Leveraging the profilers data, our Service Chain Coordinators (SCC) run-time accelerates user-space NFV service chains, based on commodity drivers. To do so, SCC combines multiplexing of system calls with scheduling strategies, taking time, priority, and processing load into account. By granting longer time quanta to chained network functions (NFs), combined with I/O multiplexing, SCC reduces unnecessary scheduling and I/O overheads, resulting in three-fold latency reduction due to cache and main memory utilization improvements. More importantly, SCC reduces the latency variance of NFV service chains by up to 40x compared to standard FastClick chains by making the average case for an NFV chain to perform as well as the best case. These improvements are possible because of our profilers accuracy.