p4の現状と展望...2019/10/11 · p4の現状と展望~そして我々にできること~...
TRANSCRIPT
日本 P4 ユーザ会 2019
P4の現状と展望そして我々にできること
海老澤健太郎トヨタ自動車株式会社
Toyota Motor Corporationhttps://p4users.org/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 Users Japan ??
研究&発明をする人
プラットフォームを作る人(デバイス・基礎ソフト)
使いやすい製品にする人
紹介・販売をする人
技術提供をする人(システム構築&サポート)
サービス・アプリケーションを作る人
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 Users Japan ??
研究&発明をする人
プラットフォームを作る人(デバイス・基礎ソフト)
使いやすい製品にする人
紹介・販売をする人
技術提供をする人(システム構築&サポート)
サービス・アプリケーションを作る人
エコシステムを構成している人々すべて
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
本日のプログラム
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4とは?
パーサー(ヘッダ解析)
パケット処理パイプライン
キュー(QoS)パケット書換
ProcessLogic
MatchTable
ProcessLogic
MatchTable
ProcessLogic
MatchTable
SwitchDataplane
データプレーンの挙動をプログラムできる言語
パーサー(ヘッダ解析)マッチテーブル (レイアウト・メモリ配分)
アクション(処理内容)
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
データプレーンをプログラマブルにする目的
新しいプロトコルのサポート(ex: VxLAN)新しい領域への適応(ex: GTP, SFC)
パケットへの情報の埋め込み独自ヘッダの定義(ex: Telemetry, OAM)
新しいアプリケーション・機能の実装
ASIC改修には1.5~3年程度必要
スケーラビリティ向上(リソース適正配置)
汎用なACLマッチテーブル(数千ルール)↓
特定フィールドのExact Match(~数百万ルール)
1種類のハードウェアで複数のユースケースに対応
ユースケースに合わせたリソースの配分
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
「ボトムアップ」から 「トップダウン」へ
"How We Might Get Humans Out of the Way - Keynote by Nick McKeown", ONF Connect 2019https://www.opennetworking.org/onf-connect-2019-resources/
https://www.opennetworking.org/wp-content/uploads/2019/09/Connect-2019-Nick-McKeown.pdf
スイッチで実現したい機能⇒ ASICの機能ASIC の機能⇒スイッチが実現可能な機能
日本 P4 ユーザ会 2019
P4の歴史
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
APIの標準化・コントロールプレーンとの連携
ONS 2018, "Tutorial: P4 and P4Runtime Technical Introduction and Use Cases for Service Providers"https://events.linuxfoundation.org/wp-content/uploads/2017/12/Tutorial-P4-and-P4Runtime-Technical-Introduction-and-Use-Cases-for-Service-Providers-Carmelo-Cascone-Open-Networking-Foundation.pdf
https://p4.org/specs/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 で記述できないスイッチ機能へのアクセスP4の記述と同期して動作する必要がある設定・統計の管理(Port ID, Stats etc.)
P4Runtime provides a flexible mechanism for configuring the forwarding pipeline on a network switch.gNMI is a framework for network device management that uses gRPC as the transport mechanism.
Open Sourced on 2019年9月10日https://github.com/stratum/stratum
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on Fixed Function Switch ASIC
機械可読(API自動生成可能)なネットワーク挙動を記述する契約としてP4を利用
ONF Connect 2019 "P4 on FPM Switches with Stratum"https://www.opennetworking.org/wp-content/uploads/2019/09/3.30pm-Max-Pudelko-Stratum-FPM-Compiler.pdf
SDKLT is used to program fixed-pipeline switches using the Tomahawk chip from Broadcom.
日本 P4 ユーザ会 2019
ターゲットとプラットフォーム
• P4で記述したプログラムが動作する環境(チップ・エミュレーター)
• P4を利用できるプラットフォーム
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019
NPUSwitch ASIC FPGA CPU
処理性能(スループット)
ターゲット(チップ・エミュレーター)
コンパイラ
P4の現状と展望~そして我々にできること~
ターゲット(P4 Target)P4 で記述したプログラムが動作する環境(チップ・エミュレーター)
xx Tbps
Barefoot (Intel)
xxx Gbps x Gbps
Xilinx, Intel
P4 Studio P4-SDNet (Xilinx)
Netcope NP4
xx Gbps
Netronome
Agilio P4C SDK p4lang/p4c
(BMv2, eBPF)
日本 P4 ユーザ会 2019
NPUSwitch ASIC FPGA CPU
処理性能(スループット)
ターゲット(チップ・エミュレーター)
Ethernet Switch高性能
P4の現状と展望~そして我々にできること~
ターゲット(P4 Target)P4 で記述したプログラムが動作する環境(チップ・エミュレーター)
xx Tbps
Barefoot (Intel)
xxx Gbps x Gbps
Xilinx, Intel
xx Gbps
Netronome (BMv2, eBPF)
SmartNIC高性能 + 拡張性
Server VM/CT拡張性・仮想環境
プラットフォーム種別
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on ODM Ethernet Switch (Tofino)
https://barefootnetworks.com/partners/
様々なハードウェア構成のスイッチ
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
Tahoe 2624
24 ports of 100G/40G QSFP28& 20 ports of 25G/10G SFP 28
Two Rear-Facing I/Os SupportingPowerful XEON-D Offload I/O
Xilinx Virtex UltraScale FPGA I/O
Tahoe 2860
32 ports of QSFP28
Control plane processor optionsx86 and Power PC
Data plane processors optionsMIPS and Power PC
注:参考情報です。現在の仕様は各メーカーにお問い合わせ下さい
Edge-Core: https://www.edge-core.com/productsInfo.php?cls=1&cls2=180&cls3=181&id=335 | Interface Masters: https://interfacemasters.com/products/switch-appliances/
Wedge100BF-32X/65X
32/65 x QSFP28 ports
CPU ModulesIntel x86 Broadwell-DE
Pentium D-1517
Memory (RAM)4/8/16 GB SO-DIMM DDR4
Storage32 GB M.2 SSD
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
STORDIS BF2556X-1T
STORDIS BF6064X-T
注:参考情報です。現在の仕様は各メーカーにお問い合わせ下さい
STORDIS: https://www.stordis.com/products/stordis-bf6064x-t/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on Fixed Function Switch ASIC
ONF Connect 2019, "Stratum Overview & Update"https://www.opennetworking.org/wp-content/uploads/2019/09/2.00pm-Brian-OConnor-Stratum.pdf
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on Vendor Switch
詳細は各社から午後のセッションで
既存ネットワーク機器(OS)でのP4サポート
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on SmartNIC (FPGA/NPU)NetFPGA-SUME Virtex-7 FPGA Development Board
注:参考情報です。現在の仕様は各メーカーにお問い合わせ下さい
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 on CPUBMv2
https://github.com/p4lang/behavioral-model
Stratum Tutorials: Container of BMv2 + Stratumhttps://github.com/stratum/tutorial
P4 to eBPF compilerhttps://github.com/p4lang/p4c/tree/master/backends/ebpf
日本 P4 ユーザ会 2019
P4は何に利用できるのか?
• P4を用いたプロトタイプ開発
• P4を活用したユースケースの実現• ユースケースを実現する手段としてのP4の活用
• 製品やソリューションの1部
• ユーザーは P4を意識する必要が無い利用方法
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4を用いたプロトタイプ開発
IETF 104 Hackathon @Prague, Czechp4srv6 ... proto-typing SRv6 functions with P4 lang
https://github.com/ebiken/p4srv6/blob/master/demo/srv6/demo1-SRv6MobileUplane-dropin.md
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4を活用したユースケースの実現
• ロードバランサー、パケットブローカー、INT(遅延測定)など• コントローラー(CyberMapper)を通じ REST APIで操作• OpenFlow や P4 Runtimeを用いたアクセスも可能
https://noviflow.com/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4を活用したユースケースの実現
• Programmable Spine / Leaf Switchを利用した "Software Defined Fabric"• サーバーの仮想スイッチと連携し ASICへとオフロード• 低遅延や拡張性を実現
https://www.kaloom.com/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4を活用したユースケースの実現
"Using Programmable Chip and Open Source SW Toward Disaggregated Network Packet Broker and 5G UPF“, P4 Workshop, May 1st, 2019
• "Prism Controller" を用い P4で作ったデータプレーンを管理• モバイルプロトコル(GTP)にも対応• Network Packet Broker (NPB), 5G UPF (with N4 interface)
http://www.kulcloud.com/
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
「ボトムアップ」から 「トップダウン」へ
"How We Might Get Humans Out of the Way - Keynote by Nick McKeown", ONF Connect 2019https://www.opennetworking.org/onf-connect-2019-resources/
https://www.opennetworking.org/wp-content/uploads/2019/09/Connect-2019-Nick-McKeown.pdf
ASIC の機能⇒スイッチが実現可能な機能 スイッチで実現したい機能⇒ ASICの機能
実現可能なユースケースの数
トップダウンの力
日本 P4 ユーザ会 2019
P4 コミュニティの広がり
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
https://p4.org/events/
本家 P4 Workshop@Stanford, California
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
2018年9月
2019年3月
2019年9月
2019年10月
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
P4 @ IETF Hackathon
https://datatracker.ietf.org/rg/coinrg/about/
https://p4.org/events/2019-07-20-ietf105/
日本 P4 ユーザ会 2019
日本でのP4の広まり
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
Internet Week 2017https://www.nic.ad.jp/iw2017/program/b3/
https://www.slideshare.net/kentaroebisawa/p4alu-arithmetic-logic-unit-in-p4
BoFやユーザー会での活動
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
https://www.janog.gr.jp/meeting/janog42/program/SP-P4
BoFやユーザー会での活動
2018年7月12日
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
講演企業Barefoot NetworksNet One Systems
P4.org AristaCisco
Apresia & EdgecoreKaloom Software
P4 Workshop 2018 in Tokyo【データプレーンプログラミングの世界】
主催:P4.org、Barefoot Networks、ネットワンシステムズ株式会社(協賛)
2018年10月23日当日の風景|参加者100名以上
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
「日本 P4 ユーザ会」
2019年6月28日
https://p4users.org/committee-members/
日本 P4 ユーザ会 2019
P4の現状と展望
P4の現状と展望~そして我々にできること~
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
基礎研究(リサーチ)
言語とツールチェーン(P4-16, Stratum, 各社SDK)
多様なプラットフォーム(ASIC, FPGA, NPU, CPU)
商用製品(Appliance, NOS)インテグレーション・サポート
ユースケース&プロトタイプ
ツールチェーンの改善
フレームワーク
研究領域の拡大(In Network Computing)
Open Source NOS商用製品の利用と成熟
販売チャネルの拡大国内外コミュニティの交流
人材育成
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
基礎研究(リサーチ)
言語とツールチェーン(P4-16, Stratum, 各社SDK)
多様なプラットフォーム(ASIC, FPGA, NPU, CPU)
商用製品(Appliance, NOS)インテグレーション・サポート
ユースケース&プロトタイプ
ツールチェーンの改善
フレームワーク
研究領域の拡大(In Network Computing)
Open Source NOS商用製品の利用と成熟
販売チャネルの拡大国内外コミュニティの交流
人材育成
自分ができること
やりたいこと
日本 P4 ユーザ会 2019P4の現状と展望~そして我々にできること~
本日のプログラム
システムインテグレーター
コミュニティ
リサーチ
ユーザー(狭義の)
テクノロジープロバイダー