The DPDK community met at the Renaissance® Shanghai Yangtze Hotel to discuss the application of DPDK to a variety of industry segments including telecom, cloud, enterprise, security, and financial services. The event enabled the DPDK open source community to share DPDK usage and implementation; to hear from DPDK developers, contributors, and users; and to build the DPDK community.
Jim St. Leger (Software Product Line Manager, Intel)
The DPDK Community and open source software project has been growing steadily for the past four years. This session will look at the growth of the community in terms of contributors and commitments, discuss who is involved and contributing to the community today, and provide guidance on how everyone and anyone can start contributing to DPDK.org today. The Fast Data or FD.io Project launched in February 2016. This session will provide the background on the open source project creation including the gap it fills in the NFV/SDN data plane, packet processing capability stack. It will also talk about the rapid initial growth of the project including membership and future direction.
Video | Video (In China) | Slide
Huawei Xie / 谢华伟 (Software Engineer, Intel), Jianfeng Tan / 谈鉴锋 (Software Engineer, Intel)
As the standard para-virtualization interface, the performance and stability of virtio and vhost are the key to the success of NFV. In this presentation, we would like to summarize our many years of pioneering work around DPDK virtio/vhost. We introduce the performance optimization techniques around virtio ring layout and vhost TSO to accelerate TCP/IP stack based applications in the guest VM. To enhance the robustness of vhost, we created ‘vhost reconnect’ to support vhost restarting and reconnecting to QEMU in the event of a crash. We also leverage VMFUNC to provide protected and fast inter-VM channels. To provide high throughput and low latency interface in the container environment, we address the device simulation and translation gap and successfully created virtio interface in the container.
Video | Video (In China) | Slide
Jun Xiao / 肖骏 (Founder & CTO, CloudNetEngine)
With the increasing prevalence of cloud computing, there is a proliferation of east-west traffic in clouds, and growing demands for virtualizing network I/O intensive workloads at telcos with big data. All those put huge amount of challenges on existing virtual switches. In this presentation, we will share with the DPDK community what we learned while building the CloudNetEngine virtual switch, which is based on great open source projects like DPDK, OVS, NPF, etc. We’ll have deep dive discussions on how to boost performance, improve CPU efficiency, implement a rich feature set needed by public and private clouds — overlay, security group, QoS, HW/SW offload, load balance, monitoring and ease of integration with cloud ecosystem.
Video | Video (In China) | Slide
Dr. KyoungSoo Park (Associate Professor Electrical Engineering, KAIST)
Scaling the performance of short TCP connections on multicore systems is fundamentally challenging. Despite many proposals that have attempted to address various shortcomings, inefficiency of the kernel implementation still persists. For example, even state-of-the-art designs spend 70% to 80% of CPU cycles handling TCP connections in the kernel, leaving very little room for innovation in the user-level program. In this talk, I will present mTCP, a high-performance user-level TCP stack for multicore systems. mTCP addresses the inefficiencies from the ground up — from packet I/O and TCP connection management to the application interface. In addition to adopting well-known techniques, our design (1) translates multiple expensive system calls into a single shared memory reference, (2) allows efficient flow-level event aggregation, and (3) performs batched packet I/O for high I/O efficiency. Our evaluations on an 8-core machine showed that mTCP improves the performance of small message transactions by a factor of 25 compared to the latest Linux TCP stack and a factor of 3 compared to the MegaPipe system. It also improves the performance of various popular applications by 33% to 320% compared to those on the Linux stack.
Video | Video (In China) | Slide
Lou Yang / 娄扬 (Software Architect, TOPSEC)
In some special cases, we can not use DPDK directly, for instance, if our software runs in linux kernel mode or we use a special software architecture. But we can migrate DPDK’s key elements into our own products. The key elements include efficient memory management, polling mode NIC driver, undisturbed data plane, etc. This talk will introduce the practices of how to migrate DPDK into a network firewall product.
Video | Video (In China) | Slide
Dr. Kai Zhang / 张凯 (Ph.D., University of Science and Technology of China)
As network I/O speed has been unleashed by new software techniques such as DPDK, network processing is no longer the bottleneck of networked systems. Consequently, networked systems need redesign to meet the increasing demand for high speed network processing. In this talk, we make a strong case for GPUs to serve as special-purpose devices to greatly accelerate the operations of in-memory key-value stores. Specifically, we present the design and implementation of Mega-KV, a GPU-based in-memory key-value store system that achieves high performance and high throughput. Effectively utilizing the high memory bandwidth and latency hiding capability of GPUs, Mega-KV provides fast data accesses and significantly boosts overall performance. Running on a commodity PC installed with two CPUs and two GPUs, Mega-KV can process up to 160+ million key-value operations per second, which is 1.4 – 2.8 times as fast as the state-of-the-art key-value store system on a conventional CPU-based platform.
Video | Video (In China) | Slide
Xu Liang / 徐亮 (Director, UCloud.cn)
As an IaaS company we developed many NFV applications via DPDK, but just recently we released Vortex, a Layer-4 load balancer. We will discuss the challenges in developing a large-scale, multi-tenant and Overlay Network NFV application and how we handled these challenges with DPDK. We will also discuss our experience and lessons learned.
Video | Video (In China) | Slide
Wang Zhihong / 王志宏 (Software Engineer, Intel)
Memory efficiency is critical to VNF performance. It is challenging to design and implement memory friendly networking software, especially in a multiple core/processor environment. Understanding of the microarchitecture and underlying memory hierarchy helps software architects and developers analyze and optimize software performance.
This session uses a DPDK based NFV example to illustrate the actual memory behavior behind software abstraction & C code and common optimizing techniques. It also uses CPU cycles to explain the overhead of each type of memory operation to give a sense of what should be avoided and what’s the right thing to do in practice.
Video | Video (In China) | Slide
Dr. Dan Li (Associate Professor in Computer Science, Tsinghua University(
We designed and implemented a user-level network stack based on DPDK, named Light. The benefit of Light is that it does not need the application to modify anything, and the protocol stack does not affect the performance of the application.
Video | Video (In China) | Slide
Haomai Wang / 王豪迈 (CTO, XSKY)
In this presentation we will discuss the integration with DPDK, SPDK and Ceph. Ceph is a popular open-source storage system which includes block, file, and object interfaces. We implement a new DPDK network stack in Ceph which contains userspace TCP/IP stack. SPDK is another Intel open-source technology which implements Userspace NVME protocol. With MBUF from DPDK, we make the whole data packet without copy to store to NVME device. The whole Userspace stack is numa friendly, zero copy and nearly lock free.
Video | Video (In China) | Slide