Network Functions Virtualization (NFV) 従来のNW機器 NFV時代のNW機器 Router v. Router VM VM FW EPC HW-based • 高いコスト • 低い柔軟性 • クローズド VM v. FW v. EPC SW-based • 低いコスト • 高い柔軟性 • オープン 3
EAL (Environment Abstraction Layer) スレッド v DPDKにおける実行単位(実際はpthread) l PMDスレッド: NICをポーリング Ø NUMAノードごとに作成 Ø 特定のCPUコアにバインド PMD スレッド C 0 C 1 C 4 C 5 C 2 C 3 C 6 C 7 PCIe 3. 0 NUMAノード (Socket 0) PCIe 3. 0 NUMAノード (Socket 1) 8
OVSの基本アーキテクチャ User CLI ovsdb-server VM VM ovs-vswitchd ofproto dpif netdev-linux Kernel Datapath module … Socket DPDK netdev-dpdk TAP Network stack 20
Lagopusの基本アーキテクチャ User CLI Switch agent Dataplane Open. Flow Pipeline Rawsock Kernel Socket Driver tap DPDK TAP Network stack 23
評価概要 目的: 基本構成での性能を評価 評価項目 • 転送スループット • 転送遅延/ジッタ 評価対象 • • • OVS-DPDK / OVS Lagopus L 2 FWD (DPDK sample) VALE (netmap) Linux Bridge ※ R. Kawashima, S. Muramatsu, H. Nakayama, T. Hayashi, and H. Matsuo, “A Host-based Performance Comparison of 40 G NFV Environments Focusing on Packet Processing Architectures and Virtual Switches”, Proc. EWSDN, 2016. 26
評価環境 pktgen-dpdk (Throughput) eth 2 PM OSTA v. Switch (Latency) eth 1 Server 1 UDP traffic 40 Gb. E eth 1 eth 2 Server 2 (DUT) • 単一フロー (UDP) • 単一CPUコア (Lagopus以外) • 単一Worker (Lagopus) (3 CPUコア) 27
[上級編] 割り当てパターン一覧 I/O共存モデル デフォルトモデル Tx Tx W W Com Rx C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 擬似Run-to-Completionモデル C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 擬似Rx/Worker共存モデル Tx Tx W W Com Rx C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 擬似Tx/Worker共存モデル 擬似I/O共存モデル Tx Tx W Com Rx C 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 42