JP5819530B2 - ネットワーク輻輳を回避するための方法およびその装置 - Google Patents

ネットワーク輻輳を回避するための方法およびその装置 Download PDF

Info

Publication number
JP5819530B2
JP5819530B2 JP2014529595A JP2014529595A JP5819530B2 JP 5819530 B2 JP5819530 B2 JP 5819530B2 JP 2014529595 A JP2014529595 A JP 2014529595A JP 2014529595 A JP2014529595 A JP 2014529595A JP 5819530 B2 JP5819530 B2 JP 5819530B2
Authority
JP
Japan
Prior art keywords
ack
delay
worker
aggregator
aggregator server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014529595A
Other languages
English (en)
Other versions
JP2014529974A (ja
Inventor
ファン,ジェ・ヒョン
ユ,ジュン
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2014529974A publication Critical patent/JP2014529974A/ja
Application granted granted Critical
Publication of JP5819530B2 publication Critical patent/JP5819530B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/10Heating elements characterised by the composition or nature of the materials or by the arrangement of the conductor
    • H05B3/12Heating elements characterised by the composition or nature of the materials or by the arrangement of the conductor characterised by the composition or nature of the conductive material
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05BELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
    • H05B3/00Ohmic-resistance heating
    • H05B3/40Heating elements having the shape of rods or tubes
    • H05B3/54Heating elements having the shape of rods or tubes flexible
    • H05B3/56Heating cables
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01CRESISTORS
    • H01C7/00Non-adjustable resistors formed as one or more layers or coatings; Non-adjustable resistors made from powdered conducting material or powdered semi-conducting material with or without insulating material
    • H01C7/008Thermistors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1832Details of sliding window management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Description

近年では、データセンタアプリケーションおよびウェブ検索は、一般的に分割/集約(Partition/Aggregate)通信パターンを示す。最初に、要求が分割され、いくつかのワーカノードに送出される。次いで、ワーカにより生出される応答パケットが、集約のための共通ノード、すなわちアグリゲータノードに送信される。そのようなタイプのトラフィックは、複数のワーカが同時に同じアグリゲータに応答パケットを送出する際に、ネットワーク輻輳を引き起こす場合がある。データセンタネットワーク用のトランスポートプロトコルの設計は、このインキャスト(incast)輻輳問題に起因して難題であった。
A.関連研究
TCPインキャスト問題は、スケーラブルな記憶アーキテクチャの設計においてD.Nagleらにより最初に報告された。D.Nagleらは、クライアントと多くの記憶デバイスとの間の同時トラフィックが、記憶デバイスの数が増大する際にネットワークを苦しめることを見出した。このことによって、複数のパケット損失およびタイムアウトがもたらされ、クライアントは、長いRTO継続期間の間アイドル状態となることを強いられる。インキャスト輻輳を緩和するために、D.Nagleらは、クライアントの受信ソケットバッファサイズを64kB未満に低減している。D.Nagleらはさらに、重複ACKしきい値を低減しスロースタートを使用不可能にするなどしてTCPレベルを調節して、再送タイムアウトを回避することを提案している。しかしながらD.Nagleらは、根本的なインキャスト問題に対処していない。
インキャスト問題に対処する2つの主な手法が提案されている。第1の手法は、RTOminをミリ秒からマイクロ秒の粒度に低減する。この解決策は、主な性能測定基準がTCPスループットを高めることであるクラスタベースの記憶システムに対しては非常に効果的である。それでも、その解決策は依然として高いキューイング遅延を誘発するので、その解決策は、ウェブ検索などのソフトリアルタイムアプリケーションには適していない。第2の手法は、バッファオーバーフローの前の輻輳回避を用いることである。RTTは通常、広域ネットワークにおいて良好な輻輳指標であり、したがって、TCP Vegasなどの遅延ベースの輻輳回避アルゴリズムは良好な候補であり得る。しかしながら、データセンタにおいてのRTTのマイクロ秒の粒度は、ネットワーク輻輳を、パケット/転送処理オーバーヘッドにより引き起こされる遅延スパイクと区別するには感度が高すぎる場合があることがよく知られている。したがってDCTCPは、明示的輻輳通知(ECN)を使用してネットワーク輻輳を明示的に検出し、ECNマークの数を使用することにより細粒度の輻輳ウィンドウベースの制御を提供する。別の手法はICTCPである。ICTCPは、全体の入トラフィックの帯域幅を測定して、利用可能な帯域幅を取得し、次いで、この情報に基づいて各々の接続の受信ウィンドウを制御する。しかしながらインキャスト輻輳は、これらの手法においてもワーカの数が増大する際には不可避である。
B.ウィンドウベースの輻輳制御の限界
図1は、インキャスト輻輳が発生する典型的な接続形態を図示する。そのようなインキャスト輻輳を回避するために、未処理のパケットの総数は、帯域幅遅延積(BDP)から取得されるネットワークパイプサイズを超過すべきではない。
このことは次式のように表現される。
Figure 0005819530
ただし、MSSは最大セグメントサイズを表し、nは同時接続の総数であり、wは第iの接続のウィンドウサイズである。この場合ではBDPは、データセンタネットワークにおいてきわめて小さい場合がある。例えば、ネットワーク経路が1Gbpsのリンク容量(link capacity)および100usの遅延を有するならば、BDPは、おおよそ12.5kBとなり、または、MSSが1.5kBであるとき8.3MSSとなる。このことは、
Figure 0005819530
が、パイプオーバーフローを回避するために8.3より小さくあるべきであることを示唆する。この場合では、経路が維持することが可能であるTCP接続の数は、最小限のウィンドウサイズが1であるならば多くても8となる。換言すれば、9を超えるTCP接続は、すべての送出器が少なくとも1つのパケットを一斉に送信するならば、キューイング遅延およびパケット損失を引き起こす場合がある。この理由で、既存のウィンドウベースの制御体系は基本的には、いくつかのワーカを利用する典型的なデータセンタネットワークアプリケーションにおいてスケーラブルではない。この洞察が、データセンタ環境に対するBDP測定に基づくレートベースの制御手法に結び付く。
TCPが前のインキャスト通信パターンのもとで良好に作動しないいくつかの理由が存在する。第1に、トップオブラック(ToR)スイッチは典型的には、コストを削減するために小さなバッファメモリ(例えば、52個のポートに対して4MBの共有メモリ)を使用し、このことが頻繁なバッファオーバーフロー、すなわちパケット損失を招く。第2に、多少のパケット損失であっても、フロー内の応答パケットの数は通常、高速再送および回復が行われるには小さすぎるので、結果としてTCPタイムアウトになる場合がある。さらに汎用オペレーティングシステムにおいて、最小再送タイムアウト(RTOmin)が一般的には200msまたは300msのいずれかに設定され、一方で、データセンタネットワークにおいてのラウンドトリップ時間(RTT)は250usより小さい場合がある。この場合では、パケット損失を検出するのに800RTTより多くかかることになる。最後に、分割/集約パターンにおいてアグリゲータは、意味のある結果を作製するために、そのアグリゲータのワーカからのすべての応答を待つ必要がある場合があり、そのことによって総合的な性能は、接続の大部分がパケット損失に少しも遭遇しない場合でも、単一の輻輳状態にある接続により決定される。要約すると、分割/集約トラフィックパターンは通常、データセンタネットワークにおいてネットワーク輻輳を引き起こし、このことが、TCPスループットの崩壊をもたらし、ウェブアプリケーションのサービス品質(QoS)を低下させる。
本発明は、エンドツーエンド輻輳回避アルゴリズムを用いてインキャスト問題に対処する。具体的には本発明は、インキャスト回避TCP(IA−TCP)、ネットワークパイプに注入されるパケットの総数を制限して帯域幅遅延積(BDP)を満たす、レートベースの輻輳制御アルゴリズムを提案する。本発明のアルゴリズムは、ワーカのTCPデータ送出レートを制御するように、TCP確認応答(ACK)規則によってアグリゲータ側で動作するように設計される。NS−2シミュレーションによって本発明は、IA−TCPがインキャスト輻輳を完全に回避することを示し、高いグッドプットおよび高速のクエリ完了時間を示す。
TCPインキャスト輻輳問題は、従来技術の多くの文献において以前に研究されている。これらの従来技術は主に、ウィンドウベースの輻輳制御を重点的に取り扱っており、一方で本発明は、レートベースの輻輳制御アルゴリズムを提案する。
本発明の態様によれば、アグリゲータおよび複数のワーカを含むネットワークでのネットワーク輻輳を回避するための方法であって、複数のワーカが、アグリゲータへの同じボトルネックリンクを共有し、方法が、アグリゲータとワーカとの間の接続の数を計数するステップ、複数のワーカの各々のウィンドウサイズ(W)を調整するステップであって、ウィンドウサイズ(W)が接続の数に基づく、調整するステップ、ACKにACK遅延(Δ)を付加するステップであって、ACK遅延(Δ)がウィンドウサイズ(W)に基づく、付加するステップ、および、ワーカにウィンドウサイズ(W)とともにACKを送出するステップを含む、方法が提供される。
好ましい実施形態によれば、接続の数を計数するステップは、接続の数を初期化するステップをさらに含む。
方法の別の好ましい実施形態によれば、接続の数は、接続が生成されるときは常に増大され、接続の数は、接続が閉じられるときは常に減少される。
方法の別の好ましい実施形態によれば、接続の数を計数するステップは、複数のワーカの各々にクエリ要求を送出するステップをさらに含む。
方法の別の好ましい実施形態によれば、すべての接続のウィンドウサイズ(W)は同じである。
方法の別の好ましい実施形態によれば、ウィンドウサイズ(W)を調整するステップは、ウィンドウサイズ(W)を最大値に設定するステップをさらに含む。
方法の別の好ましい実施形態によれば、ウィンドウサイズの最大値は、
Figure 0005819530
であり、ただし、advertiseはウィンドウサイズであり、MSSは最大セグメントサイズであり、RTTは最小ラウンドトリップ時間であり、nは同時接続の総数である。
方法の別の好ましい実施形態によれば、ACK遅延(Δ)は、
Figure 0005819530
であり、ただし、advertiseはウィンドウサイズであり、MSSは最大セグメントサイズであり、RTTは最小ラウンドトリップ時間であり、nは同時接続の総数である。
方法の別の好ましい実施形態によれば、ACK遅延(Δ)の第1のものの代わりに、一様分布にしたがう0から(RTT+Δ)までのランダム値が選定され、ただし、RTTは最小ラウンドトリップ時間である。
方法の別の好ましい実施形態によれば、ウィンドウサイズ(W)とともにACKを送出するステップは、ACK遅延(Δ)がgより大きいならば、遅延タイマが期限切れになった後で実行される。
方法の別の好ましい実施形態によれば、ウィンドウサイズ(W)とともにACKを送出するステップは、ACK遅延(Δ)が負であるならば、遅延なしに即時に実行される。
方法の別の好ましい実施形態によれば、方法はTCPレイヤにおいて実行される。
方法の別の好ましい実施形態によれば、方法はレートベースの輻輳制御アルゴリズムである。
本発明の別の態様によれば、アグリゲータおよび複数のワーカを含むネットワークでのネットワーク輻輳を回避するためのアグリゲータであって、複数のワーカが、アグリゲータへの同じボトルネックリンクを共有し、アグリゲータが、プロセッサ(図示せず)および送受信器(図示せず)を備え、プロセッサが、アグリゲータとワーカとの間の接続の数を計数すること、複数のワーカの各々のウィンドウサイズ(W)を調整することであって、ウィンドウサイズ(W)が接続の数に基づく、調整すること、および、ACKにACK遅延(Δ)を付加することであって、ACK遅延(Δ)がウィンドウサイズ(W)に基づく、付加することを遂行するように構成され、送受信器が、ワーカにウィンドウサイズ(W)とともにACKを送出することを遂行するように構成される、アグリゲータが提供される。
アグリゲータの好ましい実施形態によれば、接続の数を計数することは、接続の数を初期化することをさらに含む。
アグリゲータの別の好ましい実施形態によれば、接続の数は、接続が生成されるときは常に増大され、接続の数は、接続が閉じられるときは常に減少される。
アグリゲータの別の好ましい実施形態によれば、接続の数を計数することは、送受信器によって複数のワーカの各々にクエリ要求を送出することをさらに含む。
アグリゲータの別の好ましい実施形態によれば、すべての接続のウィンドウサイズ(W)は同じである。
アグリゲータの別の好ましい実施形態によれば、ウィンドウサイズ(W)を調整することは、ウィンドウサイズ(W)を最大値に設定することをさらに含む。
アグリゲータの別の好ましい実施形態によれば、ウィンドウサイズの最大値は、
Figure 0005819530
であり、ただし、advertiseはウィンドウサイズであり、MSSは最大セグメントサイズであり、RTTは最小ラウンドトリップ時間であり、nは同時接続の総数である。
アグリゲータの別の好ましい実施形態によれば、ACK遅延(Δ)は、
Figure 0005819530
であり、ただし、advertiseはウィンドウサイズであり、MSSは最大セグメントサイズであり、RTTは最小ラウンドトリップ時間であり、nは同時接続の総数である。
アグリゲータの別の好ましい実施形態によれば、ACK遅延(Δ)の第1のものの代わりに、一様分布にしたがう0から(RTT+Δ)までのランダム値が選定され、ただし、RTTは最小ラウンドトリップ時間である。
アグリゲータの別の好ましい実施形態によれば、ウィンドウサイズ(W)とともにACKを送出することは、ACK遅延(Δ)がゼロより大きいならば、遅延タイマが期限切れになった後で実行される。
アグリゲータの別の好ましい実施形態によれば、ウィンドウサイズ(W)とともにACKを送出することは、ACK遅延(Δ)が負であるならば、遅延なしに即時に実行される。
本発明の別の態様によれば、アグリゲータおよび複数のワーカを備えるネットワークシステムであって、ワーカが、アグリゲータへの同じボトルネックリンクを共有し、アグリゲータが、プロセッサおよび送受信器を備え、プロセッサが、アグリゲータとワーカとの間の接続の数を計数すること、複数のワーカの各々のウィンドウサイズ(W)を調整することであって、ウィンドウサイズ(W)が接続の数に基づく、調整すること、および、ACKにACK遅延(Δ)を付加することであって、ACK遅延(Δ)がウィンドウサイズ(W)に基づく、付加することを遂行するように構成され、送受信器が、ワーカにウィンドウサイズ(W)とともにACKを送出することを遂行するように構成され、アグリゲータが、アグリゲータに関する上記の実施形態にしたがう、ネットワークシステムが提供される。
本発明の別の態様によれば、アグリゲータおよび複数のワーカを含むネットワークでのネットワーク輻輳を回避するためのコンピュータプログラムであって、複数のワーカが、アグリゲータへの同じボトルネックリンクを共有し、コンピュータプログラムが、アグリゲータとワーカとの間の接続の数を計数するステップ、複数のワーカの各々のウィンドウサイズ(W)を調整するステップであって、ウィンドウサイズ(W)が接続の数に基づく、調整するステップ、ACKにACK遅延(Δ)を付加するステップであって、ACK遅延(Δ)がウィンドウサイズ(W)に基づく、付加するステップ、および、ワーカにウィンドウサイズ(W)とともにACKを送出するステップを実行し、コンピュータプログラムが、方法に関する上記の実施形態にしたがう、コンピュータプログラムが提供される。
本発明の価値は、データセンタネットワークにおいてのよく知られているインキャスト輻輳が完璧に回避され得るということである。したがって主な有益性は、クラウドサービスなどのデータセンタアプリケーション、ウェブ検索等が最終的に、より良好な性能、すなわちサービス品質(QoS)を示すことになるということとなる。
分割/集約アプリケーション用の典型的なネットワーク接続形態の構造を例示する図である。 ネットワーク輻輳を回避するためにアグリゲータで遂行されるインキャスト回避アルゴリズムを例示する図である。 第1のACK期間に対するランダム遅延の例を例示する図である。 背景フローがない状態での集約グッドプット(Mbps)を例示する図である。 背景フローがない状態でのTCPタイムアウトの割合(%)を例示する図である。 長期的なTCPフローがある状態での集約グッドプット(Mbps)を例示する図である。 30個の短いフローおよび1つの長いフローがある状態でのクエリ完了時間(ms)を例示する図である。 IA−TCPフロー間のグッドプット公平性を例示する図である。
本節では、インキャスト回避のための理想的なデータパケットレートが導出され、次いで、本発明のIA−TCPアルゴリズムが詳細に解説される。
A.インキャスト回避のためのデータパケットレート
インキャスト回避は、分割/集約アプリケーションがネットワーク輻輳を少しも引き起こさないように、未処理のパケットの総数が経路のBDPを超過しないことを意味する。この目的で、式(1)から、ワーカの集約データパケットレート
Figure 0005819530
×MSS/RTTをリンク容量より小さいように制御することが必要である。本発明の手法は、データパケットの総数が増大する場合に、RTTにΔ(s)を付加することである。例えば、リンク容量が10MSS/RTTであると考えてみる。このことは、10個のパケットのみが、ネットワーク輻輳を回避するために1つのラウンドトリップ時間の間に経路内にあることが許されるということを意味する。今回本発明は、分母に1RTTの遅延を付加して同じレート20MSS/2RTTを実現することにより、20MSSを可能にし得る。次に、インキャスト回避のための集約データパケットレート、IAレートが、以下のように規定される。
Figure 0005819530
結果として本発明は、すべてのワーカがIAレートでデータパケットを送出するならば、ToRスイッチで発生するインキャスト輻輳を能動的に回避することが可能である。
図2は、本発明によるインキャスト回避アルゴリズムを提示する。インキャスト回避アルゴリズムは、アグリゲータおよび複数のワーカを含むネットワークでのネットワーク輻輳を回避するためのアグリゲータで遂行される。手短に言うと、行番号9−16は、同じボトルネックリンクを共有するTCP接続(すなわちワーカ)の総数を計数するためのものである。アグリゲータがACKを送出する必要があるときは常に、アグリゲータは、行19−21において、ワーカにより注入されるパケットの総数を制御するためにadvertiseを計算する。次いで23−28においてACK_delay(Δ)が、第1のACKに対する一様ランダム遅延を除いて決められることになる。行20においてリンク容量は、ToRスイッチに接続されるインターフェースのリンクレートを意味し、それはTCPレイヤでの取得可能な情報であることが想定される。最後に行30−34において、ACK_delayがゼロより大きいならば、advertiseとともにACKが、遅延タイマが期限切れになった後で送出されることになる。この行部分は、本発明のアルゴリズムが、遅延されたACKではなく即時のACKを使用することもまた示唆する。
詳細なIA−TCPアルゴリズムは以下の通りである。アグリゲータは、アグリゲータとワーカとの間のTCP接続の数を計数する(行9−16)。グローバル変数が、tcp_num←0のように初期化される(行9−10)。そしてグローバル変数は、接続が生成されるときは常に増大される(行12−13)。同様にグローバル変数は、接続が閉じられるときは常に減少される(行15−16)。これらの場合では、クエリ要求が通常、アグリゲータから各々のワーカに送出される。この理由で本発明は、データパケット制御ではなく確認応答(ACK)パケット制御を遂行する。
次いで、各々のワーカのウィンドウサイズ(w)およびACK間隔(Δ)が、集約データパケットレートをリンク容量より小さくするためにアグリゲータで調整される。
第1に、各々のワーカのウィンドウサイズ(w)が調整される(行19−21)。アグリゲータがACKを送出する必要があるときは常に(行19)、ウィンドウサイズ(w)が、ワーカにより注入されるパケットの総数を制御するために計算される(行20−21)。この場合では、すべての接続のウィンドウサイズは、簡単のため、およびIA−TCP接続間の公平性のため、Wとして同じであると想定される。次いで、式(1)からウィンドウサイズWが以下のようになる。
Figure 0005819530
標準TCPを用いるワーカは基本的には、インキャスト回避のための能力を有さないので、本発明はこのWを使用して、ACKヘッダ内の広告(advertisement)フィールドを使用して各々の接続のウィンドウサイズを制御する。例えば、BDPが10MSSでありnが5であるならば、広告ウィンドウは2となり、その結果各々のワーカは、RTTごとに2つのデータパケットを送出することが許される。次いで、Wの最大値に対する広告ウィンドウが以下のように設定され得る(行21)。さらに、ウィンドウサイズが整数値であるべきであり、その最小限の値が1であることが留意される。
Figure 0005819530
第2に、ACK_delay(Δ)が、第1のACKに対する一様ランダム遅延を除いて調整される(行23−28)。各々のACKパケットにACK_delay(Δ)を付加することが、アグリゲータ側で実行される。この遅延が、Wは1より小さいが、広告ウィンドウは式(4)により1になるときに、集約データパケットレートがリンク容量を超過することを防止する。(2)、(3)、および(4)から、その遅延は次式にしたがう。
Figure 0005819530
次いで、ACK_delayがゼロより大きいならば、advertiseとともにACKが、遅延タイマが期限切れになった後で送出されることになる(行30−34)。Δが負であるならば、ACKは遅延なしに即時に送出され得る(行30、32−34)。最後に、未処理のパケットの総数がアグリゲータにより制御される場合でも、すべてのワーカの送出時間がまれに同期させられる場合に、オーバーフローすることが可能性としてあり得る。そのような送信同期を防止するために、第1のACK_delayに対する、一様分布にしたがう0から(RTT+Δ)までのランダム値が、Δの代わりに選定される。図3は、ランダム遅延がランダム遅延期間(すなわち第1のACK)の間に各々の接続に与えられ、その結果すべての未処理のパケットが、次の期間からの平均間隔がn/(RTT+Δ)である状態で経路にわたって時間的に分布させられる例を示す。
シミュレーション結果
次に、IA−TCPアルゴリズムがNS−2により実装され、1つのアグリゲータおよび複数のワーカが、(4MBの共有メモリ/52個のポート/1.5kBのMSSを想定すると)その(ポートごとの)バッファサイズが56パケットである、同じToRスイッチに接続される。リンク容量は1Gbpsに設定され、ワーカとアグリゲータとの間のラウンドトリップ伝搬遅延は100usに設定される。すべての実験において、アグリゲータは10Bの要求クエリをワーカに送出し、次いで各々のワーカは特定のサイズのデータをアグリゲータに返信する。パケットサイズは1500バイトに固定され、RTOminは200msに設定される。
既存の輻輳回避体系(例えばICTCP)のコードが利用不可能であるため、IA−TCPアルゴリズムは、TCP SACK、および、その送出ウィンドウサイズが1に固定される1−win TCPと比較され、そのことにより、スケーラビリティに関してのウィンドウベースの輻輳制御体系の限界が確認され得る。
− A.背景トラフィックがない状態での集約グッドプットおよびタイムアウトの割合
提案される体系を評価するための最も重要な性能測定基準は、インキャスト輻輳がどの程度緩和されるかを示すこととなり、応答データサイズを64kB、128kB、および256kBに設定することによる、集約グッドプットおよびタイムアウトの割合が測定される。集約グッドプットは、クエリ要求を送出してから複数のワーカの中での最後のデータパケットを受信するまでの時間にわたる、ワーカからの受信されるデータの総量を意味する。結果は、100回の反復により平均化される。タイムアウトの割合は、反復の総数(すなわち100)にわたって少なくとも1つのタイムアウトに遭遇するシミュレーションの数を意味する。最高で96のワーカの数は、現実のデータセンタにおいて90パーセンタイルに対するアグリゲータへの約100個の同時接続が存在し得るので、増大されてもよい。ここでは背景トラフィックは存在しない。
図4は集約グッドプットのグラフを提示し、1−win TCPは、ある決まった範囲において最も高いグッドプットを示すものの、ワーカの数が32を超える際に性能低下を示すことが観察される。この結果は、データセンタネットワークにおいてのウィンドウベースの輻輳制御に関する限界を明らかにする。すなわち、最小ウィンドウサイズ(1−ウィンドウ)は、ワーカの数が増大する際にインキャスト輻輳を引き起こす場合がある。他方でIATCPのグッドプットは、高い集約グッドプットを実現している。このことは、提案される体系が、ワーカが高いスケーラビリティによって小さなネットワークパイプを共有可能であるように、すべての接続のデータパケットレートを良好に制御することを示す。
図5は、TCPタイムアウトの割合のグラフを提示する。グラフは、TCP SACKおよび1−win TCPが、それぞれ、ワーカの数が8および24を超えるときに100%のタイムアウトの割合に遭遇するが、IA−TCPはすべての実験においてゼロのタイムアウトを示すことを例示する。さらに、既存のウィンドウベースのインキャスト回避手法、すなわちDCTCPおよびICTCPが、(それらの実験セットアップにおいて35を超えるワーカを伴う状態で)少なくとも1つのタイムアウトを引き起こすことを考慮すると、本発明のIA−TCPアルゴリズムは、ワーカの数に関して、よりスケーラブルである。
− B.長期的な背景TCPフローがある状態での集約グッドプット
図6は、分割/集約フローの集約グッドプットを示す。1−win TCPおよびTCP SACKの両方は、背景TCPフローに起因して非常に低下させられるが、IA−TCPのグッドプットは、ワーカの数が増大するにつれてより高くなっていることが観察される。応答データのサイズの違いが、IA−TCPのグッドプットに影響を与えることはまれであるように思われる。このシミュレーションは、IA−TCPに関してタイムアウトがないこともまた示すが、このことはここでは省かれる。
− C.クエリ完了時間
多くの分割/集約アプリケーションはソフトリアルタイム特性を有するので、短いフローおよび長いフローが共存するときのクエリ完了時間を測定することは重要である。30個の短いフローおよび1つの長いフローが走らされ、それらの完了時間が、図7に示されるように測定される。応答データサイズは、短いフローに対しては10kBであり、長いフローに対しては10MBである。TCP SACKの場合では、短いフローの平均クエリ完了時間は、大部分の短いフローがインキャスト輻輳により引き起こされるパケット損失およびタイムアウトに遭遇するので、比較的高いことが観察される。1−win TCPは、TCP SACKよりはるかに低い平均完了時間を示すが、総合的な性能は、長いフローにより影響を受けるいくつかのフローがより長い完了時間を有するので、低下させられる場合がある。IA−TCPは、インキャスト輻輳を回避することにより、短いフローに対して、非常に高速の平均および最長の完了時間を示す。IA−TCPが、ネットワークパイプを効果的に利用することにより、他のものより高速に長いメッセージを移送することもまた観察される。
− D.IA−TCPフロー間の公平性
最後に、同じボトルネックリンクを共有する複数のIA−TCPフロー間のグッドプット公平性が測定される。データセンタ環境は通常、同種ネットワークおよび単一の運営管理制御などの快適な状態を供与するので、レガシープロトコルに対する公平性は考慮されない。公平性を測定するために、5つのIA−TCPフロー群が、図8に示されるように3秒間隔で順に開始する。各々の群は8つのIA−TCPフローからなり、各々のフローの応答データサイズは100MBである。図8から、各々の群内のすべてのフローは同じ帯域幅部分を有し、すべての群は、群が追加/終了される際に帯域幅を公平に共有することが観察される。
本発明は、レートベースの輻輳制御アルゴリズムであるインキャスト回避TCP(IA−TCP)に関して説明されたが、本発明はそのようには限定されない。当業者であれば、本明細書の教示を、1つのノードがその接続状態を別のノードに移転させる他のネットワークに容易に拡張することが可能である。加えて本発明は、ワイヤレス、無線、セルラー、または他の非有線の用途において使用するのに好ましくあり得るが、本発明は、そのように限定されず、パケットベースの通信をサポートする有線ネットワークまたは光ネットワークにおいて用いられ得る。
本発明は、それらの方法を実践するために、方法、装置、デバイス、およびシステムの形態で実施され得る。本発明は、CD−ROM、ハードドライブ、または任意の他の機械可読記憶媒体などの有形媒体内のコンピュータプログラムコードの形態でさらに実施され得るものであり、プログラムコードが、コンピュータなどの機械にロードされ、その機械により実行されるとき、その機械は本発明を実施するための装置となる。本発明は、例えば、記憶媒体に記憶され、機械にロードされ、および/または機械により実行されるか、あるいは、電気配線もしくはケーブル接続を介して、光ファイバを通して、または電磁放射によってなど、何らかの送信媒体によって送信されるかを問わず、プログラムコードの形態でさらに実施され得るものであり、プログラムコードが、コンピュータなどの機械にロードされ、その機械により実行されるとき、その機械は本発明を実施するための装置となる。汎用プロセッサ上で実装されるとき、プログラムコードセグメントはプロセッサと結び付いて、特定の論理回路に類似して動作する独特のデバイスをもたらす。
本発明の特質を解説するために説明および例示された部分の、細部、材料、および配置構成の様々な変更が、以下の特許請求の範囲において表現されるような本発明の原理および範囲から逸脱することなく、当業者により行われ得ることがさらに理解されるであろう。
本発明は、オンラインサービスに提供され、それらのオンラインサービス自体のデータセンタを、データセンタネットワークにおいての典型的なインキャスト輻輳問題を完璧に回避するように動作させ得るものである。本発明は、クラウドサービスなどのデータセンタアプリケーション、ウェブ検索等が最終的に、より良好な性能、すなわちサービス品質(QoS)を示すことになるという有益性のために提供される。

Claims (15)

  1. アグリゲータサーバおよび複数のワーカサーバを含むネットワークにおいてのネットワーク輻輳を回避するための方法であって、複数のワーカサーバが、アグリゲータサーバへの同じボトルネックリンクを共有し、方法が、
    アグリゲータサーバと複数のワーカサーバとの間の接続の数を計数するステップ、
    ワーカサーバにACKを送出し、ラウンドトリップ時間(RTT)を測定するステップ、
    接続の数およびRTTから複数のワーカサーバの各々に対して許されるウィンドウサイズを計算するステップ、
    計算されたウィンドウサイズから遅延を計算するステップ、ならびに、
    ネットワーク輻輳を回避するために、ACKに遅延を付加するステップ
    を含む、方法。
  2. 複数のワーカサーバの各々に対して許されるウィンドウサイズ(advertise)が、
    Figure 0005819530
    であり、ただし、MSSが最大セグメントサイズであり、nが接続の数である、請求項1に記載の方法。
  3. 遅延(Δ)が、
    Figure 0005819530
    である、請求項2に記載の方法。
  4. 計算された遅延(Δ)がゼロより大きいならば、ワーカサーバに、計算されたウィンドウサイズとともに遅延されたACKを送出するステップをさらに含む、請求項3に記載の方法。
  5. 計算された遅延(Δ)が負であるならば、遅延を付加することなしにワーカサーバにACKを即時に送出するステップをさらに含む、請求項3に記載の方法。
  6. 遅延されたACKを送出するステップが、0からRTT+Δまでの時間の間に複数のワーカサーバの各々にACKをランダムに送出するステップをさらに含む、請求項4に記載の方法。
  7. 方法が、データセンタネットワークにおいて、TCPレイヤにおいて実施される、請求項1に記載の方法。
  8. アグリゲータサーバおよび複数のワーカサーバを含むネットワークにおいてのネットワーク輻輳を回避するためのアグリゲータサーバであって、複数のワーカサーバが、アグリゲータサーバへの同じボトルネックリンクを共有し、アグリゲータサーバが、
    送受信器、および、
    プロセッサを備え、プロセッサが、
    アグリゲータサーバと複数のワーカサーバとの間の接続の数を計数すること、
    ワーカサーバにACKを送出し、ラウンドトリップ時間(RTT)を測定すること、
    接続の数およびRTTから複数のワーカサーバの各々に対して許されるウィンドウサイズを計算すること、
    計算されたウィンドウサイズから遅延を計算すること、ならびに、
    ネットワーク輻輳を回避するために、ACKに遅延を付加すること
    を遂行するように構成される、アグリゲータサーバ。
  9. ワーカサーバの各々に対して許されるウィンドウサイズ(advertise)が、
    Figure 0005819530
    であり、ただし、MSSが最大セグメントサイズであり、nが接続の数である、請求項8に記載のアグリゲータサーバ。
  10. 遅延(Δ)が、
    Figure 0005819530
    である、請求項9に記載のアグリゲータサーバ。
  11. 計算された遅延(Δ)が0より大きいならば、ワーカサーバに、計算されたウィンドウサイズとともに遅延されたACKを送出することを遂行するようにアグリゲータサーバがさらに構成される、請求項10に記載のアグリゲータサーバ。
  12. 計算された遅延(Δ)が負であるならば、遅延を付加することなしにワーカサーバにACKを即時に送出することを遂行するようにアグリゲータサーバがさらに構成される、請求項10に記載のアグリゲータサーバ。
  13. 遅延されたACKを送出することが、0からRTT+Δまでの時間の間にワーカサーバの各々にACKをランダムに送出することをさらに含む、請求項11に記載のアグリゲータサーバ。
  14. アグリゲータサーバが、データセンタネットワークにおいて、TCPレイヤにおいて動作させられる、請求項8に記載のアグリゲータサーバ。
  15. アグリゲータサーバおよび複数のワーカサーバを含むネットワークにおいてのネットワーク輻輳を回避するためのコンピュータプログラムであって、請求項1から7のいずれか一項に記載の方法を実施する、コンピュータプログラム。
JP2014529595A 2011-09-06 2011-09-06 ネットワーク輻輳を回避するための方法およびその装置 Expired - Fee Related JP5819530B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2011/006566 WO2013035897A1 (en) 2011-09-06 2011-09-06 A method for avoiding network congestion and an apparatus thereof

Publications (2)

Publication Number Publication Date
JP2014529974A JP2014529974A (ja) 2014-11-13
JP5819530B2 true JP5819530B2 (ja) 2015-11-24

Family

ID=47832324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529595A Expired - Fee Related JP5819530B2 (ja) 2011-09-06 2011-09-06 ネットワーク輻輳を回避するための方法およびその装置

Country Status (8)

Country Link
US (1) US9356878B2 (ja)
EP (1) EP2754274B1 (ja)
JP (1) JP5819530B2 (ja)
KR (1) KR101709932B1 (ja)
CN (1) CN103782534B (ja)
BR (1) BR112014005189A2 (ja)
TW (1) TWI487389B (ja)
WO (1) WO2013035897A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230610B2 (en) * 2013-07-31 2019-03-12 Adaptive Spectrum And Signal Alignment, Inc. Method and apparatus for continuous access network monitoring and packet loss estimation
US9219671B2 (en) * 2013-12-06 2015-12-22 Dell Products L.P. Pro-active MPIO based rate limiting to avoid iSCSI network congestion/incast for clustered storage systems
CN104092625B (zh) * 2014-05-28 2017-07-18 中南大学 一种用于dcn中的自适应请求分批调度方法
TWI580226B (zh) * 2014-06-12 2017-04-21 智邦科技股份有限公司 決定最大分段大小値之方法
CN105530110B (zh) * 2014-09-30 2019-07-23 华为技术有限公司 一种网络故障检测方法以及相关网元
US9893944B2 (en) * 2014-10-01 2018-02-13 International Business Machines Corporation Managing network bandwidth based on cognitive analysis of site content against organizational needs
JP6409558B2 (ja) * 2014-12-19 2018-10-24 富士通株式会社 通信装置、中継装置、および、通信制御方法
CN106576100B (zh) * 2015-03-26 2019-08-16 华为技术有限公司 Tcp网络代理配置方法和装置
CN105207944B (zh) * 2015-08-13 2019-01-15 清华大学 基于fast tcp的传输控制方法
CN105847175A (zh) * 2016-04-21 2016-08-10 中国科学院信息工程研究所 数据中心网络中的应用层调度方法
EP3442180B1 (en) * 2016-04-28 2020-11-11 Huawei Technologies Co., Ltd. Congestion processing method, host, and system
CN108713311A (zh) * 2016-04-29 2018-10-26 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及***
CN106059914B (zh) * 2016-05-09 2019-05-03 中国人民解放军国防科学技术大学 一种基于单维最小化分组的不确定incast流量聚合方法
CN105827537B (zh) * 2016-06-01 2018-12-07 四川大学 一种基于quic协议的拥塞改进方法
US10091118B2 (en) * 2017-01-27 2018-10-02 Verizon Patent And Licensing Inc. Maximizing throughput over a TCP link by boosting packet transmission
JP6859776B2 (ja) * 2017-03-16 2021-04-14 日本電気株式会社 無線アクセスネットワーク装置
CN108833293B (zh) * 2018-06-20 2021-01-26 北京邮电大学 一种基于软件定义网络sdn的数据中心拥塞控制方法及装置
US11102129B2 (en) * 2018-09-09 2021-08-24 Mellanox Technologies, Ltd. Adjusting rate of outgoing data requests for avoiding incast congestion
KR102139378B1 (ko) * 2018-11-20 2020-07-29 울산과학기술원 혼잡 제어 방법 및 장치
CN111079948B (zh) * 2019-12-27 2023-02-24 电子科技大学 一种基于sdn的分布式机器学习训练加速方法
CN114629847B (zh) * 2022-03-08 2023-09-08 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法
CN115174500B (zh) * 2022-05-23 2023-09-12 北京大学 一种基于pisa的用于网内聚合传输的发送节点和交换机
CN116527585B (zh) * 2023-07-05 2023-08-29 天地信息网络研究院(安徽)有限公司 一种流长度感知的拥塞控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193151A (en) * 1989-08-30 1993-03-09 Digital Equipment Corporation Delay-based congestion avoidance in computer networks
SG87029A1 (en) 1999-05-08 2002-03-19 Kent Ridge Digital Labs Dynamically delayed acknowledgement transmission system
US7013346B1 (en) 2000-10-06 2006-03-14 Apple Computer, Inc. Connectionless protocol
JP2009284529A (ja) * 2003-11-27 2009-12-03 Nec Corp 帯域制御装置、帯域制御方法及び帯域制御プログラム
JP2005286530A (ja) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd ルーター
US20090268747A1 (en) * 2005-10-03 2009-10-29 Hiroshi Kurata Communication apparatus
JP5146725B2 (ja) 2007-09-19 2013-02-20 日本電気株式会社 通信装置および通信方法
US20100054123A1 (en) * 2008-08-30 2010-03-04 Liu Yong Method and device for hign utilization and efficient flow control over networks with long transmission latency
US9001663B2 (en) * 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment

Also Published As

Publication number Publication date
JP2014529974A (ja) 2014-11-13
CN103782534A (zh) 2014-05-07
BR112014005189A2 (pt) 2017-03-21
EP2754274A1 (en) 2014-07-16
KR101709932B1 (ko) 2017-02-24
US20140185453A1 (en) 2014-07-03
CN103782534B (zh) 2018-01-23
KR20140049581A (ko) 2014-04-25
WO2013035897A1 (en) 2013-03-14
EP2754274A4 (en) 2015-04-29
TWI487389B (zh) 2015-06-01
TW201318446A (zh) 2013-05-01
US9356878B2 (en) 2016-05-31
EP2754274B1 (en) 2017-06-14

Similar Documents

Publication Publication Date Title
JP5819530B2 (ja) ネットワーク輻輳を回避するための方法およびその装置
Hwang et al. IA-TCP: a rate based incast-avoidance algorithm for TCP in data center networks
Poojary et al. Analytical model for congestion control and throughput with TCP CUBIC connections
Qin et al. Analysis for TCP in data center networks: Outcast and Incast
Man et al. ImTCP: TCP with an inline measurement mechanism for available bandwidth
Zheng et al. An effective approach to preventing TCP incast throughput collapse for data center networks
Oo et al. A proxy acknowledgement mechanism for TCP variants in mobile ad hoc networks
Pu et al. Enhancements on router-assisted congestion control for wireless networks
Jasem et al. Evaluation study for delay and link utilization with the new-additive increase multiplicative decrease congestion avoidance and control algorithm
Alwahab et al. Ecn-marking with codel and its compatibility with different tcp congestion control algorithms
Pradeep et al. Comparison of drop rates in different TCP variants against various routing protocols
Abed et al. Influence of parameters variation of TCP-Vegas in performance of congestion window over large bandwidth-delay networks
Vyakaranal et al. Performance evaluation of TCP using AQM schemes for congestion control
Jaiswal et al. A comparative performance analysis of TCP congestion control algorithm: elastic TCP vs. e-Elastic TCP
CN102123094B (zh) 两次随机丢包的被动队列管理的方法
Adesanmi et al. Controlling TCP Incast congestion in data centre networks
Chen et al. Improved solution to TCP incast problem in data center networks
Zhang et al. Shrinking mtu to improve fairness among tcp flows in data center networks
Fukuda et al. Performance evaluation of tcp variants with packet reordering
Ahmad et al. Packet loss estimation using Poisson random process for improving multimedia transmission in MANETs
Sarkar et al. Modified TCP Peach Protocol for Satellite based Networks
Patel et al. Congestion control technique for wireless mesh networks
Pal et al. Implementation of CSMA/CD and Link State Routing Protocols for Dijkstra Algorithm
Amrutha et al. Performance analysis of TCP incast with TCP Lite and Abstract TCP
Welzl et al. Xcp vs. cubic with quick-start: Observations on implicit vs. explicit feedback for congestion control

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150930

R150 Certificate of patent or registration of utility model

Ref document number: 5819530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees