Woojoong Kim Dept. of CSE, POSTECH woojoong@postech.ac.kr 2016. 9. 28 DPDK & FD.io Woojoong Kim Dept. of CSE, POSTECH woojoong@postech.ac.kr 2016. 9. 28
Outline What is DPDK? What is FD.io? References Overview Features Supported NICs Contributors What is FD.io? History References
What is DPDK? – Overview Definition Overview of DPDK A set of libraries and drivers for fast packet processing on x86 platform Working in Linux user-land Open source project Overview of DPDK
What is DPDK? – Overview Comparison between previous network driver and DPDK Typical network driver DPDK
What is DPDK? – Features DPDK libraries Buffer management Reducing a significant amount of the time to allocate or de-allocate buffers in memory pools Queue/Ring functions Safe lockless queues to allow different software components for packet processing To avoid unnecessary wait times Packet flow classification To provide efficient mechanism to process packets NIC poll mode library No asynchronous, interrupt-based signaling mechanisms polling based Memory manager Responsible for allocating pools of objects in memory Pool: huge page memory space
What is DPDK? – Supported NICs
What is DPDK? – Contributors
What is FD.io? – Overview Definition of FD.io Fast Data – input/output Collection of several projects and libraries to support flexible, programmable, and composable services on a generic hardware To develop Software-Defined Infrastructure FD.io uses DPDK for network IO Layer getting packets to/from NICs and cores
What is FD.io? – Features Projects of FD.io
What is FD.io? – Features VPP Heart of FD.io Vector Packet Processing technology Rapid packet processing development platform highly performing network applications Runs on commodity CPUs and leverages DPDK Run as a user-space application VPP creates a vector of packet VPP processes them using a directed graph of nodes Vector-level processing through graph node before moving on to next graph node
What is FD.io? – Features Honeycomb CSIT Java-based agent VPP management agent Providing RESTCONF and NETCONF interfaces CSIT Continuous system integration and testing Test automation
What is FD.io? – Contributors
References – for DPDK Official web site Mailing list http://dpdk.org/ Mailing list http://dpdk.org/ml Presentation resources (in DPDK summit, mini conf.) https://dpdksummit.com/us/en/past-events Useful resources to easily understand DPDK http://www.slideshare.net/garyachy/dpdk-44585840 - slide https://www.youtube.com/watch?v=ewsrzoKwwz0 – video clip
References – for FD.io Official web site Mailing list Wiki page https://fd.io/ Mailing list https://lists.fd.io/mailman/listinfo Wiki page https://wiki.fd.io/view/Main_Page