[openstack 하반기 스터디] dpdk & openstack why?
TRANSCRIPT
DPDK & Openstack why?Team 3
Why? Too many logical devices make “Latency” “Latency”
“Latency”. Hypervisor wasn’t designated to support network
functions! Device service routine works with Interrupt!
Linux BridgeOVS Bridge
Namespace
Tap Device
EncapsulationDVR
Neutron NodeOVS Tunnel Bridge
External Bridge
Bottleneck ?
NetworkingApplication #2
NetworkingApplication #1
LPC? TCP? UDP? That’s ok. I assume it just “mem copy”.
Software Interrupt
Bottleneck ?
NIC : Buffer
KernelDeviceDriver
Interrupt > Interrupt Service Routine > DPC
NetworkingApplication
APC > Networking Application
Interrupt
DPDK? Data Plan Developer Kit DPDK is a set of software libraries and Ethernet drivers (native and
virtualized) that run in Linux user space to boost packet processing
throughput on Intel® architecture.
Support
Investment!
Proof of concept
Hardware : IBM PureFlex Spec Host - 16core / 256G / 10g nic * 2eaGuest – 8core / 32G / virtio nic * 2ea => CPU Socket Isolation & NUMA
• Software Iperfdpdk-ovsvirtio-net-pmd
Proof of concept
Host
Guest
KVM KVMdpdk-ovs
virtio-net-pmd
Guest
virtio-net-pmd
Iperf server Iperf client
Conclusion
non with DPDK0
5000100001500020000250003000035000
intr/sec
Bridge OVS OVS with DPDK
0102030
Gbps/sec
cpu usage
Iperf server
Self-reflec-tion
Something strange..
causeShort TimeSide effectLow experience
Anyway… PMD = “Poll Mode Driver”
Accelerationfeatures
SR-IOV VMQ / DVMQ RSS / vRSS Jumbo Frame Large Send Offload Checksum Offload RDMA DCB Datacenter TCP (ECN) RSC (Receive Segment Coalescing) NVGRE/VXLAN offload
Thank you