Project Description

Containerization is here to stay and seems to be the next big thing also in the upcoming OSes releases. Most of the customers appreciate its lightweight, its resiliency and its scalability; some of them do use these features to push very hard on consolidation, squeezing every single cycle out of their CPUs.

But what when it comes to networking? Is there any chance to couple the benefits of containerization with the superpowers of DPDK library?

Goal for this Hackweek

  • Outline an architecture offering DPDK capabilities to the containers
  • Setup a DPDK-capable container environment
  • (optional): Setup a DPDK-capable Kubernetes installation
  • Benchmarking the networking for the DPDK-capable vs the non-DPDK-capable environments

Resources

[1] https://www.dpdk.org/wp-content/uploads/sites/35/2020/11/DPDK-Container-Plug-ins-2019-1.pdf

Looking for hackers with the skills:

networking containers kuberentes dpdk

This project is part of:

Hack Week 23

Activity

  • 8 months ago: paolodepa added keyword "dpdk" to this project.
  • 8 months ago: dbenini started this project.
  • 9 months ago: vliaskovitis liked this project.
  • 9 months ago: m.crivellari liked this project.
  • 9 months ago: paolodepa added keyword "networking" to this project.
  • 9 months ago: paolodepa added keyword "containers" to this project.
  • 9 months ago: paolodepa added keyword "kuberentes" to this project.
  • 9 months ago: paolodepa originated this project.

  • Comments

    • paolodepa
      8 months ago by paolodepa | Reply

      Preliminary finding: as per https://doc.dpdk.org/guides/howto/virtiouserforcontainernetworking.html, two main configs seem to be supported: "Slicing" and "Aggregation". It's worth to try to setup both and compare their performances.

    • paolodepa
      8 months ago by paolodepa | Reply

      Looking at https://doc.dpdk.org/guides/howto/virtiouserforcontainernetworking.html two main approaches emerge: slicing and aggregation. Slicing relies on SR-IOV and Virtual Functions: not having at hand an SR-IOV capable NIC I decided to postpone this investigation. Aggregation decouples the physical NIC access from the containers introducing OpenVSwitch as middle layer: this simplifies the setup and opens the door to connection between containers, VMs and VirtualApps.

      My investigation on how to connect containers using OVS is summarized here: https://github.com/paolo-depa/container-on-ovs

    • paolodepa
      8 months ago by paolodepa | Reply

      Next steps: 1. Investigate Slicing scenario using the proper hardware; 2. Add a DPDK interface to an "Aggregation" bridge and benchmark north-south traffic; 3. Enter the kubernetes world...

    Similar Projects

    This project is one of its kind!