第 3 章 コネクション直列化による回避 13
3.5 性能評価
3.5.2 クライアントリンクがボトルネックとなる場合
図3.8は,NS = 64,V = 1 Gbps,S = 32 KB,x = 0.1 %,ポートバッファサイズが40パ ケット分としたときのグッドプット性能を示す.また,図3.9は,ボトルネックとなるクライアン トリンクのポートバッファの,すべてのTCPとUDPのパケットを含めた最大キュー長(Qmax) を示す.両図において,凡例“NCTP”は,インキャスト回避手法を使わない標準のTCPを示す.
また,凡例“FGTCP”は,細粒度タイマを使うTCPで,RTOminに200µsecを設定する.さら に,凡例“CCSTCP”,“NCCSTCP”,“OCSTCP”は,それぞれ,本論文で提案する完全直列化 法,準完全直列化法,最適直列化法を指す.
図3.8をみると,NTCPとICTCPについて,アクティブサーバ数が15を超えた付近において,
急激なグッドプット低下が確認できる.この理由は,図3.9に示すように,Qmaxがポートバッファ 容量の上限である40パケットに容易に到達できる状態になっていることから,バッファオーバー フローにより,大量のパケット消失が発生しているためである.ICTCPは,インキャストが発生 しないように,各コネクションのウィンドウサイズを減少させる動作をするが,その最小値は2×
'ŽŽĚƉƵƚDďƉƐ
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ
ϮϬϬ ϰϬϬ ϲϬϬ ϴϬϬ ϭϬϬϬ ϭϮϬϬ
Ϭ ϭϬ ϮϬ ϯϬ ϰϬ ϱϬ ϲϬ ϳϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
図3.8: V = 1 Gbps,S = 32 KBのときのグッドプット
DĂdžŝŵƵŵƋƵĞƵĞůĞŶŐƚŚƉĂĐŬĞƚƐ
Ϭ ϭϬ ϮϬ ϯϬ ϰϬ ϱϬ
Ϭ ϭϬ ϮϬ ϯϬ ϰϬ ϱϬ ϲϬ ϳϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
図3.9: V = 1 Gbps,S = 32 KBのときの最大キュー長
MSSである.そのため,もし,アクティブサーバ数が20 (ポートバッファ容量40パケット/最小 ウィンドウサイズ2 MSS)よりも大きくなれば,インキャストは高い確率で発生する.図3.8を見 ると,ICTCPのグッドプット低下は,アクティブサーバ数が20のときではではなく,15付近で 発生している.この理由は,ICTCPの広告するウィンドウサイズは,常に2 MSS が設定される ものではなく,ときどき2 MSSよりも大きな値を設定されるためである.それゆえ,ICTCPを用 いた場合,アクティブサーバ数が20未満のときにおいても,インキャスが発生する可能性がある.
図3.9を見ると,想定した通り,完全直列化法を使うことで,最小のQmaxを達成できているが,
一方で,図3.8を見ると,クライアントの帯域幅は使い切ることができず,そのグッドプットは約 450Mbpsであることがわかる.図3.9を詳細に見ると,完全直列化法のQmaxは0で一定になっ ていないことがわかる.この理由は,バックグラウンドトラフィックによりキューイングが発生す るからである.それゆえ,完全直列化法を使用したときは,スイッチは,バックグラウンド用の わずかなポートバッファ容量だけあればよいことがわかる.
準完全直列化法を使用したときについては,K = 2とK = 4とを比較すると,K = 4を設定 したときは,クライアントリンクの帯域幅をほとんど使い切ることができるが,Qmaxは,K = 2 を設定したときよりも大きな値になっている.このシミュレーションで用いたパラメータの組合 せでは,多重度変数の値を増加させたとしても,インキャストは発生しなかったが,一般に,多 重度変数の値を増加させると,ネットワーク中に存在する最大パケット数が増加するため,イン キャストが発生しやすくなる(図3.12と図3.16を参照).従って,準完全直列化法を使って,ク ライアントリンクの帯域幅を使い切るためには,最適なKの値を設定する必要があるが,現時点 では,Kの値の最適化を行うアルゴリズムは明らかになっていない.
一方,最適直列化法を使うことで,ポートバッファの使用率を低く抑えた状態で,クライアントリ ンクの帯域幅をほぼ使い切ることが確認できる.また,そのグッドプットは,K = 4の準完全直列化 法よりも,わずかに高い値を示している.最適直列化法のTCPパケットの最大キュー長QT CPmax は,式 (3.2)と,式(3.9),式(3.10),式(3.11)から,BaseBDP pkt =⌈1Gbps×100µsec/(1500×8)⌉= 9, wnd pkt = 4,nmin = 3,QT CPmax = 8×3−9 = 15となる.他方,図3.9に示す最大キュー長を 見ると,最適直列化法の最大キュー長Qmaxは13である.QmaxとQT CPmax が互いに近い値にな る理由は,UDPのバックグラウンドトラフィックが非常に小さい(V ×x/100×1/NS×NS = 1Gbps×0.1/100×1/64×64 = 10Mbps)ためである.
FGTCPについては,図3.9をみると,Qmaxはポートバッファ容量の上限に到達しているため,
再送タイムアウトが頻発していることが想像できる.しかし,再送タイムアウト時間の最小値を
200µsecに設定していることで,再送がより適切なタイミングで実施されているため,図3.8に示
すようにグッドプットは高い値になる.しかし,アクティブサーバ数が大きくなる(図3.8のアク ティブサーバ数が40を超える)とグッドプットの低下が確認できる.この理由は,4章で述べる ように,再送タイムアウトが短い期間で何度も発生するためである.但し,グッドプットの減少 は,NTCPとICTCPほどは大きくない.
図3.10と図3.11は,クライアントが,バリア同期アプリケーションに係る最初のSYNセグメ ントを送信してから,クライアントがすべてのSRUを受信し終えるまでの期間を示す時間を示す.
この時間のことを,ミッション完了時間(Mission Complete Time.以降,MCTと表記)と呼び,
この値が小さければ小さいほど良い性能であることを意味する.クライアントがSRU送信要求を 開始してから,すべてのSRUの受信を完了するまでの全時間を通して,クライアントリンクの帯 域幅を使い切ったという条件下でのMCTを,MCT理想値と呼ぶと,MCT理想値は以下のよう
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ͘ϭ
ϭ ϭϬ ϭϬϬ ϭϬϬϬ ϭϬϬϬϬ
Ϭ ϭϬ ϮϬ ϯϬ ϰϬ ϱϬ ϲϬ ϳϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ E^dW;<сϮͿ
^dW /dW EdW /ĚĞĂů
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
図3.10: V = 1 Gbps,S= 32 KBのときのMCT(対数)
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ
ϱ ϭϬ ϭϱ ϮϬ Ϯϱ ϯϬ ϯϱ ϰϬ
Ϭ ϭϬ ϮϬ ϯϬ ϰϬ ϱϬ ϲϬ ϳϬ
&'dW K^dW
E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW
/dW EdW
/ĚĞĂů
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
図 3.11: V = 1 Gbps,S = 32 KBのときのMCT
'ŽŽĚƉƵƚDďƉƐ
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ
ϮϬϬϬ ϰϬϬϬ ϲϬϬϬ ϴϬϬϬ ϭϬϬϬϬ ϭϮϬϬϬ
Ϭ ϰϬ ϴϬ ϭϮϬ ϭϲϬ ϮϬϬ ϮϰϬ ϮϴϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
図3.12: V = 10 Gbps,S = 512 KBのときのグッドプット に定義できる.
MCT =Na×
⌈ S MSS
⌉
×MSS + 40
V (3.12)
ここで,Naはアクティブサーバ数を指す.例えば,S = 32 KB,V = 1 Gbps,Na = 8のとき は,MCT理想値は,2.2msecとなる.ただし,このMCT理想値の計算は,伝送に必要な計算時 間や,伝播遅延時間の値はほとんど無視できるものとして扱うため,考慮していない.また,計 算においては,クライアントは,TCPのウィンドウ制御の制約を受けることなく,帯域幅を使い 切ることができると想定している.
図3.10と図3.11を見ると,準完全直列化法(K = 4とK= 8)と,最適直列化法のMCTは,
MCT理想値とほとんど等しいことがわかる.従って,これらの直列化法を用いることで,イン キャストを発生させることなく,クライアントリンクの帯域幅を使い切れているといえる.
図3.12 ∼図3.15は,NS = 256,V = 10 Gbps,S = 512 KB,x = 0.1 %,ポートバッファ 容量が200パケット分のときの,それぞれ,グッドプットとQmax,MCT(対数と真数)を示す.
前述したように,K= 8を設定したときの準完全直列化法を見ると,K値に大きい値を設定した ことで,インキャストが発生していることを確認できる.そのため,K = 8を設定したときの準 完全直列化法は,NTCPよりもグッドプットが低下する.図3.12では,最適直列化法がもっとも 良い性能になっている.最適直列化法において,式(3.11)より,BaseBDP pkt = 84,nmin= 4, wnd pkt = 21であるから,QT CPmax = 84 (= 2×4×21−84)が求められる.他方,シミュレー ション結果を見ると,Qmax= 90である.このシミュレーションで用いたパラメータの組合せで
DĂdžŝŵƵŵƋƵĞƵĞůĞŶŐƚŚƉĂĐŬĞƚƐ
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ
ϱϬ ϭϬϬ ϭϱϬ ϮϬϬ ϮϱϬ
Ϭ ϰϬ ϴϬ ϭϮϬ ϭϲϬ ϮϬϬ ϮϰϬ ϮϴϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
図3.13: V = 10 Gbps,S = 512 KBのときの最大キュー長
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
Ϭ͘ϭ ϭ ϭϬ ϭϬϬ ϭϬϬϬ ϭϬϬϬϬ
Ϭ ϰϬ ϴϬ ϭϮϬ ϭϲϬ ϮϬϬ ϮϰϬ ϮϴϬ
&'dW K^dW
E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW
/dW EdW
/ĚĞĂů
図 3.14: V = 10 Gbps,S= 512 KBのときのMCT(対数)
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
Ϭ ϱϬ ϭϬϬ ϭϱϬ ϮϬϬ ϮϱϬ ϯϬϬ ϯϱϬ ϰϬϬ ϰϱϬ ϱϬϬ
Ϭ ϰϬ ϴϬ ϭϮϬ ϭϲϬ ϮϬϬ ϮϰϬ ϮϴϬ
&'dW K^dW E^dW;<сϴͿ E^dW;<сϰͿ E^dW;<сϮͿ
^dW /dW EdW /ĚĞĂů
図3.15: V = 10 Gbps,S = 512 KBのときのMCT
は,UDPトラフィックが若干多い(10Gbps×0.1/100×1/1024×1024 = 100Mbps)そのため,
Qmaxは,QT CPmax よりも若干多くなる.
さらに,別のパラメータの組合せ(NS = 1024,V = 10 Gbps,S= 128 KB,その他のパラメー タは図3.12∼3.15と同様)により取得したシミュレーション結果について,グッドプットと,Qmax, MCT(対数と真数)を,それぞれ,図3.16,図3.17,図3.18,図3.19に示す.これらの図を見る と,前述した図3.12 ∼3.15と同様の傾向が確認できる.最適直列化法について,BaseBDP pkt
= 84,nmin= 6,wnd pkt = 15であるから,式(3.11)より,QT CPmax = 96 (= 2×6×15−84)が 求まる.他方,シミュレーション結果は,Qmax= 105を示す.この理由は,図3.13のときと同様 に,UDPトラフィックが若干多いために,Qmaxが,QT CPmax よりも若干大きくなる.
以上の結果より,最適直列化法はインキャスト回避には最良と言える.
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
'ŽŽĚƉƵƚDďƉƐ
Ϭ ϮϬϬϬ ϰϬϬϬ ϲϬϬϬ ϴϬϬϬ ϭϬϬϬϬ ϭϮϬϬϬ
Ϭ ϮϬϬ ϰϬϬ ϲϬϬ ϴϬϬ ϭϬϬϬ
dW&' K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
図3.16: V = 10 Gbps,S = 128 KBのときのグッドプット
DĂdžŝŵƵŵƋƵĞƵĞůĞŶŐƚŚƉĂĐŬĞƚƐ
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ Ϭ
ϱϬ ϭϬϬ ϭϱϬ ϮϬϬ ϮϱϬ
Ϭ ϮϬϬ ϰϬϬ ϲϬϬ ϴϬϬ ϭϬϬϬ
dW&' K^dW E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW /dW EdW
図3.17: V = 10 Gbps,S = 128 KBのときの最大キュー長
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
Ϭ͘ϭ ϭ ϭϬ ϭϬϬ ϭϬϬϬ ϭϬϬϬϬ ϭϬϬϬϬϬ
Ϭ ϮϬϬ ϰϬϬ ϲϬϬ ϴϬϬ ϭϬϬϬ
dW&' K^dW
E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW
/dW EdW
/ĚĞĂů
図 3.18: V = 10 Gbps,S= 128 KBのときのMCT(対数)
dŚĞŶƵŵďĞƌŽĨĂĐƚŝǀĞƐĞƌǀĞƌƐ
DŝƐƐŝŽŶĐŽŵƉůĞƚĞƚŝŵĞŵƐĞĐ
Ϭ ϭϬϬ ϮϬϬ ϯϬϬ ϰϬϬ ϱϬϬ ϲϬϬ ϳϬϬ ϴϬϬ ϵϬϬ ϭϬϬϬ
Ϭ ϮϬϬ ϰϬϬ ϲϬϬ ϴϬϬ ϭϬϬϬ
dW&' K^dW
E^dW;<сϴͿ E^dW;<сϰͿ
E^dW;<сϮͿ ^dW
/dW EdW
/ĚĞĂů
図3.19: V = 10 Gbps,S = 128 KBのときのMCT
ůŝĞŶƚϭ
ƵĨĨĞƌWŽƌƚ
^ǁŝƚĐŚ y
ůŝĞŶƚϮ
ůŝĞŶƚE
ƵĨĨĞƌWŽƌƚ
^ĞƌǀĞƌϭ
^ĞƌǀĞƌϮ
^ĞƌǀĞƌϯ
^ĞƌǀĞƌE^
^ǁŝƚĐŚ y^ϭ
ƵĨĨĞƌWŽƌƚ
^ĞƌǀĞƌϭ
^ĞƌǀĞƌϮ
^ĞƌǀĞƌϯ
^ĞƌǀĞƌE^
^ǁŝƚĐŚ y^Ϯ
図 3.20: クライアントリンク以外がボトルネックとなる場合のネットワークモデル