Abstract: Network Function Virtualization (NFV) is an initiative driven by the largest service providers (SP) to increase the use of virtualization and integrate intelligence into their network infrastructures. NFV leverages virtualization technology and operates network functions on standard servers to fundamentally decouple the customized and inflexible network hardware. Today, NFV provides a plethora of virtual network functions (VNFs), including gateways, mobile core, deep packet inspection (DPI), security, routing, and traffic management that can be combined to deliver the dynamic customized network service chains. Our exploration on both VM-based and container-based VNFs indicates that the service chaining can pose various challenges to NFV implementation on current commercial off-the-shelf (COTS) server. First, we observe that the NFV packet processing on COTS server exhibits a unique processing pattern - heterogeneous software pipeline, where the NFV traffic flows are processed by a variety of software components sequentially. On modern NUMA-based architecture, the end-to-end performance of NFV traffic flows can be severely affected by placing these heterogeneous software components inappropriately. We develop a thread scheduling mechanism that collaboratively places threads of heterogeneous software pipeline to minimize the end-to-end performance slowdown for NFV traffic flows. In the second part, we characterize the light-weight container-based VNF, which is expected to achieve shorter VNF provisioning time and lower resource overheads. However, we observe that the traffic flow processing in the shared host OS network stack involves a large amount of intermediate memory buffers and results in significant last level cache pollution. We propose NetContainer, a framework that achieves a fine-grained hardware resource management for containerized NFV platform. NetContainer exploits a cache access overhead guided page coloring technique to coordinately manage the inter/intra-flow cache access overheads.
Dr. Tao Li is a full professor in the Department of Electrical and Computer Engineering at the University of Florida. Currently, he is on leave at the National Science Foundation on assignment as a Program Director in the CCF division within the CISE directorate. He received a Ph.D. in Computer Engineering from the University of Texas at Austin. His research interests include computer architecture, microprocessor/memory/storage system design, virtualization technologies, energy-efficient/sustainable/dependable data center, cloud/big data computing platforms, the impacts of emerging technologies/applications on computing, and evaluation of computer systems. Dr. Tao Li received 2009 National Science Foundation Faculty Early CAREER Award, 2008, 2007, 2006 IBM Faculty Awards, 2008 Microsoft Research Safe and Scalable Multi-core Computing Award and 2006 Microsoft Research Trustworthy Computing Curriculum Award. Dr. Tao Li co-authored two papers that won the Best Paper Awards in ICCD 2016, HPCA 2011 and six papers that were nominated for the Best Paper Awards in HPCA 2017, ICPP 2015, CGO 2014, DSN 2011, MICRO 2008 and MASCOTS 2006. Dr. Tao Li is one of the College of Engineering winners, University of Florida Doctor Dissertation Advisor/Mentoring Award for 2013-2014 and 2011-2012. He served as the general chairs for IEEE 2014 International Symposium on High Performance Computer Architecture and IEEE 2013 International Conference on Networking, Architecture and Storage.