2. Why?
Too many logical devices make “Latency” “Latency” “Latency”.
Hypervisor wasn’t designated to support network functions!
Device service routine works with Interrupt!
Linux Bridge
OVS Bridge
Namespace
Tap Device
Encapsulation
DVR
Neutron Node
OVSTunnel Bridge
External Bridge
5. 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.
OS 커널은 네트워크 처리 전문이 아님
오픈스택의 Network Node 는 필연적으로 네트워크 전용 장비보다 성능이 떨어질 수밖에 없음
리눅스 커널의 네트워크 처리 (오버헤드)
외부 패킷 도착 > NIC > 커널로 인터럽트를 건다 > 커널은 현재 프로세스를 중단 > NIC 드라이버에 처리 할당 > 인터럽트 된 패킷 처리
DPDK 는
NFV 의 네트워크 성능을 높이기 위한 기술
인텔 아키텍쳐 기반의 고성능 패킷 처리를 위한 시스템 소프트웨어
x86 플랫폼에서 고속 패킷 처리를 위한 프레임워크
고속 패킷 처리를 위한 라이브러리 및 드라이버의 집합 (오픈소스)
Memory Manager
Buffer Manager
Queue Manager
Poll Mode Drivers
Flow Classification
특징
리눅스나 윈도우의 커널 대신에, 네트워크 패킷을 처리하는 응용 프로그램을 제공하고
전용 CPU 코어를 할당하여 커널을 거치지 않고
네트워크카드에 도착한 패킷을 직접 처리
단점
지원 랜카드가 제한적임
오픈스택에서
OVS 의 네트워크 트래픽 처리성능을 크게 높여줌
PMD 는 패킷을 인터럽트 없이 신속하게 전달함 (상주)
네트워크 처리 전용의 CPU 코어 제공됨
NFV 에서 DPDK 잇점
커널의 IP 스택은 패스하고 어플리케이션이 패킷 자체를 통제(처리) 함
인터럽트 없이 context switching 없이 패킷 처리