SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
FPGA SmartNICによる
サービスメッシュの効率化
東京工業大学 坂本龍一
2022/12/13 ACRi ウェビナー 1
Process
マイクロサービス
• 近年のWeb開発では、開発の効率化、開発サイクルの
短縮化、運用コストの削減、安全な運用が求められる
⇒マイクロサービスによる開発が普及
• マイクロサービスの概要
• 1 つのアプリケーションを複数の小さなサービスに分割
• サービスごとに開発を行うことで開発の効率化
• 各サービス間はTCP/IPを用いて疎に結合
• マイクロサービスの問題点
• 分散システムの効率的な管理
• デバッグ、異常検知、負荷分散、etc..
• サービスと独立して分散ネットワークを管理する仕組みが必要
2022/12/13 ACRi ウェビナー 2
Service
B
Service
C
Network
service
A
Process Process
サービスメッシュの概要
• 分散システムにおけるネットワーク制御に関する課題を解決
• マイクロサービスにおけるサービス間の通信をサービスと独立して制御する
ための仕組み
• サービスに対して透過的にトラフィックを制御
• サービス開発者が意識する必要がない
• 実現方法
• プロキシサーバーによるネットワークの仮想化
• 全てのサービスに対してリクエストを中継するプロキシを挿入
• サービスの通信は必ずプロキシを経由し他のサービスと通信
• プロキシ内で任意のトラフィック制御を実行
• 用途
• オートスケール、分散トレーシング、カナリアリリース、A/Bテスト
2022/12/13 ACRi ウェビナー 3
service service
Proxy
Network Switch
Proxy
service
Proxy
コントロール
プレーン
データープレーン
サービスメッシュの構成
• データプレーンとコントロールプレーン
• データプレーン
• 各サービスに接続されたプロキシサーバー、プ
ロキシサーバー群を接続するネットワーク
• 各プロキシサーバーはコントロールプレーンの
指示に指示に従い、トラフィック制御を実行
• コントロールプレーン
• データプレーンのプロキシ群を一元管理
service service
Proxy
Network Switch
Proxy
service
Proxy
controller
2022/12/13 ACRi ウェビナー 4
Pod
サービスメッシュの実装・応用例
• Envoy: サービスメッシュのデータプレーン実装
• プロキシサーバーとして各コンテナに接続
• フィルターによるトラフィック制御
• L3/L4/L7フィルタ:様々な機能を持つプラグイン
• 任意のフィルターを設計・実行可能
• 応用例
• Istio分散トレーシング
• サービス間をまたぐリクエストの流れをトレース
• 問題分析、性能分析が可能となる
• データプレーンにEnvoyを利用
2022/12/13 ACRi ウェビナー 5
コントロール
プレーン
データープレーン
service service
Envoy
Network Switch
Envoy
service
Envoy
Istio
Pod
サービスメッシュの
Node内ネットワーク構成と問題点
• 多数のブリッジを経由し外部ネットワークと接続
• 多数のプロトコルスタックを経由
• 応答性能の悪化
• CPU負荷の増加
2022/12/13 ACRi ウェビナー 6
app
loopback
Envoy
veth
veth
tcp/ip
socket
tcp/ip
ethernet
socket
tcp/ip
ethernet
socket
tcp/ip
ethernet
ethernet
ethernet
App Pod
Node
eth0
サービスメッシュによる応答性能悪化
• サービスメッシュが応答遅延に与える影響を調査
• サービスメッシュを用いたIstio分散トレーシング
• Deathstar benchmark, Social Network の応答性のを計測
• SNSサービスを模擬
• 分散トレーシングを行うことによって応答性能が81%悪化
Social Media:
38 services
Hardware:
CPU: Xeon Gold 6312U 24cores
Num. of Nodes : 4 nodes
Network: 10Gbe
2022/12/13 ACRi ウェビナー 7
SmartNICによるサービス
メッシュの効率化
• 研究目標
• マイクロサービスの応答時間の短縮
• SmartNICデータプレーン
• プロキシ処理、TCP処理をSmarNICへ集約
• L7/L4フィルター処理
• TCP処理
-> 応答性能を改善
• 課題
• フルスタックでの実装
• TOEを隠ぺいするソフトウェアスタック
• 性能・柔軟性を担保するSmartNICデザイン
2022/12/13 ACRi ウェビナー 8
app
loopback
Envoy
veth
veth
tcp/ip
socket
tcp/ip
ethernet
socket
tcp/ip
ethernet
socket
tcp/ip
ethernet
ethernet
ethernet
App Pod
Node
eth0
app
loopback
socket
Bridge for TOE
App Pod
Node
eth0
eth
SmartNIC Filter
TCP offload engine
SmartNICデータプレーン
(この図が提案)
socket
TOEを隠ぺいするソフトウェア
• 課題:
• SmartNIC向けライブラリを用いる場合、アプリの修正が必要
✖ 公開コンテナイメージの利用ができない
• ループバックインタフェース経由で外部と接続することで、コンテナ
イメージの修正を避ける
✖ループバックに1往復分のTCP処理が必要
• 解決策
• ループバックインタフェースを利用しつつLinuxが提供するネットワー
クスタックバイパス機能を利用
• eBPF (extended berkeley packet filter)のsockmapとredirect
2022/12/13 ACRi ウェビナー 9
eBPFによるプロトコルスタックのバイパス
• eBPFとは
• カーネルの様々な動作をユーザーランドから
制御するための仕組み
• 軽量VMがカーネル内で動作
• ユーザーが生成したプログラムを軽量VMで実行
• 様々なトリガーポインタが定義されている
• System call / Network stack
• sockmapとredirectを用いた
ローカルホスト内TCP通信のバイパス
• sockmap : TCP通信時にトリガ
• redirect : 通信先をリダイレクト
• プロトコルスタックをバイパスし、直接通信
2022/12/13 ACRi ウェビナー 10
app
loopback
socket
Bridge for TOE
App Pod
Node
SmartNIC
tcp/ip
ethernet
tcp/ip
ethernet
socket
eth0
eth
Filter
TCP offload engine
関連技術 Cilium(スリィアム)
• eBPFを用いて軽量にパケット処理や通
信制御を行うネットワークミドルウェア
• ネットワークスタックのバイパス
• カーネル内での通信制御
• Iptableの簡略化
• Envoyとの連携
2022/12/13 ACRi ウェビナー 11
app
socket
Envoy
App Pod
Node
socket
eth0
tcp/ip
ethernet
socket
Cilium
FPGA SmarNICの課題
• フィルター実行
• ストリームデータが届き次第、即時フィルターを実行できる機構
• 高速なフィルターの選択実行
• プロトコルやクライアントに応じてフィルターを選択
• フィルター処理を動的にロード、アップデートが可能であること
• データセンターの性能要求に柔軟に対応できるSmarNIC構成
• データセンタごとに要求性能が異なるため、要求に応じでSmartNICの構成
を変更できることが望ましい
• 最大セッション数、最大スループット、最大IP数
2022/12/13 ACRi ウェビナー 12
FPGA SmartNICデザイン
• ソフトコアプロセッサによるフィルター実行
• ソフトコアプロセッサのプログラムとしてフィル
ター処理を実行
• FPGAの再合成を行うことなく、フィルターを更新
• マルチコアによる性能スケール
• ハードウェアパターンマッチによるフィルタ選択
• パターンマッチによりフィルターを高速に選択
• スケーラブルなハードウェア構成
• TOE数、ネットワークプロセッサ数、NICインタ
フェース数をパラメターとして合成可能とすること
で、様々な性能要件に柔軟に対応
L4
Processor
MAC
TCP stack
Stream IF
Virtual NIC
MAC
TCP stack
MAC
TOE stack
L4
Processor
Network
Processor
Service
Service
Service
Stream IF
Virtual NIC
Service
Service
Service
Filter
selector
Parameterized
Num. of vNICs
Num. of L4 Proc.
Num. of TOEs/IF
Programable Proc.
Socket API
compatible
Load balancing
by lockup
Translates stateful
TCP pkts to stream
data
2022/12/13 ACRi ウェビナー 13
Service
SOCKET like
APIs
Container
Service
Userland proxy bridge
Loopback IF
Service
Loopback IF
システムの全体構成
• Userland proxy bridge
• ユーザーアプリのネットワーク要求をハンド
リング
• コントロールプレーンと連携しSmartNICを
制御
• eBPF
• loopback IF部のTCP処理をバイパス
• Virtual NIC
• PCIe SR-IOV virtualizationによって1つの
SmartNICを複数のSmartNICに見せかける
• Network Processors
• L4やL7に関するフィルター処理を実行
• Filter selector
• TOEから到着する複数のセッションを適切に
ネットワークプロセッサに割当
14
FPGA
PCIe SR-IOV engine
Linux
vNIC
Device Driver
Switch
TCP Offload
Engine(TOE)
10G MAC
Network
Processor
Filter selector
Network
Processor
Network
Processor
TCP Offload
Engine(TOE)
10G MAC
Network
Processor
Filter selector
Network
Processor
Network
Processor
controller
2022/12/13 ACRi ウェビナー
Service
SOCKET like
APIs
Container
Service
Userland proxy bridge
Loopback IF
Service
Loopback IF
vNIC
Device Driver
eBPF
Userland Proxy Bridge
• コンテナとSmartNIC間の橋渡し
• Loopbackインタフェースを経由しコン
テナの通信要求をプロキシ
• SmarNIC外部との通信をプロキシ
• コンテナからの通信開始要求フック
• connect / listenをeBPFでフック
• コントローラ連携
• SmartNICのフィルター設定
• コンテナのアドレスやポートの設定
• SmartNIC制御
• listen/connect/close
• フィルター選択設定
2022/12/13 ACRi ウェビナー 15
SNIC Thread
Egress thread
Ingress thread
Listen thread
Service
SmartNIC
Service
Service
Userland
proxy
eBPF
Hook
connect /
listen
Connect thread
controller
FPGA SmartNIC実装
Processor
TCP Offload Engine
PCIe SR-IOV engine
/ Xilinx QDMA
(Multi queue DMA)
SFP+(10Gbe)
DDR4
Filter
selector
IP splitter
10G MAC
ARP
ICMP
Processor
Processor
Processor
MUX
256Gbps
(PCIe Gen4 x 16)
80Gbps
(512bit@156.25Mhz)
10Gbps
(64bit@156.25Mhz)
5Gbps
(32bit@156.25Mhz)
Processor
DMAC
Stream
to SRAM
DMAC
SRAM to
Stream
SRAM
SRAM
Microblaze
(Xilinx
Softcore)
ctrl
2022/12/13 ACRi ウェビナー 16
X86
• MAC層
• 10Gbe sfp+
• IP層
• ICMP / ARP
• TCP層(TOE)
• Filter selector
• 宛先コアの決定
• ソフトコアプロ
セッサ
• フィルタ処理
• Microblaze
• PCIe Bridge
使用しているリソース
• OSS
• TOE(高位合成)
• Vitis with 100 Gbps TCP/IP Network Stack
• https://github.com/fpgasystems/Vitis_with_100Gbps_TCP-IP
• BSD 3-Clause License(要確認)
• 100Gbe NICリファレンスデザイン(HDL)
• open-nic-shell
• https://github.com/Xilinx/open-nic-shell
• Apache-2.0 license
• 10Gbe MAC(HDL)
• xg_mac
• https://github.com/fixstars/xg_mac
• BSD 3-Clause License
• ソフトプロセッサコア
• MicroBlaze 32 ビット RISC 型のマイクロプロセッサ コア
2022/9/16 SmartNICによるサービスメッシュの効率化 17
TOEインタフェース
• TOE:Vitis with 100 Gbps TCP/IP Network Stack
• マルチセッションをサポートするTOE engine
• 100Gbe, 1000セッション(Default)
TCP/IP Offload Engine
Client logic
(Connect)
Server logic
(Listen)
Send / Receive
CAM
Buffer (DDR)
Splitter / mixer
100G MAC
UDP
ARP ICMP USER
OpenConection
(IP,
Port)
OpenConStatus
(Error,
SessionID)
CloseConnection
(SessionID)
TxMetaData
(Session,
size)
TxStatus
(Free
size,
Error)
TxData
Notification
(Session,
size)
ReadRequest
(Session,
size)
RxMetaData
(Size/Session)
RxData
ListenPortReq
(Port)
ListenPortResp
(Status)
NewClient
(Session
ID)
512
512
※太い線は512bit
Filter selector
• TOEから到着したストリームデータの転送先を決定
• Lookup Tableを参照
• Session ID、DestPort、SrcIPがキー
• 新しいストリームデータが到着した際は参照が失敗
• SmartNIC内の制御ソフトコアに問い合わせ
• 宛先(コア番号、x86等)をストリームデータに挿入
• 後段のスイッチで分離し宛先に送信
• 実装
• 512bit幅
• Vivado hlsで高位合成
2022/12/13 ACRi ウェビナー 19
Filter selector
Lookup Table
-sessionID
-Port
-SrcIP
From TOE
Softcore / x86
Management
softcore
初期参照ミス
100Gbe NICリファレンスデザイン(HDL)
2022/12/13 ACRi ウェビナー 20
• Alveoシリーズをベースとした100Gbe NICデザイン
• NICデザイン
• デバイスドライバ
• ユーザーロジック
• @250MHz PCIe側
• @322MHz 100G MAC側
• 今回のSmartNICデザインに利用
• Virtual NIC機能
• OSに対し複数のNICとしてふるまう
• QDMAの利用
• Scatter Gather DMA
OpenNIC(https://github.com/Xilinx/open-nic)
評価
• 基本的なネットワーク性能を評価
• 現在コントロールプレーン、オーケストレーション連携部は未実装
• シンプルなネットワークアプリ
① 多数セッション環境下での実アプリ動作確認
② TOEへのオフロード効果
③ プロキシを1段導入した際の応答性能
• サーバー1台、クライアント1台で評価
• 複数サービス、マイクロサービスアプリ、コンテナでの評価は今後の課題
• ハードウェアの評価
• リソース量と消費電力
2022/12/13 ACRi ウェビナー 21
実験環境
• SmartNIC構成
• FPGAボード: Xilinx au200
• 外部インタフェース: 10Gbe
• TOE数: 1個
• ソフトコア数: 4個
• サーバー構成
• OS: Ubuntu 20.04
• CPU : Xeon Gold 6312U 24cores
• Network: Intel X710 10Gbe
2022/12/13 ACRi ウェビナー 22
①多数セッション環境下での実アプリ動
作確認
• SmartNICが乗ったサーバーにMQTTのブ
ローカーであるmosquittoをインストール
• 100クライアントがパブリッシュ
• クライアントは100スレッドを生成し、それぞ
れ1セッション
• データサイズは16バイト、900バイトの2パタン
• サブスクライバ1台を接続し、送信データ
が正しく受信できることを確認
• CPU負荷を比較
• SmarNICはIntel NICよりも負荷が高い
• eBPFを用いたバイパスしたほうが負荷が高い
• eBPF VM実行のオーバーヘッドと予想される
• データサイズが小さすぎる
2022/12/13 ACRi ウェビナー 23
②TOEへのオフロード効果(応答性能)
• 1クライアントの場合、Intel NICを利用する通常アプリが提案より高速
※SmartNIC内のSoftcoreの場合、0.1ms程度で応答可能
• 100クライアント512kbyte以上の場合、提案手法の応答性能が高速
• 提案手法の効果
client
2022/12/13 ACRi ウェビナー 24
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
tcp
toe(wo ebpf)
toe(w ebpf)
softcore
0
1
2
3
4
5
6
7
tcp
toe(wo ebpf)
toe(with ebpf)
• echoのみを行うアプリ
1client 100client
Response
Time
[ms]
Response
Time
[ms]
提案手法が4%-9%
程度高速
③プロキシを1段導入した際の応答性能
• トレースを行うことで応答時間が悪化
• 11%-68%悪化
• SmartNICでのトレース
• サイズが小さい場合(256K以下)、悪化
• サイズが大きい場合、応答性が改善
• 512K, 1Kの場合16%程度改善
2022/12/13
ACRi ウェビナー
25
1client 100client
echo
tcp/ip
Filter
client
logger
tcp/ip
ethernet
echo
Filter
client
logger
tcp/ip
ethernet
trace
trace SNIC
SNIC
• echo + 全データをトレースサーバーに転送
Response
Time
[ms]
Response
Time
[ms]
16%程度高速
今後 -> サイズを増やした評価
リソース量と消費電力
• AMD Alveo u200上に提案手法を実装
• ハードウェア構成:TOE 2個, ネットワークプロセッサ 8コア, vNIC数2個, sfp+2口
• リソースには余裕があるため、さらなる追加も可能
• 消費電力
• 常に18.2W程度
• 電流計がボードに乗ったAlpha Data ADM-PCIE-9V3(XCVU3P)に提案構成を移植し計測
• アプリを実行しても大きく変わらない
• Vivadoが出力するau200の見積消費電力も20W前後
リソース名 LUT LUTRAM FF BRAM URAM DSP
素子数(u200
に対する割合)
461,905
(39%)
29,863
(5%)
672,785
(28%)
1,139
(53%)
318
(33%)
42
(1%)
2022/12/13 ACRi ウェビナー 26
ボード上の電流計を利用
まとめ
• SmartNICを用いたサービスメッシュデータプレーンを提案
• 基本的な動作を確認
• 簡単なアプリにおいて応答時間を改善
• eBPF + 512Kbyte以上のデータ
• 今後
• 機能拡充
• コントロールプレーン実装
• k8sとの連携
• 評価の拡充
• コンテナでの評価、マイクロサービスをデプロイし評価
2022/9/16 SmartNICによるサービスメッシュの効率化 27

Contenu connexe

Tendances

Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことNVIDIA Japan
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介VirtualTech Japan Inc.
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向についてYasunori Goto
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラデータ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラNVIDIA Japan
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
 
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料直久 住川
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料直久 住川
 
Tensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャTensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャHitoshiSHINABE1
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)Yasunori Goto
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話Takanori Sejima
 
HPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなのHPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなのNVIDIA Japan
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?Mr. Vengineer
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編Fixstars Corporation
 

Tendances (20)

Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
 
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介OpenStackを使用したGPU仮想化IaaS環境 事例紹介
OpenStackを使用したGPU仮想化IaaS環境 事例紹介
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について不揮発メモリ(NVDIMM)とLinuxの対応動向について
不揮発メモリ(NVDIMM)とLinuxの対応動向について
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
データ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラデータ爆発時代のネットワークインフラ
データ爆発時代のネットワークインフラ
 
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43
 
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
 
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料
 
Tensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャTensorflow Liteの量子化アーキテクチャ
Tensorflow Liteの量子化アーキテクチャ
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
不揮発メモリ(NVDIMM)とLinuxの対応動向について(for comsys 2019 ver.)
 
EthernetやCPUなどの話
EthernetやCPUなどの話EthernetやCPUなどの話
EthernetやCPUなどの話
 
HPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなのHPC+AI ってよく聞くけど結局なんなの
HPC+AI ってよく聞くけど結局なんなの
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
 

Similaire à 第11回ACRiウェビナー_東工大/坂本先生ご講演資料

フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~Brocade
 
Open contrail days 2014 fall
Open contrail days 2014 fallOpen contrail days 2014 fall
Open contrail days 2014 fallDaisuke Nakajima
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Takao Setaka
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ Brocade
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppugMiya Kohno
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_finalKazumasa Ikuta
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseMikio Hirabayashi
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...Takuma Usui
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)Shinichiro Isago
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例erakazu
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてVirtualTech Japan Inc.
 
Wakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDNWakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDNaxsh co., LTD.
 
HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方Hiroshi Nakamura
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)Naoto MATSUMOTO
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPRyoga Saito
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌LINE Corporation
 
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?Brocade
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging順也 山口
 

Similaire à 第11回ACRiウェビナー_東工大/坂本先生ご講演資料 (20)

フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
 
Open contrail days 2014 fall
Open contrail days 2014 fallOpen contrail days 2014 fall
Open contrail days 2014 fall
 
Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版Microsoft tech fielders_cisco_20150126_配布版
Microsoft tech fielders_cisco_20150126_配布版
 
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~ データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
データセンター進化論:SDNは今オープンに ~攻めるITインフラにの絶対条件とは?~
 
Mk vpp for-containers-vppug
Mk vpp for-containers-vppugMk vpp for-containers-vppug
Mk vpp for-containers-vppug
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
Juniper Festa @ Interop Tokyo 2021
Juniper Festa @ Interop Tokyo 2021Juniper Festa @ Interop Tokyo 2021
Juniper Festa @ Interop Tokyo 2021
 
Kyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in JapaneseKyoto Tycoon Guide in Japanese
Kyoto Tycoon Guide in Japanese
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
WindowsAzureの長所を活かすクラウド アプリ開発(PDF版)
 
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
Armored core vのオンラインサービスにおけるクラウドサーバー活用事例
 
MEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについてMEC (Mobile Edge Computing) + GPUコンピューティングについて
MEC (Mobile Edge Computing) + GPUコンピューティングについて
 
Wakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDNWakame-vnet / Open Source Project for Virtual Network & SDN
Wakame-vnet / Open Source Project for Virtual Network & SDN
 
HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方
 
高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)高速ネットワーク技術と周辺動向(特別講義)
高速ネットワーク技術と周辺動向(特別講義)
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌大規模サービスを支えるネットワークインフラの全貌
大規模サービスを支えるネットワークインフラの全貌
 
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?
本当は恐いビッグデータとネットワークの深~い関係 ビッグデータ時代に耐えうるデータセンターとは?
 
NSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow LoggingNSG フローログを支える技術 - NVF Advanced Flow Logging
NSG フローログを支える技術 - NVF Advanced Flow Logging
 

Plus de 直久 住川

公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf直久 住川
 
ACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdfACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdf直久 住川
 
ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料直久 住川
 
DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料直久 住川
 
ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料直久 住川
 
VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料直久 住川
 
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdfAMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdf直久 住川
 
VCK5000_Webiner_Fixstars様ご講演資料
VCK5000_Webiner_Fixstars様ご講演資料VCK5000_Webiner_Fixstars様ご講演資料
VCK5000_Webiner_Fixstars様ご講演資料直久 住川
 
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料直久 住川
 
20220525_kobayashi.pdf
20220525_kobayashi.pdf20220525_kobayashi.pdf
20220525_kobayashi.pdf直久 住川
 
220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf直久 住川
 
2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf直久 住川
 
ACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdfACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdf直久 住川
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料直久 住川
 
ACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダ直久 住川
 
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...直久 住川
 
ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料直久 住川
 
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料ACRiウェビナー_ジーデップ・アドバンス様ご講演資料
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料直久 住川
 

Plus de 直久 住川 (20)

公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf
 
ACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdfACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdf
 
2022-12-17-room.pdf
2022-12-17-room.pdf2022-12-17-room.pdf
2022-12-17-room.pdf
 
ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料
 
DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料
 
ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料
 
VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料
 
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdfAMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
 
VCK5000_Webiner_Fixstars様ご講演資料
VCK5000_Webiner_Fixstars様ご講演資料VCK5000_Webiner_Fixstars様ご講演資料
VCK5000_Webiner_Fixstars様ご講演資料
 
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
 
20220525_kobayashi.pdf
20220525_kobayashi.pdf20220525_kobayashi.pdf
20220525_kobayashi.pdf
 
220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf
 
2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf
 
ACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdfACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdf
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
 
ACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダ
 
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
 
ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料ACRiウェビナー_GIGABYTE様ご講演資料
ACRiウェビナー_GIGABYTE様ご講演資料
 
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料ACRiウェビナー_ジーデップ・アドバンス様ご講演資料
ACRiウェビナー_ジーデップ・アドバンス様ご講演資料
 

第11回ACRiウェビナー_東工大/坂本先生ご講演資料

  • 2. Process マイクロサービス • 近年のWeb開発では、開発の効率化、開発サイクルの 短縮化、運用コストの削減、安全な運用が求められる ⇒マイクロサービスによる開発が普及 • マイクロサービスの概要 • 1 つのアプリケーションを複数の小さなサービスに分割 • サービスごとに開発を行うことで開発の効率化 • 各サービス間はTCP/IPを用いて疎に結合 • マイクロサービスの問題点 • 分散システムの効率的な管理 • デバッグ、異常検知、負荷分散、etc.. • サービスと独立して分散ネットワークを管理する仕組みが必要 2022/12/13 ACRi ウェビナー 2 Service B Service C Network service A Process Process
  • 3. サービスメッシュの概要 • 分散システムにおけるネットワーク制御に関する課題を解決 • マイクロサービスにおけるサービス間の通信をサービスと独立して制御する ための仕組み • サービスに対して透過的にトラフィックを制御 • サービス開発者が意識する必要がない • 実現方法 • プロキシサーバーによるネットワークの仮想化 • 全てのサービスに対してリクエストを中継するプロキシを挿入 • サービスの通信は必ずプロキシを経由し他のサービスと通信 • プロキシ内で任意のトラフィック制御を実行 • 用途 • オートスケール、分散トレーシング、カナリアリリース、A/Bテスト 2022/12/13 ACRi ウェビナー 3 service service Proxy Network Switch Proxy service Proxy
  • 4. コントロール プレーン データープレーン サービスメッシュの構成 • データプレーンとコントロールプレーン • データプレーン • 各サービスに接続されたプロキシサーバー、プ ロキシサーバー群を接続するネットワーク • 各プロキシサーバーはコントロールプレーンの 指示に指示に従い、トラフィック制御を実行 • コントロールプレーン • データプレーンのプロキシ群を一元管理 service service Proxy Network Switch Proxy service Proxy controller 2022/12/13 ACRi ウェビナー 4 Pod
  • 5. サービスメッシュの実装・応用例 • Envoy: サービスメッシュのデータプレーン実装 • プロキシサーバーとして各コンテナに接続 • フィルターによるトラフィック制御 • L3/L4/L7フィルタ:様々な機能を持つプラグイン • 任意のフィルターを設計・実行可能 • 応用例 • Istio分散トレーシング • サービス間をまたぐリクエストの流れをトレース • 問題分析、性能分析が可能となる • データプレーンにEnvoyを利用 2022/12/13 ACRi ウェビナー 5 コントロール プレーン データープレーン service service Envoy Network Switch Envoy service Envoy Istio Pod
  • 6. サービスメッシュの Node内ネットワーク構成と問題点 • 多数のブリッジを経由し外部ネットワークと接続 • 多数のプロトコルスタックを経由 • 応答性能の悪化 • CPU負荷の増加 2022/12/13 ACRi ウェビナー 6 app loopback Envoy veth veth tcp/ip socket tcp/ip ethernet socket tcp/ip ethernet socket tcp/ip ethernet ethernet ethernet App Pod Node eth0
  • 7. サービスメッシュによる応答性能悪化 • サービスメッシュが応答遅延に与える影響を調査 • サービスメッシュを用いたIstio分散トレーシング • Deathstar benchmark, Social Network の応答性のを計測 • SNSサービスを模擬 • 分散トレーシングを行うことによって応答性能が81%悪化 Social Media: 38 services Hardware: CPU: Xeon Gold 6312U 24cores Num. of Nodes : 4 nodes Network: 10Gbe 2022/12/13 ACRi ウェビナー 7
  • 8. SmartNICによるサービス メッシュの効率化 • 研究目標 • マイクロサービスの応答時間の短縮 • SmartNICデータプレーン • プロキシ処理、TCP処理をSmarNICへ集約 • L7/L4フィルター処理 • TCP処理 -> 応答性能を改善 • 課題 • フルスタックでの実装 • TOEを隠ぺいするソフトウェアスタック • 性能・柔軟性を担保するSmartNICデザイン 2022/12/13 ACRi ウェビナー 8 app loopback Envoy veth veth tcp/ip socket tcp/ip ethernet socket tcp/ip ethernet socket tcp/ip ethernet ethernet ethernet App Pod Node eth0 app loopback socket Bridge for TOE App Pod Node eth0 eth SmartNIC Filter TCP offload engine SmartNICデータプレーン (この図が提案) socket
  • 9. TOEを隠ぺいするソフトウェア • 課題: • SmartNIC向けライブラリを用いる場合、アプリの修正が必要 ✖ 公開コンテナイメージの利用ができない • ループバックインタフェース経由で外部と接続することで、コンテナ イメージの修正を避ける ✖ループバックに1往復分のTCP処理が必要 • 解決策 • ループバックインタフェースを利用しつつLinuxが提供するネットワー クスタックバイパス機能を利用 • eBPF (extended berkeley packet filter)のsockmapとredirect 2022/12/13 ACRi ウェビナー 9
  • 10. eBPFによるプロトコルスタックのバイパス • eBPFとは • カーネルの様々な動作をユーザーランドから 制御するための仕組み • 軽量VMがカーネル内で動作 • ユーザーが生成したプログラムを軽量VMで実行 • 様々なトリガーポインタが定義されている • System call / Network stack • sockmapとredirectを用いた ローカルホスト内TCP通信のバイパス • sockmap : TCP通信時にトリガ • redirect : 通信先をリダイレクト • プロトコルスタックをバイパスし、直接通信 2022/12/13 ACRi ウェビナー 10 app loopback socket Bridge for TOE App Pod Node SmartNIC tcp/ip ethernet tcp/ip ethernet socket eth0 eth Filter TCP offload engine
  • 11. 関連技術 Cilium(スリィアム) • eBPFを用いて軽量にパケット処理や通 信制御を行うネットワークミドルウェア • ネットワークスタックのバイパス • カーネル内での通信制御 • Iptableの簡略化 • Envoyとの連携 2022/12/13 ACRi ウェビナー 11 app socket Envoy App Pod Node socket eth0 tcp/ip ethernet socket Cilium
  • 12. FPGA SmarNICの課題 • フィルター実行 • ストリームデータが届き次第、即時フィルターを実行できる機構 • 高速なフィルターの選択実行 • プロトコルやクライアントに応じてフィルターを選択 • フィルター処理を動的にロード、アップデートが可能であること • データセンターの性能要求に柔軟に対応できるSmarNIC構成 • データセンタごとに要求性能が異なるため、要求に応じでSmartNICの構成 を変更できることが望ましい • 最大セッション数、最大スループット、最大IP数 2022/12/13 ACRi ウェビナー 12
  • 13. FPGA SmartNICデザイン • ソフトコアプロセッサによるフィルター実行 • ソフトコアプロセッサのプログラムとしてフィル ター処理を実行 • FPGAの再合成を行うことなく、フィルターを更新 • マルチコアによる性能スケール • ハードウェアパターンマッチによるフィルタ選択 • パターンマッチによりフィルターを高速に選択 • スケーラブルなハードウェア構成 • TOE数、ネットワークプロセッサ数、NICインタ フェース数をパラメターとして合成可能とすること で、様々な性能要件に柔軟に対応 L4 Processor MAC TCP stack Stream IF Virtual NIC MAC TCP stack MAC TOE stack L4 Processor Network Processor Service Service Service Stream IF Virtual NIC Service Service Service Filter selector Parameterized Num. of vNICs Num. of L4 Proc. Num. of TOEs/IF Programable Proc. Socket API compatible Load balancing by lockup Translates stateful TCP pkts to stream data 2022/12/13 ACRi ウェビナー 13
  • 14. Service SOCKET like APIs Container Service Userland proxy bridge Loopback IF Service Loopback IF システムの全体構成 • Userland proxy bridge • ユーザーアプリのネットワーク要求をハンド リング • コントロールプレーンと連携しSmartNICを 制御 • eBPF • loopback IF部のTCP処理をバイパス • Virtual NIC • PCIe SR-IOV virtualizationによって1つの SmartNICを複数のSmartNICに見せかける • Network Processors • L4やL7に関するフィルター処理を実行 • Filter selector • TOEから到着する複数のセッションを適切に ネットワークプロセッサに割当 14 FPGA PCIe SR-IOV engine Linux vNIC Device Driver Switch TCP Offload Engine(TOE) 10G MAC Network Processor Filter selector Network Processor Network Processor TCP Offload Engine(TOE) 10G MAC Network Processor Filter selector Network Processor Network Processor controller 2022/12/13 ACRi ウェビナー Service SOCKET like APIs Container Service Userland proxy bridge Loopback IF Service Loopback IF vNIC Device Driver eBPF
  • 15. Userland Proxy Bridge • コンテナとSmartNIC間の橋渡し • Loopbackインタフェースを経由しコン テナの通信要求をプロキシ • SmarNIC外部との通信をプロキシ • コンテナからの通信開始要求フック • connect / listenをeBPFでフック • コントローラ連携 • SmartNICのフィルター設定 • コンテナのアドレスやポートの設定 • SmartNIC制御 • listen/connect/close • フィルター選択設定 2022/12/13 ACRi ウェビナー 15 SNIC Thread Egress thread Ingress thread Listen thread Service SmartNIC Service Service Userland proxy eBPF Hook connect / listen Connect thread controller
  • 16. FPGA SmartNIC実装 Processor TCP Offload Engine PCIe SR-IOV engine / Xilinx QDMA (Multi queue DMA) SFP+(10Gbe) DDR4 Filter selector IP splitter 10G MAC ARP ICMP Processor Processor Processor MUX 256Gbps (PCIe Gen4 x 16) 80Gbps (512bit@156.25Mhz) 10Gbps (64bit@156.25Mhz) 5Gbps (32bit@156.25Mhz) Processor DMAC Stream to SRAM DMAC SRAM to Stream SRAM SRAM Microblaze (Xilinx Softcore) ctrl 2022/12/13 ACRi ウェビナー 16 X86 • MAC層 • 10Gbe sfp+ • IP層 • ICMP / ARP • TCP層(TOE) • Filter selector • 宛先コアの決定 • ソフトコアプロ セッサ • フィルタ処理 • Microblaze • PCIe Bridge
  • 17. 使用しているリソース • OSS • TOE(高位合成) • Vitis with 100 Gbps TCP/IP Network Stack • https://github.com/fpgasystems/Vitis_with_100Gbps_TCP-IP • BSD 3-Clause License(要確認) • 100Gbe NICリファレンスデザイン(HDL) • open-nic-shell • https://github.com/Xilinx/open-nic-shell • Apache-2.0 license • 10Gbe MAC(HDL) • xg_mac • https://github.com/fixstars/xg_mac • BSD 3-Clause License • ソフトプロセッサコア • MicroBlaze 32 ビット RISC 型のマイクロプロセッサ コア 2022/9/16 SmartNICによるサービスメッシュの効率化 17
  • 18. TOEインタフェース • TOE:Vitis with 100 Gbps TCP/IP Network Stack • マルチセッションをサポートするTOE engine • 100Gbe, 1000セッション(Default) TCP/IP Offload Engine Client logic (Connect) Server logic (Listen) Send / Receive CAM Buffer (DDR) Splitter / mixer 100G MAC UDP ARP ICMP USER OpenConection (IP, Port) OpenConStatus (Error, SessionID) CloseConnection (SessionID) TxMetaData (Session, size) TxStatus (Free size, Error) TxData Notification (Session, size) ReadRequest (Session, size) RxMetaData (Size/Session) RxData ListenPortReq (Port) ListenPortResp (Status) NewClient (Session ID) 512 512 ※太い線は512bit
  • 19. Filter selector • TOEから到着したストリームデータの転送先を決定 • Lookup Tableを参照 • Session ID、DestPort、SrcIPがキー • 新しいストリームデータが到着した際は参照が失敗 • SmartNIC内の制御ソフトコアに問い合わせ • 宛先(コア番号、x86等)をストリームデータに挿入 • 後段のスイッチで分離し宛先に送信 • 実装 • 512bit幅 • Vivado hlsで高位合成 2022/12/13 ACRi ウェビナー 19 Filter selector Lookup Table -sessionID -Port -SrcIP From TOE Softcore / x86 Management softcore 初期参照ミス
  • 20. 100Gbe NICリファレンスデザイン(HDL) 2022/12/13 ACRi ウェビナー 20 • Alveoシリーズをベースとした100Gbe NICデザイン • NICデザイン • デバイスドライバ • ユーザーロジック • @250MHz PCIe側 • @322MHz 100G MAC側 • 今回のSmartNICデザインに利用 • Virtual NIC機能 • OSに対し複数のNICとしてふるまう • QDMAの利用 • Scatter Gather DMA OpenNIC(https://github.com/Xilinx/open-nic)
  • 21. 評価 • 基本的なネットワーク性能を評価 • 現在コントロールプレーン、オーケストレーション連携部は未実装 • シンプルなネットワークアプリ ① 多数セッション環境下での実アプリ動作確認 ② TOEへのオフロード効果 ③ プロキシを1段導入した際の応答性能 • サーバー1台、クライアント1台で評価 • 複数サービス、マイクロサービスアプリ、コンテナでの評価は今後の課題 • ハードウェアの評価 • リソース量と消費電力 2022/12/13 ACRi ウェビナー 21
  • 22. 実験環境 • SmartNIC構成 • FPGAボード: Xilinx au200 • 外部インタフェース: 10Gbe • TOE数: 1個 • ソフトコア数: 4個 • サーバー構成 • OS: Ubuntu 20.04 • CPU : Xeon Gold 6312U 24cores • Network: Intel X710 10Gbe 2022/12/13 ACRi ウェビナー 22
  • 23. ①多数セッション環境下での実アプリ動 作確認 • SmartNICが乗ったサーバーにMQTTのブ ローカーであるmosquittoをインストール • 100クライアントがパブリッシュ • クライアントは100スレッドを生成し、それぞ れ1セッション • データサイズは16バイト、900バイトの2パタン • サブスクライバ1台を接続し、送信データ が正しく受信できることを確認 • CPU負荷を比較 • SmarNICはIntel NICよりも負荷が高い • eBPFを用いたバイパスしたほうが負荷が高い • eBPF VM実行のオーバーヘッドと予想される • データサイズが小さすぎる 2022/12/13 ACRi ウェビナー 23
  • 24. ②TOEへのオフロード効果(応答性能) • 1クライアントの場合、Intel NICを利用する通常アプリが提案より高速 ※SmartNIC内のSoftcoreの場合、0.1ms程度で応答可能 • 100クライアント512kbyte以上の場合、提案手法の応答性能が高速 • 提案手法の効果 client 2022/12/13 ACRi ウェビナー 24 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 tcp toe(wo ebpf) toe(w ebpf) softcore 0 1 2 3 4 5 6 7 tcp toe(wo ebpf) toe(with ebpf) • echoのみを行うアプリ 1client 100client Response Time [ms] Response Time [ms] 提案手法が4%-9% 程度高速
  • 25. ③プロキシを1段導入した際の応答性能 • トレースを行うことで応答時間が悪化 • 11%-68%悪化 • SmartNICでのトレース • サイズが小さい場合(256K以下)、悪化 • サイズが大きい場合、応答性が改善 • 512K, 1Kの場合16%程度改善 2022/12/13 ACRi ウェビナー 25 1client 100client echo tcp/ip Filter client logger tcp/ip ethernet echo Filter client logger tcp/ip ethernet trace trace SNIC SNIC • echo + 全データをトレースサーバーに転送 Response Time [ms] Response Time [ms] 16%程度高速 今後 -> サイズを増やした評価
  • 26. リソース量と消費電力 • AMD Alveo u200上に提案手法を実装 • ハードウェア構成:TOE 2個, ネットワークプロセッサ 8コア, vNIC数2個, sfp+2口 • リソースには余裕があるため、さらなる追加も可能 • 消費電力 • 常に18.2W程度 • 電流計がボードに乗ったAlpha Data ADM-PCIE-9V3(XCVU3P)に提案構成を移植し計測 • アプリを実行しても大きく変わらない • Vivadoが出力するau200の見積消費電力も20W前後 リソース名 LUT LUTRAM FF BRAM URAM DSP 素子数(u200 に対する割合) 461,905 (39%) 29,863 (5%) 672,785 (28%) 1,139 (53%) 318 (33%) 42 (1%) 2022/12/13 ACRi ウェビナー 26 ボード上の電流計を利用
  • 27. まとめ • SmartNICを用いたサービスメッシュデータプレーンを提案 • 基本的な動作を確認 • 簡単なアプリにおいて応答時間を改善 • eBPF + 512Kbyte以上のデータ • 今後 • 機能拡充 • コントロールプレーン実装 • k8sとの連携 • 評価の拡充 • コンテナでの評価、マイクロサービスをデプロイし評価 2022/9/16 SmartNICによるサービスメッシュの効率化 27