Submit Search
DPDK QoS
6 likes
2,487 views
Masaru Oki
DPDK QoS design and implementation.
Technology
Read more
1 of 11
Download now
Downloaded 21 times
1
2
3
4
5
6
7
8
9
10
11
More Related Content
PDF
BGP Unnumbered で遊んでみた
akira6592
PDF
NETCONFとYANGの話
Masakazu Asama
PPTX
FD.io VPP事始め
tetsusat
PDF
CXL_説明_公開用.pdf
Yasunori Goto
PPTX
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
PPTX
VPP事始め
npsg
PDF
Multi Chassis LAG for Cloud builders
Juniper Networks (日本)
BGP Unnumbered で遊んでみた
akira6592
NETCONFとYANGの話
Masakazu Asama
FD.io VPP事始め
tetsusat
CXL_説明_公開用.pdf
Yasunori Goto
AVX-512(フォーマット)詳解
MITSUNARI Shigeo
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
VPP事始め
npsg
Multi Chassis LAG for Cloud builders
Juniper Networks (日本)
What's hot
(20)
PDF
TCAMのしくみ
ogatay
PDF
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
ODP
Dpdk performance
Stephen Hemminger
PDF
Dpdk pmd
Masaru Oki
PPT
整数列圧縮
JAVA DM
PDF
大規模DCのネットワークデザイン
Masayuki Kobayashi
PDF
Ethernetの受信処理
Takuya ASADA
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
ODP
eBPF maps 101
SUSE Labs Taipei
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
PDF
AbemaTVの動画配信を支えるサーバーサイドシステム
yuichiro nakazawa
PPTX
「おうちクラウド」が今熱い!
Hirotaka Sato
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
PPTX
Linux Network Stack
Adrien Mahieux
PDF
Building Network Functions with eBPF & BCC
Kernel TLV
PDF
AS45679 on FreeBSD
Tomocha Potter
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
PDF
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
PDF
12 分くらいで知るLuaVM
Yuki Tamura
PPTX
冬のLock free祭り safe
Kumazaki Hiroki
TCAMのしくみ
ogatay
RHEL7/CentOS7 NetworkManager徹底入門
Etsuji Nakai
Dpdk performance
Stephen Hemminger
Dpdk pmd
Masaru Oki
整数列圧縮
JAVA DM
大規模DCのネットワークデザイン
Masayuki Kobayashi
Ethernetの受信処理
Takuya ASADA
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Hironobu Suzuki
eBPF maps 101
SUSE Labs Taipei
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
AbemaTVの動画配信を支えるサーバーサイドシステム
yuichiro nakazawa
「おうちクラウド」が今熱い!
Hirotaka Sato
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Linux Network Stack
Adrien Mahieux
Building Network Functions with eBPF & BCC
Kernel TLV
AS45679 on FreeBSD
Tomocha Potter
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
Magnum IO GPUDirect Storage 最新情報
NVIDIA Japan
12 分くらいで知るLuaVM
Yuki Tamura
冬のLock free祭り safe
Kumazaki Hiroki
Ad
Viewers also liked
(20)
PDF
Dpdk環境の話
Masaru Oki
PPTX
apps of nanotech
KARTHICK JAGA
PDF
Cuaderno caligrafia anaya 2
mjrivasmedina
PPT
8 Campaign Tactics if I am a 2016 Presidentiable
Jose Radin Garduque
PPT
8 Colorful Ideas for My Country (The Filipino Youth)
Jose Radin Garduque
PPTX
Thailand (Socio-Cultural Setting)
Jose Radin Garduque
PPTX
Myanmar: Political Setting
Jose Radin Garduque
PPTX
Vietnam: Socio-Cultural Setting
Jose Radin Garduque
PPTX
bls
Andretam
PPTX
Cambodia
Jose Radin Garduque
PDF
Lagopus on small arm board
Masaru Oki
PPTX
Singapore: Political Setting
Jose Radin Garduque
PPT
Philippine Civil War Theories
Jose Radin Garduque
PPTX
The One Who Deserves (Silent Protest)
Jose Radin Garduque
PPTX
cgfh
Andretam
PPTX
Dracula presentation with answers ok
alexteacherproa
PPTX
Thailand (Political Setting)
Jose Radin Garduque
PPT
PARADIGMAS URBANOS. Guía sitio 2016
Arquitectura Civil
PPTX
Indonesia: Socio-Cultural Setting
Jose Radin Garduque
DOCX
Bao cao thuc_tap
Tan Do
Dpdk環境の話
Masaru Oki
apps of nanotech
KARTHICK JAGA
Cuaderno caligrafia anaya 2
mjrivasmedina
8 Campaign Tactics if I am a 2016 Presidentiable
Jose Radin Garduque
8 Colorful Ideas for My Country (The Filipino Youth)
Jose Radin Garduque
Thailand (Socio-Cultural Setting)
Jose Radin Garduque
Myanmar: Political Setting
Jose Radin Garduque
Vietnam: Socio-Cultural Setting
Jose Radin Garduque
bls
Andretam
Cambodia
Jose Radin Garduque
Lagopus on small arm board
Masaru Oki
Singapore: Political Setting
Jose Radin Garduque
Philippine Civil War Theories
Jose Radin Garduque
The One Who Deserves (Silent Protest)
Jose Radin Garduque
cgfh
Andretam
Dracula presentation with answers ok
alexteacherproa
Thailand (Political Setting)
Jose Radin Garduque
PARADIGMAS URBANOS. Guía sitio 2016
Arquitectura Civil
Indonesia: Socio-Cultural Setting
Jose Radin Garduque
Bao cao thuc_tap
Tan Do
Ad
Similar to DPDK QoS
(20)
PDF
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
PDF
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
PPT
20140310 fpgax
funadasatoshi
PDF
about Eucalyptus (20121026) NII
Osamu Habuka
PDF
Fpga local 20130322
Takefumi MIYOSHI
PPTX
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
JUNICHI YOSHISE
PDF
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
PDF
近頃のDockerネットワーク
Yuji Oshima
PDF
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
SEGADevTech
PDF
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
PDF
FPGA+SoC+Linux実践勉強会資料
一路 川染
PDF
retrobsd-2012-JUL-07 at JNUG BSD BoF
たけおか しょうぞう
PDF
Bossan dentoo
kubo39
PDF
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
PDF
TCP connectionの保存と復元
mittyorz
PDF
High speed-pc-router 201505
ykuga
PDF
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
PDF
Lagopus + DockerのDPDK接続
Tomoya Hibi
PDF
Lagopus Router v19.07.1
Tomoya Hibi
PDF
Apache cloudstack4.0インストール
Yasuhiro Arai
DPDKを用いたネットワークスタック,高性能通信基盤開発
slankdev
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
20140310 fpgax
funadasatoshi
about Eucalyptus (20121026) NII
Osamu Habuka
Fpga local 20130322
Takefumi MIYOSHI
Cloud Foundry as Containerized Services - Cloud Foundry Days Tokyo 2016
JUNICHI YOSHISE
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
VirtualTech Japan Inc.
近頃のDockerネットワーク
Yuji Oshima
CEDEC 2025 『ゲームにおけるリアルタイム通信への QUIC導入事例の紹介』
SEGADevTech
Docker技術情報アップデート v1.9 ネットワークとオーケストレーション
Masahito Zembutsu
FPGA+SoC+Linux実践勉強会資料
一路 川染
retrobsd-2012-JUL-07 at JNUG BSD BoF
たけおか しょうぞう
Bossan dentoo
kubo39
GPUを用いたSSLリバースプロキシの実装についての論文を読んだ
y_uuki
TCP connectionの保存と復元
mittyorz
High speed-pc-router 201505
ykuga
Hydrogen → Helium での Linux kernel の違い
Masakazu Asama
Lagopus + DockerのDPDK接続
Tomoya Hibi
Lagopus Router v19.07.1
Tomoya Hibi
Apache cloudstack4.0インストール
Yasuhiro Arai
More from Masaru Oki
(20)
PDF
NetBSD移植の昔話
Masaru Oki
PDF
Rust-DPDK
Masaru Oki
PDF
Rust-DPDK
Masaru Oki
PDF
Lagopusとvagrant
Masaru Oki
PDF
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
PDF
Onieで遊んでみようとした話
Masaru Oki
PDF
GPD WINが来た!
Masaru Oki
PDF
新生Lagopus2017(仮称)
Masaru Oki
PDF
Lagopus as open flow hybrid switch 実践編
Masaru Oki
PDF
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
PDF
Lagopus どれだけ速いのか
Masaru Oki
PDF
Lagopus 0.2.7
Masaru Oki
PDF
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
PDF
Lagopus match improvements
Masaru Oki
PDF
Lagopus 0.2.4
Masaru Oki
PDF
Open flow tunnel extension on lagopus vswitch
Masaru Oki
PDF
Lagopus as open flow hybrid switch
Masaru Oki
PDF
Net bsd advent calendar 2015 bpf
Masaru Oki
PDF
Using rump on NetBSD 7.0
Masaru Oki
NetBSD移植の昔話
Masaru Oki
Rust-DPDK
Masaru Oki
Rust-DPDK
Masaru Oki
Lagopusとvagrant
Masaru Oki
OpenFlowでいろんなプロトコルを 話そうとするとどうなるか
Masaru Oki
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
Onieで遊んでみようとした話
Masaru Oki
GPD WINが来た!
Masaru Oki
新生Lagopus2017(仮称)
Masaru Oki
Lagopus as open flow hybrid switch 実践編
Masaru Oki
LagopusでPPPoEを使えるか考えてみた件
Masaru Oki
Lagopus どれだけ速いのか
Masaru Oki
Lagopus 0.2.7
Masaru Oki
Ryu+Lagopusで OpenFlowの動きを見てみよう
Masaru Oki
Lagopus match improvements
Masaru Oki
Lagopus 0.2.4
Masaru Oki
Open flow tunnel extension on lagopus vswitch
Masaru Oki
Lagopus as open flow hybrid switch
Masaru Oki
Net bsd advent calendar 2015 bpf
Masaru Oki
Using rump on NetBSD 7.0
Masaru Oki
DPDK QoS
1.
DPDK QoS May 17,
2015 Masaru OKI @masaru0714
2.
● Linux上で動く、高速なパケットI/O処理を実現するためのライブラリ。 ○ C言語で書かれている。C++からも呼び出し可能。 ○
特定のEthrenetポートを「DPDK専用」に切り替えて送受信する。 ○ 特定のCPU(コア/スレッド)を「DPDK専用」として動作させる。 ○ 受信パケットの単純転送で、10GbEワイヤーレートが出せる。 ○ メモリープール管理やロックレスリングバッファなどの機能も提供。 ○ ネットワークスタックは含まない。 ● Intelが開発し、現在はhttp://dpdk.org/ にて開発が続いている。 ● 2015年5月時点での最新バージョンはv2.0.0 ● BSD Licenseで公開されている。 About DPDK
3.
main() { rte_mbuf *array[size];
/* パケット受信用バッファ */ init(); /* もろもろ初期化 */ for (;;) { rte_eth_rx_burst(0, 0, array, size); /* API: portid 0のパケットを受信 */ rte_eth_tx_burst(1, 0, array, size); /* API: パケットをportid 1に送信 */ } } 「パケットを受信」「データをパケットとして送信」がAPIになっているので呼び出す。 複数ポートを処理する場合はこれらを並べるか、スレッドを分けて並列に動かす。 DPDKのプログラム
4.
QoS: Quality of
Service (サービス品質) 通信パケットをすべて均等に扱うのではなく、種類や宛先、通信量等の 種類により流量を加減したり優先度を変えるなど、通信内容にに対して 要求される通信品質を適切に確保する技術および実装。 DPDKで提供されているQoSの実装は2つある。 ● qos_meter: メータリング(パケットを流量によって3段階に色分けする) ● qos_sched: スケジューリング(優先度等によるパケットの並べ替え) DPDKのQoS
5.
RFCに基づく2種類のメータリングAPIが用意されている。 ● RFC2697 srtcm
(Single Rate Three Color Meter) ● RFC2698 trtcm (Two Rate Three Color Meter) 使い方 経過時間(Time Stamp Counterの値)とともにパケットをパラメータに与え てrte_meter APIを呼び出すと、3種類のcolorのどれに相当するかが返っ てくる。(パラメータ詳細はRFCやDPDKのドキュメントを参照) ○ GREEN ○ YELLOW ○ RED ユーザプログラムはcolorに応じて処理をする。(REDはdropするなど) DPDK QoS (meter)
6.
階層化スケジューラが用意されている。 ● あらかじめEthernetポートを論理的に分割しておく。 ● 分割単位は階層化されている。 ●
ユーザプログラムは受信パケットに対して分割単位の情報を書き込む ● スケジューラは分割単位の優先度などに応じてパケットを並べ替える。 ● スケジューラはキューを持っていて、あふれたパケットはdropされる。 階層は下記となっている。 1. Port 2. Subport 3. Pipe 4. Traffic Class 5. Queue DPDK QoS (sched)
7.
● Port ○ Ethernetポート。複数ポートの優先順位は均等。 ●
Subport ○ Portを単数あるいは複数に分割したもの。 ○ それぞれ転送レートを指定できる。 ● Pipe ○ Subportを単数あるいは複数に分割したもの。帯域は等分される。 ● Traffic class ○ Pipeを流れるパケットを優先度別にクラスわけする。4クラス固定。 ● Queue ○ Pipeを流れるパケットをキューイングする最小単位。 ○ Traffic classごとに4固定。Weighted Round Robin(WRR)でdequeueされる。 QoS(sched)の各階層
8.
4キュー 4クラス 図にするとこう sched_port subport 0 subport
1 subport 2 pipe 2pipe 1pipe 0 pipe 0 pipe 1 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 任意の帯域 pipe 1pipe 0subportを等分割
9.
1. 準備 1.1. rte_eth_dev_configure()等でポートの使用準備 1.2.
rte_sched_port_config() 1.3. rte_sched_subport_config() 1.4. rte_sched_pipe_config() 2. 送受信 2.1. rte_eth_rx_burst()でパケット受信 2.2. rte_sched_port_pkt_write() 2.3. rte_sched_port_enqueue() 2.4. rte_sched_port_dequeue() 2.5. rte_eth_tx_burst()でパケット送信 使い方
10.
1. rte_sched_*_config あらかじめスケジューリングの階層パラメータを設定 2. rte_sched_port_pkt_write パケットをどのキューに入れるか情報を書き込み 3.
rte_sched_port_enqueue キューイングすると 4. rte_sched_port_dequeue スケジューリング設定に応じた順序でパケットを取り出せる。 大雑把な解説
11.
4キュー 4クラス rte_sched_port_pkt_write() subport 0 subport
1 subport 2 pipe 2pipe 1pipe 0 pipe 0 pipe 1 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3 tc0 tc1 tc2 tc3q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 q0 q1 q2 q3 任意の帯域 pipe 1pipe 0subportを等分割 パケットをどのキューに書き込むかを具体的に指定。 sched_port
Download