JP3567828B2 - Atmスイッチ及び動的しきい値設定方法 - Google Patents
Atmスイッチ及び動的しきい値設定方法 Download PDFInfo
- Publication number
- JP3567828B2 JP3567828B2 JP31714499A JP31714499A JP3567828B2 JP 3567828 B2 JP3567828 B2 JP 3567828B2 JP 31714499 A JP31714499 A JP 31714499A JP 31714499 A JP31714499 A JP 31714499A JP 3567828 B2 JP3567828 B2 JP 3567828B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- new
- value
- queues
- old
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
- H04L2012/5682—Threshold; Watermark
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の属する技術分野】
本発明はATMスイッチのバッファ管理方式に係り、特に、動的キュー長を用いたATMスイッチの最適バッファ管理方式に関する。本発明は、動的キューしきい値を用いたATMスイッチ、及び、ATMスイッチのキューに対して共通のしきい値を動的に設定する方法として実現される。
【0002】
【従来の技術】
従来、ATMスイッチアーキテクチャは、帯域の競合やスイッチ内の一時的輻輳によるサービスの遅延を受けたセルに対処するためにバッファリングを用いている(E. W. Zegura, ”Architectures for ATM Switching Systems”, IEEE Communications Magazine, pp.28−37, February, 1993、参照)。このようなアーキテクチャのうちで、共有バッファメモリスイッチは、効率的にバッファを利用するため好ましい。例えばすべての出力ポートの間でバッファを共有し、入力トラフィックの統計多重を利用することにより、共有バッファATMスイッチは、ポートあたりのバッファサイズを小さくしても、同じセル遅延及び損失パフォーマンスを達成することができる。このようなバッファサイズの節減効果は、トラフィックがバースト的でありトラフィック負荷が不均一であるときには特に重要である。
【0003】
ATMスイッチでは、バッファメモリは通常、いくつかの異なるレベルで共有される。例えば、バッファは、異なるサービスクラス(例えば、CBR、VBR、ABR、UBRなど)によって論理的に分割され共有されることが可能である。上記のように、バッファは、異なる出力ポートに対応するキューどうしの間で共有することができる。VCごとのキューイングを採用する場合、バッファは、異なるVCに対応するキューどうしの間で共有することができる。
【0004】
しかし、バッファ管理手続きのない共有メモリスイッチは、過負荷条件下ではうまく動作しない(M. I. Irland, ”Buffer management in a packet switch”, IEEE Trans. Commun., vol.COM−26, pp.328−337, Mar. 1978、参照)。重要な問題点は、複数の出力ポートの間の公平性である。バッファメモリの統計的共有は、小さい出力ポートグループがメモリのほとんどを消費する可能性を引き起こす。このような、一部のポートによる過大なメモリ使用により、あまり利用されていないポート宛のセルが公平なメモリのシェアを得ることができない。最悪の場合、アクセスさえも妨げられる。
【0005】
このような問題点に対する1つの従来の解決法は、ポートが使用することができるバッファリングの量に対して制限を設けることである。すなわち、各キューは、最小メモリ量が保証されるとともに、アクセスすることができる最大メモリ量のしきい値を有する。
【0006】
別のしきい値設定方法が、F. Kamoun and L. Kleinrock, ”Analysis of Shared Finite Storage in a Computer Network Node Environment Under General Traffic Conditions”, IEEE Trans. Commun., vol.COM−28, No.7, pp.992−1003, July, 1980、に提案され解析されている。一般に、キューしきい値を設定する2つの方式がある。
【0007】
第1の方式は、静的しきい値(ST:static threshold)法と呼ばれる。この方法では、バッファしきい値は、ネットワーク管理システム(NMS:network management system)によって、各キューごとにあらかじめ設定される。到着セルは、対応するキュー長が、与えられたしきい値より小さいときに限り受容される。ST法は、実装が簡単であり、対応するキューカウンタと1つのコンパレータ(比較器)しか必要としない。複数のキューに対して静的しきい値を選択する際に、NMSは、トラフィックの特性及び統計を知る必要がある。キューに到着するトラフィックは、そのキューの記述と一致している必要がある。従って、ST法は、クラスレベル(例えば、CBR、VBR及びUBR)のトラフィックに適している。この場合、トラフィックは、異なるポートキュー及びクラス内の個々のコネクションに関してはかなり変動するけれども、1つのクラス全体では予測可能性が高いからである。
【0008】
第2の方式は、動的しきい値(DT:dynamic threshold)法と呼ばれる。この方法では、バッファしきい値は、変化するトラフィック負荷に従って動的に調整される。DT法によれば、キューがメモリの公平なシェア(すなわち、動的しきい値)を超過していない限り、過負荷トラフィックがメモリにアクセスすることが可能である。従って、良好な動的しきい値法は、複数のキューの間でバッファメモリの公平な共有を保証しながら、全体のスイッチ帯域利用率を改善するはずである。一般に、DT方式は、より多くの処理パワーを必要とし、ポートまたはVCのレベルでのバッファ管理に適している。これらのレベルでは、トラフィック負荷変動は複数のキューの間でかなり変化する(ほとんどは短い時間しか持続しないが)可能性がある。ポート及びVCのレベルでのトラフィック負荷変動に関する比較的短い時間スケールのために、DT方式は、実装が単純であることが要求される。
【0009】
上記の2つの方式に対して、さまざまなトラフィック条件におけるパフォーマンスが、包括的なシミュレーション研究を通じて比較されている(A. K. Choudhury and E. L. Hahne, “Dynamic Queue Length Thresholds in a Shared−Memory Packet Switch”, IEEE/ACM Trans. Networking, Vol.6, pp.130−140, April, 1998、参照)。具体的には、この文献では、ある量のバッファを未割当てにして、バッファメモリの公平な共有を保証する単純でエレガントなDT方式が提案されている。しかし、この方式では、少数のキューのみが過負荷のときに、バッファメモリ利用率が低い。
【0010】
【発明が解決しようとする課題】
従来の方法における問題点を克服するため、本発明の目的は、過負荷キューの数にかかわらず、空きメモリを効率的に利用する動的キューしきい値方式を使用するATMスイッチを提供することである。
【0011】
本発明のもう1つの目的は、STアルゴリズム及びDTアルゴリズムを用いた階層的バッファ管理方式を提供することである。さらにもう1つの目的は、バッファ利用率を改善する新規な動的キューしきい値アルゴリズムを提供することである。
【0012】
【課題を解決するための手段】
本発明の目的を実現するために、本発明によれば、動的キューしきい値方式を用いたATMスイッチは、K個の出力ポートキューと、該K個の出力ポートキューを共有するB個のセルのバッファとを有し、前記K個の出力ポートキューに対して共通のしきい値が動的に設定される。前記共通のしきい値は、新しいセルが前記K個の出力ポートキューのうちの1つの出力ポートキューに到着したときに古い値から新しい値に変更され、前記新しい値は、全キュー長が0より大きい所定値のB倍より小さいときは前記1つの出力ポートキューの長さに1を加えた値と前記古い値とのうちの最大値であり、全キュー長が前記所定値のB倍以上のときは前記古い値から1を引いた値と統計的に設定された最小バッファしきい値とのうちの最大値である。
【0013】
好ましくは、前記K個の出力ポートキューのそれぞれの出力ポートキューの長さは、入力トラフィック負荷と、該出力ポートキューに割り当てられたサービス帯域との変動に基づいて変化する。
【0014】
好ましくは、新しいセルが特定のキューに受容されるのは、該特定のキューの長さが前記新しい値より小さく、且つ、全キュー長がBより小さいときである。
【0015】
好ましくは、前記統計的に設定された最小バッファしきい値はデフォルトでは0に等しい。
【0016】
好ましくは、少量のバッファBが、ある所定の動作に対して割り当てられる。
【0017】
好ましくは、バッファメモリは、さらに動的キューしきい値方式を用いて、前記1つの出力ポートキュー内のVCに割り当てられる。
【0018】
好ましくは、動的キューしきい値方式は、複数レベルの動的バッファに適用される。
【0019】
本発明のもう1つの特徴によれば、K個のキューと、該K個のキューによって共有されるB個のセルのバッファとを有するATMスイッチのK個のキューに対して共通のしきい値T(t)を動的に設定する方法において、k=1,2,...,Kとして、前記K個のキューはそれぞれ、時刻tにおいてキュー長Qk(t)を有し、Qk(t)は、入力トラフィック負荷及び出力ポートkに割り当てられるサービス帯域とともに変動する。前記方法は、
時刻tにおける全キュー長をQ(t)とし、0<α≦1とし、統計的に設定された最小バッファしきい値をTmとし、T(t)の古い値をToldとし、T(t)の新しい値をTnew(t)として、動的しきい値T(t)を、
Q(t)<α×Bのとき、Tnew(t)=max(Qk(t)+1,Told)、
Q(t)≧α×Bのとき、Tnew(t)=max(Told−1,Tm)、
により設定するステップと、
Tnew(t)を更新するステップと、
Qk(t)<Tnew(t)かつQ(t)<Bならば時刻tで出力ポートkに新たに到着するセルを受容し、それ以外の場合には該新たに到着するセルを拒絶するステップとからなる。
【0020】
本発明のさらにもう1つの特徴によれば、K個のキューと、該K個のキューによって共有されるB個のセルのバッファとを有するATMスイッチのK個のキューに対して共通のしきい値TP(t)を動的に設定する方法において、k=1,2,...,Kとして、前記K個のキューはそれぞれ、時刻tにおいてキュー長Qk(t)を有し、Qk(t)は、入力トラフィック負荷及び出力ポートkに割り当てられるサービス帯域とともに変動し、各キューは、Lk個のVCを有し、l=1,2,...,Lkとして、ポートkの各VCキューは、キュー長Qkl(t)を有する。前記方法は、
時刻tにおける全キュー長をQ(t)とし、0<α≦1とし、統計的に設定された最小バッファしきい値をTmとし、TP(t)の古い値をTPoldとし、TP(t)の新しい値をTPnew(t)として、各出力キューに対する動的しきい値TP(t)を、
Q(t)<α×Bのとき、TPnew(t)=max(Qk(t)+1,TPold)、
Q(t)≧α×Bのとき、TPnew(t)=max(TPold−1,Tm)、
により設定するステップと、
0<β≦1とし、キューkに割り当てられた各VCに対する動的しきい値をTVk(t)とし、TVk(t)の古い値をTVk oldとし、TVk(t)の新しい値をTVk new(t)として、
Q(t)<β×TP(t)のとき、TVk new(t)=max(Qkl(t)+1,TVk old)、
Q(t)≧β×TP(t)のとき、TVk new(t)=max(TVk old−1,Tm)、
により設定するステップと、
TP(t)及びTVk(t)を更新するステップと、
Qk(t)<TP(t)かつQkl(t)<TVk(t)かつQ(t)<Bならば時刻tで出力ポートkに新たに到着するセルを受容し、それ以外の場合には該新たに到着するセルを拒絶するステップとからなる。
【0021】
【発明の実施の形態】
[A.ATMスイッチにおけるバッファ管理]
ATMスイッチにおいて、バッファメモリは、
・異なるトラフィッククラスに属するキュー間、
・異なる出力ポート宛のキュー間、
・VCごとのキューイングを採用する場合は異なるVCのキュー間、
などのいくつかの方法で分割され共有される。
図1は、入力及び出力でキューイングを行うATMスイッチのアーキテクチャレイアウトを示す図である。この実施例において、スイッチは、同様の構造及び機能を有するK個の入力モジュールIXBとK個の出力モジュールOXBとを有する。各入力モジュールにおいて、バッファメモリは共有され、図2に示すように階層的な方法で論理的に分割される。
【0022】
図2に示すように、入力モジュールにおける全バッファメモリはセルB個分の容量であり、N個のトラフィッククラスがある。このN個のトラフィッククラスは、CBR、VBR(リアルタイム及び非リアルタイム)、ABR及びUBRなどからなる。各トラフィッククラスは、M個(M<N)のグループのうちの1つに属する。各グループは、同様の統計的特性のトラフィッククラスからなる。例えば、すべての非リアルタイムVBRクラスは1つのグループに属する。全バッファBは、各グループに分割され専用される。グループm(m=1,2,...,M)には専用メモリBGmが割り当てられ、
【数1】
である。
【0023】
グループ間にはメモリの共有はなく、BGmは、ネットワーク管理システムによって選択され調整された静的グループバッファしきい値である。グループmに割り当てられる複数のトラフィッククラスは、次のようにグループメモリBGmを共有することができる。即ち、クラスi(ただし、クラスiはグループmに割り当てられる)が使用可能な最大バッファが、BCi(i=1,2,...,N)及び
【数2】
によっても制限されるように、グループメモリBGmを共有することができる。
【0024】
これは、グループ内での完全な共有によってバッファ利用率を最大にしながら、グループ内のいずれのクラスによるバッファメモリの過大な消費もないことを保証する。バッファ割当てBCiの各トラフィッククラスiごとに、相異なる損失あるいは遅延優先度のJ個のサブクラスが存在することも可能である。サブクラスjのバッファしきい値はTCij(j=1,2,...,J)に設定される。TCijの選択は、何らかのキューイングモデルを適用することによってなされる(F. Kamoun and L. Kleinrock, “Analysis of Shared Finite Storage in a Computer Network Node Environment Under General Traffic Conditions”, IEEE Trans. Commun., Vol.COM−28, No.7, pp.992−1003, July, 1980、参照)。
【0025】
グループレベルの割当てBGmと同様に、クラス及びサブクラスのレベルのバッファしきい値(BCi及びTCij)は、ネットワーク管理システムによって静的に選択され調整される。各クラス内で、バッファ管理はさらに2つのレベルに分類される。
・K個の出力ポートへのセルに対するキューがあり、TPiで全K個のキューに対する共通のしきい値を表す。
・VCごとのキューイングを採用する場合、各出力ポートごとに異なるVCに対するキューがあり、TVikで出力ポートk(k=1,2,...,K)宛のすべてのVCに対する共通のしきい値を表す。
【0026】
グループ及びクラスのレベルでのバッファ割当てとは異なり、ポート及びVCのレベルでのキューしきい値(TPi及びTVik)は、変化するトラフィック条件とともに動的に更新される。ポート及びVCのレベルのバッファ管理に動的しきい値を使用する理由は、これらのレベルではトラフィック負荷の変動が大きくなる傾向があり、動的しきい値は、静的しきい値よりもずっと良好にトラフィック負荷の過渡的挙動に対処することができるからである。従来の静的しきい値方式では、ポートキューしきい値は次のように設定される(F. Kamoun and L. Kleinrock, “Analysis of Shared Finite Storage in a Computer Network Node Environment Under General Traffic Conditions”, IEEE Trans. Commun., Vol.COM−28, No.7, pp.992−1003, July, 1980、参照)。
【数3】
【0027】
次のセクションでは、本発明による新規な動的しきい値方式の実施例について説明する。この方法は、バッファメモリの公平で最適な共有を実現する。この実施例はポートあるいはVCのレベルのキュー長しきい値に関して説明されるが、当業者には直ちに明らかなように、この方式はバッファメモリの動的な公平共有を必要とする任意の問題に直接に適用することができる。
【0028】
[B.動的キューしきい値方式]
ここで説明する実施例はATMスイッチである。本実施例では、ATMスイッチはK個の出力ポートと、対応するK個の出力キューによって共有されるB個のセルのバッファを有すると仮定する。Qk(t)は、時刻tにおける出力キューk(k=1,2,...,K)のキュー長である。好ましい実施例では、Qk(t)は、出力ポートkの入力トラフィック負荷と、出力ポートkに割り当てられるサービス帯域の変化に応じて変動する可能性がある。K個の出力キューがすべて等しく扱われる場合、バッファ空間Bの公平共有を保証するには、各キューは、過負荷になったとき、少なくともB/Kのバッファメモリ(公平なシェア)にアクセスすることができなければならない。他方、バッファを効率的に利用するため、すなわち、最大バッファ共有を達成するためには、個々の過負荷キューは、他のキューによって使用されていないあるいは要求されていない空きバッファメモリを使用する。
【0029】
上記2つの目標は、K個のすべてのキューに対して共通のしきい値T(t)を動的に設定することによって達成される。この方式では、次のアルゴリズムがT(t)を動的に設定する。
時刻tにおいて出力ポートkへのセルが到着したとき、
【数4】
とする。ここで、
【数5】
であり、時刻tにおける全キュー長を表し、0<α≦1である。Tmは、各キューごとに統計的に設定される最小バッファしきい値を表す。デフォルトではTm=0である。従って、出力ポートkに到着するセルは、時刻tにおいて、Qk(t)<Tnew(t)かつQ(t)<Bの場合にk番目のキューに受容され、それ以外の場合に、このセルは拒絶される。いずれの場合でも、その後、共通しきい値Toldの値はTnew(t)の値によって更新される。
【0030】
なお、式(1)において、パラメータαは、共有されるべきメモリの量を制御する。完全なバッファ共有の場合にはαは1に設定され、その場合、キューが過負荷のとき、メモリが複数の異なるキューの間で公平に共有されつつ100%のバッファ利用率を達成することができる。好ましい実施例では、式(1)におけるパラメータα及びTmを調整することによって、少量のバッファを何らかの動作(例えば、RMセル挿入やend−of−messageセル挿入)のために特に残しておくことも可能である。
【0031】
[C.マルチレベル動的キューしきい値]
前のセクションでは、本発明の動的キューしきい値方式を用いて出力ポートレベルで複数のキューに対してバッファメモリを効率的かつ公平に管理する実施例について説明した。K個の出力ポートキューのそれぞれへのバッファメモリ割当ては式(1)によって動的にTnew(t)に設定される。しかし、ATMスイッチでは、バッファメモリは、ポートレベルの下でさらに分割されることが必要となることがある。例えば、前述のように、出力キューは多くのVCからなることがある。VCごとのキューイングを採用する場合、バッファメモリは、各VCキューに論理的に割り当てることも必要になる。
【0032】
もう1つの実施例について説明する。この実施例では、各出力ポートkはLk(k=1,2,...,K)個のVCを有する。出力キューkの各VCの時刻tにおけるキュー長をQkl(t)で表す(l=1,2,...,Lk)。広く採用されているバッファ管理ポリシーは、まず、バッファメモリが、複数の出力キューの間で公平に共有されることを要求する(前のセクションで行われたように)。次に、各出力キュー内で、割り当てられたメモリを、この出力ポートへのすべてのVC間でさらに公平に共有する。これが、マルチレベルバッファ管理問題である。この好ましい実施例では、本発明の方式を用いてマルチレベル動的キューしきい値方式を実現し、上記の基準を満たしながらバッファ利用率を最大にする。
【0033】
TP(t)は、各出力キューの動的キューしきい値であり、TVk(t)は、出力ポートk(k=1,2,...,K)宛の各VCキューの動的キューしきい値である。VClのセルが出力ポートkに到着したとき、動的キューしきい値TP(t)及びTVk(t)は次の2段階アルゴリズムで計算される。
1.ポートキューkに対して、
【数6】
2.ポートkのVCキューlに対して、
【数7】
ここで、
【数8】
である。パラメータβは、αと同じ目的で用いられ、0<β≦1である。
【0034】
Qk(t)<TP(t)かつQkl(t)<TVk(t)かつQ(t)<Bの場合に到着セルは受容される。それ以外の場合、セルは拒絶される。その後、セルが受容されるか廃棄されるかに拘わらず、TP(t)及びTVk(t)によって、しきい値TPold及びTVk oldがそれぞれ更新される。
【0035】
上記のアルゴリズムは、2つの異なるレベル、すなわち、ポートレベルとVCレベルにおける、バッファ管理のための動的バッファ割当て方式を提供する。これは、2つの異なるレベルで、即ち、まずポートレベルで、次にポート内のVCレベルで、バッファメモリの公平で最適な共有を保証する。詳細にいえば、K個の出力キューのうちのm個が過負荷(オーバーロード。すなわち、できるだけ多くのバッファを要求している状態)であり、残りの出力キューはアンダーロード(すなわち、今のところバッファは不要の状態)であると仮定する。過負荷の出力キューkに対して、nk個(nk≦Lk)の過負荷のVCがある。α=β=1に設定することで、バッファメモリBの完全共有を提供する。その場合、式(2)及び(3)のアルゴリズムによって、m個の過負荷出力キューのそれぞれに対するバッファ割当てはB/mであり、ポートkのnk個の過負荷VCのそれぞれに対するバッファ割当てはB/(m×nk)である。
【0036】
2レベルバッファ管理のための方式のみについて説明したが、当業者には認識されるように、上記アルゴリズムは、マルチレベル動的バッファ割当て問題を扱うように容易に拡張することができる(実際には2レベルの場合が普通であるが)。他方、出力キューどうしの間の公平性に関係なく、すべてのVCが同じ公平なバッファ割当てを要求する場合、上記アルゴリズムを直接にすべてのVCに適用することによって、方式は単純化される。
【0037】
[D.パフォーマンス比較及びシミュレーション結果]
このセクションでは、動的しきい値方式及びその他のバッファ管理方式のパフォーマンスを、いくつかの例を通して比較する。
【0038】
Choudhury及びHahneによる論文(A. K. Choudhury and E. L. Hahne, “Dynamic Queue Length Thresholds in a Shared−Memory Packet Switch”, IEEE/ACM Trans. Networking, Vol.6, pp.130−140, April, 1998)に記載された動的しきい値方式では、定常状態において、次式で定まるある量のバッファメモリΘが未割当てのまま残される。これは彼らの方式で本質的であるからである。
Θ=αB/(1+θ・S)
ここで、Sは過負荷キューの数であり、θは乗数パラメータである。多くの過負荷キューがある場合あるいはパラメータθが非常に大きい値である場合には、未割当てのまま残されるメモリは無視できるかもしれないが、彼らは前掲論文で、θの値が非常に大きいと動的制御が無効になることを示している。他方、適当なトラフィックポリシング、帯域割当て及びその他の制御メカニズムにより、多くのキュー(それぞれ異なる出力ポート又はラインへ行く)が同時に輻輳する可能性は低くなる。従って、場合によっては、Θにおける未利用のメモリ量は大きくなる。例えば、完全共有のα=1でθ=1(通常は良好な選択)の場合、ただ1つの過負荷キューがあるときに、メモリの半分が割り当てられないことになる。
【0039】
第1の例では、120セルのバッファメモリが、4個の出力ポートに対応するキューによって共有される。容量600Mbpsのサーバが、ラウンドロビン方式で4個のポートキューにサービスする。別のソース(VC)が、各ポートキューにセルを供給する。第1のVCは、到着レートが310MbpsのCBRソースである。残りは、ピークレートが310Mbpsで、相異なるオンとオフの周期を有する「オン/オフ」VBRソースであり、システム全体は安定であるが、2個以上のソースがアクティブにセルを送信しているときには過負荷が発生するようになっている。しかし、アクティブで過負荷のVCが1個のみの場合には、Choudhury et al.に記載のアルゴリズムによれば、VCは、すべての空きバッファメモリ(120セル)をとる。
図3から分かるように、本発明のDT方式を用いると、各キューごとの定常状態キュー占有量は、2個、3個及び4個のVCがアクティブのときそれぞれ60セル、40セル及び30セルである。これは、120セルのバッファメモリ全体が使用されている場合にChoudhury et al.のアルゴリズムによって計算されたバッファメモリの公平シェアと厳密に一致する。Choudhury et al.のDTアルゴリズムを用いると、バッファメモリの公平シェアは、それぞれ60セル、40セル、30セル及び24セルとなる。この結果、未使用バッファはそれぞれ50%、33%、25%及び20%となる。
【0040】
各ポートキューのしきい値を60セルとした静的しきい値方式では、過負荷ソースが1個だけのときにバッファは50%未使用であり、第3及び第4のソースは、アクティブになったときに、メモリの公平シェアが得られない。
【0041】
第2の例では、同じ120セルのバッファメモリが、2個の出力ポート宛の4個のVCキューによって共有される。各VCキューは相異なるソースによってセルが供給される。第1のVCは出力ポート#1宛であり、ピークレートが310Mbpsの「オン/オフ」VBRソースである。他の3個の統計的に同一のVCはすべて出力ポート#2宛であり、ピークレートが310MbpsのCBRソースである。従って、出力ポート#2へのVCは常に過負荷状態を生じ、できるだけ多くの空きバッファメモリを必要とする。動的バッファ共有ポリシーは次の2つのレベルを有する。
(i)2個のポートはポートレベルでバッファの公平シェアを有する。
(ii)各ポートバッファシェア内では、複数のVCが公平シェアを有する。
式(2)及び(3)に記載した本発明の動的キューしきい値方式が適用される。図4から明らかなように、ポート#2への3個のVCがt=500(セル時間)でアクティブになると、システムは過負荷になり、ポート#1へのVCは、ポートレベルメモリ割当てで60セルの公平シェアを獲得し、ポート#2へのVCは全体で残りの60セルを獲得し、それらの3個のVCはそれぞれ、VCレベルのメモリ割当てで20セルずつの公平シェアを有する。ポート#1へのVCがt=3500(セル時間)付近でインアクティブになると、その60セルのメモリ割当てが空きになる。ここで、ポート#2への3個のアクティブなVCはポートレベルで全部で120セルのメモリをとり、各VCはVCレベルで40セルずつの公平シェアを有する。その後、ポート#1へのVCが再びアクティブになると、ポートレベルの公平シェアとして60セルを再び獲得する。
【0042】
【発明の効果】
以上、共有メモリATMスイッチのための新規な動的バッファ管理方式について説明した。Choudhury et al.で提案されたバッファ管理方式と同じ考え方で、本発明は、オンデマンドのトラフィック負荷に対して公平なバッファメモリ共有を行うことによって、変化するキュー条件に適応することが示された。動的キューしきい値を計算するのには最小限の処理パワーしか必要としないため、実装はむしろ単純である。さらに、本発明は、バッファメモリの利用率を最大にする。式(1)のパラメータαを調整することによって、メモリ共有の程度を制御することができる。また、マルチレベルバッファ管理方式を実現するために本発明の動的キューしきい値アルゴリズムをどのようにして適用することができるかも示した。
【0043】
動的しきい値とともに、階層的バッファメモリ分割方式も示した。この方式は、複数のレベルでバッファメモリを論理的に分割し割り当てる。この方式は、グループ及びクラスのレベルではトラフィックの統計的特性及びサービスのQoSを考慮し、ポート及びVCのレベルでは、変化するトラフィック条件に対するバッファメモリの公平で最適な割当てを保証する。
【0044】
上記では本発明のいくつかの実施例のみについて説明したが、当業者には明らかなように、上記の説明に基づいて、本発明の技術思想及び技術的範囲から離れることなく、本発明のさまざまな変形例を考えることが可能である。
【図面の簡単な説明】
【図1】入力及び出力キューイングモジュールを有するATMスイッチの図である。
【図2】異なるレベル、すなわち、グループ、クラス、サブクラス、ポート/ライン、VCでの階層的なバッファメモリ割当て方式を示す図である。
【図3】各VCが異なるポートを宛先とする、ポートレベルでの動的バッファ割当てを示す図である。
【図4】ポート及びVCのレベルでの動的バッファ割当てを示す図である。
Claims (9)
- それぞれ異なる出力ポートに対応するK個の出力ポートキューと、該K個の出力ポートキューの間で共有されるセルB個分の容量のバッファと、を有し、動的キューしきい値方式を用いるATMスイッチにおいて、
前記K個の出力ポートキューに対して共通のしきい値が動的に設定され、
前記共通のしきい値は、新しいセルが前記K個の出力ポートキューのうちの任意の1つに到着した時に古い値から新しい値に変更され、
前記新しい値は、全キュー長がプリセット値(0より大きい)のB倍より小さい時には前記任意の1つの出力ポートキューの長さに1を加えた値と前記古い値とのうちの最大値であり、全キュー長が前記プリセット値のB倍以上の時には前記古い値から1を引いた値と統計的に設定された最小バッファしきい値とのうちの最大値である、
ことを特徴とするATMスイッチ。 - 前記K個の出力ポートキューのそれぞれの出力ポートキューの長さは、入力トラフィック負荷と、該出力ポートキューに割り当てられたサービス帯域との変動に基づいて変化することを特徴とする請求項1記載のATMスイッチ。
- 新しいセルが特定のキューに受容されるのは、該特定のキューの長さが前記新しい値より小さく、且つ、全キュー長がBより小さいときであることを特徴とする請求項1記載のATMスイッチ。
- 前記統計的に設定された最小バッファしきい値はデフォルトでは0に等しいことを特徴とする請求項1記載のATMスイッチ。
- 前記バッファの予め定められたメモリを、予め定められた目的のセルに対して割り当てることを特徴とする請求項1記載のATMスイッチ。
- 前記バッファのメモリは、さらに動的キューしきい値方式を用いて、前記1つの出力ポートキュー内のVCに割り当てられることを特徴とする請求項1記載のATMスイッチ。
- 動的キューしきい値方式は、ポートレベルとその下位レベルとに対するバッファメモリ割り当てに適用されることを特徴とする請求項1記載のATMスイッチ。
- それぞれ異なる出力ポートに対応するK個のキューと、該K個のキューの間で共有されるセルB個分の容量のバッファと、を有し、k=1,2,...,Kとして前記K個のキューはそれぞれ時刻tにおいてキュー長Qk(t)を有し、キュー長Qk(t)は入力トラフィック負荷及び出力ポートkに割り当てられるサービス帯域とともに変動するATMスイッチにおける前記K個のキューに対して共通のしきい値T(t)を動的に設定する方法において、
時刻tにおける全キュー長をQ(t)、0<α≦1、統計的に設定された最小バッファしきい値をTm、T(t)の古い値をTold、T(t)の新しい値をTnew(t)として、任意のkに対して動的しきい値T(t)を、
Q(t)<α×Bの時、Tnew(t)=max(Qk(t)+1,Told)、
Q(t)≧α×Bの時、Tnew(t)=max(Told−1,Tm)、
により設定するステップと、
Tnew(t)を更新するステップと、
Qk(t)<Tnew(t)かつQ(t)<Bならば時刻tで出力ポートkに新たに到着するセルを受容し、それ以外の場合には該新たに到着するセルを拒絶するステップと、
からなることを特徴とする、ATMスイッチのキューに対して共通のしきい値を動的に設定する方法。 - それぞれ異なる出力ポートに対応するK個のキューと、該K個のキューの間で共有されるセルB個分の容量のバッファと、を有し、k=1,2,...,Kとして前記K個のキューはそれぞれ時刻tにおいてキュー長Qk(t)を有し、キュー長Qk(t)は入力トラフィック負荷及び出力ポートkに割り当てられるサービス帯域とともに変動し、各キューはLk個のVCを有し、l=1,2,...,Lkとしてポートkの各VCキューはキュー長Qkl(t)を有するATMスイッチのK個のキューに対して共通のしきい値TP(t)を動的に設定する方法において、
時刻tにおける全キュー長をQ(t)、0<α≦1、統計的に設定された最小バッファしきい値をTm、TP(t)の古い値をTPold、TP(t)の新しい値をTPnew(t)として、任意のkに対して各出力キューに対する動的しきい値TP(t)を、
Q(t)<α×Bの時、TPnew(t)=max(Qk(t)+1,TPold)、
Q(t)≧α×Bの時、TPnew(t)=max(TPold−1,Tm)、
により設定するステップと、
0<β≦1、キューkに割り当てられた各VCに対する動的しきい値をTVk(t)、TVk(t)の古い値をTVk old、TVk(t)の新しい値をTVk new(t)として、任意lに対して
Q(t)<β×TP(t)の時、TVk new(t)=max(Qkl(t)+1,TVk old)、
Q(t)≧β×TP(t)の時、TVk new(t)=max(TVk old−1,Tm)、
により設定するステップと、
TP(t)及びTVk(t)を更新するステップと、
Qk(t)<TP(t)且つQkl(t)<TVk(t)且つQ(t)<Bならば時刻tで出力ポートkに新たに到着するセルを受容し、それ以外の場合には該新たに到着するセルを拒絶するステップと、
からなることを特徴とする、ATMスイッチのキューに対して共通のしきい値を動的に設定する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/249,324 US6424622B1 (en) | 1999-02-12 | 1999-02-12 | Optimal buffer management scheme with dynamic queue length thresholds for ATM switches |
US09/249324 | 1999-02-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000236344A JP2000236344A (ja) | 2000-08-29 |
JP3567828B2 true JP3567828B2 (ja) | 2004-09-22 |
Family
ID=22942984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31714499A Expired - Fee Related JP3567828B2 (ja) | 1999-02-12 | 1999-11-08 | Atmスイッチ及び動的しきい値設定方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6424622B1 (ja) |
EP (1) | EP1028600B1 (ja) |
JP (1) | JP3567828B2 (ja) |
DE (1) | DE60022243T2 (ja) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000269997A (ja) * | 1999-03-18 | 2000-09-29 | Fujitsu Ltd | Lan中継交換装置 |
US6788697B1 (en) * | 1999-12-06 | 2004-09-07 | Nortel Networks Limited | Buffer management scheme employing dynamic thresholds |
US6985455B1 (en) * | 2000-03-03 | 2006-01-10 | Hughes Electronics Corporation | Method and system for providing satellite bandwidth on demand using multi-level queuing |
US7072353B2 (en) * | 2000-06-15 | 2006-07-04 | At&T Corp. | Flexible bandwidth allocation in high-capacity grooming switches |
US6967921B1 (en) * | 2000-11-27 | 2005-11-22 | At&T Corp. | Method and device for efficient bandwidth management |
US20020110094A1 (en) * | 2001-02-13 | 2002-08-15 | Reddy Naveen S. | Spot beam hopping packet scheduler system |
GB2372172B (en) * | 2001-05-31 | 2002-12-24 | Ericsson Telefon Ab L M | Congestion handling in a packet data network |
US7349419B1 (en) * | 2002-02-08 | 2008-03-25 | Nortel Networks Limited | Queue sizing for packet routing |
ATE442376T1 (de) * | 2002-12-23 | 2009-09-15 | Dynavax Tech Corp | Oligonukleotide mit einer immunsystemstimulierenden sequenz und verfahren zu deren anwendung |
US7352699B2 (en) * | 2003-04-25 | 2008-04-01 | Alcatel Usa Sourcing, L.P. | Switch fabric access scheduler |
US7518996B2 (en) * | 2004-09-16 | 2009-04-14 | Jinsalas Solutions, Llc | Fast credit system |
US7564869B2 (en) | 2004-10-22 | 2009-07-21 | Cisco Technology, Inc. | Fibre channel over ethernet |
US7830801B2 (en) * | 2004-10-29 | 2010-11-09 | Broadcom Corporation | Intelligent fabric congestion detection apparatus and method |
US7990978B1 (en) * | 2004-12-17 | 2011-08-02 | Verizon Services Corp. | Dynamic bandwidth queue allocation |
US7961621B2 (en) | 2005-10-11 | 2011-06-14 | Cisco Technology, Inc. | Methods and devices for backward congestion notification |
JP4701152B2 (ja) * | 2006-10-20 | 2011-06-15 | 富士通株式会社 | データ中継装置、データ中継方法およびデータ中継プログラム |
TWI330024B (en) * | 2007-02-16 | 2010-09-01 | Realtek Semiconductor Corp | Bandwidth control module and control method thereof |
US8149710B2 (en) * | 2007-07-05 | 2012-04-03 | Cisco Technology, Inc. | Flexible and hierarchical dynamic buffer allocation |
US8121038B2 (en) | 2007-08-21 | 2012-02-21 | Cisco Technology, Inc. | Backward congestion notification |
EP2187580B1 (en) | 2008-11-18 | 2013-01-16 | Alcatel Lucent | Method for scheduling packets of a plurality of flows and system for carrying out the method |
US8081569B2 (en) | 2009-04-20 | 2011-12-20 | Telefonaktiebolaget L M Ericsson (Publ) | Dynamic adjustment of connection setup request parameters |
US8755271B2 (en) * | 2011-01-28 | 2014-06-17 | Broadcom Corporation | Dynamic memory bandwidth allocation |
FR2984657B1 (fr) * | 2011-12-19 | 2014-01-10 | Kalray | Systeme d'emission de flots de donnees concurrents sur un reseau |
FR2984656B1 (fr) * | 2011-12-19 | 2014-02-28 | Kalray | Systeme d'emission de flots de donnees concurrents sur un reseau |
US20140105218A1 (en) * | 2012-10-12 | 2014-04-17 | Prashant H. Anand | Queue monitoring to filter the trend for enhanced buffer management and dynamic queue threshold in 4g ip network/equipment for better traffic performance |
CN111669339B (zh) * | 2020-05-25 | 2022-02-15 | 武汉大学 | 智慧能源站站控层业务优先级划分及pdwrr队列调度方法 |
CN113507423B (zh) * | 2021-04-25 | 2024-07-12 | 清华大学 | 流量感知的交换机共享缓存调度方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864538A (en) * | 1996-08-26 | 1999-01-26 | Lucent Technologies Inc. | First-order rate-based flow control with adaptive queue threshold for ATM networks |
US6052361A (en) * | 1997-04-16 | 2000-04-18 | Lucent Technologies Inc. | Method for providing a fair-rate allocation for available bit rate services |
KR100247022B1 (ko) * | 1997-06-11 | 2000-04-01 | 윤종용 | Atm 스위칭 시스템의 단일 스위치 소자 및 버퍼 문턱값 결정 방법 |
US6118764A (en) * | 1997-12-30 | 2000-09-12 | Nortel Networks Corporation | Congestion indication/no increase (CI/NI) ABR flow control for ATM switches |
-
1999
- 1999-02-12 US US09/249,324 patent/US6424622B1/en not_active Expired - Fee Related
- 1999-11-08 JP JP31714499A patent/JP3567828B2/ja not_active Expired - Fee Related
-
2000
- 2000-01-25 EP EP00101400A patent/EP1028600B1/en not_active Expired - Lifetime
- 2000-01-25 DE DE60022243T patent/DE60022243T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60022243D1 (de) | 2005-10-06 |
EP1028600A2 (en) | 2000-08-16 |
JP2000236344A (ja) | 2000-08-29 |
US6424622B1 (en) | 2002-07-23 |
EP1028600B1 (en) | 2005-08-31 |
DE60022243T2 (de) | 2006-03-09 |
EP1028600A3 (en) | 2002-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3567828B2 (ja) | Atmスイッチ及び動的しきい値設定方法 | |
US5917804A (en) | Connection admission control for ATM networks handling CBR and VBR services | |
US6404768B1 (en) | Method and apparatus for serving ATM packets/cells | |
US6650645B2 (en) | Bi-modal control system and method for partitioning a shared output buffer in a connection-oriented network connections device | |
JP3347926B2 (ja) | メモリ割り付けを改善したパケット通信システム及び方法 | |
US6240066B1 (en) | Dynamic bandwidth and buffer management algorithm for multi-service ATM switches | |
EP1056245B1 (en) | Buffering system employing per traffic flow accounting congestion control | |
Murase et al. | A call admission control scheme for ATM networks using a simple quality estimate | |
US5862126A (en) | Connection admission control for ATM networks | |
US7061910B2 (en) | Universal transfer method and network with distributed switch | |
JP3949282B2 (ja) | 資源を共有するシステムにおけるサービス要求受付管理方法 | |
US6345040B1 (en) | Scalable scheduled cell switch and method for switching | |
US7092396B2 (en) | Asynchronous transfer mode (ATM) based delay adaptive scheduling apparatus adaptive according to traffic types and method thereof | |
Bian et al. | Dynamic flow switching. A new communication service for ATM networks | |
US6990115B2 (en) | Queue control method and system | |
KR20030048905A (ko) | 공유 버퍼형 스위치의 적응 버퍼 배분 방법 및 이에사용되는 스위치 | |
US20040202175A1 (en) | Bandwidth control method, cell receiving apparatus, and traffic control system | |
Fan et al. | An optimal buffer management scheme with dynamic thresholds | |
Yaprak et al. | Dynamic buffer allocation in an ATM switch | |
Wu et al. | Two-level dynamic step sizes of virtual paths on bandwidth allocation in ATM networks | |
AboElFotoh et al. | An integrated call admission and buffer management scheme for LAN interconnection over a shared-memory ATM switch | |
CA2273291A1 (en) | Buffering system employing per traffic flow accounting congestion control | |
Pao et al. | Cell scheduling for ATM switch with delay-sensitive and loss-sensitive traffic | |
Bian et al. | Dynamic Flow Switching | |
Aderounmu et al. | Improving the quality of service guarantee in an Asynchronous Transfer Mode (ATM) Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040309 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040510 |
|
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: 20040525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040607 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080625 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090625 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100625 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110625 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120625 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130625 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |