Building a Single-Box
100 Gbps Software Router
Sangjin Han, Keon Jang, KyoungSoo Park, Sue Moon
KAIST
In IEEE Workshop on Local and Metropolitan Area
Networks, 2010
id:y_uuki / @y_uuk1
1
PacketShader: a GPU-accelerated Software Router
Sangjin Han, Keon Jang, KyoungSoo Park and Sue Moon.
In proceedings of ACM SIGCOMM 2010, Delhi, India.
September 2010
SSLShader: Cheap SSL Acceleration
with Commodity Processors
Keon Jang, Sangjin Han, Seungyeop Han, Sue Moon, and
KyoungSoo Park.
In proceedings of USENIX NSDI 2011, Boston, MA, March
同じ研究グループの論文
2
Ⅰ. Introduction
3
Introduction
$ ソフトウェアルータは柔軟なパケット処理のための魅力
的なプラットフォームである
$ 初期のルータは汎用コンピュータで構築されていた
$ 90年代後半から10Gbpsの高品質ルータや特殊なハー
ドウェアが台頭
$ 最近のPCハードウェアを用いたソフトウェアルータが
コストパフォーマンスの面で競争
$ マルチコアCPU,高帯域幅NIC,高速なCPU-メモリ間のイ
ンターコネクトおよびシステムバスなど
$ RouteBricksのような実験的なソフトウェアルータ
(8.33 Gbps)
4
Introduction
$ 現在もしくは予測可能な未来の技術でSingle Boxソフ
トウェアルータの性能をどれくらいだせるのか?
$ 予測されるハードルをまとめ,単一のx86マシンで100
Gbpsのスループットを達成する計画をたてた
5
Ⅱ. Opportunities and
Challenges
6
高性能ハードウェアアーキテクチャ
$ 近年のIntelとAMDのアーキテクチャ改良
$ マルチコア・プロセッサ
$ 各コアに対して平等に大きなメモリ帯域幅を提供するCPUに
統合されたメモリコントローラ
$ 10 Gbps NICのような周辺機器に高速に接続するPCI
Express
$ Intel QuickPath Interconnect(QPI)やAMD
HyperTransportのようなpoint to pointインターコネクトに
より互いに接続されたマルチCPUソケット
$ これらのリソースを効果的に活用する高性能ソフトウェ
アルータを構築する となる
7
ルータのハードウェア構成例
$ NUMA: CPUごとにローカルなメモリをもつアーキテクチャ
$ IOH(I/Oハブ): NICやストレージとの接続
2 NUMA nodes
10G
x
6
8
パフォーマンスボトルネック
$ 前述のルータアーキテクチャにおけるパフォーマンスボ
トルネックを考察する
$ 以下の観点からボトルネックを考察
$ CPU サイクル
$ I/O 帯域幅
$ メモリ帯域幅
9
CPUサイクル
$ モダンなNICは,各CPUコアに対して独立したパケット
キューをもつため,CPUコア数に対してスケールする
$ しかし,小さなパケットではパケットフォワーディング
のようなper-packet処理が支配的となる
$ 10Gbps環境では,マルチコアCPUでさえ,per-
packet処理のコストは深刻である
10
CPUサイクル
$ RouteBricksでは,NIC portから別のNIC portにフォ
ワードするために,1,299 CPUサイクル必要
$ もし最小のパケットサイズ(64Bytes)で100Gbps
(146M pps) を達成しようとすると,277GHz CPUサ
イクル必要
$ 最新のIntel X7560 CPU(2.26GHz x 8コア) x 4 CPU
ソケットでさえ,合計サイクルは72.3GHz程度であり,
4倍の性能が必要
11
CPUサイクル
$ per-packet処理のオーバヘッドを改善できるか?
$ さらなる性能向上のために以下を提案
$ パケットバッファの動的確保をやめて,固定バッファを使う
$ 強制的なキャッシュミスを防ぐために,パケットデータを
ディスクリプタごしにprefetch (?)
$ cache bouncingを最小化して,CPUコア間の誤ったキャッ
シュの共有を削減 [6]
$ これらの最適化によりper-packet処理のオーバヘッド
を1/6まで削減 [4]
$ 必要なCPUサイクル数が 277GHz ➔ 30GHzとなり,
現在のCPUでも達成可能
$ パケットI/O以外の処理はFPGAやGPUにオフロード
12
I/O帯域幅
$ NICから受信したパケットはPCIeリンク,IOHs,QPI
リンク,最終的にメモリバスを通る
$ そのあと,CPUがメモリアクセスによりパケットを処
理し,逆順にパケットを送信する
$ NIC CPUのパケットデータパスにおけるボトルネッ
クを調査
13
I/O帯域幅 - PCIe
$ 現在の10GbE NICは1つまたは2つのポートをもち,ホ
ストインタフェースとしてPCIe x8
$ PCIe 2.0は1レーンあたり双方向で4Gbps, x8で
32Gbps
$ 100 Gbpsを達成するためには,少なくとも5個のx8
スロットが必要
$ 単一のIntel 5520または7500 IOHは4つまでのx8ス
ロットしかサポートしてない
$ したがって,マザボード上に2つのIOHが必要
$ Super Micro Computer s X8DAH+-Fを使用
$ 4つのPCIe 2.0 x8スロットと2つのx16スロットをもつ
14
I/O帯域幅 - QuickPath Interconnect
$ QPIリンクは4つの役割がある
$ ① CPUソケット to CPUソケット
$ ② IOH to IOH
$ ③ CPU to IOH
$ 各QPIリンクは双方向で102.4 Gbps
$ 最悪のシナリオは全パケットが片方のIOHで受信され,
もう片方のIOHにフォワーディングされることである
$ ②,③について片方向のリンク(50Gbps)しか使えない
$ リンク①については,各パケットが同じノードのCPUで
処理されて,NICがパケットを同じノードのメモリにコ
ピーする限り問題ない
①
②
③③
15
I/O帯域幅 - 計測手法
$ 8つの2ポートNICのうち,半分をパケットジェネレータ
に使い,半分を評価に使う
$ 評価のために2つのシステムを使う
$ 2個のCPUソケットと2個のIOHをもつサーバ
$ 1個のCPUソケットと1個のIOHをもつデスクトップ
$ デスクトップは3個のPCIeスロットをもち,2つはNIC,もう1つは
グラフィックカード
$ I/O帯域幅を正確に測定し,ボトルネックを明らかにす
るために3種類の構成で実験する
16
I/O帯域幅 - 計測手法(構成1)
送信スループット
は50Gbpsで抑え
られる
受信スループット
は30Gbps
フォワーディング
は20Gbps
17
I/O帯域幅 - 計測手法(構成2)
送信スループットは
80Gbps(理論最大値)
受信/フォワーディン
グは60/40Gbps.
構成1の2倍
2CPUソケット/2IOH
構成では100Gbpsは
達成できない
node-crossingでもか
わらないので,QPIリ
ンクがボトルネックで
はない
18
I/O帯域幅 - 計測手法(構成3)
送受信ともにスループットは2個のNIC
での最大スループットである40Gbps
送信と受信のスループット差の原因
は何か?
構成1,2での受信スループットの低下
は,2個のCPUソケットよりも2個の
IOHが原因
フォワーディング性能が
送信/受信性能より低い
メモリボトルネックによ
り制限されている(次ペー
ジ)
19
メモリ帯域幅
$ フォワーディングは様々なメモリアクセスを伴う
$ 100Gbpsトラフィックをフォワーディングするための
メモリ帯域幅は少なくとも400Gbps必要
$ NICとメモリ間の100Gbps転送
$ メモリとCPU間の100Gbps転送
$ 送信と受信で双方向必要なので2倍
$ 各パケットごとに16バイトのread/writeメモリアクセ
スが発生
$ さらにパケット長に依存してメモリバスに負荷がかかる
400 Gbps
20
メモリ帯域幅
$ p20で送信/受信性能よりもフォワーディング性能が低
い理由はメモリ帯域幅が不足しているため
$ フォワーディングに要するCPU利用率は100%である
$ より大きなメモリ帯域幅を得るために,メモリオーバクロッ
クするとフォワーディング性能が送信/受信性能に近くなった
$ 実験ではDDR3 1,333MHzのトリプルチャンネル使用
$ 1個のCPUに対して最大帯域幅の理論値は256Gbps,測定値
は143.2Gbps
$ 100Gbpsのフォワーディングには各ノードに200Gbps必要
なので143.2Gbpsでは足りない
$ メモリ帯域幅の向上手法としてノードの増加がある
$ NUMAではリモートメモリへのアクセスが高価なの
で,データ配置に気をつける必要がある
21
Ⅲ. Discussion and
Future Work
22
Discussion and Future Work
$ 現在の技術で100Gbpsルータの実現可能性について述
べた
$ 我々は現在のPCアーキテクチャにおける2つの主要な
ボトルネックを明らかにした
$ CPUサイクル
$ 最適化技術によりper-packet処理のオーバヘッドを削減し,FPGA
やGPUにより計算サイクルを増幅する
$ I/O帯域幅
$ IOハブのチップセットとマルチIOハブの構成の改良,およびマルチ
CPUソケットに対するより大きなメモリバンド幅が,ボトルネック
を軽減する
23
$ p.3 By Googling, we find that ...
24

More Related Content

PDF
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
PDF
2015/04/27 IT概覧~IoTまでの流れ~
PDF
クラウド時代のネットワーク再入門
PPTX
Mqttで始めるIoT
PDF
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
PDF
5分で分かるBig Switch Networks
PDF
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
PPTX
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)
YAPC::Asia2014 - O2O/IoT/Wearable時代におけるWeb以外のネットワーク技術入門
2015/04/27 IT概覧~IoTまでの流れ~
クラウド時代のネットワーク再入門
Mqttで始めるIoT
仮想ルータを使ったスイッチレス・サーバクラスタリングの考察
5分で分かるBig Switch Networks
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
M-6 MQTTの使いどころ (JJUG CCC 2015 Spring)

What's hot (20)

PDF
[WIP] ネットワーク仮想化における仮想ネットワークインターフェイス冗長化の考察
PDF
Juniper Festa @ Interop Tokyo 2016
PDF
ShowNet2021 Security_parapara
PDF
コモディティL3SW/ルータでオープンなSDNを実現しよう
PDF
2016年11月19日 AITCシニア技術者勉強会 第1回「1からはじめるIoT ~IoTまでの歴史~」
PDF
KubeCon China & MWC Shangai 出張報告
PDF
IoT時代を支えるプロトコルMQTT技術詳解
PPTX
Pkiシステムの運用
PDF
Build secure io t gateway
PDF
大規模なスイッチレス・サーバクラスタリング構築運用の考察
PDF
Secure element for IoT device
PDF
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_backbone_l2l3
PDF
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_backbone_l2l3
PDF
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
PDF
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
PDF
Rescale で Singularity を使ってみよう!
PDF
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた  Market Research about Linux users on...
PPTX
#qpstudy 2015.11 20分でわかるPKI
PPTX
20160320 BLE4.2勉強会 MakerLab Nagoya
PDF
IoTタグで遊んでみよう
[WIP] ネットワーク仮想化における仮想ネットワークインターフェイス冗長化の考察
Juniper Festa @ Interop Tokyo 2016
ShowNet2021 Security_parapara
コモディティL3SW/ルータでオープンなSDNを実現しよう
2016年11月19日 AITCシニア技術者勉強会 第1回「1からはじめるIoT ~IoTまでの歴史~」
KubeCon China & MWC Shangai 出張報告
IoT時代を支えるプロトコルMQTT技術詳解
Pkiシステムの運用
Build secure io t gateway
大規模なスイッチレス・サーバクラスタリング構築運用の考察
Secure element for IoT device
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_backbone_l2l3
ShowNetにおけるバックボーン設計と運用について語る_ShowNet2021_conf_mini_3_backbone_l2l3
Big Cloud Fabric製品紹介とOpenStack Neutron Plugin 実装概要
2021年度ShowNetの作り方・コンセプトと設計思想_ShowNet2021 seminar
Rescale で Singularity を使ってみよう!
OSC名古屋2015をネタにLinuxユーザの マーケットリサーチを試してみた  Market Research about Linux users on...
#qpstudy 2015.11 20分でわかるPKI
20160320 BLE4.2勉強会 MakerLab Nagoya
IoTタグで遊んでみよう
Ad

Viewers also liked (20)

PDF
High speed-pc-router 201505
PDF
Lagopus Switch Usecases
PDF
πολλαπλασιασμοι ενοτητα 11
PDF
あなたの知らないネットワークプログラミングの世界
PDF
とある帽子の大蛇料理Ⅱ
PPTX
Bish Bash Bosh & Co
PDF
User-space Network Processing
PDF
xv6のコンテキストスイッチを読む
PDF
デバドラを書いてみよう!
PDF
I/O仮想化最前線〜ネットワークI/Oを中心に〜
PDF
x86とコンテキストスイッチ
PDF
Disruptive IP Networking with Intel DPDK on Linux
PDF
クラウド環境におけるキャッシュメモリQoS制御の評価
PDF
DPDKを拡張してみた話し
PDF
Xeon dとlagopusと、pktgen dpdk
PDF
Dpdk環境の話
PDF
Lagopus performance
PDF
Lagopus どれだけ速いのか
KEY
Intel 82599 10GbE Controllerで遊ぼう
PDF
10GbE時代のネットワークI/O高速化
High speed-pc-router 201505
Lagopus Switch Usecases
πολλαπλασιασμοι ενοτητα 11
あなたの知らないネットワークプログラミングの世界
とある帽子の大蛇料理Ⅱ
Bish Bash Bosh & Co
User-space Network Processing
xv6のコンテキストスイッチを読む
デバドラを書いてみよう!
I/O仮想化最前線〜ネットワークI/Oを中心に〜
x86とコンテキストスイッチ
Disruptive IP Networking with Intel DPDK on Linux
クラウド環境におけるキャッシュメモリQoS制御の評価
DPDKを拡張してみた話し
Xeon dとlagopusと、pktgen dpdk
Dpdk環境の話
Lagopus performance
Lagopus どれだけ速いのか
Intel 82599 10GbE Controllerで遊ぼう
10GbE時代のネットワークI/O高速化
Ad

Similar to 100Gbpsソフトウェアルータの実現可能性に関する論文 (20)

KEY
Packetshader: A GPU-accelerated Software Routerを読んだ
PDF
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
PDF
EthernetやCPUなどの話
PDF
Fpga local 20130322
PDF
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
PDF
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
PDF
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
PDF
SDN Japan: ovs-hw
PDF
L2 over L3 ecnaspsulations
PDF
データ爆発時代のネットワークインフラ
PPTX
2012 1203-researchers-cafe
PPTX
NW-DIY で開拓したい社会
PDF
JOSUG 9th Study
PDF
NSDI16_reading
PDF
【A-1】AIを支えるGPUコンピューティングの今
PDF
GTC Japan 2017
PDF
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
PDF
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
PDF
GTC 2020 発表内容まとめ
PDF
GTC 2020 発表内容まとめ
Packetshader: A GPU-accelerated Software Routerを読んだ
[D20] 高速Software Switch/Router 開発から得られた高性能ソフトウェアルータ・スイッチ活用の知見 (July Tech Fest...
EthernetやCPUなどの話
Fpga local 20130322
高速ネットワーク最新動向と具体例 (ENOG58 Meeting)
巨大ポータルを支えるプライベート・クラウド構築事例から学べ!~攻める情シスのためのインフラ構築、その極意とは?~
動的ネットワークパス構築と連携したエッジオーバレイ帯域制御
SDN Japan: ovs-hw
L2 over L3 ecnaspsulations
データ爆発時代のネットワークインフラ
2012 1203-researchers-cafe
NW-DIY で開拓したい社会
JOSUG 9th Study
NSDI16_reading
【A-1】AIを支えるGPUコンピューティングの今
GTC Japan 2017
2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
【旧版】2009/12/10 GPUコンピューティングの現状とスーパーコンピューティングの未来
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ

100Gbpsソフトウェアルータの実現可能性に関する論文