JP2001007822A - データフロー制御スイッチ及びそのスケジューリング方法 - Google Patents
データフロー制御スイッチ及びそのスケジューリング方法Info
- Publication number
- JP2001007822A JP2001007822A JP2000055103A JP2000055103A JP2001007822A JP 2001007822 A JP2001007822 A JP 2001007822A JP 2000055103 A JP2000055103 A JP 2000055103A JP 2000055103 A JP2000055103 A JP 2000055103A JP 2001007822 A JP2001007822 A JP 2001007822A
- Authority
- JP
- Japan
- Prior art keywords
- scheduling
- time slot
- future time
- module
- input
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0037—Operation
- H04Q2011/005—Arbitration and scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
- H04Q2011/0052—Interconnection of switches
- H04Q2011/0058—Crossbar; Matrix
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ーラおよびクロスバ高速スイッチファブリックの入線間
での公平なスケジューリングが可能なパイプラインスケ
ジューラを提供する。 【解決手段】 時間軸をフレーム化し、将来のタイムス
ロットを予約するための優先マトリクスを用いたラウン
ドロビン方式により、スケジュールモジュールが偶数個
か奇数個に関係なく、タイムスロットの規則的な巡回順
序が得られる。さらに、繰越しラウンドロビンパイプラ
インスケジューラ(CORPS)は多数のポートへのス
ケーラビリティを実現する。また、CORPSは、将来
のスロットのパケットをスケジューリングすることによ
り、ラインごとスロットごとに1つのスケジューリング
決定を行う。スケジューリングされるキューの選択は任
意であるため、本発明は、トラフィックのサービス品質
をサポートすることに適している。CORPSは、出力
ポート間の競合を公平に解決する。
Description
るデータのフローを制御するネットワークシステムおよ
びスイッチに係り、特に、大容量スイッチを通じてのデ
ータフローを管理するスケジューラに関する。
常に高速交換システムの有力な選択肢であった。それは
主に、入力バッファのメモリアクセス速度が、全交換容
量とともにスケールするのではなく、単一の入線の速度
とともにスケールするからである。しかし、入力バッフ
ァ型スイッチは、HOL(head-of-line)ブロッキングの
問題があることが以前から知られており、これにより全
スループットは58.6%という理論限界に制限される
(M. J. Karol, M. G. Hluchyj, S. P. Morgan,"Input
Versus Output Queuing on a Space-Division Packet S
witch", IEEE Transactions on Communications, Vol.C
OM-35, No.12, pp.1347-1356, Dec. 1987、参照)。
ッキングの問題を克服するために、仮想出力キューイン
グ(VOQ:Virtual Output Queuing)という入力キュ
ーイング方式が提案された(Y. Tamir and G. Frazier,
"High Performance Multi-queue Buffers for VLSI Co
mmunication Switches", Proceedings of 15th Ann.Sym
p. on Comp. Arch., pp.343-354, June 1988、および、
T. Anderson, S. Owicki, J. Saxe, C. Thacker, "High
Speed Switch Scheduling for Local Area Networks",
ACM Transactions on Computer Systems, pp.319-352,
Nov. 1993、参照)。その考え方は、スイッチの各出力
ポートごとに別々のキューを設け、空き出力ポート宛の
パケットが、別のポートに対する競合により進めない先
頭パケットによってサービスをブロックされる可能性が
なくなるようにするというものである。この場合、N×
Nスイッチは入力ポートごとにN個のキュー、すなわ
ち、N2個のキューを有する。他の研究者によって議論
されているように(A. Mekkittikul, N. McKeown, "A P
ractical Scheduling Algorithm to Achieve 100% Thro
ugh-put in Input-Queued Switches", Proceedings of
Infocom98, April 1998、参照)、VOQ法をさらに研
究することによって、高性能のスケジューラの設計によ
り実に100%のスループットが達成可能であることが
示されている。
スケジューラは高速入力バッファ型スイッチの重要な設
計ポイントのうちの1つとなる。VOQの場合、スケジ
ューラは、通常の先入力先出力(FIFO)入力キュー
イングアーキテクチャの場合よりも、バックログのある
入力ポートから出力ポートへパケットを交換するのには
るかに多くの選択肢を有する。バックログのある入力ポ
ートのうちで、あらゆる入出力ポート対を選択すること
ができる。
とんどは以下のように分類することができる。集中スケ
ジューラは、スケジューラがN2個のすべてのVOQに
関する情報を有する単一のエンティティであって、パケ
ットスロットごとにすべての可能な入出力ポート対に関
するスケジューリング決定を行うものである(例えば、
A. Mekkittikul, N. McKeown, "A Practical Schedulin
g Algorithm to Achieve 100% Through-put in Input-Q
ueued Switches", Proceedings of Infocom98,April 19
98、参照)。
がいくつかの機能ブロック(通常は入力あるいは出力ポ
ート当たり1又は2個のブロック、あるいは、入出力ク
ロスポイント当たり1ブロック)に分割されたものであ
る(例えば、N. McKeown, M.Izzard, A. Mekkittikul,
W. Ellersick, M. Horowitz, "The Tiny Tera: A Packe
t Switch Core", IEEE Micro, Jan/Feb 1997, pp.26-3
2、および、Y. Tamirand H-C Chi, "Symmetric Crossba
r Arbiters for VLSI Communication Switches", IEEE
Transactions on Parallel and Distributed Systems,
Vol.4, No.1,pp.13-27, 1993、参照)。
略的ブロック図である。集中スケジューラは、スケジュ
ーリング決定を行う前に、N2個の情報にアクセスする
必要がある。このようなスケジューラは、一般に、スケ
ジューラを実装するハードウェアがスイッチラインの数
Nに強く依存するという意味で、スケーラブルではな
い。
てスイッチポート数への依存性をより少なくする可能性
を有する。しかし、これまで提案されているものは依然
として、個々のパケットスロットに対するスケジューリ
ング決定を行うことができる前に、N2個のすべてのキ
ューに関する情報を提供する通信メカニズムを必要とす
る。この通信は、並列に(SLIPスケジューラの場合
のように。N. McKeown, M. Izzard, A. Mekkittikul,
W. Ellersick, M. Horowitz, "The Tiny Tera:A Packet
Switch Core", IEEE Micro, Jan/Feb 1997, pp.26-3
2、参照)、あるいは、ラウンドロビン方式で(Y. Tami
r and H-C Chi, "Symmetric Crossbar Arbiters for VL
SI Communication Switches", IEEE Transactions on P
arallel and Distributed Systems, Vol.4, No.1, pp.1
3-27, 1993、参照)行うことが可能である。
ウンドロビン方式のアーキテクチャをそれぞれ示す模式
図である。図2(A)における並列通信アーキテクチャ
では、各ブロックがスイッチのサイズに陽に依存してし
まう。各ブロックがN2個のメッセージを受け取らなけ
ればならないからである。図2(B)におけるラウンド
ロビンアーキテクチャはこの問題点を克服するが、別の
問題点を生じる。すなわち、すべての出力ポートに関す
るスケジューリング決定を達成するためには、メッセー
ジ受渡しは、単一のパケットスロット中に1ラウンドを
完了しなければならないという点である。これは、スケ
ジューリング決定よりも少なくともN倍高速なメッセー
ジ処理を必要とする。
リーティ・スケジューラ(RRGS:Round-Robin Gree
dy Scheduler)が提案された。これは、メッセージパッ
シング(受渡し)に基づくスケジューラであり、各入力
ポートがスケジューリング決定を行い、この情報をラウ
ンドロビン方式で次のポートに渡すものである(本出願
人による特願平11−172584号を参照)。メッセ
ージ受渡し速度要求条件を緩和するために、RRGSは
パイプライン機能を導入している。入力ポートは、十分
将来のスロットに関するスケジューリング決定を行い、
メッセージ受渡しメカニズムがこの情報を他の入力ポー
トに広めるのに十分な時間があるようにする。RRGS
は高速なスケジューリングを実現することができる。
ラのアーキテクチャについて説明する。図3は入力バッ
ファスイッチアーキテクチャを例示する模式図である。
スイッチアーキテクチャに関して、スケジューリング
は、純粋なノンブロッキングN×Nクロスバスイッチに
適用されると仮定する。また、仮想出力キュー(VO
Q)を用いてHOLブロッキング問題に対処すると仮定
する。
ンク速度を仮定する。時間はスロット化される。1つの
スロットは、出力リンクによる1パケットの送信にかか
る時間として定義される。出力ポート競合が存在しない
場合、ノンブロッキングクロスバは、タイムスロット当
たりNパケットまでを交換することができる。スケジュ
ーラの基本的な仕事は、スロットごとに、空でないN2
個のVOQキューのうちのいずれが出力ポートにアクセ
スすることができるかを判断することである。効率のた
めに、スケジューラは、1タイムスロット内でバックロ
グのあるキューの間のすべての競合を解決しなければな
らない。
グアルゴリズムが大容量スイッチにもスケーラブルであ
ることが重要となる。従って、分散アーキテクチャが有
力であると思われる。分散アーキテクチャでは、高速ス
イッチにおいてパケットスケジューリングに要求される
きつい処理時間が緩和されるからである。例えば、10
Gbit/sのライン速度の16×16ポートスイッチ
で、スケジューリング決定は、各パケット送信時に行わ
なければならず、424ビットのATMセルに対して4
2nsである。シーケンシャルスケジューラを使用する
場合、各決定は、16×16スイッチでは0.16ns
未満で行わなければならない。N2個の決定をしなけれ
ばならないからである。光コアを使用する場合、光コア
の全交換帯域幅要求条件をそのままにして、電子ハード
ウェアをポートごとに分散することには意味がある。さ
らに、分散スケジューラは、当然、任意のライン数にあ
わせてスケールされる。図4にそのようなスケジューラ
を例示する。
入力ポートスケジューラモジュール(SM:Scheduler
Module)を有する。各SMは、個別のIDであるSM−
IDを有する。ライン数とのスケーラビリティを維持す
るために、SMは、隣の1個のSMとのみ通信すること
が許される。これにより、SMハードウェアブロックは
任意のN×Nクロスバファブリックで使用可能であるこ
とが保証される。SM通信チェインが図4に示されてい
る。これは、タイムスロット、スロット所有権、および
出力ポート予約のようなスケジューリング情報を通信す
るために使用される。クロスバモジュールとSMとの間
の唯一の相互作用は、グローバルクロックを通じてのも
のである。これは、あらゆるSMに、どのスロットが現
在のシステムタイムスロット(CTS:Current system
Time Slot)であるかということと、CTSで交換され
る入出力ポート対に関する現在の決定テーブル(図示せ
ず)とを知らせる。これは、スケジューラによって書き
込まれ、クロスバファブリックによって読み出されるグ
ローバルメモリによって実現することが可能である。
ス要求先の出力ポートに関して完全な選択の自由がある
と仮定される。同様の選択をするSMどうしは「コリジ
ョン」(衝突)を生じ、これは、与えられたスロットに
対するグローバルスケジューリングパターンを決定する
前に解決する必要がある。SMが、他のすべての要求に
関する現在の情報を有することになる場合、通信チェイ
ンは、スケジューリング決定の速度よりもN倍速い速度
で動作しなければならない。すなわち、SMは、1つの
スケジューリング決定を行う前に、N個のメッセージを
受信することができなければならない。
もにスケーラブルに保つために、Nルックアヘッド(先
読み)スケジューリング方式を使用することが可能であ
る。すなわち、各SMは、現在のスロットの少なくとも
Nスロット先のタイムスロットに関してスケジューリン
グ決定をすることになる。この機能により、SMは、ス
ケジューリング決定をする前に、同じタイムスロットに
対してなされている他のスケジューリング決定に関して
知っていることが保証される。さらに、この機能は、通
信チェインを入力ライン速度のN倍に高速化する必要が
ない。RRGSは上記のような、分散スケジューリン
グ、パイプラインスケジューリングの特徴と、Nルック
アヘッド(先読み)スケジューリングの特徴を備えてい
る。
た場合のRRGSスケジューリングの一例を示すタイム
チャートである。図5では、4個のSM1〜SM4と、
それらの入力が出力ポートを選択するタイムスロットT
6、T7・・・との関係が示されている。
で、SM1はタイムスロットT10で送信を行うための
出力ポートの選択(スケジューリング)を行い、SM3
はタイムスロットT9におけるスケジューリングを行っ
ている。また、次のタイムスロットT6では、SM1は
タイムスロットT8におけるスケジューリングを行って
いる。以下同様である。
行い、その結果を次段のSMに転送することによって、
あらゆるSMが、既にスケジューリングされたポートに
関する情報を適時に得ることが保証される。あるSM
が、前の「訪問者(visitor)」(即ち、1タイムスロ
ット前のSM)によって既に選ばれた出力ポートを選ぶ
ことを避ければ、コリジョンを完全に回避することがで
きる。
Sでは、一つのSMが予約を行っていくタイムスロット
の巡回順序が複雑になる。図6は、図5を個々のSMの
タイムスロット巡回順序に着目して表現したタイムチャ
ートである。例えば、SM1について見ると、タイムス
ロット巡回順序は、T10、T8、T11、T9・・・
となり、時系列的あるいは逆時系列的な一定の規則的順
序にはなっていない。これはRRGSの実装及び制御が
複雑になるという問題を示している。
に示されるように、RRGSは、SMが偶数の場合と奇
数の場合でスケジューリング動作が異なる。これは、S
Mを追加する際に制御を変更しなければならないことを
示しており、実装及び制御が複雑になるという問題があ
る。
ていない出力ポートを選ぶように制限されるため、VO
Qサービスレートは予測が困難になる。さらに、重大な
公平性の問題が生じる。例えば、図4において、SM#
1とSM#2は与えられた出力ポートのキューにコンス
タントにバックログがあり、他のSMの対応するキュー
は空であるとする。この場合、SM#1は、図5にて定
義される巡回順序においてSM#2の前に4スロットの
うちの3スロットを訪れるため、4スロットのうち3ス
ロットはSM#1によって取られることになる(前記特
願平11−172584号を参照)。
は高速なスケジューリングを実現することが可能である
が、実装及び制御が複雑になるという問題がある。ま
た、予測可能かつ調整可能なサービスレートを実現でき
ない。また、上述したようにVOQのいくつかが他のV
OQの状態によりスケジューリングを妨げられるという
公平性の問題もある。
の複雑さを解消した簡易なスケジューラの基本方式を提
供することにある。
ジューリングを行う際の完全な選択の自由を可能にする
大容量スイッチのためのスケジューラを提供することに
ある。
スレートを予測可能かつ調整可能にするスケジューラを
提供することにある。
も他のVOQの状態に拘わらず同じ確率でスケジューリ
ングされるという意味で公平であるようなスケジューラ
を提供することにある。
は、次にスケジューリングされる与えられた入線に属す
るN個のVOQのうちのどのVOQを、スケジューラの
制御から外すかの決定である。換言すれば、入力ポート
ごとに、どの出力ポートが次にスケジューリングされる
かを、ある外部エンティティが全く自由に決定すること
である。この要請は将来のサービス品質(QoS)のサ
ポートにとって重要である。これによりVOQの予測可
能なサービスレートをより予測可能にする最大スループ
ットを低下させる可能性があることは明らかである。し
かしながら、これは重要な点である。スイッチ全体のス
ループットの最大化は、一部のキューの枯渇、ひいて
は、それらのキューに関連するフローも妨げられる可能
性があるからである。
れば、ネットワークにおけるデータのフローを制御する
スイッチは、複数の入力ポートと、複数の出力ポート
と、複数の入力ポートスケジュールモジュールを有する
スケジューラとを有する。各スケジュールモジュール
は、前記複数の出力ポートのうちの指定された出力ポー
トへデータを送るように、前記複数の入力ポートのうち
の特定の入力ポートをスケジューリングする。スケジュ
ールモジュールは、モジュール間でスケジューリングメ
ッセージを受け渡し、各スケジュールモジュールは、当
該スケジュールモジュールが指定出力ポートにアクセス
しようとする将来のタイムスロットを計算する。スケジ
ュールモジュールは、更に、前記将来のタイムスロット
が当該スケジュールモジュールによって現在予約されて
いるかどうか、前記将来のタイムスロットが阻止されて
いるかどうか、及び前記将来のタイムスロットが他のス
ケジュールモジュールによって取られているかどうかに
基づいて、前記将来のタイムスロットが有効かどうかを
判断する。有効な場合、スケジュールモジュールは前記
将来のタイムスロットを取り、スケジューリングメッセ
ージに前記将来のタイムスロットが取られたことを示す
情報を入れる。
イムスロットが予約されているとき又は取られていると
きに、前記将来のタイムスロットを所定数のタイムスロ
ットだけ前進させる。
対して別々のキューを維持する仮想出力キューイングを
用いて、前記入力ポートを通じてデータ入力をキューイ
ングする。あるいは、個々のポートに対する仮想出力キ
ューイングは、他のポートに対する仮想出力キューイン
グとは独立であることも可能である。さらに、スイッチ
は予測可能かつ調整可能な仮想出力キューイングのサー
ビスレートを有する。また、スイッチスケジューラは重
み付きラウンドロビンに基づいて指定出力ポートを選択
する。
複数の入力ポートに到着する入力パケットをスイッチの
複数の出力ポートに送るようにスケジューリングする方
法が提供される。ここで、スケジューラは、複数の入力
ポートスケジュールモジュールを有する。この方法は、 a)現スケジュールモジュールが、前のスケジュールモ
ジュールからスケジューリングメッセージを受信するス
テップと、 b)前記現スケジュールモジュールが、前記複数の出力
ポートのうちの1つにアクセスしようとする将来のタイ
ムスロットを計算するステップと、 c)前記将来のタイムスロットにおける送信用にスケジ
ューリングするように前記複数の出力ポートのうちの1
つを選択するステップと、 d)前記将来のタイムスロットが前記現スケジュールモ
ジュールによって既に予約されているかどうかを判断す
るステップと、 e)前記将来のタイムスロットが前記現スケジュールモ
ジュールによって予約されていない場合、前記将来のタ
イムスロットが阻止されているかどうかを判断するステ
ップと、 f)前記将来のタイムスロットが阻止されていない場
合、前記将来のタイムスロットが他のスケジュールモジ
ュールによって既に取られているかどうかを判断するス
テップと、 g)前記将来のタイムスロットが、他のスケジュールモ
ジュールによって既に取られているか又は前記現スケジ
ュールモジュールによって既に予約されている場合、前
記スケジューリングメッセージから、繰越し動作が既に
開始されているかどうかを判断するステップと、 h)前記繰越し動作が既に開始されている場合、前記将
来のタイムスロットを阻止状態に設定してステップdに
戻るステップと、 i)前記繰越し動作が開始されていない場合、前記将来
のタイムスロットを所定数のタイムスロットだけ前進さ
せ、繰越しフラグをセットして、ステップdに戻るステ
ップと、 j)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には前記将来のタイ
ムスロットを取り、前記将来のタイムスロットが取られ
たことを示す情報を前記スケジューリングメッセージに
入れるステップと、 k)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、からなる。
は、各出力ポートに対して別々のキューを維持する仮想
出力キューイングを用いてキューイングされる。個々の
ポートに対する仮想出力キューイングは他のポートに対
する前記仮想出力キューイングとは独立である。また、
前記仮想出力キューイングのサービスレートは予測可能
かつ調整可能である。スケジューラは、重み付きラウン
ドロビンに基づいて、前記指定出力ポートを選択する。
クにおけるデータのフローを制御するスイッチは、複数
の入力ポートと、複数の出力ポートと、前記複数の出力
ポートのうちの指定出力ポートへデータを送るように、
前記複数の入力ポートのうちの特定の入力ポートをスケ
ジューリングするN個の複数の入力ポートスケジューリ
ングモジュールを有するスケジューラと、から構成さ
れ、前記スケジューラは、前記各入力ポートスケジュー
リングモジュールがリング状に接続され、タイムスロッ
ト単位に、各入力ポートスケジューリングモジュール
が、前段のスケジューリングモジュールから、ある予約
タイムスロットの予約状況情報を受信し、各入力ポート
スケジューリングモジュールが、その予約タイムスロッ
トにおける当該入力ポートスケジューリングモジュール
からのパケット送出予約可否を決定し、各入力ポートス
ケジューリングモジュールが、前段のスケジューリング
モジュールから受信した予約状況情報に、自スケジュー
リングモジュールの予約結果を反映させて、次段のスケ
ジューリングモジュールに送信する。
有するパケットスイッチの入力ポートと出力ポートの接
続状態を決定し接続を予約する(以下、スケジューリン
グという。)方法は、N個のタイムスロットを単位とす
るフレームを定義して、前記フレーム時間内で、前記フ
レームの次フレーム中のN個のタイムスロットでのスケ
ジューリングを行うことを特徴とする。
ルモジュールからスケジューリングメッセージを受信す
るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
出力ポートのうちの1つにアクセスしようとする将来の
タイムスロットを予め次フレーム内の特定のタイムスロ
ットに決定するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
イムスロットでの送信用にスケジューリングするように
選択するステップと、 d)前記将来のタイムスロットが他のスケジュールモジ
ュールによって既に取られているかどうかを判断するス
テップと、 e)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には、前記将来のタ
イムスロットを取り、前記将来のタイムスロットが取ら
れたことを示す情報を前記スケジューリングメッセージ
に入れるステップと、 f)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、からなる。
イムスロットでのスケジューリング決定過程(接続決定
過程)の観点から見た場合、前記複数の接続決定過程
が、フレームの先頭で同時に開始され、フレーム内で同
時にパイプライン処理により進行し、フレームの末端で
同時に完了する。
入力ポートスケジューリングモジュールが、フレームの
先頭で同時に開始する前記各接続決定過程において、次
のフレーム内の各々異なる予約タイムスロットを対象と
して処理を開始する。
れた将来のタイムスロットにおけるN個の入力ポートス
ケジューリングモジュールの規則的な巡回順序を定義す
るN×Nマトリクスを参照することによって、現在のフ
レームにおける入力信号が次のフレームでどの出力ポー
トへ送出されるかを決定する。
越し)ラウンドロビン・パイプライン・スケジューラ
(Carry Over Round-robin Pipelined Scheduler、以下
CORPSという。)は、高速クロスバファブリックに
対する公平なスケジューラであり、従来技術のスケジュ
ーラの問題点を解決するものである。CORPSは、高
速スイッチファブリックのライン速度およびライン数の
双方に関するスケーラビリティ性を有する。ライン数に
関するスケーラビリティのために、メッセージ受渡しを
有する分散アーキテクチャが選択される。更に、RRG
Sと同様に、メッセージ処理要求条件をライン速度とと
もにスケーラブルに維持するために、パイプラインアー
キテクチャが用いられる。
個の連続するスロット列であるスロットフレームに分割
して、時間をフレームの列とみなす。競合するスケジュ
ーラモジュールSM間のコリジョンを解決する基準を設
定するために、優先マトリクスを使用する。N×N優先
マトリクスは、将来の与えられたタイムスロットをSM
が巡回する順序を定義するマトリクスである。マトリク
スの行は現在のフレーム(現在のシステムスロットを含
むフレーム)内のスロットをインデクス付けし、マトリ
クスの列は次に訪れるフレーム内のスロットをインデク
ス付けしている。マトリクスの要素は、どのSMが、列
インデクスによって示される次フレーム内のスロットを
「訪れる(visit)」べきかを指定する。
り、図8は、図7に示したマトリクスに対するパイプラ
イン化されたタイムスロット巡回順序を例示している。
パイプライン化された決定プロセスは、優先マトリクス
の使用に既に含まれていることに注意すべきである。例
えば、システムの現在のタイムスロットが現フレームの
第2スロットであるとき、SM#1が次フレームの第4
スロットに関するスケジューリング決定をしている間
に、SM#3は次フレームの第2スロットに関するスケ
ジューリング決定をしている。
軸がフレーム化され、タイムスロット巡回順序が規則的
になる。例えば、フレームF1における各SMの動作に
着目すると、各SMのスケジューリング決定過程は、フ
レームF1の先頭で同時に開始され、スケジューリング
決定を行うタイムスロットの巡回順序はT8→T7→T
6→T5→T8となり、フレームF1の末端で同時に完
了する。これは、図6に示したRRGSにおけるタイム
スロット巡回順序(T10、T8、T11、T9・・
・)と比較して規則的になっている。このためSMの実
装及び制御が容易になる。更に、N×N優先マトリクス
はSMの個数に関して偶奇の区別なく、同一規則にてタ
イムスロットの巡回順序を定義する。
り、図10は、図9に示したマトリクスに対するパイプ
ライン化されたタイムスロット巡回順序を例示してい
る。フレームサイズは5タイムスロットとなるが、N=
4の場合と同様に、タイムスロット巡回順序は規則的な
ものとなる。図8と同様に、フレームF1における各S
Mの動作に着目すると、各SMのスケジューリング決定
過程は、フレームF1の先頭で同時に開始され、スケジ
ューリング決定を行うタイムスロットの巡回順序がT1
0→T9→T8→T7→T6→T10となり、フレーム
F1の末端で同時に完了する。SMの個数に関して偶奇
の区別なく同一規則にてN×N優先マトリクスを規定で
きるため、RRGSと比較してSMの実装及び制御が容
易になる。
ッセージ受渡しの同じ方向に、SMの列を回転させるこ
とによって生成される。これにより、あらゆるSMが、
既にスケジューリングされたポートに関する情報を適時
に得ることが保証される。あるSMが、前の「訪問者(v
isitor)」(即ち、1タイムスロット前のSM)によっ
て既に選ばれた出力ポートを選ぶことを避ければ、コリ
ジョンを完全に回避することができる。
先マトリクスを用いた予約を行うことにより、SMの個
数に関して偶奇の区別なくタイムスロット巡回順序が規
則的なものとなり、SMの実装及び制御が容易になる。
びメッセージ受渡し方式を維持しつつ公平性を提供する
ために、繰越し(キャリーオーバ)動作を導入する。こ
の考え方は、あるスケジューラモジュールSMaが、そ
れに先行するスケジューラモジュールSMによって所望
の出力ポートが既に予約されているスロットを訪れると
きに、処理しようとしたスロットから将来にNスロット
分だけそのポートのスケジューリング試行を繰り越すと
いうものである。もし当該スロットが同じ出力ポートに
取られていることが分かれば、SMは所望の出力ポート
がまだ取られていないスロットを見つけるまで更にNス
ロット先に進む。
SMの間での繰越し動作を例示する説明図である。繰越
し動作は、与えられたタイムスロットにおいて「衝突し
ている」SMの個数に依存してNフレームまで広げるこ
とができる。繰越し動作によって影響されるスロット
は、コリジョン(衝突)を解決するために取られるスロ
ットの集合(以下、コリジョン解決セットという。)と
みなすことができる。なお、繰越し動作を受けたスロッ
トは、後続するフレームですべてのSMにより再び訪問
されるであろう。従って、繰越し動作によって取られる
スロットは、潜在的に新たなコリジョンを受け、コリジ
ョン解決セットの重畳を引き起こす可能性がある。これ
は、複数のコリジョンを解決するためにN2個のフレー
ム、すなわち全部でN3個のスロットを必要とする可能
性がある。
にスケジューリング遅延を短縮するために、繰越し動作
によって影響されるフレームの個数は、繰越し動作を実
行したSMが、当該コリジョンを解決するために取られ
た複数のスロットにわたって同じ出力ポートに対して他
のスケジューリングをしないように制限される。換言す
れば、1つのスロットが、同時に複数のコリジョンを解
決するようには使用されない。
よって取られたスロットmを見つけ、これにより繰越し
動作がトリガされると仮定する。この繰越し動作の結果
としてSMaによって予約されたスロットをmxとす
る。スロットmn(1≦n<x)のいずれも、同じポー
トpについてはSMaにとって利用不可(阻止、ブロッ
キング)となる。従って、この阻止機能は、与えられた
スロットに関する複数のコリジョンが禁止されることを
保証する。
について以下で説明する。先ず、通信チェインで渡され
るメッセージと、スケジューリング決定が記録されるS
Mデータベースについて説明し、その後、アルゴリズム
の流れについて説明する。
から次のSMに渡されるスケジューリング決定要素のベ
クトルを定義する。Sメッセージは、たかだか最後のN
個のセルスロットでなされたスケジューリング決定のス
ケジューリング要素(scheduling element、以下SEと
記す。)を含む。すなわち、Sメッセージは、たかだか
N個のSEを有する。Sメッセージは以下のフォーマッ
トを有する。
示す図である。同図において、Sメッセージの各スケジ
ューリング要素SEは、存続時間(TTL:Time To Liv
e)、タイムスロットID(TSI:Time Slot ID)、S
M−ID、及び出力ポートID(OPI:Output Port
ID)からなる。 ・存続時間(TTL)は、当該SEを生成したSMによっ
て最初にNにセットされる。 ・タイムスロットID(TSI)は、現在のTS(タイ
ムスロット)からスロットがスケジューリングされるま
でのスロット数として定義される、スケジューリングさ
れるスロットのIDである。 ・SM−IDは、スケジューリング予約をした入力ポー
トスケジューリングモジュールのIDである。 ・出力ポートID(OPI)は、スケジューリングされ
る出力ポートのIDである。
からSメッセージを受信する。これは、最後のN個のス
ロットに付けられたSEを含む。あらゆるSMは、タイ
ムスロット当たりたかだか1回のスケジューリング決定
を行う。SMpがスケジューリング決定を行う場合、S
Mpは以下の内容を有する新しいSEを作成する。
トまでの(それを含む)スロットの個数m ・SM−ID=p ・OPI=タイムスロット(CTS+m)におけるパケ
ットが入力ポートpから出力ポートqに交換されるよう
な所望の出力ポートq。
Mは、次のSMにメッセージを渡す前に、Sメッセージ
内の他のすべてのSEのTTLをデクリメントし、TT
L=0のSEを廃棄する。
モリアレイSCを有する。最初のN個の位置は、クロス
バスイッチモジュールによって読み出される現フレーム
のスケジューリング決定を記録する。これらの位置は、
すべてのSMの間で、現フレームに関する同一の情報を
有し、いくつかの方法でクロスバコントローラによって
アクセスされ得る。厳密にいえば、SMは、この情報を
保持する必要はない。残りのN2個の位置は、将来のス
ケジューリング決定を記録するために使用される。メモ
リアレイは以下のフォーマットを有する。
定義される。 ・タイムスロットID:SCアレイへのインデクスであ
る。これは、SC位置がスケジューリング情報を保持す
るタイムスロットIDを与える。これは、クロスバモジ
ュールによって提供されるグローバルクロックと同期す
る。このフィールドは、グローバルクロックが進行する
と共にラップアラウンドする。
ューリング予約をすることを阻止されている出力ポート
の集合を定義する。このフィールドにはN個までのエン
トリが存在しうる。なお、最初は空である。
たタイムスロットに対するスケジューリング予約を記録
する。CORPSは、現タイムスロット(CTS)に対
してこのフィールド内のすべてのエントリがすべてのS
Mにわたり同一であることを保証する。従って、クロス
バモジュールは、任意のSM(CTS)から、セルの現
在の入出力スケジューリングを読み出すことができる。
アルゴリズムの一貫性チェックは、クロスバコントロー
ラが十分な処理時間を有する場合に、すべてのSMの間
でこのフィールドを比較することにより、クロスバモジ
ュールによって実行されることができる。
アルゴリズムに従う。CORPSには、与えられたSM
がどの出力ポートをスケジューリングしようとするかに
関する制約はない。どの出力ポートをスケジューリング
しようとするかの選択は、各SMにまかされ、そのVO
Qにサービスする固有のポリシーに従う。図14はCO
RPSスケジューリングアルゴリズムを示すフローチャ
ートである。以下、タスクボックス101〜110につ
いて、同図のフローに従いながら説明する。
らSメッセージを受信し、各SEに対してTTL(存続
時間)をデクリメントする。更に、与えられたSEに対
してTTL>0の場合には、TSI(タイムスロットI
D)をデクリメントし、TSIにおけるメモリアレイS
Cを更新する。TTL=0の場合には、そのSEをSメ
ッセージから除去する。また、キャリー(CARRY)
フラグをCARRY=FALSEにリセットする(タス
ク109参照)。
算)において、適当な優先マトリクスを用いて、どの将
来のタイムスロット(FTS:Future Time Slot)をス
ケジューリングしようとするかを計算する。簡単のた
め、そのマトリクスは、FTS=f(CTS,SM_I
D)の形の関数fにエンコードされうる。
PIS)をスケジューリングしようとするかを選択する
(タスク103:出力ポートの選択)。なお、出力ポー
トを選択するストラテジは、前のタスクの結果に依存す
る可能性がある。CORPSはこのストラテジを指定し
ない(例えば、出力ポートの重み付きラウンドロビン選
択が使用可能である)。
うちで、SM−IDがこのスケジューリングを実行する
SMに等しいものがあるかどうかを単にチェックする
(タスク104:スロットを自分が所有しているかのテ
スト)。
を実行するSMと異なるならば(タスク104のN
O)、更に、SC(FTS)の阻止エントリのうちで、
OPI(出力ポートID)が、スケジューリングを試み
ている出力ポートOPISに等しいものがあるかどうか
をチェックする(タスク105:自分は阻止されている
かのテスト)。
5のYES)、Sメッセージを次のSMに渡す(タスク
106)。
05のNO)、SC(FTS)の予約エントリのうち
で、OPI(出力ポートID)が、スケジューリングを
試みている出力ポートOPISに等しいものがあるかど
うかをチェックする(タスク107:そのスロットは取
られているかのテスト)。
(タスク107のNO)、SC(FTS)に、自己のS
M−IDを有しOPIがOPISに等しい予約エントリ
を作成し、TTL=N、TSI=FTSで、SM−ID
は自己のIDに等しく、OPI=OPISであるSEを
作成する(タスク108:スロットを取る)。その後、
タスク106(Sメッセージの受け渡し)へ進む。
(タスク104のYES)あるいはそのスロットが既に
取られている場合(タスク107のYES)には、繰越
し動作が既に開始されているかどうかを検査し、フラグ
CARRY=TRUE/FALSEをチェックする。C
ARRY=TRUEの場合には、SC(FTS)の阻止
フィールドに、OPI=OPISのエントリを作成し、
そうでない場合にはCARRY=TRUEにセットし、
更に、FTS=FTS+Nにセットする(タスク10
9:繰越し)。
ると、続いて健全性チェックが行われる(タスク11
0)。即ち、FTSは、CTSから2N2より遠くに離
れてはならない。(FTS−CTS)>2N2である場
合(タスク110のNOK)、エラーメッセージを出し
て処理を中止する。FTS−CTS)≦2N2の場合に
は(タスク110のOK)、タスク104へ戻る。
下の利点が生じる。バックログのあるVOQは、最終的
にはそのSMによって選択されると仮定しても、枯渇す
ることはない。VOQqがSMpによって選択されると
仮定すると、図14によれば、SMpがqをスケジュー
リングすることに成功せずに予約ループを抜ける唯一の
場合は、試みたスロットに対して阻止されている場合で
ある。SMpが阻止されているとは、キューqが既にス
ケジューリングされていることを意味するが、以下の点
に注意すべきである。ループを抜ける他の唯一の場合が
あるとすれば、健全性チェックを通る場合であるが、こ
れは、繰越し動作が次のNフレームに空きスロットを見
つけなかったことを意味する。1つのコリジョンにかか
わるSMはたかだかN個であり、複数のコリジョンは阻
止手続きによって禁止されるため、ループからこのよう
にして抜けることはない。
ングしようとするm個の入力ポート(SM)のセットを
Mとする。さらに、Δtのタイムスロットの間に出力ポ
ートqに対してSMiによってスケジューリングされる
スロットの個数をni q(Δt)とする。スケジューラ
は、任意の期間Δt及びi,j∈Mに対して、 |ni q(Δt)−nj q(Δt)|≦N である場合、m−フェア(m−公平)であるという。換
言すれば、SMは、他のいずれのSMよりも前にN個の
予約をすることはできない。
ある。与えられたスロットtsにおいて出力ポートqに
対してm個のSMが衝突していると仮定する。衝突して
いるm個のSMはそれぞれ、そのスロットに対して阻止
されてはいない。もし阻止されていれば、そのスロット
が既に取られているかどうかのテストをすることさえで
きないからである(図14のタスク105)。これらの
m個のSMがスロットtsにおいて阻止されていない場
合、ts+nN(1<n≦i)の間にm個の空きスロッ
トがなければならない。なぜならば、将来にこれらのス
ロットにアクセスする唯一の方法は繰越し動作を通して
であり、しかも、これらのSMはこれらのスロットに対
して繰越し動作を実行していないことが分かっている
(さもなければそれらはtsにおいて阻止されている)
からである。このことは、次のiフレーム以内に、衝突
中のSMがそれぞれqに対してスケジューリング要求を
することになることを意味する。ここで、それらは現フ
レームのN個の連続するスロットに対して衝突し続け、
しかも、各コリジョン(衝突)はSMごとに次のiフレ
ームに1つのスケジューリングを生成するとすれば、各
SMは、出力ポートqに対して次のiフレームに全部で
Nスロット予約することになる。このように、コリジョ
ンが解決されるiフレームのiN個のスロットから取ら
れるスロットのいずれのサブセットも、他のSMよりも
Nスロットより多い利益を有するSMを含むことはでき
ない。
は、たとえ測定期間がどれほど長くても、連続してバッ
クログのあるVOQは、他のSMの対応するVOQの前
にN個より多くのパケットをサービスされることはない
ことを意味するからである。実際、十分長い期間では、
すべての衝突するSMは厳密に同数の予約を得ることに
なる。
ポートを有するキューはすべて、それらのSMによって
同じ回数だけ選択されると仮定すれば、すべて同じスル
ープットを有する(図14のタスク108)。
かのコメントをしておかなければならない。SMどうし
の間でスケジューリング情報を渡すために用いられる通
信チェインは、将来の少なくともN個のスロットである
限り、任意の方法でスロットのスケジューリングパター
ンを変更するために使用することが可能である。例え
ば、出力ポート予約を取り下げることも可能である。こ
の機能は、SMがコリジョンにより遠い将来に予約をし
たばかりであるが、ちょうど次のスロットにおいて、要
求するポートが空いたことに気がついた場合に有用とな
る。SMが、同じパケットに対して別の予約(より近い
もの)をする場合、遠いほうの予約は、取下げがなけれ
ば帯域の浪費を引き起こす。しかし、予約取下げは、上
記の性質に悪影響を及ぼす可能性もある。例えば、衝突
したSMが後で予約を取り下げた場合、同じコリジョン
においてその後にスケジューリングされたパケットの遅
延に悪影響を及ぼす。換言すれば、i−1個の他のSM
と衝突したSMが、この衝突による予約を後で取り下げ
た場合、システムは、最初にi−1個のSMのみが衝突
したのと同じ状態にはない。このスケジューラは、最初
の設計目標を満たしながら、できる限り単純なものであ
る。これにより、最終的な実装に要求されるハードウェ
アは単純なままであることが保証される。
ケットスケジューリングを広げることによって衝突を解
決する。従って、他のスケジューラに比べて、平均パケ
ット遅延が大きくなると期待することはもっともであ
る。このため、一様トラフィックのもとでCORPSの
パフォーマンスを分析する。最終目標は、繰越し動作が
どのくらいパケット遅延に影響するかを評価し、競合す
るスケジューリングアルゴリズムと比べて、システムか
ら最大利用率を得ることである。
関してスケジューラのパフォーマンスを評価するため
に、CORPSの分析モデルを作成する。以下では、簡
単のため、次の2つの主要な仮定をする。
14のタスク103)。
ーゲットVOQキューQmnを定義する。パケットは、強
度pでベルヌーイ過程に従ってあらゆる入力ポートに到
着する。具体的には、与えられたスロットにおいて、1
つのパケットが1つの入力ポートに到着する確率がpで
ある。さらに、あらゆるパケットは、いずれの出力ポー
ト宛の確率も等しい(仮定i)。従って、ターゲットV
OQキューにおけるパケット到着過程は、パラメータp
/Nのベルヌーイ分布を有する。
でない各キューは、スケジューリングのために等確率で
選択される(仮定ii)。従って、任意のVOQに対し
て、当該VOQが空でなければ、qは選択される確率で
ある。以下、Chipalkatti等(“Protocols for Optical
Star-Coupler Network using WDM,”IEEE Journalon S
elected Areas in Communications, Vol. 11, NO. 4, M
ay 1993)に従うと、すべてのVOQの利用率がρであ
る場合、1つのSMにおいて期待される空でないVOQ
キューの個数は1+(N−1)ρによって与えられる。
入すると便利である。rを任意のキューがそのスケジュ
ーラによって選択される確率とする。qが当該キューが
空でないと仮定しているのに対して、rにはこの制限が
ないという点で、rはqとは異なる。次式が成り立つの
を見るのは困難ではない。
ることができる。パケット到着間時間は明らかに、パラ
メータp/Nの幾何分布に従う。先頭パケットは、SM
によって選択されるまで待機しなければならない。その
選択は、与えられたスロットにおいて確率qで起こる。
選択された後、図14のタスク105に従って、スケジ
ューリングから阻止される可能性がある。与えられたス
ロットにおいてポートmに対して阻止される確率がPb m
である場合、先頭パケットがSMによって選択されるま
での待機時間は、パラメータs=q(1−Pb)の幾何
分布に従う。ここで確率はすべての出力ポートに対して
同一であるので、上付き添字mを落とすことができる。
Qmnが選択された後、常に予約が将来のタイムスロット
において行われ、且つパケットはキューから一種のベル
トコンベヤへと送出されると仮定する。ここでパケット
は、予約タイムスロットがやって来るのを待機し、やっ
て来た時点でシステムから出る。
いられるモデル全体を示す模式図である。到着パケット
はまずGeo(p/N)/Geo(s)/1キューに加
わる。パケットは、このキューを出ると、追加遅延D
corpsを受ける。これは、CORPSがコリジョンを解
決する特定の方法の結果生じる遅延である。これは、無
限個のサーバを有するボックスによってモデル化され
る。
は、Geo(p/N)/Geo(s)/1に対する期待
遅延と、平均遅延〈Dcorps〉との和によって与えられ
る(M. J. Karol, M. G. Hluchyj, S. P. Morgan, "Inp
ut Versus Output Queuing ona Space-Division Packet
Switch", IEEE Transactions on Communications, Vo
l.COM-35, No.12, pp.1347-1356, Dec. 1987、参照)。
これは、次のように書くことができる(なお、数式中上
付きバーで表記している平均値は、明細書本文中で〈〉
で囲んで表記しているものと同一である)。
る。次に、〈Dcorps〉の計算について説明する。
(p/N)/Geo(s)/1を出た)後、いくつかの
事象が起こり得る。まず、SMmは、試行しているスロ
ットを所有していないことを確認しなければならない
(図14のタスク104)。スロットが、SMによっ
て、出力ポートnに対して所有される確率をP0 nとす
る。さらに、与えられたSMが、与えられたタイムスロ
ットにおいて、出力ポートnに対して阻止される確率を
Pb nとする。これから、次式を導くことができる。
ロットは、このスロットが同じ出力ポートに対して前の
コリジョンを解決するために使用されている場合に限
り、そのSMが予約しようとするのを阻止することがで
きる。
する確率は、 P0=1−(1−P0 n)N (5) となる。
遅延〈D0〉は次式によって与えられる。
る場合(図14のタスク104、105、および107
のテストがすべてNO)、優先マトリクス方式が使用さ
れていることにより、パケットの平均遅延〈Dcorps〉
がNになることを見るのは容易である。〈Dcorps〉>
Nで、コリジョンがない場合、少なくとも1つの予約
が、将来の第2のフレームへとこぼれる。ここで、コリ
ジョンによって受ける遅延Dcについて調べる。特定の
スロットに対してi−1個の他のSMとのコリジョンが
起こる場合、そのスロットに関してSMmが有する優先
順位に依存して、遅延DcはNからiNまでの間で変わ
りうる。そこで、SMmがそのスロットを訪れるi番目
のSMである場合にパケット遅延がjNである確率をP
[Dcorps=jN|v=i]とする。例えば、mがその
スロットを訪れる最初のSMである場合、
る最初のSMである場合、そのパケットはNスロット遅
延されるということである。コリジョンが起こらない場
合、CORPSスケジューラは将来の1フレームをスケ
ジューリングするからである。次に、SMs(s≠m)
の任意の出力ポート(特に出力ポートn)に対するVO
Qキューが空でなく、かつ、sによって選択される確率
はrであることを想起すると、P[Dcorps=jN|v
=i]に対する一般式が次のようになることを見るのは
困難ではない。
i番目のSMである場合、その遅延はたかだかiNであ
るということである。下段の二項係数は、i−1個のS
Mがmの前にスロットを訪れた場合、これらのうちのj
−1個のSMがmと衝突する可能性があるということで
ある。(Dcorps=jNかつv=i)の形の事象の同時
分布は、上記の表式に1/Nを乗じることによって容易
に導出することができる。なぜなら、SMmは、スロッ
ト1≦i≦Nのi番目の訪問者であることが等しく確か
らしいからである(図7参照)。
のように導出することができる。
延は次のようになる。
は、与えられた出力ポートnに対して、与えられたスロ
ットにおいて、1つのSMが阻止される確率である。次
式を示すことができる。
で、〈S(S−1)〉=2(1−s)/s2であること
に注意すると、1つのパケットがシステムで受ける全平
均遅延は次のようになる。
ケジューリングが行われる前の、VOQキューにおける
遅延に対応する。第3項は、CORPSのパイプライン
およびコリジョン解決機能により、パケットが待機する
のに必要な追加時間に対応する。
トの解析的結果を、CORPSスケジューラを備えた1
6×16スイッチのシミュレーションと比較したものを
示す。この図において、パイプラインおよびコリジョン
解決方式が使用されることにより、パケットがSMスケ
ジューラによって選択されるまでに受ける平均キューイ
ング遅延と、CORPS遅延との間に違いがある。図か
ら分かるように、解析的予測は、シミュレートされたシ
ステムのふるまいと良く一致する。
スケジューリング遅延がキューイング遅延よりも優勢で
あることを示している。非常に高い負荷の場合(キュー
が形成され始めるとき)にのみ、キューイング遅延が重
要になる。これは、パケットがVOQキューに到着する
とすぐに将来のパケットをスケジューリングすることに
おいて、CORPSがうまくはたらいていることを意味
する。他方、CORPSによって生じる平均遅延は、軽
負荷の場合のおよそ1フレームから、負荷が0.85に
達するときの約5フレームまで、増大する。
CORPSスイッチにおける全遅延の相補分布を示す。
曲線は、シミュレーションによって得られた、負荷が
0.8および0.85の場合のものである。まず、いず
れのパケットも、システムを通過するのにN2スロット
より多くはかからないことに注目される。これは、CO
RPSでは多重コリジョンが起こることを許していない
ことによる。実際、分布のテールは、N2/2=128
付近のあたりで終わっているように見える。しかし、シ
ステムが非常に大きい負荷によって駆動される場合、パ
ケット遅延はN2に近づくようである。
ブロック図である。VOQMモジュールは、パケットを
仮想出力キューVOQに入れる。また、このモジュール
は、与えられたキューに代わって、SMモジュールに対
して要求を行う。SMモジュールは、メッセージ受渡し
を制御し、CORPSスケジューラを実現する。SMモ
ジュールは、VOQMと通信して、将来のスロット予約
について通知する。この通知はVOQMに保持され、与
えられたスロットにおいて、パケットが、交換されるべ
きクロスバレジスタに転送されるようにする。
通信はバスを通じて行われるように示されているが、こ
の特定の種類の通信である必要はない。
平な比較では、平均遅延やスループットのようなパフォ
ーマンス尺度のみならず、複雑さおよび実装コストも考
慮すべきである。第1の選択基準は高いスループットで
ある。さらに、VOQで動作するスケジューラのみを比
較する。そこで、本発明と競合するスケジューラとし
て、1−SLIP及びRRGSとの比較を行う。複数回
のイテレーションではなく1イテレーションのSLIP
を選択する理由は、比較プロセスの公平性のためであ
る。すなわち、任意の入力ポートにおいて、スロット当
たりたかだか1回の決定をすることができると仮定す
る。i−SLIP(i>1)は、実質的に、スロット当
たり複数回のスケジューリング決定を要求することにな
る。
およびシミュレーション結果の両方をもとにする。一様
トラフィックに対するRRGSおよびSLIPの遅延パ
フォーマンスは次のように近似することができる。
る特願平11−172584号に記載されており、SL
IPの結果については、N. McKeown, "Scheduling Cell
s inan Input-Queued Switch", PhD Thesis, Universit
y of California at Berkeley, 1995、に記載されてい
る。
延対スループットのパフォーマンスを、CORPSと対
照して示す。この図から明らかなように、RRGS及び
CORPSは、遅延が大きくなる前には、SLIPより
もずっと高い負荷にたえることができる。容易に分かる
ように、これらの曲線の微分は、高負荷の場合、RRG
S及びCORPSのほうがかなり小さい。しかし、いず
れのアルゴリズムも、中程度から軽い負荷ではオフセッ
ト遅延バジェットを有する。RRGSの場合、これは、
パイプライン法が使用されていることのみによるもので
ある。CORPSの場合、既に説明したように、追加遅
延はコリジョン解決によるものである。しかし、COR
PSは、RRGSに比べて2つの利点を有する。 (i)SMがどの出力ポートを選択するかについて選択
の自由がある。 (ii)厳密に公平なスケジューラである。 SLIPもまた公平なスケジューラであるが、そのコリ
ジョン解決プロセスは、CORPSのものとは全く異な
る。
ートにスケジューリングを試みるかについて完全な選択
の自由を与える。すなわち、各VOQMは、与えられた
VOQに代わって、スケジューリングされる出力ポート
を自由に選択することができる。このことは、スケジュ
ーラ設計ストラテジの重要な部分であった。従って、多
くのアルゴリズムが、CORPSとともに、VOQ選択
に使用可能である。これまで、そのようなアルゴリズム
の1つ、すなわち、空でないVOQのうちのランダム選
択について説明した。他のVOQ選択ストラテジの例も
可能である。VOQ選択ストラテジは、協調的選択スト
ラテジおよび非協調的選択ストラテジという2つのクラ
スに分類することができる。
選択決定が、他の入力ポートとは独立に、入力ポート
(VOQM)ごとに行われるものである。CORPSの
分析に用いたランダム選択ストラテジはこのクラスに属
する。
hted Fair Queuing)は、パケット交換研究文献におい
て広く知られたサービスストラテジである(例えば、H.
Zhang, "Service Disciplines for Guaranteed Perfor
mance Service in Packet-Switching Networks", In Pr
oceedings of IEEE, Vol.83, no.10, pp.1374-1396,Oc
t. 1995、参照)。その考え方は、所定の重みに従っ
て、出力リンク容量に対して競合する複数のキューのサ
ービスレートを規制するというものである。VOQ C
ORPSスイッチにおいて、出力ポート帯域は、ある種
の呼受付けコントローラによって複数のVOQMに分割
することができる。その場合に、WFQを用いて、VO
Qキューの最大サービスレートが、与えられた出力ポー
トのVOQM帯域分を超えないように強制することがで
きる。
olled Service)規律は、与えられたトラフィックフロ
ーが、ネットワークエントリポイントでいくつかのバー
スト性制約を満たすと仮定する(L. Georgiadis, R. Gu
erin, V. Pens, "EfficientNetwork QoS Provisioning
Based on per Node Traffic Shaping", Proceedingsof
INFOCOM96, vol.1, pp.102-110, 1996、参照)。これら
の制約は一般に、ネットワークのエッジにおけるトラフ
ィックシェーパによって強制される。さらに、トラフィ
ックシェーパは、中間スイッチにも配置され、トラフィ
ックが、ネットワーク内の各中間交換ポイントでそれら
の制約に従うようにされる。トラフィックシェーパは一
般に、リーキーバケットアルゴリズムによって実現され
る。J.Turner, "New Directions in Communications, o
r Which Way to the Information Age?", IEEE Communi
cations Magazine, Vol.24, pp.8-15, 1986、には、そ
のようなアルゴリズムの1つが記載されている。基本的
なリーキーバケットは、2つのキュー(1つはデータ用
で、1つはトークンすなわちパーミット用)を有するシ
ステムである。キュー上のデータパケットは、サービス
を受けるためにはパーミットを必要とする。制限された
個数のパーミットのみがパーミットキューに格納され
る。パーミットは、一定レートで生成される。この種の
トラフィックシェーパは、VOQのうちのいずれがサー
ビスを受けるかを規制するために使用可能である。適格
なVOQのうちからは、キュー選択に任意のアルゴリズ
ムを用いることが可能である。
ットワークにおけるサービス品質(QoS)のサポート
に使用可能であり、それ自体、活発な研究分野である。
このようなQoSサポートストラテジは、非協調的なタ
イプのものになることが多い。それは、他のトラフィッ
クストリームとは無関係に、VOQの予測されるサービ
ス挙動を保証することになるからである。このクラスに
属するアルゴリズムは、ビデオや音声ストリームのよう
な、厳しいQoSアプリケーションをサポートするスイ
ッチで使用可能である。
択がスイッチ内のVOQのセット全体の状態に依存する
ような選択ストラテジである。このストラテジは一般
に、各フローのサービスに集中するよりも、最大スルー
プットのようなスイッチ全体のふるまいを良くすること
を目標とする。従って、このようなストラテジをスイッ
チで使用するのは、QoS要求条件に対する約束なし
に、データトラフィックをサポートする場合である。
態のような追加情報をCORPSスケジューラに提供す
る必要がある。キューの状態に関する情報は常に「古
い」ため、サービスストラテジは、古い情報に関してロ
バストでなければならない。
フの辺のうちから、グラフの頂点の対をつなぐ辺で、対
の総数を最大にするような辺のサブセットを求める問題
である(Cormen, Leiserson and Rivest, "Introductio
n to Algorithms", McGraw-Hill, 1990、参照)。しか
し、どの頂点も、つなぐ選択された辺を複数本有するこ
とはできない。あらゆるスロットで交換されるパケット
の個数を最大にする場合、最大2部マッチング(MB
M:Maximum Bipartite Matching)問題を解く必要があ
る(R. E. Tarjan, "Data Structures and Network Alg
orithms", Society for Industrial and Applied Mathe
matics, Pennsylvania, Nov. 1983、参照)。適当な計
算量でMBMを解くアルゴリズムが利用可能である(J.
E. Hopcroft, R. M. Karp, "An n5/2 Algorithm for M
aximum Matching in Bipartite Graphs", Society for
Industrial and Applied Mathematics J. Comput., 2
(1973), pp.225-231、参照)。本発明では、VOQが空
きであるか否かの状態情報は、通信チェインを通じて送
られて、VOQMに渡される。ここで、MBMアルゴリ
ズムは、次フレームのスロットにどのキューがサービス
するかを決定する。興味深い点であるが、CORPSに
よれば、MBMアルゴリズムによって選択されないキュ
ーも、将来の予約を試みることが可能である。
mum Weight Bipartite Matching)問題は、上記のMB
M問題と類似している。主な相違点は、前者では、重み
がグラフの辺に関連づけられ、目的は、マッチングの辺
の重みの総和を最大にする辺のセットを求めることであ
ることである。他の研究者は、MWBMアルゴリズムを
用いると、非一様トラフィックのもとでは、スループッ
トに関してMBMストラテジよりパフォーマンスが優れ
ていることを示している(N. McKeown, V. Anantharam,
J. Walrand, "Achieving 100% Throughput in an Inpu
t-Queued Switch", Proceedings of Infocom96, San Fr
ancisco, March 1996、参照)。考え方は、非一様トラ
フィックの場合を扱うために、VOQキューサイズを重
みとして用いることである。
クが受付け可能である限り、MWBMアルゴリズムは安
定である、すなわち、VOQキューは爆発しない。あら
ゆる出力ポートに対して、1個の出力ポートへの入力ト
ラフィックレートの総和がその容量を超えない場合に、
トラフィックが受付け可能であるという。この興味深い
結果は、MWBNの安定性は、古い情報の存在下でも、
すなわち、重みがいくつかの過去のタイムスロットのキ
ューレベルに基づいていても、維持されるということで
ある。この場合も、VOQのキューレベル情報はすべて
のVOQMに渡され、出力ポートに対する要求がSMへ
と発行される前に、MWBMアルゴリズムが各モジュー
ルで実行されるようにすることができる。
れば、まず、時間軸をフレーム化して優先マトリクスを
用いた予約を行うことにより、タイムスロット巡回順序
を規則的なものとし、実装及び制御を容易にするという
効果がある。また、RRGSとは異なり、スケジューリ
ングの規則をSM個数の偶奇によって変える必要がな
く、この点でも実装及び制御が簡単であるといえる。
ンパイプラインスケジューラ(CORPS)によれば、
クロスバ高速スイッチファブリックの入線間での公平な
スケジューリングが可能となる。CORPSは、将来の
スロットのパケットをスケジューリングすることによ
り、ラインごとスロットごとに1つのスケジューリング
決定を行う。スケジューリングされるキューの選択は任
意であるため、トラフィックのサービス品質をサポート
することに適している。CORPSは、出力ポート間の
競合を公平に解決する。
当業者には容易であって、本発明は、ここで説明した具
体例に限定されない。特許請求の範囲に記載した本発明
の構成の技術思想あるいは技術的範囲から離れることな
く、さまざまな変形例を考えることが可能である。
図である。
方式のアーキテクチャをそれぞれ示す分散スケジューラ
アーキテクチャの模式図である。
図である。
概略的ブロック図である。
GSによるパイプラインスケジューリング決定の一例を
示すタイムチャートである。
着目して表現したタイムチャートである。
るコリジョンを解決するのに用いられる優先マトリクス
の一例(ポート数N=4)を示す説明図である。
るパイプラインスケジューリング決定の一例(ポート数
N=4)を示す説明図である。
るコリジョンを解決するのに用いられる優先マトリクス
の一例(ポート数N=5)を示す説明図である。
けるパイプラインスケジューリング決定の一例(ポート
数N=5)を示す説明図である。
けるSM間の繰越し動作を示す説明図である。
ット図である。
のデータ構造体のフォーマット図である。
ングアルゴリズムを示すフローチャートである。
す模式図である。
すグラフである。
スイッチの相補的遅延分散を示すグラフである。
ク図である。
荷に対する期待遅延を示すグラフである。
Claims (17)
- 【請求項1】 ネットワークにおけるデータのフローを
制御するスイッチにおいて、 複数の入力ポートと、 複数の出力ポートと、 前記複数の出力ポートのうちの指定出力ポートへデータ
を送るように、前記複数の入力ポートのうちの特定の入
力ポートをスケジューリングする複数の入力ポートスケ
ジュールモジュールを有するスケジューラと、からな
り、 現在のスケジュールモジュールは、 前のスケジュールモジュールからスケジューリングメッ
セージを受信し、 前記現在のスケジュールモジュールが前記指定出力ポー
トにアクセスしようとする将来のタイムスロットを計算
し、 前記将来のタイムスロットが前記現在のスケジュールモ
ジュールによって既に予約されているかどうか、前記将
来のタイムスロットが阻止されているかどうか、及び前
記将来のタイムスロットが他のスケジュールモジュール
によって取られているかどうかに基づいて、前記将来の
タイムスロットが有効かどうかを判断し、 有効な場合には、前記将来のタイムスロットを取り、前
記スケジューリングメッセージに前記将来のタイムスロ
ットが取られたことを示す情報を入れる、 ことを特徴とするデータフロー制御スイッチ。 - 【請求項2】 前記スケジューラは、前記将来のタイム
スロットが予約されている場合及び取られている場合の
いずれかである時には、前記将来のタイムスロットを所
定数のタイムスロットだけ前進させることを特徴とする
請求項1記載のデータフロー制御スイッチ。 - 【請求項3】 前記複数の出力ポートのそれぞれに対し
て別々のキューを維持する仮想出力キューイング(VO
Q)を用いて、前記複数の入力ポートを通じて入力され
たデータをキューイングすることを特徴とする請求項1
記載のデータフロー制御スイッチ。 - 【請求項4】 あるポートに対する前記仮想出力キュー
イングは、他のポートに対する前記仮想出力キューイン
グとは独立であることを特徴とする請求項3記載のデー
タフロー制御スイッチ。 - 【請求項5】 前記仮想出力キューイングのサービスレ
ートは予測可能かつ調整可能であることを特徴とする請
求項3に記載のデータフロー制御スイッチ。 - 【請求項6】 前記スケジューラは、重み付きラウンド
ロビンに基づいて、前記指定出力ポートを選択すること
を特徴とする請求項1記載のデータフロー制御スイッ
チ。 - 【請求項7】 複数の入力ポートスケジュールモジュー
ルを有するスイッチの複数の入力ポートに到着する入力
信号を当該スイッチの複数の出力ポートに送るようにス
ケジューリングする方法において、 a)現在のスケジュールモジュールが、前のスケジュー
ルモジュールからスケジューリングメッセージを受信す
るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
出力ポートのうちの1つにアクセスしようとする将来の
タイムスロットを計算するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
イムスロットでの送信用にスケジューリングするように
選択するステップと、 d)前記将来のタイムスロットが前記現在のスケジュー
ルモジュールによって既に予約されているかどうかを判
断するステップと、 e)前記将来のタイムスロットが前記現在のスケジュー
ルモジュールによって予約されていない場合には、前記
将来のタイムスロットが阻止されているかどうかを判断
するステップと、 f)前記将来のタイムスロットが阻止されていない場合
には、前記将来のタイムスロットが他のスケジュールモ
ジュールによって既に取られているかどうかを判断する
ステップと、 g)前記将来のタイムスロットが、他のスケジュールモ
ジュールによって既に取られている場合及び前記現在の
スケジュールモジュールによって既に予約されている場
合のいずれかの場合には、前記スケジューリングメッセ
ージから繰越し動作が既に開始されているかどうかを判
断するステップと、 h)前記繰越し動作が既に開始されている場合には、前
記将来のタイムスロットを阻止状態に設定して前記ステ
ップ(d)に戻るステップと、 i)前記繰越し動作が開始されていない場合には、前記
将来のタイムスロットを所定数のタイムスロットだけ前
進させ、繰越しフラグをセットしてステップ(d)に戻
るステップと、 j)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には、前記将来のタ
イムスロットを取り、前記将来のタイムスロットが取ら
れたことを示す情報を前記スケジューリングメッセージ
に入れるステップと、 k)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、 からなることを特徴とするスケジューリング方法。 - 【請求項8】 前記複数の入力ポートを通じて入力した
データは、各出力ポートに対して別々のキューを維持す
る仮想出力キューイングを用いてキューイングされるこ
とを特徴とする請求項7記載の方法。 - 【請求項9】 あるポートに対する前記仮想出力キュー
イングは、他のポートに対する前記仮想出力キューイン
グとは独立であることを特徴とする請求項8記載の方
法。 - 【請求項10】 前記仮想出力キューイングのサービス
レートは予測可能かつ調整可能であることを特徴とする
請求項8記載の方法。 - 【請求項11】 前記スケジューラは、重み付きラウン
ドロビンに基づいて、前記指定出力ポートを選択するこ
とを特徴とする請求項7記載の方法。 - 【請求項12】 ネットワークにおけるデータのフロー
を制御するスイッチにおいて、 複数の入力ポートと、 複数の出力ポートと、 前記複数の出力ポートのうちの指定出力ポートへデータ
を送るように、前記複数の入力ポートのうちの特定の入
力ポートをスケジューリングするN個の複数の入力ポー
トスケジューリングモジュールを有するスケジューラ
と、 から構成され、 前記スケジューラは、 前記各入力ポートスケジューリングモジュールがリング
状に接続され、 タイムスロット単位に、 各入力ポートスケジューリングモジュールが、前段のス
ケジューリングモジュールから、ある予約タイムスロッ
トの予約状況情報を受信し、 各入力ポートスケジューリングモジュールが、その予約
タイムスロットにおける当該入力ポートスケジューリン
グモジュールからのパケット送出予約可否を決定し、 各入力ポートスケジューリングモジュールが、前段のス
ケジューリングモジュールから受信した予約状況情報
に、自スケジューリングモジュールの予約結果を反映さ
せて、次段のスケジューリングモジュールに送信する、 ことを特徴とするデータフロー制御スイッチ。 - 【請求項13】 複数の入力スケジューリングモジュー
ルを有するパケットスイッチの入力ポートと出力ポート
の接続状態を決定し接続を予約する(以下、スケジュー
リングという。)方法において、 N個のタイムスロットを単位とするフレームを定義し
て、前記フレーム時間内で、前記フレームの次フレーム
中のN個のタイムスロットでのスケジューリングを行
う、 ことを特徴とするスケジューリング方法。 - 【請求項14】 前記スケジューリング方法は、 a)現在のスケジュールモジュールが、前のスケジュー
ルモジュールからスケジューリングメッセージを受信す
るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
出力ポートのうちの1つにアクセスしようとする将来の
タイムスロットを予め次フレーム内の特定のタイムスロ
ットに決定するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
イムスロットでの送信用にスケジューリングするように
選択するステップと、 d)前記将来のタイムスロットが他のスケジュールモジ
ュールによって既に取られているかどうかを判断するス
テップと、 e)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には、前記将来のタ
イムスロットを取り、前記将来のタイムスロットが取ら
れたことを示す情報を前記スケジューリングメッセージ
に入れるステップと、 f)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、 からなることを特徴とする請求項13記載のスケジュー
リング方法。 - 【請求項15】 前記スケジューリング方法は、 タイムスロットでのスケジューリング決定過程(接続決
定過程)の観点から見た場合、前記複数の接続決定過程
が、 フレームの先頭で同時に開始され、 フレーム内で同時にパイプライン処理により進行し、 フレームの末端で同時に完了する、ことを特徴とする請
求項13記載のスケジューリング方法。 - 【請求項16】 前記スケジューリング方法は、 前記入力ポートスケジューリングモジュールが、フレー
ムの先頭で同時に開始する前記各接続決定過程におい
て、次のフレーム内の各々異なる予約タイムスロットを
対象として処理を開始することを特徴とする請求項13
記載のスケジューリング方法。 - 【請求項17】 前記スケジューリング方法は、 ある与えられた将来のタイムスロットにおけるN個の入
力ポートスケジューリングモジュールの規則的な巡回順
序を定義するN×Nマトリクスを参照することによっ
て、現在のフレームにおける入力信号が次のフレームで
どの出力ポートへ送出されるかを決定することを特徴と
する請求項13記載のスケジューリング方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US33590899A | 1999-06-18 | 1999-06-18 | |
US09/460649 | 1999-12-14 | ||
US09/335908 | 1999-12-14 | ||
US09/460,649 US7058063B1 (en) | 1999-06-18 | 1999-12-14 | Pipelined packet scheduler for high speed optical switches |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001007822A true JP2001007822A (ja) | 2001-01-12 |
JP3178470B2 JP3178470B2 (ja) | 2001-06-18 |
Family
ID=26989938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000055103A Expired - Fee Related JP3178470B2 (ja) | 1999-06-18 | 2000-03-01 | データフロー制御スイッチ及びそのスケジューリング方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7058063B1 (ja) |
EP (1) | EP1061763B1 (ja) |
JP (1) | JP3178470B2 (ja) |
DE (1) | DE60043801D1 (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973036B2 (en) | 2001-11-01 | 2005-12-06 | International Business Machines Corporation | QoS scheduler and method for implementing peak service distance using next peak service time violated indication |
US6977935B2 (en) | 2000-10-02 | 2005-12-20 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US6982986B2 (en) | 2001-11-01 | 2006-01-03 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows |
US6999457B2 (en) | 2000-03-29 | 2006-02-14 | Juniper Networks, Inc. | Arbiter circuit and method of carrying out arbitration |
US7046676B2 (en) | 2001-11-01 | 2006-05-16 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with cached status array |
US7103051B2 (en) | 2001-11-01 | 2006-09-05 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with aging time stamps |
US7187684B2 (en) | 2001-11-01 | 2007-03-06 | International Business Machines Corporation | Weighted fair queue having extended effective range |
US7257124B2 (en) | 2002-03-20 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler |
US7280474B2 (en) | 2001-11-01 | 2007-10-09 | International Business Machines Corporation | Weighted fair queue having adjustable scaling factor |
US7310345B2 (en) | 2001-11-01 | 2007-12-18 | International Business Machines Corporation | Empty indicators for weighted fair queues |
US7680043B2 (en) | 2002-03-20 | 2010-03-16 | International Business Machines Corporation | Network processor having fast flow queue disable process |
US7864677B2 (en) | 2008-02-15 | 2011-01-04 | Fujitsu Limited | Policer device and bandwidth control |
US7929548B2 (en) | 2001-11-01 | 2011-04-19 | International Business Machines Corporation | Weighted fair queue serving plural output ports |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7072353B2 (en) * | 2000-06-15 | 2006-07-04 | At&T Corp. | Flexible bandwidth allocation in high-capacity grooming switches |
DE10128686A1 (de) * | 2001-06-13 | 2002-12-19 | Philips Corp Intellectual Pty | Verteilung von Zustandsinformationen mehrerer virtueller Warteschlangen (Virtual Output Queue) über mehrere Vermittlungseinheiten einer Paketvermittlungsvorrichtung |
US7082132B1 (en) * | 2001-12-26 | 2006-07-25 | Nortel Networks Limited | Universal edge node |
US6922501B2 (en) * | 2002-04-11 | 2005-07-26 | Nortel Networks Limited | Fast optical switch |
US7475177B2 (en) * | 2005-01-27 | 2009-01-06 | International Business Machines Corporation | Time and frequency distribution for bufferless crossbar switch systems |
FR2898750B1 (fr) * | 2006-03-14 | 2008-06-06 | Alcatel Sa | Dispositif de communtation de donnees a mecanisme d'arbitrage entre demandes de transfert d'ensembles de donnees, pour un noeud d'un reseau de communication a tres haut debit |
US20070268925A1 (en) * | 2006-05-16 | 2007-11-22 | Samsung Electronics Co., Ltd. | Input buffer device and control method thereof |
US7769942B2 (en) | 2006-07-27 | 2010-08-03 | Rambus, Inc. | Cross-threaded memory system |
KR20080034065A (ko) * | 2006-10-13 | 2008-04-18 | 삼성전자주식회사 | 다중 채널 입력 큐 스위치 장치와 방법 |
WO2009015691A1 (en) | 2007-07-31 | 2009-02-05 | Telefonaktiebolaget Lm Ericsson (Publ) | An optical switching controller |
US8621159B2 (en) | 2009-02-11 | 2013-12-31 | Rambus Inc. | Shared access memory scheme |
US8817826B2 (en) * | 2009-05-29 | 2014-08-26 | Lsi Corporation | Aggregating lower bandwidth asynchronously clocked communication links into a higher bandwidth link |
US9455933B2 (en) * | 2014-01-25 | 2016-09-27 | Cisco Technology, Inc. | Flexible deterministic binary scheduler |
CN114827782A (zh) * | 2022-04-25 | 2022-07-29 | 南京航空航天大学 | 一种光电混合数据中心网络中的流组调度方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0287745A (ja) | 1988-09-26 | 1990-03-28 | Nippon Telegr & Teleph Corp <Ntt> | セル競合制御回路 |
US4937817A (en) | 1988-12-29 | 1990-06-26 | American Telephone And Telegraph Company | Packet selection for packet distribution arrangements |
JP2805992B2 (ja) | 1990-06-28 | 1998-09-30 | 松下電器産業株式会社 | パケットスイッチ及びその接続制御装置 |
JPH04271546A (ja) | 1991-02-27 | 1992-09-28 | Nec Corp | 入力キューイング型パケット処理装置の競合制御方式 |
US5301055A (en) * | 1991-10-01 | 1994-04-05 | Bell Communications Research, Inc. | Scheduler for multicast cell transmission |
US5241536A (en) * | 1991-10-03 | 1993-08-31 | Northern Telecom Limited | Broadband input buffered atm switch |
US5255265A (en) * | 1992-05-05 | 1993-10-19 | At&T Bell Laboratories | Controller for input-queued packet switch |
US5299190A (en) * | 1992-12-18 | 1994-03-29 | International Business Machines Corporation | Two-dimensional round-robin scheduling mechanism for switches with multiple input queues |
GB2288096B (en) * | 1994-03-23 | 1999-04-28 | Roke Manor Research | Apparatus and method of processing bandwidth requirements in an ATM switch |
JPH08223213A (ja) | 1995-02-08 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | パケットスイッチの出力衝突解消装置 |
WO1997004552A1 (en) * | 1995-07-19 | 1997-02-06 | Fujitsu Network Communications, Inc. | Point-to-multipoint transmission using subqueues |
US6359861B1 (en) * | 1997-10-08 | 2002-03-19 | Massachusetts Institute Of Technology | Method for scheduling transmissions in a buffered switch |
JP3506612B2 (ja) | 1998-08-31 | 2004-03-15 | 富士通株式会社 | スケジューリング制御装置 |
US6618379B1 (en) * | 1998-12-08 | 2003-09-09 | Nec Corporation | RRGS-round-robin greedy scheduling for input/output terabit switches |
JP3684308B2 (ja) | 1998-12-15 | 2005-08-17 | 富士通株式会社 | スケジューリング制御装置および交換機 |
US6477169B1 (en) * | 1999-05-14 | 2002-11-05 | Nortel Networks Limited | Multicast and unicast scheduling for a network device |
-
1999
- 1999-12-14 US US09/460,649 patent/US7058063B1/en not_active Expired - Lifetime
-
2000
- 2000-02-29 DE DE60043801T patent/DE60043801D1/de not_active Expired - Lifetime
- 2000-02-29 EP EP00103463A patent/EP1061763B1/en not_active Expired - Lifetime
- 2000-03-01 JP JP2000055103A patent/JP3178470B2/ja not_active Expired - Fee Related
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6999457B2 (en) | 2000-03-29 | 2006-02-14 | Juniper Networks, Inc. | Arbiter circuit and method of carrying out arbitration |
US7787467B2 (en) | 2000-03-29 | 2010-08-31 | Juniper Networks, Inc. | Arbiter circuit and method of carrying out arbitration |
US8320379B2 (en) | 2000-03-29 | 2012-11-27 | Juniper Networks, Inc. | Arbiter circuit and method of carrying out arbitration |
US7602790B2 (en) | 2000-10-02 | 2009-10-13 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US6977935B2 (en) | 2000-10-02 | 2005-12-20 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US8005092B2 (en) | 2000-10-02 | 2011-08-23 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US7680126B2 (en) | 2000-10-02 | 2010-03-16 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US7161943B2 (en) | 2000-10-02 | 2007-01-09 | Juniper Networks, Inc. | Two-dimensional pipelined scheduling technique |
US7046676B2 (en) | 2001-11-01 | 2006-05-16 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with cached status array |
US7280474B2 (en) | 2001-11-01 | 2007-10-09 | International Business Machines Corporation | Weighted fair queue having adjustable scaling factor |
US7310345B2 (en) | 2001-11-01 | 2007-12-18 | International Business Machines Corporation | Empty indicators for weighted fair queues |
US6973036B2 (en) | 2001-11-01 | 2005-12-06 | International Business Machines Corporation | QoS scheduler and method for implementing peak service distance using next peak service time violated indication |
US7187684B2 (en) | 2001-11-01 | 2007-03-06 | International Business Machines Corporation | Weighted fair queue having extended effective range |
US7103051B2 (en) | 2001-11-01 | 2006-09-05 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service with aging time stamps |
US7929548B2 (en) | 2001-11-01 | 2011-04-19 | International Business Machines Corporation | Weighted fair queue serving plural output ports |
US6982986B2 (en) | 2001-11-01 | 2006-01-03 | International Business Machines Corporation | QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows |
US7257124B2 (en) | 2002-03-20 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler |
US7680043B2 (en) | 2002-03-20 | 2010-03-16 | International Business Machines Corporation | Network processor having fast flow queue disable process |
US7864677B2 (en) | 2008-02-15 | 2011-01-04 | Fujitsu Limited | Policer device and bandwidth control |
Also Published As
Publication number | Publication date |
---|---|
EP1061763A3 (en) | 2005-08-10 |
EP1061763A2 (en) | 2000-12-20 |
US7058063B1 (en) | 2006-06-06 |
DE60043801D1 (de) | 2010-03-25 |
EP1061763B1 (en) | 2010-02-10 |
JP3178470B2 (ja) | 2001-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3178470B2 (ja) | データフロー制御スイッチ及びそのスケジューリング方法 | |
US10182021B2 (en) | Crossbar switch and recursive scheduling | |
Chuang et al. | Practical algorithms for performance guarantees in buffered crossbars | |
US6134217A (en) | Traffic scheduling system and method for packet-switched networks with fairness and low latency | |
EP1048186B1 (en) | Method for providing bandwidth and delay guarantees in a crossbar switch with speedup | |
Del Re et al. | Performance evaluation of input and output queueing techniques in ATM switching systems | |
JPH0638606B2 (ja) | パケツト交換方式 | |
JP2000506701A (ja) | 効率的な出力―要求パケット交換機および方法 | |
Bianco et al. | Frame-based matching algorithms for input-queued switches | |
JP2002217962A (ja) | 複数の入力ポートから出力ポートにデータパケットをスケジューリングする方法 | |
US7203202B2 (en) | Arbitration using dual round robin matching with exhaustive service of winning virtual output queue | |
Wang et al. | A distributed switch architecture with dynamic load-balancing and parallel input-queued crossbars for terabit switch fabrics | |
Hu et al. | Feedback-based scheduling for load-balanced two-stage switches | |
Varvarigos et al. | A virtual circuit deflection protocol | |
Wang et al. | Efficient designs of optical LIFO buffer with switches and fiber delay lines | |
KR100312363B1 (ko) | 데이터 흐름 제어 스위치 및 그 스케줄링방법 | |
Elhanany et al. | Packet scheduling in next-generation multiterabit networks | |
Callegati et al. | Design of a WDM optical packet switch for IP traffic | |
EP1521411B1 (en) | Method and apparatus for request/grant priority scheduling | |
EP2209269A1 (en) | Method and apparatus for frame-aware and pipelined hierarchical scheduling | |
He et al. | D-LQF: An efficient distributed scheduling algorithm for input-queued switches | |
Liu et al. | Achieving 100% throughput in input-buffered WDM optical packet interconnects | |
Xu | Performance analysis of optical burst switched networks | |
Razouqi et al. | Performance analysis of fuzzy thresholding-based buffer management for a large-scale cell-switching network | |
Liu et al. | Scalable scheduling architectures for high-performance crossbar-based switches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010313 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080413 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090413 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100413 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110413 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120413 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130413 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140413 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |