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

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

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

Linux Foundation Japan
PRO

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コミュニケーションズ株式会社
    技術開発部
    ⼩原泰弘

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  6. Copyright © NTT Communications Corporation. All rights reserved.
    n  圧縮されたマルチウェイトライ(bitmap 利⽤)
    n  60万経路が 3MB に。(CPUキャッシュに乗る)
    n  200Mlps程度を達成
    n  ACM SIGCOMM'15

    n  NTTコミュニケーションズが特許を保有
    n  稀にPoptrie構築に20〜30分かかるバグを修正(回避)
    n  /24 200万経路で動作を確認、400万では壊れた(実装不具合)
    n  構築は60万経路で約5秒、200万で約12秒
    n  構築時間はさらに改良可能
    Poptrie(ポップトライ)
    6

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide