Unikraft DPDK

Sharan Santhanam What we saw Building DPDK Unikernels with Unikraft Introduce Unikraft

Unikraft meets DPDK Sharan Santhanam Unikraft within DPDK

Synergy NEC Laboratories Europe GmbH between Unikraft and [email protected] DPDK

24th June 2019

This work has received funding from the European Unions Horizon 2020 research and innovation program under grant agreements no.825377 (UNICORE).This work reflects only the authors views and the European Commission is not responsible for any use that may be made of the information it contains...... ⃝ NEC Corporation 2019 ...... Overview

Unikraft DPDK

Sharan Santhanam 1 What we saw What we saw

Introduce Unikraft 2 Introduce Unikraft Unikraft meets DPDK Unikraft 3 Unikraft meets DPDK within DPDK

Synergy between Unikraft and 4 Unikraft within DPDK DPDK

5 Synergy between Unikraft and DPDK

...... 2 / 16 ...... Can we do better?

⇝ Guest OS specialization ⇝ Boot Time ⇝ Isolation within the guest Let’s discuss ...

VNF with DPDK Ecosystem

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft

Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 3 / 16 ...... Let’s discuss Unikernel...

VNF with DPDK Ecosystem

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft

Unikraft meets DPDK Can we do better?

Unikraft within DPDK ⇝ Guest OS specialization Synergy between ⇝ Boot Time Unikraft and DPDK ⇝ Isolation within the guest

...... 3 / 16 ...... VNF with DPDK Ecosystem

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft

Unikraft meets DPDK Can we do better?

Unikraft within DPDK ⇝ Guest OS specialization Synergy between ⇝ Boot Time Unikraft and DPDK ⇝ Isolation within the guest Let’s discuss Unikernel...

...... 3 / 16 ...... Unikernel - Do One Thing and Do It Well

Unikraft DPDK

Sharan Santhanam

What we saw Virtual Machine Introduce Unikraft Unikernel

Unikraft meets DPDK App A App B

Unikraft App A App B Lib A Lib B within DPDK Lib A Lib B Kernel Kernel Synergy between Unikraft and DPDK Hypervisor Hypervisor

Hardware Hardware

...... 4 / 16 ...... ⇝ No isolation within the Unikernel needed - Flat address space ⇝ Full Stack Specialization

Unikernel - Do One Thing and Do It Well

Unikraft DPDK

Sharan Santhanam

What we saw Introduce ⇝ Unikraft are purpose built Unikraft App A App B - Thin kernel layer Unikraft meets - Single monolithic binary DPDK Lib A Lib B Unikraft within DPDK Hypervisor Synergy between Hardware Unikraft and DPDK Unikernel

...... 5 / 16 ...... ⇝ Full Stack Specialization

Unikernel - Do One Thing and Do It Well

Unikraft DPDK

Sharan Santhanam

What we saw Introduce ⇝ Unikraft are purpose built Unikraft App A App B - Thin kernel layer Unikraft meets - Single monolithic binary DPDK Lib A Lib B ⇝ Unikraft No isolation within the Unikernel within DPDK needed Hypervisor - Flat address space Synergy between Hardware Unikraft and DPDK Unikernel

...... 5 / 16 ...... Unikernel - Do One Thing and Do It Well

Unikraft DPDK

Sharan Santhanam

What we saw Introduce ⇝ Unikraft are purpose built Unikraft App A App B - Thin kernel layer Unikraft meets - Single monolithic binary DPDK Lib A Lib B ⇝ Unikraft No isolation within the Unikernel within DPDK needed Hypervisor - Flat address space Synergy between Hardware Unikraft and ⇝ Full Stack Specialization DPDK Unikernel

...... 5 / 16 ...... ⇝ Low memory footprint - Few MBs of RAM or less (ClickOS [Martins NSDI 2014]) ⇝ High Deployment Density - 8k guests on a single x86 server (LightVM [Manco SOSP 2017]) ⇝ High Performance - 10-40Gbit/s Ethernet throughput with a single guest CPU (ClickOS [Martins NSDI 2014], Elastic CDNs [Kuenzer VEE 2017]) ⇝ Reduced attack surface - Small trusted compute base - Strong isolation by hypervisor

”Really Unikernels!”

Unikraft DPDK Sharan ⇝ Santhanam Fast instantiation, destruction and migration times - 10 milliseconds or less What we saw (LightVM [Manco SOSP 2017], Jitsu [Madhvapeddy, NSDI 2015])

Introduce Unikraft

Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 6 / 16 ...... ⇝ High Deployment Density - 8k guests on a single x86 server (LightVM [Manco SOSP 2017]) ⇝ High Performance - 10-40Gbit/s Ethernet throughput with a single guest CPU (ClickOS [Martins NSDI 2014], Elastic CDNs [Kuenzer VEE 2017]) ⇝ Reduced attack surface - Small trusted compute base - Strong isolation by hypervisor

”Really Unikernels!”

Unikraft DPDK Sharan ⇝ Santhanam Fast instantiation, destruction and migration times - 10 milliseconds or less What we saw (LightVM [Manco SOSP 2017], Jitsu [Madhvapeddy, NSDI 2015])

Introduce ⇝ Low memory footprint Unikraft - Few MBs of RAM or less (ClickOS [Martins NSDI 2014]) Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 6 / 16 ...... ⇝ High Performance - 10-40Gbit/s Ethernet throughput with a single guest CPU (ClickOS [Martins NSDI 2014], Elastic CDNs [Kuenzer VEE 2017]) ⇝ Reduced attack surface - Small trusted compute base - Strong isolation by hypervisor

”Really Unikernels!”

Unikraft DPDK Sharan ⇝ Santhanam Fast instantiation, destruction and migration times - 10 milliseconds or less What we saw (LightVM [Manco SOSP 2017], Jitsu [Madhvapeddy, NSDI 2015])

Introduce ⇝ Low memory footprint Unikraft - Few MBs of RAM or less (ClickOS [Martins NSDI 2014]) Unikraft meets DPDK ⇝ High Deployment Density Unikraft - 8k guests on a single x86 server within DPDK (LightVM [Manco SOSP 2017]) Synergy between Unikraft and DPDK

...... 6 / 16 ...... ⇝ Reduced attack surface - Small trusted compute base - Strong isolation by hypervisor

”Really Unikernels!”

Unikraft DPDK Sharan ⇝ Santhanam Fast instantiation, destruction and migration times - 10 milliseconds or less What we saw (LightVM [Manco SOSP 2017], Jitsu [Madhvapeddy, NSDI 2015])

Introduce ⇝ Low memory footprint Unikraft - Few MBs of RAM or less (ClickOS [Martins NSDI 2014]) Unikraft meets DPDK ⇝ High Deployment Density Unikraft - 8k guests on a single x86 server within DPDK (LightVM [Manco SOSP 2017]) Synergy ⇝ High Performance between Unikraft and - 10-40Gbit/s Ethernet throughput with a single guest CPU DPDK (ClickOS [Martins NSDI 2014], Elastic CDNs [Kuenzer VEE 2017])

...... 6 / 16 ...... ”Really Unikernels!”

Unikraft DPDK Sharan ⇝ Santhanam Fast instantiation, destruction and migration times - 10 milliseconds or less What we saw (LightVM [Manco SOSP 2017], Jitsu [Madhvapeddy, NSDI 2015])

Introduce ⇝ Low memory footprint Unikraft - Few MBs of RAM or less (ClickOS [Martins NSDI 2014]) Unikraft meets DPDK ⇝ High Deployment Density Unikraft - 8k guests on a single x86 server within DPDK (LightVM [Manco SOSP 2017]) Synergy ⇝ High Performance between Unikraft and - 10-40Gbit/s Ethernet throughput with a single guest CPU DPDK (ClickOS [Martins NSDI 2014], Elastic CDNs [Kuenzer VEE 2017]) ⇝ Reduced attack surface - Small trusted compute base - Strong isolation by hypervisor

...... 6 / 16 ...... The problem with Unikernel development: Building take several months or longer Potentially repeat the process for each target application ”Specialization” is hard to build

Ooops!! Thats not an effective way of doing things!

La-la Land

Unikraft DPDK

Sharan Santhanam So, Unikernel High Performance What we saw Isolation and reduced attack surface. Introduce Faster Instantiation Time Unikraft Smaller image size Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 7 / 16 ...... La-la Land

Unikraft DPDK

Sharan Santhanam So, Unikernel High Performance What we saw Isolation and reduced attack surface. Introduce Faster Instantiation Time Unikraft Smaller image size Unikraft meets DPDK

Unikraft The problem with Unikernel development: within DPDK Building take several months or longer Synergy Potentially repeat the process for each target application between Unikraft and ”Specialization” is hard to build DPDK

Ooops!! Thats not an effective way of doing things!

...... 7 / 16 ...... Unikraft

⇝ Everything is a library ⇝ Decomposed OS functionality ⇝ Unikrafts two components: - Library Pool - Build Tool

Unikraft says Hi!! Source is BSD-licensed

Kconfig based build system

What is Unikraft?

Unikraft DPDK

Sharan Santhanam Objectives

⇝ Support wide range of use What we saw cases Introduce ⇝ Simplify building and optimiz- Unikraft ing Unikraft meets ⇝ Common and shared code DPDK base Unikraft ⇝ Support different hypervisors within DPDK ⇝ CPU architectures Synergy between Unikraft and DPDK

...... 8 / 16 ...... Unikraft says Hi!! Source is BSD-licensed

Kconfig based build system

What is Unikraft?

Unikraft DPDK

Sharan Santhanam Objectives Unikraft ⇝ Support wide range of use What we saw cases ⇝ Everything is a library Introduce ⇝ Simplify building and optimiz- Unikraft ing ⇝ Decomposed OS functionality Unikraft meets ⇝ Common and shared code ⇝ Unikrafts two components: DPDK base - Library Pool Unikraft ⇝ Support different hypervisors - Build Tool within DPDK ⇝ CPU architectures Synergy between Unikraft and DPDK

...... 8 / 16 ...... What is Unikraft?

Unikraft DPDK

Sharan Santhanam Objectives Unikraft ⇝ Support wide range of use What we saw cases ⇝ Everything is a library Introduce ⇝ Simplify building and optimiz- Unikraft ing ⇝ Decomposed OS functionality Unikraft meets ⇝ Common and shared code ⇝ Unikrafts two components: DPDK base - Library Pool Unikraft ⇝ Support different hypervisors - Build Tool within DPDK ⇝ CPU architectures Synergy between Unikraft and DPDK Unikraft says Hi!! Source is BSD-licensed

Kconfig based build system

...... 8 / 16 ...... drv memalloc runtime tracing blkdev mempool rust etc.. consdev heap golang trace netdev buddy python debug Main nw fs sched libc ⇝ Pick Unikraft dpdk 9pfs rt etc.. libpool functionality ssl ramfs prempt musl vfscore coop - Pool of drivers and standard libraries Plat container solo5 * ⇝ Pick a platform and libpool linuxu kvm xen firecracker architecture Arch - Pool of drivers and libpool x86 64 arm 32 arm 64 standard libraries

Build ⇝ Build Unikraft

unikernel pyapp kvm x86 64 pyapp xen x86 64 pyapp linuxu x86 64 application

binary l2fwd kvm x86 64 l2fwd xen x86 64 l2fwd linuxu x86 64

libukforest - Unikraft System Overview

Unikraft DPDK

Sharan Santhanam Appln l2fwd pyapp ⇝ Take an existing application What we saw - For example, a Python Introduce application or a l2fwd Unikraft

Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 9 / 16 ...... Plat container solo5 baremetal* ⇝ Pick a platform and libpool linuxu kvm xen firecracker architecture Arch - Pool of drivers and libpool x86 64 arm 32 arm 64 standard libraries

Build ⇝ Build Unikraft

unikernel pyapp kvm x86 64 pyapp xen x86 64 pyapp linuxu x86 64 application

binary l2fwd kvm x86 64 l2fwd xen x86 64 l2fwd linuxu x86 64

libukforest - Unikraft System Overview

Unikraft DPDK

Sharan Santhanam Appln l2fwd pyapp ⇝ Take an existing application What we saw drv memalloc runtime tracing For example, a Python blkdev mempool rust etc.. - Introduce application or a l2fwd Unikraft consdev heap golang trace netdev buddy python debug Main ⇝ Unikraft meets nw fs sched libc Pick Unikraft dpdk 9pfs rt etc.. DPDK libpool functionality ssl ramfs prempt musl coop Unikraft lwip vfscore newlib - Pool of drivers and within DPDK standard libraries

Synergy between Unikraft and DPDK

...... 9 / 16 ...... Build ⇝ Build Unikraft

unikernel pyapp kvm x86 64 pyapp xen x86 64 pyapp linuxu x86 64 application

binary l2fwd kvm x86 64 l2fwd xen x86 64 l2fwd linuxu x86 64

libukforest - Unikraft System Overview

Unikraft DPDK

Sharan Santhanam Appln l2fwd pyapp ⇝ Take an existing application What we saw drv memalloc runtime tracing For example, a Python blkdev mempool rust etc.. - Introduce application or a l2fwd Unikraft consdev heap golang trace netdev buddy python debug Main ⇝ Unikraft meets nw fs sched libc Pick Unikraft dpdk 9pfs rt etc.. DPDK libpool functionality ssl ramfs prempt musl coop Unikraft lwip vfscore newlib - Pool of drivers and within DPDK standard libraries Plat container solo5 baremetal* Synergy ⇝ Pick a platform and between libpool linuxu kvm xen firecracker architecture Unikraft and DPDK Arch - Pool of drivers and libpool x86 64 arm 32 arm 64 standard libraries

...... 9 / 16 ...... libukforest - Unikraft System Overview

Unikraft DPDK

Sharan Santhanam Appln l2fwd pyapp ⇝ Take an existing application What we saw drv memalloc runtime tracing For example, a Python blkdev mempool rust etc.. - Introduce application or a l2fwd Unikraft consdev heap golang trace netdev buddy python debug Main ⇝ Unikraft meets nw fs sched libc Pick Unikraft dpdk 9pfs rt etc.. DPDK libpool functionality ssl ramfs prempt musl coop Unikraft lwip vfscore newlib - Pool of drivers and within DPDK standard libraries Plat container solo5 baremetal* Synergy ⇝ Pick a platform and between libpool linuxu kvm xen firecracker architecture Unikraft and DPDK Arch - Pool of drivers and libpool x86 64 arm 32 arm 64 standard libraries

Build ⇝ Build Unikraft

unikernel pyapp kvm x86 64 pyapp xen x86 64 pyapp linuxu x86 64 application

binary l2fwd kvm x86 64 l2fwd xen x86 64 l2fwd linuxu x86 64

...... 9 / 16 ...... Challenges!! ⇝ Build System Integration ⇝ Specialization of Guest OS

⇝ Minimize modification to DPDK library

Unikraft - DPDK Target Arch?

Unikraft DPDK

Sharan l2fwd Santhanam libukdpdk What we saw libpthread intrinsics Introduce Unikraft libvfscore libnetdev

Unikraft meets libramfs libvirtio DPDK libkvmplat libx86 64 Unikraft uk dpdk kvm x86 64 within DPDK

Synergy between Unikraft and DPDK

...... 10 / 16 ...... Unikraft - DPDK Target Arch?

Unikraft DPDK

Sharan l2fwd Santhanam libukdpdk What we saw libpthread intrinsics Introduce Unikraft libvfscore libnetdev

Unikraft meets libramfs libvirtio DPDK libkvmplat libx86 64 Unikraft uk dpdk kvm x86 64 within DPDK

Synergy between Unikraft and DPDK Challenges!! ⇝ Build System Integration ⇝ Specialization of Guest OS

⇝ Minimize modification to DPDK library

...... 10 / 16 ...... Add DPDK library Support newer version of DPDK

⇝ Process DPDK Makefile.

⇝ Add dpdk specific configuration file.

⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS - INCLUDE - [LIBNAME] SRCS - CFLAG - [LIBNAME] CFLAG - DIRS - CFLAG ⇝ version map ⇝ exportsyms.uk

libukdpdkbuild

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function

Unikraft meets DPDK

Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 11 / 16 ...... Add DPDK library Support newer version of DPDK

⇝ Process DPDK Makefile.

⇝ Add dpdk specific configuration file.

⇝ version map ⇝ exportsyms.uk

libukdpdkbuild

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK

Synergy between Unikraft and DPDK

...... 11 / 16 ...... Add DPDK library Support newer version of DPDK

⇝ Process DPDK Makefile.

⇝ Add dpdk specific configuration file.

libukdpdkbuild

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK ⇝ version map ⇝ exportsyms.uk Synergy between Unikraft and DPDK

...... 11 / 16 ...... Add DPDK library Support newer version of DPDK ⇝ Add dpdk specific configuration file.

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK ⇝ version map ⇝ exportsyms.uk Synergy between Unikraft and DPDK libukdpdkbuild ⇝ Process DPDK Makefile.

...... 11 / 16 ...... Support newer version of DPDK ⇝ Add dpdk specific configuration file.

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK ⇝ version map ⇝ exportsyms.uk Synergy between Unikraft and DPDK libukdpdkbuild ⇝ Process DPDK Makefile. Add DPDK library

...... 11 / 16 ...... ⇝ Add dpdk specific configuration file.

Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK ⇝ version map ⇝ exportsyms.uk Synergy between Unikraft and DPDK libukdpdkbuild ⇝ Process DPDK Makefile. Add DPDK library Support newer version of DPDK

...... 11 / 16 ...... Build DPDK as an Unikraft Library

Unikraft DPDK

Sharan Santhanam Unikraft Build system DPDK Build System

What we saw ⇝ Config.uk (Kconfig based) ⇝ Automatic config generation Introduce - Handles dependencies across library - CPU feature flags Unikraft - Enable/Disable Function ⇝ Makefile (gmake) ⇝ Makefile.uk (make based) - SRCS Unikraft meets - INCLUDE - [LIBNAME] SRCS - CFLAG DPDK - [LIBNAME] CFLAG - DIRS - CFLAG Unikraft within DPDK ⇝ version map ⇝ exportsyms.uk Synergy between Unikraft and DPDK libukdpdkbuild ⇝ Process DPDK Makefile. Add DPDK library Support newer version of DPDK ⇝ Add dpdk specific configuration file.

...... 11 / 16 ...... Unikraft - DPDK Target Arch

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce l2fwd Unikraft libukdpdkbuild librte eal librte ethdev Unikraft meets DPDK libpthread intrinsics Unikraft libvfscore libnetdev within DPDK libukalloc libvirtio Synergy between libkvmplat libx86 64 Unikraft and uk dpdk kvm x86 64 DPDK

...... 12 / 16 ...... Unikraft as EAL in DPDK*

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft Specialize the Guest OS Unikraft meets DPDK ⇝ Memory management ⇝ Unikraft Bus/Device Management within DPDK ⇝ CPU Scheduling and CPU Features Synergy between Unikraft and DPDK

...... 13 / 16 ...... Unikraft as EAL in DPDK*

Unikraft DPDK

Sharan Santhanam Specialize the Guest OS

What we saw ⇝ Memory management Introduce ⇝ Bus/Device Management Unikraft

Unikraft meets ⇝ CPU Scheduling and CPU Features DPDK

Unikraft within DPDK Memory Management Synergy between Unikraft: flat page table since boot Unikraft and DPDK Huge pages based 2MB sized pages Memory region can be explicitly assigned to the Application

Custom memory allocator per memory region

...... 13 / 16 ...... Unikraft as EAL in DPDK*

Unikraft DPDK

Sharan Santhanam Specialize the Guest OS What we saw

Introduce ⇝ Memory management Unikraft ⇝ Bus/Device Management Unikraft meets DPDK ⇝ CPU Scheduling and CPU Features

Unikraft within DPDK Synergy Bus/Device Management between Unikraft and DPDK A simpler bus/device interface Directly attached device and usable by DPDK with unikraft

...... 13 / 16 ...... Unikraft as EAL in DPDK*

Unikraft DPDK

Sharan Santhanam Specialize the Guest OS What we saw

Introduce ⇝ Memory management Unikraft ⇝ Bus/Device Management Unikraft meets DPDK ⇝ CPU Scheduling and CPU Features

Unikraft within DPDK Synergy CPU Scheduling and CPU Features between Unikraft and Application decides on scheduling on the core. DPDK Minimal interference / resource usage for other purpose within guest.

...... 13 / 16 ...... Future Work

Unikraft DPDK

Sharan Santhanam

What we saw ⇝ Add SMP support Introduce Unikraft ⇝ Add NUMA support Unikraft meets DPDK ⇝ Evaluate performance Unikraft within DPDK

Synergy ⇝ Memory allocation natively by DPDK between Unikraft and DPDK ⇝ Use DPDK drivers directly

...... 14 / 16 ...... Join us!

Unikraft DPDK

Sharan Wiki Santhanam https://wiki.xenproject.org What we saw Introduce Documentation Unikraft

Unikraft meets http://www.unikraft.org DPDK Unikraft Sources within DPDK http://xenbits.xen.org/gitweb/ (Namespace: Unikraft) Synergy between Unikraft and Mailing List DPDK

minios-devel mailing list

NEC Maintainer Team

NEC Unikraft Team

...... 15 / 16 ...... What do you think?

What we think

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft DPDK Unikraft Support multiple platforms Performance of Network stack Unikraft meets DPDK Specialized Guest OS Specialized VNF Simpler Management Device Wealth of knowledge DPDK driver Unikraft within DPDK Increased control for an application Increased application base Synergy between Unikraft and DPDK

...... 16 / 16 ...... What we think

Unikraft DPDK

Sharan Santhanam

What we saw

Introduce Unikraft DPDK Unikraft Support multiple platforms Performance of Network stack Unikraft meets DPDK Specialized Guest OS Specialized VNF Simpler Management Device Wealth of knowledge DPDK driver Unikraft within DPDK Increased control for an application Increased application base Synergy between Unikraft and DPDK What do you think?

...... 16 / 16 ......