江本雅彦(NIFS)

Download Report

Transcript 江本雅彦(NIFS)

SuperSINET を利用した
ファイル転送について
核融合科学研究所
江本雅彦
Super SINET




全国の大学・研究所を結ぶ光ファイバベースの
ネットワーク
基幹10Gbps
Point to Point 1Gbps
核融合科学研究所と東北大、東京大学、名古屋
大学、京都大学、広島大学、九州大学等と結ぶ
しかし・・・

FTP等を利用したファイルの転送が遅い
~数十Mbps程度しかでない
→実測を行い、問題点と解決策を探る
測定に使用したPC
設置場所
核融合科学研究所
CPU
Xeon 2GHz x 2
京都大学エネル
ギー理工学研究所
Pentium 4 2GHz
Memory
2GB
1GB
NIC
Intel Pro 1000
OS
BROADCOM
BCM5701
LASER5 Linux 7.2
Kernel
2.4.9
2.4.5
Turbo Linux 7
測定1(応答速度)
核融合研
京都大学
ECHO
10.5 ms
ECHO
TCP
核融合研
京都大学
セグメント
ACK
セグメント
ACK
一セグメントのデータを受け取
るたびに受信側は送信側に
ACKを返し、一定時間以内に
ACKを受け取らなかった場合
はデータを再送する。このた
め、応答時間が長いと、ACKを
受け取るまでの時間が長くな
り、全体の送信頻度(速度)が
遅くなる。
UDP



ACKでのパケット到達確認、輻輳のチェックを行
わない。
そのためTCPに比べ、信頼性に劣る。
しかしながら、余分なチェックを行わない分、
TCPに比べ高速。
測定結果2(UDPストリーム)
京大→核融合研
Socket Size Message
(KB)
Size(bytes)
64
64
Throughput
(Mbps)
136
64
1024
629.26
64
1472
688.93
結果

京大→核融合研で700Mbps程度の速度が得ら
れた。この速度は1Gbpsのネットワークとしては
妥当なものだと思われる。
スライディングウィンドウ
核融合研
京都大学
セグメント
セグメント
ACKが届く前に先
送りをする
ACK
ACK
NetperfによるTCPストリーム測定
京大→核融合研

Route コマンドでTCPウィンドウサイズを16kBか
ら256MBまで変えながら、NetperfのTCPスト
リームの送信速度を測定した。
16KB
140.00
120.00
100.00
Mb p s
4KB
80.00
8KB
60.00
32KB
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
32KB
140.00
120.00
Mbps
100.00
4KB
80.00
8KB
32KB
60.00
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
64KB
140.00
120.00
100.00
Mbps
4KB
80.00
8KB
60.00
32KB
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
128KB
140.00
120.00
100.00
Mbps
4KB
80.00
8KB
60.00
32KB
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
256KB
150.00
130.00
110.00
Mbps
90.00
256K 4KB
70.00
256K 8KB
256K 32KB
50.00
30.00
10.00
-10.00
16KB
64KB
112KB
ソケットバッファ
256KB
256KB
140.00
120.00
Mbps
100.00
256K 4KB
80.00
256K 8KB
256K 32KB
60.00
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
512KB
140.00
120.00
100.00
Mbps
4KB
80.00
8KB
60.00
32KB
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
Default
140.00
120.00
Mbps
100.00
4KB
8KB
32KB
80.00
60.00
40.00
20.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
Default
700.00
600.00
Mbps
500.00
4KB
8KB
32KB
400.00
300.00
200.00
100.00
0.00
512KB
1024KB
ソケットバッファ
2048KB
参考(核融合研LAN)
900.00
800.00
700.00
Mbps
600.00
4KB
8KB
32KB
500.00
400.00
300.00
200.00
100.00
0.00
16KB
64KB
112KB
ソケットバッファ
256KB
結果


Linuxの場合TCPウィンドウサイズを大きくとって
も、デフォルト設定以上には上がらない。
しかしながら、ソケットバッファを大きく取ることで
速度の向上が見られた。
bbftp





独自プロトコル
暗号化、圧縮
特に巨大ファイル(>2GB)を送るのに最適化さ
れている
ビッグウィンドウ(RFC1323)
複数セッションを使って高速に転送できる
結果
速度
600
500
Mbps
400
300
Mbps
200
100
0
1
2
4
parallel
8
FTPの同時実行
プロセス1
プロセス2
プロセス3
プロセス4
FTPによる同時転送
Mbps
700
600
500
400
Mbps
300
200
100
0
1
2
4
8
プロセス数
16
20
FTPによる同時転送
Mbps
400
350
300
250
200
Mbps
150
100
50
0
1
2
4
8
16
プロセス数
20
32
64
結果


bbftpの転送では並列度を4に増やすことにより
最大500Mbpsまで高速化することができた。
ftpを複数実行させることにより、全体としての転
送速度を稼ぐことができる。ただし、デフォルトで
は同時アクセス数に制限があるので、コンフィ
ギュレーションを変更する必要がある。
UDP送信

Bittorrent→最終的に辻褄あわせをすればよい。

ファイルを64KB(-ヘッダ)のブロックに区切る
ヘッダには番号をつけ、届いたブロックをマーク
する。
マークされていないブロックは再送要求をする。
ブロックの消失率やパケットの滞留に応じてサー
バ側のパケット送出間隔を調整する。



UDPによるファイル転送
送信側
再送要求
送信
送信
送信
受信側
パケット構造
シ
ー
ケ
ン
ス
番
号
送
信
時
刻
デ
ー
タ
応答メッセージ




送信要求(パケット番号)
送信開始要求(開始パケット番号)
送信間隔調整(50%早くする、50%遅くする等)
送信中止要求
まとめ




SuperSINETではUDPで700Mbps程度の速度
が得られており、1Gbpsの帯域のネットワークで
は妥当な数値だと思われる。
TCPベースのアプリケーションで速度が遅いの
は原理上仕方がない
(Linuxでは)TCPウィンドウサイズの変更は効果
がなかった
ソケットバッファを大きく取ることで速度の向上が
可能
まとめ(続き)



bbftpを利用し、複数ストリームで転送することで
速度の向上が可能
単純な方法として、FTPを同時に実行することに
より、全体としてのスループットを向上させること
ができる。
根本的な対策として、SuperSINETの特徴を活
かした転送プロトコルの開発が必要。