Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DPDK利用事例 : ソフトウェアルーター "Kamuee"

DPDK利用事例 : ソフトウェアルーター "Kamuee"

Linux Foundation Japan

October 28, 2019
Tweet

More Decks by Linux Foundation Japan

Other Decks in Technology

Transcript

  1. Copyright © NTT Communications Corporation. All rights reserved. DPDK利⽤事例: ソフトウェアルーター

    "Kamuee" NTTコミュニケーションズ株式会社 技術開発部 ⼩原泰弘
  2. Copyright © NTT Communications Corporation. All rights reserved. n  DPDK(l3fwd)ベースのソフトウェアルーター(ピュアソフト

    ウェアアプローチ) n  ⾼速経路検索アルゴリズム: Poptrie n  オープンソース・コントロールプレーン(quagga/FRR) n  ⾼性能(200Gbps/300Mpps 以上)、⼤規模経路対応(200 万経路)を達成 n  トラフィック処理を並列分散処理・scale-out n  任意のコア数をポートに割り当てられる柔軟性 •  CPUコア-intensive(⽋点) n  オープンテクノロジを活⽤ kamuee とは 2
  3. Copyright © NTT Communications Corporation. All rights reserved. 100GbE x

    4 Performance benchmark Spirent Kamuee (DUT) 100G Random destination packets (90Gbps x 4 = 360Gbps injection) sorted packets measure received 612,927 routes table 3
  4. Copyright © NTT Communications Corporation. All rights reserved. Performance by

    adding cores 0 100 200 300 400 500 600 1 2 3 4 5 6 7 8 9 10 11 12 Throughput (Gbps) Cores per Port Skylake Platinum x 2 100GbE x 4 Performance 360Gbps load, 612,927 routes 360Gbps 1518B 512B 256B 128B 64B 222.11Gbps 330.52Mpps 4
  5. Copyright © NTT Communications Corporation. All rights reserved. Resource control

    by needs 0 100 200 300 400 500 600 64 128 256 512 1024 1518 Throughput (Gbps) Ethernet Frame Size (Bytes) Skylake Platinum x 2 100GbE x 4 Performance 360Gbps load, 612,927 routes 360Gbps 12cpp 8cpp 4cpp 1cpp 222.11Gbps 330.52Mpps 5
  6. Copyright © NTT Communications Corporation. All rights reserved. n  圧縮されたマルチウェイトライ(bitmap

    利⽤) n  60万経路が 3MB に。(CPUキャッシュに乗る) n  200Mlps程度を達成 n  ACM SIGCOMM'15 <https://dl.acm.org/citation.cfm?id=2787474> n  NTTコミュニケーションズが特許を保有 n  稀にPoptrie構築に20〜30分かかるバグを修正(回避) n  /24 200万経路で動作を確認、400万では壊れた(実装不具合) n  構築は60万経路で約5秒、200万で約12秒 n  構築時間はさらに改良可能 Poptrie(ポップトライ) 6
  7. Copyright © NTT Communications Corporation. All rights reserved. Internal structure

    of the software router: Kamuee kernel bgpd zebra NIC NIC NIC NIC NIC NIC CPU socket CPU socket 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 master forwarder lthread scheduler D P D K FIB RIB FIB RIB manager tap manager arp manager vty-server tap device arp netlink manager netlink socket scale-out RCU(liburcu) O S vtys acl manager routing table Scale-out among CPU Cores run-to-completion OSS
  8. Copyright © NTT Communications Corporation. All rights reserved. KAIT/Kamuee Multicast

    Exp. Topology 51.2Gbps 北陸 Juniper MX PIM-R kote Juniper MX PIM-R kote Juniper MX PIM-R 堂島 Juniper MX PIM-R note Juniper MX PIM-R kamuee PIM-R 北陸StarBED 映像サーバ kote21F QG70 x 8 KAIT RP:192.168.255.2 192.168.166.0/24 .2 .10 vlan40 Vlan1124(QG向けにuntag) 192.168.124.0/24 .10 .x 192.168.164.0/24 vlan39 .6 .10 192.168.116.0/24 .1 vlan1116 .x PIM PIM IGMP IGMP 51.2Gbps 51.2Gbps 8
  9. Copyright © NTT Communications Corporation. All rights reserved. n  0.002%程度パケロスする。負荷、パケットサイズ、継続時間

    は関係なさそう。コア数(RSS)は関係ありそう。 n  testpmd でも 0.001〜0.006%程度パケロスした n  Mellanox の性能公開資料では、ゼロパケロスで90Gbpsとか ⾔っている •  →同⼀カード(別ポート)折り返し •  PCIeスロットが同じ・⼀つ n  kamueeでも同⼀カードではパケロスしない可能性 n  イベント等はこれで乗り切る n  サーバーメーカーと密に開発し、解決する パケロス問題(on-goingな問題・推測) 9
  10. Copyright © NTT Communications Corporation. All rights reserved. n  FPGA

    IPsecアクセラレータ(他社、DPDK対応)と協⼒動作 n  armアーキテクチャへのポーティング、CCIX利⽤ n  NFV、クラウド上ルータ利⽤、local 5G n  機能拡張(NAT、FW、MPLS、、、) n  フィールド利⽤(研究系、学術系、コストダウン) n  poptrie利⽤許諾 n  kamueeベースのミドルボックス開発 将来案件 10
  11. Copyright © NTT Communications Corporation. All rights reserved. n  kamuee共同研究契約

    n  バイナリは debian pkg (apt install 可能) n  ソースコード提供も可能です n  kamuee ユーザイベント: 11/6(⽔)終⽇ •  参加申込締切:10/31(⽊) n  [email protected] 共同研究は歓迎です 11