恒速ファイル転送プログラムのネットワーク性能計測への応用

信学会 IA研究会
ADVNET 2014
2014年10月07日
恒速ファイル転送プログラムのネットワーク性能計測への応用
Constant-bit-rate file transfer protocol and
it's application to network performance measurement
国立情報学研究所(NII)
山中 顕次郎,阿部 俊二,漆谷 重雄
目次
1.
2.
3.
4.
5.
6.
研究の背景と目的
従来の帯域測定方法の問題
恒速ファイル転送方式 MMCFTP
帯域計測方法
10Gbpsネットワーク帯域計測実験
まとめ
1. 研究の背景と目的
帯域測定の重要性
NW利用者:各種ネットワークサービスの品質推定,端末のTCP設定最適化
NW運用者:ネットワークのE2E品質確保,NW機器の故障や設定不備の検出
広帯域ネットワーク整備の進展
欧州
米国
日本
日本
GÉANT
Internet2
JGN-X
次期SINET
500Gbps
100Gbps
100Gbps
100Gbps
(2012~)
(2013~)
(2014~)
(2016~)予定
問題
従来の帯域測定手法では,100Gbps級の広帯域ネットワークに対応できない
目的
100Gbps級ネットワークに対応可能な,新たな帯域測定方式の提供
2
2. 従来の帯域測定方法の問題
従来の帯域計測方法
① ファイル・データ転送プログラムの応用 (iperf, netperf等): トラフィックを出来る
だけ送出し,送出できたトラフィック量から,可用帯域を推定
② パケットペア法: 計測パケットを一定の時間間隔で送出,受信側でパケット間隔の
変化を計測して,可用帯域を推定
①方式の問題
TCP1コネクション計測の場合: TCPの制約から,長距離ネットワークでの帯域測
定で,帯域限界までのトラフィックを送出できない
(例)TCPのウィンドサイズ:最大1GB → 日欧間(RTT300ms)では,26Gbpsが限界
TCP複数コネクション計測の場合:コネクション数が少ないと,帯域を使い切れな
い.多すぎると,各コネクションのトラフィックが互いに輻輳を起し,反って転送速
度が落ちる
②方式の問題
NICオフロード技術により高速転送性能を確保 → パケットの送出間隔や
受信間隔の計測が困難
パケット間隔の計測を優先すると,CPU負荷が高くなり,広帯域計測不可
3
3. 恒速ファイル転送方式 MMCFTP
提案する帯域測定方法
iperf等と同様にファイル・データ転送プログラムの応用
応用するファイル転送プログラム:MMCFTP(Massively MultiConnction FTP)
MMCFTPの特徴
利用者が希望する転送速度を指定する
宛先との距離に関わらず,また,多少のパケットロスがあっても,指定
速度を保つ
→ 第一の特徴:恒速(Constant bit rate)性
高速転送を指示した場合,数百から数千のコネクションを利用
→ 第二の特徴:大規模多コネクション(Massively MultiConnection)
4
3. 恒速ファイル転送方式 MMCFTP
MMCFTPの課題
TCPコネクションの転送速度が低下すると,使用するコネクション数を増やして,
複数コネクションの合計で,転送速度を維持
希望転送速度 > 可用帯域 の場合: コネクションをいくら増やしても希望転
送速度には到達しない.にも関わらず,コネクションを増やし続ける.
課題の解決
TCPコネクションを増やす前と増やした後で,転送速度を計測
前後の転送速度に大きな差が無い場合は,可用帯域が足りないと判断,計
測結果の転送速度に,データ送出速度を合わせる
副次効果として,可用帯域の計測が可能に
5
3. 恒速ファイル転送方式 MMCFTP 方式概要
希望転送速度の指定
周期T(ms単位)と周期毎に送出するデータ数C(256KB単位)を指定
(例) T:20ms, C:10 → 約1Gbps
TCPコネクションは、転送開始に先立ち十分に用意.それでも、足りなければ,
転送中に増やす.
周期タイマを用いて、T ms毎に,単位量のデータを、C本のTCPコネクションを使
い送出 (Non-blocking IOを使用)
データを送出したTCPコネクションは、単位量の全データが送信完了するまで,
次のデータ送出には利用しない (ioctl(SIOCOUTQ)を用いて,SNDBUFが空になる
ことを確認)
→ 送信完了のタイミングが分解能T msで計測可能
転送開始から,周期毎に,送信開始した単位量データ数の統計値(平均値を
計算できる様に,合計値とカウント数)と,送信完了した単位量データ数の統計
値を記録
送信開始した単位量データ数の統計値: RPC (Requests Per Clock)
送信完了した単位量データ数の統計値: TPC (Transactions Per Clock)
→ RPCとTPCにより,帯域計測
6
4. 帯域計測方法
二つのフェーズ
計測フェーズ: 転送中に,コネクションが足りなくなっても,増やさない
通常フェーズ: コネクションが足りなくなったら,倍に増やし,計測フェーズへ移行
転送開始時は,計測フェーズ
計測フェーズから通常フェーズへの移行条件
1. TPCの直近1秒平均値(TPC1)が,目標値Cを超えた
2. TPC1=RPC1 < C (コネクションが全て使用中) で,TPC1がコネクションを増やす前
に記録した値から十分に増えていない(1.3倍未満) .
→ TPC1を新たな目標値Cとし,転送速度を下げる.
3. TPC1=RPC1 < C (コネクションが全て使用中) で,TPC1がコネクションを増やす前
に記録した値から十分に増えている.
→ TPC1をコネクションを増やす前の値として記録する.
→ コネクションは全て使用中なので,直ぐにコネクションは足りなくなる
7
4. 帯域計測方法 例:帯域が十分ある場合
日本からMicrosoft Azureのヨーロッパサーバに向けた転送(RTT: 約280ms)
指定速度: 944Mbps (9C/20ms)
マシンタイプにより帯域制限があり,使用サーバでは,1Gbps
スループット
アプリケーション計測値による転送状況
8
4. 帯域計測方法 例:帯域不十分な場合
日本からMicrosoft Azureのヨーロッパサーバに向けた転送(RTT: 約280ms)
指定速度: 2097Mbps (20C/20ms)
マシンタイプにより帯域制限があり,使用サーバでは,1Gbps
スループット
アプリケーション計測値による転送状況
帯域検出後,一旦送信開始を止める.
送信中のものが全て送信完了してから
検出した速度で,送信再開
9
4. 帯域計測方法 例:帯域不十分な場合
12.78
9.14
この計測値により,速度調整(8C/20ms 838Mbps)
6.22 * 1.3
= 8.086
8.08
6.22
スロースタートの影響を考慮して,
ピークを超えた時の値を計測値に採用
10
5. 10Gbpsネットワーク帯域計測実験(1)
実験環境
C2-H2間で背景トラフィック
C1-H1間で帯域計測
背景トラフィックは,
MMCFTPを用いて
0, 1Gbps, 2Gbpsの3通り
適切な速度にスピードダウン
するかを検証
11
5. 10Gbpsネットワーク帯域計測実験(2)
背景トラフィック2Gbps
背景トラフィック0Gbps
指定値
指定速度 実績速度
10C/20ms
20C/20ms
30C/20ms
40C/20ms
50C/20ms
60C/20ms
70C/20ms
80C/20ms
90C/20ms
Gbps
Gbps
1048.58
1032.79
2097.15
2062.89
3145.73
3096.26
4194.30
4125.17
5242.88
5157.82
6291.46
6187.77
7340.03
7217.18
8388.61
8243.86
9437.18
9269.53
平均コネ コネクション
備考
クション数 当り速度
Kbps
21.44
48162.61
63.48
32495.79
99.37
31155.77
161.10
25605.44
214.92
23997.55
280.36
22069.39
391.35
18440.70
530.77
15530.89
778.49
11906.64
指定値
指定速度 実績速度
10C/20ms
20C/20ms
30C/20ms
40C/20ms
50C/20ms
60C/20ms
70C/20ms
80C/20ms
90C/20ms
Gbps
Gbps
1048.58
1032.40
2097.15
2064.00
3145.73
3094.03
4194.3
4126.73
5242.88
5152.00
6291.46
6181.90
7340.03
7208.28
8388.61
7208.98
9437.18
7208.72
平均コネ コネクション
備考
クション数 当り速度
Kbps
28.55
36158.75
72.60
28426.68
121.51
25462.49
196.15
21037.31
254.40
20250.78
392.40
15753.20
607.16
11871.33
636.76
11320.20 → 70/20ms
759.58
9490.26 → 70/20ms
背景トラフィック1Gbps
指定値
指定速度 実績速度
10C/20ms
20C/20ms
30C/20ms
40C/20ms
50C/20ms
60C/20ms
70C/20ms
80C/20ms
90C/20ms
Gbps
Gbps
1048.58
1032.72
2097.15
2064.46
3145.73
3094.09
4194.30
4128.30
5242.88
5158.45
6291.46
6183.07
7340.03
7215.28
8388.61
8236.19
9437.18
8242.90
平均コネ コネクション
備考
クション数 当り速度
Kbps
26.34
39198.64
64.83
31841.40
112.35
27539.84
164.99
25019.62
244.12
21129.88
331.78
18635.21
460.12
15680.04
736.43
11183.64
722.42
11409.64 → 80/20ms
背景と実験トラフィックの合計が
NW帯域を越えるとスピードダウンが
発生
→ ほぼ適切な値にスピードダウン
12
6. まとめ
恒速ファイル転送方式MMCFTPを応用した,新しい帯域計測方式を提案
従来の帯域計測手法に比べて,長距離・広帯域ネットワークでの帯域計
測に強い
TCP利用の計測法だが,転送速度(≒帯域)指定が可能
本帯域計測法の原理は,パケットペア法と同じ.パケット送出間隔を制御
し,パケット受信間隔を計測する代わりに,周期毎に一定数のデータ送出,
周期毎に送信完了数を計測.マクロな情報で計測するので,NICオフロー
ド環境下でも問題ない.
今後の課題
100Gbps実ネットワーク環境での広帯域計測実証
13
ご清聴ありがとうございました
恒速ファイル転送プログラムMMCFTPのモニタ募集中
- 転送速度上限5Gbpsの速度限定版
- SINET加入機関に対し提供
- 動作環境: 64bit Linux
(CentOS6.5, Ubuntu12.04/14.04で動作確認)
- 詳しい利用条件は,問い合わせを.
- 問い合わせ先: SINET利用推進室
[email protected]
14