20
ネットワークの利用効率を 高めるソフトウェア PSPacer 産総研グリッド研究センター/ 株式会社アックス 高野了成 2005年11月25日 CELF Japan Technical Jamboree #5

ネットワークの利用効率を 高めるソフトウェアPSPacer

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ネットワークの利用効率を 高めるソフトウェアPSPacer

ネットワークの利用効率を高めるソフトウェア PSPacer

産総研グリッド研究センター/

株式会社アックス 高野了成

2005年11月25日 CELF Japan Technical Jamboree #5

Page 2: ネットワークの利用効率を 高めるソフトウェアPSPacer

ネットワークを効率よく使うには?

� 正確な帯域制御(ペーシング)が必要である

� ストリーミング通信,高遅延環境でのTCP/IP通信

平均 500Mbps →→→→

平均 500Mbps →→→→

平均 500Mbps →

平均 500Mbps →

1Gbps

1Gbps

破棄

ビフォー

アフター安定

(前回のネタ振りカードより)

Page 3: ネットワークの利用効率を 高めるソフトウェアPSPacer

発表の流れ

� ペーシングとは?

� 既存の帯域制御方式の問題点

� ギャップパケットの提案

� PSPacerの実装

� 実験結果

� まとめ

Page 4: ネットワークの利用効率を 高めるソフトウェアPSPacer

ベルトコンベアーのたとえ

� ネットワーク回線 = ベルトコンベアー

� パケット = 荷物

1Gbps→

1Gbps

1Gbps→

500Mbps

パケットを間引く=送信レートを下げる

Page 5: ネットワークの利用効率を 高めるソフトウェアPSPacer

平均送信レートとバースト性

� 平均送信レートは同じでも…

1Gbps→

1Gbps→

500Mbps

500Mbps

バースト送信バースト性大

バースト性小

Page 6: ネットワークの利用効率を 高めるソフトウェアPSPacer

バースト送信が重なると…

� 500Mbps+500Mbpsが1Gbpsにならない!?

� 一時的に利用可能帯域を超過する

� パケットロスの可能性

1Gbps→

1Gbps→

1Gbps→

500Mbps

500Mbps

Page 7: ネットワークの利用効率を 高めるソフトウェアPSPacer

1Gbps→

ペーシングとは?

� パケット送信間隔を均一に送信する

� 最小限のバッファで十分

� キューイング遅延が小さい

� 正確なパケット送信間隔制御が必要

1Gbps→

1Gbps→

500Mbps

500Mbps

Page 8: ネットワークの利用効率を 高めるソフトウェアPSPacer

既存方式の問題点(1)

� トークンバケット方式による帯域制御では,「送信レート/HZ」のバースト送信が発生する

� パラメータの設定も面倒

ペーシング

トークンバケット方式 1ms

120us

GbEで100Mbpsに帯域制限した場合 (HZ=1000)

Page 9: ネットワークの利用効率を 高めるソフトウェアPSPacer

既存方式の問題点(2)

� 正確な帯域制御には高解像度のタイマが必要

� GbEにおける1パケットの送信時間=12μ秒

� タイマ割込みを細粒度にするとオーバヘッド大

� 専用ハードウェアを利用する(負け)

� 発想の転換

� タイマ割込みを使わない方法はないか?

Page 10: ネットワークの利用効率を 高めるソフトウェアPSPacer

� 実パケット間にギャップパケットというダミーのパケットを送信する� 送信レートを500Mbpsにするなら…

ギャップパケット(1)

1Gbps→

1Gbps

Page 11: ネットワークの利用効率を 高めるソフトウェアPSPacer

ギャップパケット(2)

� PAUSEフレーム(IEEE 802.3x)を利用

� スイッチ/ルータの入力ポートで破棄されるので,外部ネットワークへの影響はない

� ギャップパケットサイズを調整することで,送信レートを正確に制御可能

� 1バイト (8n秒)単位

送信PC (普通の)スイッチ

実パケット

ギャップパケット

Page 12: ネットワークの利用効率を 高めるソフトウェアPSPacer

PSPacerの実装

� iproute2 + tc

� tcコマンドで設定可能

� Qdiscモジュールとして実装

� カーネル再構築不要

� デバドラ非依存

� プロトコル非依存

送信バッファ

プロトコルスタックプロトコルスタック

デバイスドライバデバイスドライバ

enqueue

dequeue

PSPacer

パケットスケジューラ

ソケット層ソケット層

クラスごとの送信キュー

クラシファイア

実パケットギャップパケット

Page 13: ネットワークの利用効率を 高めるソフトウェアPSPacer

基本的な実験

ハードウェアネットワークテストベッド「GtrcNET-1」

帯域計測PC環境• CPU: Intel Xeon/2.4GHz dual• メモリ: 2GB (DDR400)• NIC: Intel PRO/1000 (82545EM)• OS: Fedora Core 3

Linux 2.6.11.10• BIC TCP

� 目標帯域と実際の結果が一致するか?

� クラスごとに帯域制御できているか?

Iperf

Page 14: ネットワークの利用効率を 高めるソフトウェアPSPacer

精密な帯域制御の実現

0

200

400

600

800

1000

0 100 200 300 400 500 600 700 800 900 1000

目標帯域 (Mbps)

得ら

れた

帯域

(M

bps)

目標値

実測値

上限:930Mbps

下限:8Kbps

8Kbps~930Mbpsでの帯域制御に対応

Page 15: ネットワークの利用効率を 高めるソフトウェアPSPacer

クラスごとの帯域制御

0

200

400

600

800

1000

0 10 20 30 40 50 60 70

時刻 (秒)

帯域

(Mbp

s)

フロー3 (200Mbps)フロー2 (250Mbps)フロー1 (500Mbps)

(測定の解像度は100ms)

100クラス程度での動作は確認済み

Page 16: ネットワークの利用効率を 高めるソフトウェアPSPacer

0

200

400

600

800

1000

130 140 150 160 170 180 190 200時間(秒)

帯域

(Mbps)

フロー1

フロー2

合計

高遅延環境でのTCP/IP性能(1)広域網模擬装置

GtrcNET-1往復遅延: 20ms

TBF (470Mbps) PSPacer (490Mbps)

(BIC TCP)

Page 17: ネットワークの利用効率を 高めるソフトウェアPSPacer

高遅延環境でのTCP/IP性能(2)広域網模擬装置

GtrcNET-1往復遅延: 200ms

0

200

400

600

800

1000

35 45 55 65 75 85 95 105時刻 (秒)

帯域

(M

bps)

フロー1

フロー2

合計

PSPacerなし PSPacerあり

(Scalable TCP)

Page 18: ネットワークの利用効率を 高めるソフトウェアPSPacer

組込みLinuxで使えるの?

� PSPacerの制限

� バスボトルネックなどで送信性能が制限される場合は,正確な帯域制御ができない

� 例: GbE + PCI (32bit/33MHz)

� CPU,メモリバスへの負荷

� ギャップパケットは,プロトコル処理は不要だが,DMA転送を伴う

� CPU負荷:比較的小さい,メモリ負荷:比較的大きい

Page 19: ネットワークの利用効率を 高めるソフトウェアPSPacer

まとめ

� 従来専用ハードウェアが必要だった精密なペーシング機構をソフトウェアだけで実現

� 組込み分野での適用例はない

� 興味を持たれた方は,ぜひ使ってください!

� GPLライセンスにて公開

� http://www.gridmpi.org/

なお、本研究の一部は文部科学省「経済活性化のための重点技術開発プロジェ クト」の一環として実施している超高速コンピュータ網形成プロジェクト (NAREGI:National

Research Grid Initiative)による。

Page 20: ネットワークの利用効率を 高めるソフトウェアPSPacer

GtrcNET-1: Programmable Gigabit Network Testbed

1000Base1000Base1000Base1000Base----SXSXSXSXTransceiverTransceiverTransceiverTransceiverSERDESSERDESSERDESSERDES

FPGAFPGAFPGAFPGA

SSRAMSSRAMSSRAMSSRAM