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
Application number
JP2000055103A
Other languages
English (en)
Other versions
JP3178470B2 (ja
Inventor
Dirceu G Cavendish
ディアスー・ジー・キャベンディッシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JP2001007822A publication Critical patent/JP2001007822A/ja
Application granted granted Critical
Publication of JP3178470B2 publication Critical patent/JP3178470B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • H04Q2011/0037Operation
    • H04Q2011/005Arbitration and scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0005Switch and router aspects
    • H04Q2011/0052Interconnection of switches
    • H04Q2011/0058Crossbar; Matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 実装及び制御が容易なパイプラインスケジュ
ーラおよびクロスバ高速スイッチファブリックの入線間
での公平なスケジューリングが可能なパイプラインスケ
ジューラを提供する。 【解決手段】 時間軸をフレーム化し、将来のタイムス
ロットを予約するための優先マトリクスを用いたラウン
ドロビン方式により、スケジュールモジュールが偶数個
か奇数個に関係なく、タイムスロットの規則的な巡回順
序が得られる。さらに、繰越しラウンドロビンパイプラ
インスケジューラ(CORPS)は多数のポートへのス
ケーラビリティを実現する。また、CORPSは、将来
のスロットのパケットをスケジューリングすることによ
り、ラインごとスロットごとに1つのスケジューリング
決定を行う。スケジューリングされるキューの選択は任
意であるため、本発明は、トラフィックのサービス品質
をサポートすることに適している。CORPSは、出力
ポート間の競合を公平に解決する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークによ
るデータのフローを制御するネットワークシステムおよ
びスイッチに係り、特に、大容量スイッチを通じてのデ
ータフローを管理するスケジューラに関する。
【0002】
【従来の技術】入力キュースイッチアーキテクチャは、
常に高速交換システムの有力な選択肢であった。それは
主に、入力バッファのメモリアクセス速度が、全交換容
量とともにスケールするのではなく、単一の入線の速度
とともにスケールするからである。しかし、入力バッフ
ァ型スイッチは、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、参照)。
【0003】最近になって、入力スイッチのHOLブロ
ッキングの問題を克服するために、仮想出力キューイン
グ(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%のスループットが達成可能であることが
示されている。
【0004】従って、VOQ入力バッファ型スイッチの
スケジューラは高速入力バッファ型スイッチの重要な設
計ポイントのうちの1つとなる。VOQの場合、スケジ
ューラは、通常の先入力先出力(FIFO)入力キュー
イングアーキテクチャの場合よりも、バックログのある
入力ポートから出力ポートへパケットを交換するのには
るかに多くの選択肢を有する。バックログのある入力ポ
ートのうちで、あらゆる入出力ポート対を選択すること
ができる。
【0005】このようなスケジューラに対する研究のほ
とんどは以下のように分類することができる。集中スケ
ジューラは、スケジューラが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、参照)。
【0006】他方、分散スケジューラは、スケジューラ
がいくつかの機能ブロック(通常は入力あるいは出力ポ
ート当たり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、参照)。
【0007】図1は、集中スケジューラの一例を示す概
略的ブロック図である。集中スケジューラは、スケジュ
ーリング決定を行う前に、N2個の情報にアクセスする
必要がある。このようなスケジューラは、一般に、スケ
ジューラを実装するハードウェアがスイッチラインの数
Nに強く依存するという意味で、スケーラブルではな
い。
【0008】分散スケジューラは、ハードウェアに対し
てスイッチポート数への依存性をより少なくする可能性
を有する。しかし、これまで提案されているものは依然
として、個々のパケットスロットに対するスケジューリ
ング決定を行うことができる前に、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、参照)行うことが可能である。
【0009】図2(A)及び(B)は、並列方式及びラ
ウンドロビン方式のアーキテクチャをそれぞれ示す模式
図である。図2(A)における並列通信アーキテクチャ
では、各ブロックがスイッチのサイズに陽に依存してし
まう。各ブロックがN2個のメッセージを受け取らなけ
ればならないからである。図2(B)におけるラウンド
ロビンアーキテクチャはこの問題点を克服するが、別の
問題点を生じる。すなわち、すべての出力ポートに関す
るスケジューリング決定を達成するためには、メッセー
ジ受渡しは、単一のパケットスロット中に1ラウンドを
完了しなければならないという点である。これは、スケ
ジューリング決定よりも少なくともN倍高速なメッセー
ジ処理を必要とする。
【0010】さらに最近になって、ラウンドロビン・グ
リーティ・スケジューラ(RRGS:Round-Robin Gree
dy Scheduler)が提案された。これは、メッセージパッ
シング(受渡し)に基づくスケジューラであり、各入力
ポートがスケジューリング決定を行い、この情報をラウ
ンドロビン方式で次のポートに渡すものである(本出願
人による特願平11−172584号を参照)。メッセ
ージ受渡し速度要求条件を緩和するために、RRGSは
パイプライン機能を導入している。入力ポートは、十分
将来のスロットに関するスケジューリング決定を行い、
メッセージ受渡しメカニズムがこの情報を他の入力ポー
トに広めるのに十分な時間があるようにする。RRGS
は高速なスケジューリングを実現することができる。
【0011】先ず、一般的なパイプライン型スケジュー
ラのアーキテクチャについて説明する。図3は入力バッ
ファスイッチアーキテクチャを例示する模式図である。
スイッチアーキテクチャに関して、スケジューリング
は、純粋なノンブロッキングN×Nクロスバスイッチに
適用されると仮定する。また、仮想出力キュー(VO
Q)を用いてHOLブロッキング問題に対処すると仮定
する。
【0012】さらに、固定サイズパケットおよび一様リ
ンク速度を仮定する。時間はスロット化される。1つの
スロットは、出力リンクによる1パケットの送信にかか
る時間として定義される。出力ポート競合が存在しない
場合、ノンブロッキングクロスバは、タイムスロット当
たりNパケットまでを交換することができる。スケジュ
ーラの基本的な仕事は、スロットごとに、空でないN2
個のVOQキューのうちのいずれが出力ポートにアクセ
スすることができるかを判断することである。効率のた
めに、スケジューラは、1タイムスロット内でバックロ
グのあるキューの間のすべての競合を解決しなければな
らない。
【0013】ライン速度が増大すると、スケジューリン
グアルゴリズムが大容量スイッチにもスケーラブルであ
ることが重要となる。従って、分散アーキテクチャが有
力であると思われる。分散アーキテクチャでは、高速ス
イッチにおいてパケットスケジューリングに要求される
きつい処理時間が緩和されるからである。例えば、10
Gbit/sのライン速度の16×16ポートスイッチ
で、スケジューリング決定は、各パケット送信時に行わ
なければならず、424ビットのATMセルに対して4
2nsである。シーケンシャルスケジューラを使用する
場合、各決定は、16×16スイッチでは0.16ns
未満で行わなければならない。N2個の決定をしなけれ
ばならないからである。光コアを使用する場合、光コア
の全交換帯域幅要求条件をそのままにして、電子ハード
ウェアをポートごとに分散することには意味がある。さ
らに、分散スケジューラは、当然、任意のライン数にあ
わせてスケールされる。図4にそのようなスケジューラ
を例示する。
【0014】図4において、各クロスバ入力ポートは、
入力ポートスケジューラモジュール(SM:Scheduler
Module)を有する。各SMは、個別のIDであるSM−
IDを有する。ライン数とのスケーラビリティを維持す
るために、SMは、隣の1個のSMとのみ通信すること
が許される。これにより、SMハードウェアブロックは
任意のN×Nクロスバファブリックで使用可能であるこ
とが保証される。SM通信チェインが図4に示されてい
る。これは、タイムスロット、スロット所有権、および
出力ポート予約のようなスケジューリング情報を通信す
るために使用される。クロスバモジュールとSMとの間
の唯一の相互作用は、グローバルクロックを通じてのも
のである。これは、あらゆるSMに、どのスロットが現
在のシステムタイムスロット(CTS:Current system
Time Slot)であるかということと、CTSで交換され
る入出力ポート対に関する現在の決定テーブル(図示せ
ず)とを知らせる。これは、スケジューラによって書き
込まれ、クロスバファブリックによって読み出されるグ
ローバルメモリによって実現することが可能である。
【0015】タイムスロットごとに、各SMは、アクセ
ス要求先の出力ポートに関して完全な選択の自由がある
と仮定される。同様の選択をするSMどうしは「コリジ
ョン」(衝突)を生じ、これは、与えられたスロットに
対するグローバルスケジューリングパターンを決定する
前に解決する必要がある。SMが、他のすべての要求に
関する現在の情報を有することになる場合、通信チェイ
ンは、スケジューリング決定の速度よりもN倍速い速度
で動作しなければならない。すなわち、SMは、1つの
スケジューリング決定を行う前に、N個のメッセージを
受信することができなければならない。
【0016】SMハードウェアの速度をライン速度とと
もにスケーラブルに保つために、Nルックアヘッド(先
読み)スケジューリング方式を使用することが可能であ
る。すなわち、各SMは、現在のスロットの少なくとも
Nスロット先のタイムスロットに関してスケジューリン
グ決定をすることになる。この機能により、SMは、ス
ケジューリング決定をする前に、同じタイムスロットに
対してなされている他のスケジューリング決定に関して
知っていることが保証される。さらに、この機能は、通
信チェインを入力ライン速度のN倍に高速化する必要が
ない。RRGSは上記のような、分散スケジューリン
グ、パイプラインスケジューリングの特徴と、Nルック
アヘッド(先読み)スケジューリングの特徴を備えてい
る。
【0017】図5は、4×4クロスバースイッチを用い
た場合のRRGSスケジューリングの一例を示すタイム
チャートである。図5では、4個のSM1〜SM4と、
それらの入力が出力ポートを選択するタイムスロットT
6、T7・・・との関係が示されている。
【0018】図5において、例えばタイムスロットT5
で、SM1はタイムスロットT10で送信を行うための
出力ポートの選択(スケジューリング)を行い、SM3
はタイムスロットT9におけるスケジューリングを行っ
ている。また、次のタイムスロットT6では、SM1は
タイムスロットT8におけるスケジューリングを行って
いる。以下同様である。
【0019】上記のように各SMがスケジューリングを
行い、その結果を次段のSMに転送することによって、
あらゆるSMが、既にスケジューリングされたポートに
関する情報を適時に得ることが保証される。あるSM
が、前の「訪問者(visitor)」(即ち、1タイムスロ
ット前のSM)によって既に選ばれた出力ポートを選ぶ
ことを避ければ、コリジョンを完全に回避することがで
きる。
【0020】
【発明が解決しようとする課題】しかしながら、RRG
Sでは、一つのSMが予約を行っていくタイムスロット
の巡回順序が複雑になる。図6は、図5を個々のSMの
タイムスロット巡回順序に着目して表現したタイムチャ
ートである。例えば、SM1について見ると、タイムス
ロット巡回順序は、T10、T8、T11、T9・・・
となり、時系列的あるいは逆時系列的な一定の規則的順
序にはなっていない。これはRRGSの実装及び制御が
複雑になるという問題を示している。
【0021】さらに、前記特願平11−172584号
に示されるように、RRGSは、SMが偶数の場合と奇
数の場合でスケジューリング動作が異なる。これは、S
Mを追加する際に制御を変更しなければならないことを
示しており、実装及び制御が複雑になるという問題があ
る。
【0022】また、RRGSでは、SMが、まだ選ばれ
ていない出力ポートを選ぶように制限されるため、VO
Qサービスレートは予測が困難になる。さらに、重大な
公平性の問題が生じる。例えば、図4において、SM#
1とSM#2は与えられた出力ポートのキューにコンス
タントにバックログがあり、他のSMの対応するキュー
は空であるとする。この場合、SM#1は、図5にて定
義される巡回順序においてSM#2の前に4スロットの
うちの3スロットを訪れるため、4スロットのうち3ス
ロットはSM#1によって取られることになる(前記特
願平11−172584号を参照)。
【0023】このように、上記のRRGSスケジューラ
は高速なスケジューリングを実現することが可能である
が、実装及び制御が複雑になるという問題がある。ま
た、予測可能かつ調整可能なサービスレートを実現でき
ない。また、上述したようにVOQのいくつかが他のV
OQの状態によりスケジューリングを妨げられるという
公平性の問題もある。
【0024】本発明の目的は、RRGSの実装及び制御
の複雑さを解消した簡易なスケジューラの基本方式を提
供することにある。
【0025】本発明の他の目的は、VOQキューがスケ
ジューリングを行う際の完全な選択の自由を可能にする
大容量スイッチのためのスケジューラを提供することに
ある。
【0026】本発明のさらに他の目的は、VOQサービ
スレートを予測可能かつ調整可能にするスケジューラを
提供することにある。
【0027】本発明のその他の目的は、いずれのVOQ
も他のVOQの状態に拘わらず同じ確率でスケジューリ
ングされるという意味で公平であるようなスケジューラ
を提供することにある。
【0028】スケジューラ設計におけるもう1つの制約
は、次にスケジューリングされる与えられた入線に属す
るN個のVOQのうちのどのVOQを、スケジューラの
制御から外すかの決定である。換言すれば、入力ポート
ごとに、どの出力ポートが次にスケジューリングされる
かを、ある外部エンティティが全く自由に決定すること
である。この要請は将来のサービス品質(QoS)のサ
ポートにとって重要である。これによりVOQの予測可
能なサービスレートをより予測可能にする最大スループ
ットを低下させる可能性があることは明らかである。し
かしながら、これは重要な点である。スイッチ全体のス
ループットの最大化は、一部のキューの枯渇、ひいて
は、それらのキューに関連するフローも妨げられる可能
性があるからである。
【0029】
【課題を解決するための手段】本発明の第1の観点によ
れば、ネットワークにおけるデータのフローを制御する
スイッチは、複数の入力ポートと、複数の出力ポート
と、複数の入力ポートスケジュールモジュールを有する
スケジューラとを有する。各スケジュールモジュール
は、前記複数の出力ポートのうちの指定された出力ポー
トへデータを送るように、前記複数の入力ポートのうち
の特定の入力ポートをスケジューリングする。スケジュ
ールモジュールは、モジュール間でスケジューリングメ
ッセージを受け渡し、各スケジュールモジュールは、当
該スケジュールモジュールが指定出力ポートにアクセス
しようとする将来のタイムスロットを計算する。スケジ
ュールモジュールは、更に、前記将来のタイムスロット
が当該スケジュールモジュールによって現在予約されて
いるかどうか、前記将来のタイムスロットが阻止されて
いるかどうか、及び前記将来のタイムスロットが他のス
ケジュールモジュールによって取られているかどうかに
基づいて、前記将来のタイムスロットが有効かどうかを
判断する。有効な場合、スケジュールモジュールは前記
将来のタイムスロットを取り、スケジューリングメッセ
ージに前記将来のタイムスロットが取られたことを示す
情報を入れる。
【0030】スイッチのスケジューラは、前記将来のタ
イムスロットが予約されているとき又は取られていると
きに、前記将来のタイムスロットを所定数のタイムスロ
ットだけ前進させる。
【0031】スイッチは、前記出力ポートのそれぞれに
対して別々のキューを維持する仮想出力キューイングを
用いて、前記入力ポートを通じてデータ入力をキューイ
ングする。あるいは、個々のポートに対する仮想出力キ
ューイングは、他のポートに対する仮想出力キューイン
グとは独立であることも可能である。さらに、スイッチ
は予測可能かつ調整可能な仮想出力キューイングのサー
ビスレートを有する。また、スイッチスケジューラは重
み付きラウンドロビンに基づいて指定出力ポートを選択
する。
【0032】本発明の第2の観点によれば、スイッチの
複数の入力ポートに到着する入力パケットをスイッチの
複数の出力ポートに送るようにスケジューリングする方
法が提供される。ここで、スケジューラは、複数の入力
ポートスケジュールモジュールを有する。この方法は、 a)現スケジュールモジュールが、前のスケジュールモ
ジュールからスケジューリングメッセージを受信するス
テップと、 b)前記現スケジュールモジュールが、前記複数の出力
ポートのうちの1つにアクセスしようとする将来のタイ
ムスロットを計算するステップと、 c)前記将来のタイムスロットにおける送信用にスケジ
ューリングするように前記複数の出力ポートのうちの1
つを選択するステップと、 d)前記将来のタイムスロットが前記現スケジュールモ
ジュールによって既に予約されているかどうかを判断す
るステップと、 e)前記将来のタイムスロットが前記現スケジュールモ
ジュールによって予約されていない場合、前記将来のタ
イムスロットが阻止されているかどうかを判断するステ
ップと、 f)前記将来のタイムスロットが阻止されていない場
合、前記将来のタイムスロットが他のスケジュールモジ
ュールによって既に取られているかどうかを判断するス
テップと、 g)前記将来のタイムスロットが、他のスケジュールモ
ジュールによって既に取られているか又は前記現スケジ
ュールモジュールによって既に予約されている場合、前
記スケジューリングメッセージから、繰越し動作が既に
開始されているかどうかを判断するステップと、 h)前記繰越し動作が既に開始されている場合、前記将
来のタイムスロットを阻止状態に設定してステップdに
戻るステップと、 i)前記繰越し動作が開始されていない場合、前記将来
のタイムスロットを所定数のタイムスロットだけ前進さ
せ、繰越しフラグをセットして、ステップdに戻るステ
ップと、 j)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には前記将来のタイ
ムスロットを取り、前記将来のタイムスロットが取られ
たことを示す情報を前記スケジューリングメッセージに
入れるステップと、 k)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、からなる。
【0033】複数の入力ポートを通じて入力するデータ
は、各出力ポートに対して別々のキューを維持する仮想
出力キューイングを用いてキューイングされる。個々の
ポートに対する仮想出力キューイングは他のポートに対
する前記仮想出力キューイングとは独立である。また、
前記仮想出力キューイングのサービスレートは予測可能
かつ調整可能である。スケジューラは、重み付きラウン
ドロビンに基づいて、前記指定出力ポートを選択する。
【0034】本発明の第3の観点によれば、ネットワー
クにおけるデータのフローを制御するスイッチは、複数
の入力ポートと、複数の出力ポートと、前記複数の出力
ポートのうちの指定出力ポートへデータを送るように、
前記複数の入力ポートのうちの特定の入力ポートをスケ
ジューリングするN個の複数の入力ポートスケジューリ
ングモジュールを有するスケジューラと、から構成さ
れ、前記スケジューラは、前記各入力ポートスケジュー
リングモジュールがリング状に接続され、タイムスロッ
ト単位に、各入力ポートスケジューリングモジュール
が、前段のスケジューリングモジュールから、ある予約
タイムスロットの予約状況情報を受信し、各入力ポート
スケジューリングモジュールが、その予約タイムスロッ
トにおける当該入力ポートスケジューリングモジュール
からのパケット送出予約可否を決定し、各入力ポートス
ケジューリングモジュールが、前段のスケジューリング
モジュールから受信した予約状況情報に、自スケジュー
リングモジュールの予約結果を反映させて、次段のスケ
ジューリングモジュールに送信する。
【0035】複数の入力スケジューリングモジュールを
有するパケットスイッチの入力ポートと出力ポートの接
続状態を決定し接続を予約する(以下、スケジューリン
グという。)方法は、N個のタイムスロットを単位とす
るフレームを定義して、前記フレーム時間内で、前記フ
レームの次フレーム中のN個のタイムスロットでのスケ
ジューリングを行うことを特徴とする。
【0036】上記スケジューリング方法は、 a)現在のスケジュールモジュールが、前のスケジュー
ルモジュールからスケジューリングメッセージを受信す
るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
出力ポートのうちの1つにアクセスしようとする将来の
タイムスロットを予め次フレーム内の特定のタイムスロ
ットに決定するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
イムスロットでの送信用にスケジューリングするように
選択するステップと、 d)前記将来のタイムスロットが他のスケジュールモジ
ュールによって既に取られているかどうかを判断するス
テップと、 e)前記将来のタイムスロットが他のスケジュールモジ
ュールによって取られていない場合には、前記将来のタ
イムスロットを取り、前記将来のタイムスロットが取ら
れたことを示す情報を前記スケジューリングメッセージ
に入れるステップと、 f)前記スケジューリングメッセージを次のスケジュー
ルモジュールに渡すステップと、からなる。
【0037】さらに、上記スケジューリング方法は、タ
イムスロットでのスケジューリング決定過程(接続決定
過程)の観点から見た場合、前記複数の接続決定過程
が、フレームの先頭で同時に開始され、フレーム内で同
時にパイプライン処理により進行し、フレームの末端で
同時に完了する。
【0038】また、このスケジューリング方法は、前記
入力ポートスケジューリングモジュールが、フレームの
先頭で同時に開始する前記各接続決定過程において、次
のフレーム内の各々異なる予約タイムスロットを対象と
して処理を開始する。
【0039】上記スケジューリング方法は、ある与えら
れた将来のタイムスロットにおけるN個の入力ポートス
ケジューリングモジュールの規則的な巡回順序を定義す
るN×Nマトリクスを参照することによって、現在のフ
レームにおける入力信号が次のフレームでどの出力ポー
トへ送出されるかを決定する。
【0040】
【発明の実施の形態】本発明によるキャリーオーバ(繰
越し)ラウンドロビン・パイプライン・スケジューラ
(Carry Over Round-robin Pipelined Scheduler、以下
CORPSという。)は、高速クロスバファブリックに
対する公平なスケジューラであり、従来技術のスケジュ
ーラの問題点を解決するものである。CORPSは、高
速スイッチファブリックのライン速度およびライン数の
双方に関するスケーラビリティ性を有する。ライン数に
関するスケーラビリティのために、メッセージ受渡しを
有する分散アーキテクチャが選択される。更に、RRG
Sと同様に、メッセージ処理要求条件をライン速度とと
もにスケーラブルに維持するために、パイプラインアー
キテクチャが用いられる。
【0041】さらに、本発明によれば、時間軸を単にN
個の連続するスロット列であるスロットフレームに分割
して、時間をフレームの列とみなす。競合するスケジュ
ーラモジュールSM間のコリジョンを解決する基準を設
定するために、優先マトリクスを使用する。N×N優先
マトリクスは、将来の与えられたタイムスロットをSM
が巡回する順序を定義するマトリクスである。マトリク
スの行は現在のフレーム(現在のシステムスロットを含
むフレーム)内のスロットをインデクス付けし、マトリ
クスの列は次に訪れるフレーム内のスロットをインデク
ス付けしている。マトリクスの要素は、どのSMが、列
インデクスによって示される次フレーム内のスロットを
「訪れる(visit)」べきかを指定する。
【0042】図7は4×4優先マトリクスを示す図であ
り、図8は、図7に示したマトリクスに対するパイプラ
イン化されたタイムスロット巡回順序を例示している。
パイプライン化された決定プロセスは、優先マトリクス
の使用に既に含まれていることに注意すべきである。例
えば、システムの現在のタイムスロットが現フレームの
第2スロットであるとき、SM#1が次フレームの第4
スロットに関するスケジューリング決定をしている間
に、SM#3は次フレームの第2スロットに関するスケ
ジューリング決定をしている。
【0043】優先マトリクスを使用することにより時間
軸がフレーム化され、タイムスロット巡回順序が規則的
になる。例えば、フレームF1における各SMの動作に
着目すると、各SMのスケジューリング決定過程は、フ
レームF1の先頭で同時に開始され、スケジューリング
決定を行うタイムスロットの巡回順序はT8→T7→T
6→T5→T8となり、フレームF1の末端で同時に完
了する。これは、図6に示したRRGSにおけるタイム
スロット巡回順序(T10、T8、T11、T9・・
・)と比較して規則的になっている。このためSMの実
装及び制御が容易になる。更に、N×N優先マトリクス
はSMの個数に関して偶奇の区別なく、同一規則にてタ
イムスロットの巡回順序を定義する。
【0044】図9は5×5優先マトリクスを示す図であ
り、図10は、図9に示したマトリクスに対するパイプ
ライン化されたタイムスロット巡回順序を例示してい
る。フレームサイズは5タイムスロットとなるが、N=
4の場合と同様に、タイムスロット巡回順序は規則的な
ものとなる。図8と同様に、フレームF1における各S
Mの動作に着目すると、各SMのスケジューリング決定
過程は、フレームF1の先頭で同時に開始され、スケジ
ューリング決定を行うタイムスロットの巡回順序がT1
0→T9→T8→T7→T6→T10となり、フレーム
F1の末端で同時に完了する。SMの個数に関して偶奇
の区別なく同一規則にてN×N優先マトリクスを規定で
きるため、RRGSと比較してSMの実装及び制御が容
易になる。
【0045】N×N優先マトリクスは、通信チェインメ
ッセージ受渡しの同じ方向に、SMの列を回転させるこ
とによって生成される。これにより、あらゆるSMが、
既にスケジューリングされたポートに関する情報を適時
に得ることが保証される。あるSMが、前の「訪問者(v
isitor)」(即ち、1タイムスロット前のSM)によっ
て既に選ばれた出力ポートを選ぶことを避ければ、コリ
ジョンを完全に回避することができる。
【0046】以上のように、時間軸をフレーム化して優
先マトリクスを用いた予約を行うことにより、SMの個
数に関して偶奇の区別なくタイムスロット巡回順序が規
則的なものとなり、SMの実装及び制御が容易になる。
【0047】更に、本発明では、分散アーキテクチャ及
びメッセージ受渡し方式を維持しつつ公平性を提供する
ために、繰越し(キャリーオーバ)動作を導入する。こ
の考え方は、あるスケジューラモジュールSMaが、そ
れに先行するスケジューラモジュールSMによって所望
の出力ポートが既に予約されているスロットを訪れると
きに、処理しようとしたスロットから将来にNスロット
分だけそのポートのスケジューリング試行を繰り越すと
いうものである。もし当該スロットが同じ出力ポートに
取られていることが分かれば、SMは所望の出力ポート
がまだ取られていないスロットを見つけるまで更にNス
ロット先に進む。
【0048】図11は、複数のスケジューラモジュール
SMの間での繰越し動作を例示する説明図である。繰越
し動作は、与えられたタイムスロットにおいて「衝突し
ている」SMの個数に依存してNフレームまで広げるこ
とができる。繰越し動作によって影響されるスロット
は、コリジョン(衝突)を解決するために取られるスロ
ットの集合(以下、コリジョン解決セットという。)と
みなすことができる。なお、繰越し動作を受けたスロッ
トは、後続するフレームですべてのSMにより再び訪問
されるであろう。従って、繰越し動作によって取られる
スロットは、潜在的に新たなコリジョンを受け、コリジ
ョン解決セットの重畳を引き起こす可能性がある。これ
は、複数のコリジョンを解決するためにN2個のフレー
ム、すなわち全部でN3個のスロットを必要とする可能
性がある。
【0049】システムのメモリ要求条件を緩和すると共
にスケジューリング遅延を短縮するために、繰越し動作
によって影響されるフレームの個数は、繰越し動作を実
行したSMが、当該コリジョンを解決するために取られ
た複数のスロットにわたって同じ出力ポートに対して
のスケジューリングをしないように制限される。換言す
れば、1つのスロットが、同時に複数のコリジョンを解
決するようには使用されない。
【0050】例えば、SMaが、与えられたポートpに
よって取られたスロットmを見つけ、これにより繰越し
動作がトリガされると仮定する。この繰越し動作の結果
としてSMaによって予約されたスロットをmxとす
る。スロットmn(1≦n<x)のいずれも、同じポー
トpについてはSMaにとって利用不可(阻止、ブロッ
キング)となる。従って、この阻止機能は、与えられた
スロットに関する複数のコリジョンが禁止されることを
保証する。
【0051】CORPSスケジューリングアルゴリズム
について以下で説明する。先ず、通信チェインで渡され
るメッセージと、スケジューリング決定が記録されるS
Mデータベースについて説明し、その後、アルゴリズム
の流れについて説明する。
【0052】各セルスロットで、チェイン内のあるSM
から次のSMに渡されるスケジューリング決定要素のベ
クトルを定義する。Sメッセージは、たかだか最後のN
個のセルスロットでなされたスケジューリング決定のス
ケジューリング要素(scheduling element、以下SEと
記す。)を含む。すなわち、Sメッセージは、たかだか
N個のSEを有する。Sメッセージは以下のフォーマッ
トを有する。
【0053】図12は、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である。
【0054】スロットの最初に、各SMは先行するSM
からSメッセージを受信する。これは、最後のN個のス
ロットに付けられたSEを含む。あらゆるSMは、タイ
ムスロット当たりたかだか1回のスケジューリング決定
を行う。SMpがスケジューリング決定を行う場合、S
Mpは以下の内容を有する新しいSEを作成する。
【0055】・TTL=N ・TSI=現在のスロットから選択されたタイムスロッ
トまでの(それを含む)スロットの個数m ・SM−ID=p ・OPI=タイムスロット(CTS+m)におけるパケ
ットが入力ポートpから出力ポートqに交換されるよう
な所望の出力ポートq。
【0056】スケジューリング決定にかかわらず、各S
Mは、次のSMにメッセージを渡す前に、Sメッセージ
内の他のすべてのSEのTTLをデクリメントし、TT
L=0のSEを廃棄する。
【0057】各SMは、(N+1)N個の位置を含むメ
モリアレイSCを有する。最初のN個の位置は、クロス
バスイッチモジュールによって読み出される現フレーム
のスケジューリング決定を記録する。これらの位置は、
すべてのSMの間で、現フレームに関する同一の情報を
有し、いくつかの方法でクロスバコントローラによって
アクセスされ得る。厳密にいえば、SMは、この情報を
保持する必要はない。残りのN2個の位置は、将来のス
ケジューリング決定を記録するために使用される。メモ
リアレイは以下のフォーマットを有する。
【0058】図13に示すように、以下のフィールドが
定義される。 ・タイムスロットID:SCアレイへのインデクスであ
る。これは、SC位置がスケジューリング情報を保持す
るタイムスロットIDを与える。これは、クロスバモジ
ュールによって提供されるグローバルクロックと同期す
る。このフィールドは、グローバルクロックが進行する
と共にラップアラウンドする。
【0059】・阻止(Blockage):これはSMがスケジ
ューリング予約をすることを阻止されている出力ポート
の集合を定義する。このフィールドにはN個までのエン
トリが存在しうる。なお、最初は空である。
【0060】・予約(Reservations):これは与えられ
たタイムスロットに対するスケジューリング予約を記録
する。CORPSは、現タイムスロット(CTS)に対
してこのフィールド内のすべてのエントリがすべてのS
Mにわたり同一であることを保証する。従って、クロス
バモジュールは、任意のSM(CTS)から、セルの現
在の入出力スケジューリングを読み出すことができる。
アルゴリズムの一貫性チェックは、クロスバコントロー
ラが十分な処理時間を有する場合に、すべてのSMの間
でこのフィールドを比較することにより、クロスバモジ
ュールによって実行されることができる。
【0061】CORPSスケジューリングアルゴリズム 各SMは、ここで説明するCORPSスケジューリング
アルゴリズムに従う。CORPSには、与えられたSM
がどの出力ポートをスケジューリングしようとするかに
関する制約はない。どの出力ポートをスケジューリング
しようとするかの選択は、各SMにまかされ、そのVO
Qにサービスする固有のポリシーに従う。図14はCO
RPSスケジューリングアルゴリズムを示すフローチャ
ートである。以下、タスクボックス101〜110につ
いて、同図のフローに従いながら説明する。
【0062】先ず、タスク101において、前のSMか
らSメッセージを受信し、各SEに対してTTL(存続
時間)をデクリメントする。更に、与えられたSEに対
してTTL>0の場合には、TSI(タイムスロットI
D)をデクリメントし、TSIにおけるメモリアレイS
Cを更新する。TTL=0の場合には、そのSEをSメ
ッセージから除去する。また、キャリー(CARRY)
フラグをCARRY=FALSEにリセットする(タス
ク109参照)。
【0063】続いて、タスク102(試行スロットの計
算)において、適当な優先マトリクスを用いて、どの将
来のタイムスロット(FTS:Future Time Slot)をス
ケジューリングしようとするかを計算する。簡単のた
め、そのマトリクスは、FTS=f(CTS,SM_I
D)の形の関数fにエンコードされうる。
【0064】更に、SMが送信用にどの出力ポート(O
PIS)をスケジューリングしようとするかを選択する
(タスク103:出力ポートの選択)。なお、出力ポー
トを選択するストラテジは、前のタスクの結果に依存す
る可能性がある。CORPSはこのストラテジを指定し
ない(例えば、出力ポートの重み付きラウンドロビン選
択が使用可能である)。
【0065】続いて、SC(FTS)の予約エントリの
うちで、SM−IDがこのスケジューリングを実行する
SMに等しいものがあるかどうかを単にチェックする
(タスク104:スロットを自分が所有しているかのテ
スト)。
【0066】もし、SM−IDがこのスケジューリング
を実行するSMと異なるならば(タスク104のN
O)、更に、SC(FTS)の阻止エントリのうちで、
OPI(出力ポートID)が、スケジューリングを試み
ている出力ポートOPISに等しいものがあるかどうか
をチェックする(タスク105:自分は阻止されている
かのテスト)。
【0067】自分が阻止されているならば(タスク10
5のYES)、Sメッセージを次のSMに渡す(タスク
106)。
【0068】自分が阻止されていないならば(タスク1
05のNO)、SC(FTS)の予約エントリのうち
で、OPI(出力ポートID)が、スケジューリングを
試みている出力ポートOPISに等しいものがあるかど
うかをチェックする(タスク107:そのスロットは取
られているかのテスト)。
【0069】そのスロットが取られていない場合には
(タスク107のNO)、SC(FTS)に、自己のS
M−IDを有しOPIがOPISに等しい予約エントリ
を作成し、TTL=N、TSI=FTSで、SM−ID
は自己のIDに等しく、OPI=OPISであるSEを
作成する(タスク108:スロットを取る)。その後、
タスク106(Sメッセージの受け渡し)へ進む。
【0070】このスロットを自分が所有している場合
(タスク104のYES)あるいはそのスロットが既に
取られている場合(タスク107のYES)には、繰越
し動作が既に開始されているかどうかを検査し、フラグ
CARRY=TRUE/FALSEをチェックする。C
ARRY=TRUEの場合には、SC(FTS)の阻止
フィールドに、OPI=OPISのエントリを作成し、
そうでない場合にはCARRY=TRUEにセットし、
更に、FTS=FTS+Nにセットする(タスク10
9:繰越し)。
【0071】タスク109により繰越し動作が実行され
ると、続いて健全性チェックが行われる(タスク11
0)。即ち、FTSは、CTSから2N2より遠くに離
れてはならない。(FTS−CTS)>2N2である場
合(タスク110のNOK)、エラーメッセージを出し
て処理を中止する。FTS−CTS)≦2N2の場合に
は(タスク110のOK)、タスク104へ戻る。
【0072】CORPSアルゴリズムを用いることで以
下の利点が生じる。バックログのあるVOQは、最終的
にはそのSMによって選択されると仮定しても、枯渇す
ることはない。VOQqがSMpによって選択されると
仮定すると、図14によれば、SMpがqをスケジュー
リングすることに成功せずに予約ループを抜ける唯一の
場合は、試みたスロットに対して阻止されている場合で
ある。SMpが阻止されているとは、キューqが既にス
ケジューリングされていることを意味するが、以下の点
に注意すべきである。ループを抜ける他の唯一の場合が
あるとすれば、健全性チェックを通る場合であるが、こ
れは、繰越し動作が次のNフレームに空きスロットを見
つけなかったことを意味する。1つのコリジョンにかか
わるSMはたかだかN個であり、複数のコリジョンは阻
止手続きによって禁止されるため、ループからこのよう
にして抜けることはない。
【0073】同じ出力ポートqを連続してスケジューリ
ングしようとする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個の
予約をすることはできない。
【0074】CORPSは、m−公平(1<m≦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を含むことはでき
ない。
【0075】最後の注意は興味深いものである。それ
は、たとえ測定期間がどれほど長くても、連続してバッ
クログのあるVOQは、他のSMの対応するVOQの前
にN個より多くのパケットをサービスされることはない
ことを意味するからである。実際、十分長い期間では、
すべての衝突するSMは厳密に同数の予約を得ることに
なる。
【0076】さらに、重い負荷のもとでは、共通の出力
ポートを有するキューはすべて、それらのSMによって
同じ回数だけ選択されると仮定すれば、すべて同じスル
ープットを有する(図14のタスク108)。
【0077】CORPSアーキテクチャについていくつ
かのコメントをしておかなければならない。SMどうし
の間でスケジューリング情報を渡すために用いられる通
信チェインは、将来の少なくともN個のスロットである
限り、任意の方法でスロットのスケジューリングパター
ンを変更するために使用することが可能である。例え
ば、出力ポート予約を取り下げることも可能である。こ
の機能は、SMがコリジョンにより遠い将来に予約をし
たばかりであるが、ちょうど次のスロットにおいて、要
求するポートが空いたことに気がついた場合に有用とな
る。SMが、同じパケットに対して別の予約(より近い
もの)をする場合、遠いほうの予約は、取下げがなけれ
ば帯域の浪費を引き起こす。しかし、予約取下げは、上
記の性質に悪影響を及ぼす可能性もある。例えば、衝突
したSMが後で予約を取り下げた場合、同じコリジョン
においてその後にスケジューリングされたパケットの遅
延に悪影響を及ぼす。換言すれば、i−1個の他のSM
と衝突したSMが、この衝突による予約を後で取り下げ
た場合、システムは、最初にi−1個のSMのみが衝突
したのと同じ状態にはない。このスケジューラは、最初
の設計目標を満たしながら、できる限り単純なものであ
る。これにより、最終的な実装に要求されるハードウェ
アは単純なままであることが保証される。
【0078】CORPSは、複数のフレームにわたりパ
ケットスケジューリングを広げることによって衝突を解
決する。従って、他のスケジューラに比べて、平均パケ
ット遅延が大きくなると期待することはもっともであ
る。このため、一様トラフィックのもとでCORPSの
パフォーマンスを分析する。最終目標は、繰越し動作が
どのくらいパケット遅延に影響するかを評価し、競合す
るスケジューリングアルゴリズムと比べて、システムか
ら最大利用率を得ることである。
【0079】トラフィック負荷に対するパケット遅延に
関してスケジューラのパフォーマンスを評価するため
に、CORPSの分析モデルを作成する。以下では、簡
単のため、次の2つの主要な仮定をする。
【0080】(i)一様トラフィック到着過程、および (ii)各SMによるランダムなVOQキュー選択(図
14のタスク103)。
【0081】与えられたSMmの、出力ポートn宛のタ
ーゲットVOQキューQmnを定義する。パケットは、強
度pでベルヌーイ過程に従ってあらゆる入力ポートに到
着する。具体的には、与えられたスロットにおいて、1
つのパケットが1つの入力ポートに到着する確率がpで
ある。さらに、あらゆるパケットは、いずれの出力ポー
ト宛の確率も等しい(仮定i)。従って、ターゲットV
OQキューにおけるパケット到着過程は、パラメータp
/Nのベルヌーイ分布を有する。
【0082】VOQ選択に関して、与えられたSMの空
でない各キューは、スケジューリングのために等確率で
選択される(仮定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)ρによって与えられる。
【0083】さらに、qと密接に関連する別の確率を導
入すると便利である。rを任意のキューがそのスケジュ
ーラによって選択される確率とする。qが当該キューが
空でないと仮定しているのに対して、rにはこの制限が
ないという点で、rはqとは異なる。次式が成り立つの
を見るのは困難ではない。
【0084】r=ρq=p/N (1)
【0085】Qmnのふるまいは以下のようにモデル化す
ることができる。パケット到着間時間は明らかに、パラ
メータp/Nの幾何分布に従う。先頭パケットは、SM
によって選択されるまで待機しなければならない。その
選択は、与えられたスロットにおいて確率qで起こる。
選択された後、図14のタスク105に従って、スケジ
ューリングから阻止される可能性がある。与えられたス
ロットにおいてポートmに対して阻止される確率がPb m
である場合、先頭パケットがSMによって選択されるま
での待機時間は、パラメータs=q(1−Pb)の幾何
分布に従う。ここで確率はすべての出力ポートに対して
同一であるので、上付き添字mを落とすことができる。
mnが選択された後、常に予約が将来のタイムスロット
において行われ、且つパケットはキューから一種のベル
トコンベヤへと送出されると仮定する。ここでパケット
は、予約タイムスロットがやって来るのを待機し、やっ
て来た時点でシステムから出る。
【0086】図15は、Qmnキューイングシステムに用
いられるモデル全体を示す模式図である。到着パケット
はまずGeo(p/N)/Geo(s)/1キューに加
わる。パケットは、このキューを出ると、追加遅延D
corpsを受ける。これは、CORPSがコリジョンを解
決する特定の方法の結果生じる遅延である。これは、無
限個のサーバを有するボックスによってモデル化され
る。
【0087】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、参照)。
これは、次のように書くことができる(なお、数式中上
付きバーで表記している平均値は、明細書本文中で〈〉
で囲んで表記しているものと同一である)。
【0088】
【数1】 ただし、Sは、Geo(s)時間分布の確率変数であ
る。次に、〈Dcorps〉の計算について説明する。
【0089】Qmnが選択された(先頭パケットがGeo
(p/N)/Geo(s)/1を出た)後、いくつかの
事象が起こり得る。まず、SMmは、試行しているスロ
ットを所有していないことを確認しなければならない
(図14のタスク104)。スロットが、SMによっ
て、出力ポートnに対して所有される確率をP0 nとす
る。さらに、与えられたSMが、与えられたタイムスロ
ットにおいて、出力ポートnに対して阻止される確率を
b nとする。これから、次式を導くことができる。
【0090】
【数2】
【0091】CORPSによれば、SMが訪れているス
ロットは、このスロットが同じ出力ポートに対して前の
コリジョンを解決するために使用されている場合に限
り、そのSMが予約しようとするのを阻止することがで
きる。
【0092】その結果、SMがいずれかのポートを所有
する確率は、 P0=1−(1−P0 nN (5) となる。
【0093】図14のタスク104によって生じる期待
遅延〈D0〉は次式によって与えられる。
【0094】
【数3】
【0095】SMmが最初に訪れたスロットが空いてい
る場合(図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である場合、
【0096】
【数4】 となる。
【0097】上記の式は単に、SMmがスロットを訪れ
る最初のSMである場合、そのパケットはNスロット遅
延されるということである。コリジョンが起こらない場
合、CORPSスケジューラは将来の1フレームをスケ
ジューリングするからである。次に、SMs(s≠m)
の任意の出力ポート(特に出力ポートn)に対するVO
Qキューが空でなく、かつ、sによって選択される確率
はrであることを想起すると、P[Dcorps=jN|v
=i]に対する一般式が次のようになることを見るのは
困難ではない。
【0098】
【数5】
【0099】式(8)の上段は、mがスロットを訪れる
i番目のSMである場合、その遅延はたかだかiNであ
るということである。下段の二項係数は、i−1個のS
Mがmの前にスロットを訪れた場合、これらのうちのj
−1個のSMがmと衝突する可能性があるということで
ある。(Dcorps=jNかつv=i)の形の事象の同時
分布は、上記の表式に1/Nを乗じることによって容易
に導出することができる。なぜなら、SMmは、スロッ
ト1≦i≦Nのi番目の訪問者であることが等しく確か
らしいからである(図7参照)。
【0100】次に、1つのパケットの期待遅延Dcは次
のように導出することができる。
【0101】
【数6】
【0102】CORPSスケジューラにより生じる全遅
延は次のようになる。
【0103】
【数7】
【0104】計算すべき最後の確率はPbである。これ
は、与えられた出力ポートnに対して、与えられたスロ
ットにおいて、1つのSMが阻止される確率である。次
式を示すことができる。
【0105】
【数8】
【0106】Geo(s)に対して、〈S〉=1/s
で、〈S(S−1)〉=2(1−s)/s2であること
に注意すると、1つのパケットがシステムで受ける全平
均遅延は次のようになる。
【0107】
【数9】 ただし、s=q(1−Pb)である。最初の3項は、ス
ケジューリングが行われる前の、VOQキューにおける
遅延に対応する。第3項は、CORPSのパイプライン
およびコリジョン解決機能により、パケットが待機する
のに必要な追加時間に対応する。
【0108】図16に、CORPSの遅延対スループッ
トの解析的結果を、CORPSスケジューラを備えた1
6×16スイッチのシミュレーションと比較したものを
示す。この図において、パイプラインおよびコリジョン
解決方式が使用されることにより、パケットがSMスケ
ジューラによって選択されるまでに受ける平均キューイ
ング遅延と、CORPS遅延との間に違いがある。図か
ら分かるように、解析的予測は、シミュレートされたシ
ステムのふるまいと良く一致する。
【0109】この図は、負荷のすべての範囲を通じて、
スケジューリング遅延がキューイング遅延よりも優勢で
あることを示している。非常に高い負荷の場合(キュー
が形成され始めるとき)にのみ、キューイング遅延が重
要になる。これは、パケットがVOQキューに到着する
とすぐに将来のパケットをスケジューリングすることに
おいて、CORPSがうまくはたらいていることを意味
する。他方、CORPSによって生じる平均遅延は、軽
負荷の場合のおよそ1フレームから、負荷が0.85に
達するときの約5フレームまで、増大する。
【0110】完全を期するため、図17に、16×16
CORPSスイッチにおける全遅延の相補分布を示す。
曲線は、シミュレーションによって得られた、負荷が
0.8および0.85の場合のものである。まず、いず
れのパケットも、システムを通過するのにN2スロット
より多くはかからないことに注目される。これは、CO
RPSでは多重コリジョンが起こることを許していない
ことによる。実際、分布のテールは、N2/2=128
付近のあたりで終わっているように見える。しかし、シ
ステムが非常に大きい負荷によって駆動される場合、パ
ケット遅延はN2に近づくようである。
【0111】図18は、CORPSを実現するシステム
ブロック図である。VOQMモジュールは、パケットを
仮想出力キューVOQに入れる。また、このモジュール
は、与えられたキューに代わって、SMモジュールに対
して要求を行う。SMモジュールは、メッセージ受渡し
を制御し、CORPSスケジューラを実現する。SMモ
ジュールは、VOQMと通信して、将来のスロット予約
について通知する。この通知はVOQMに保持され、与
えられたスロットにおいて、パケットが、交換されるべ
きクロスバレジスタに転送されるようにする。
【0112】図中、SMとクロスバコントローラの間の
通信はバスを通じて行われるように示されているが、こ
の特定の種類の通信である必要はない。
【0113】スケジューリングアルゴリズムどうしの公
平な比較では、平均遅延やスループットのようなパフォ
ーマンス尺度のみならず、複雑さおよび実装コストも考
慮すべきである。第1の選択基準は高いスループットで
ある。さらに、VOQで動作するスケジューラのみを比
較する。そこで、本発明と競合するスケジューラとし
て、1−SLIP及びRRGSとの比較を行う。複数回
のイテレーションではなく1イテレーションのSLIP
を選択する理由は、比較プロセスの公平性のためであ
る。すなわち、任意の入力ポートにおいて、スロット当
たりたかだか1回の決定をすることができると仮定す
る。i−SLIP(i>1)は、実質的に、スロット当
たり複数回のスケジューリング決定を要求することにな
る。
【0114】パフォーマンス比較において、解析的結果
およびシミュレーション結果の両方をもとにする。一様
トラフィックに対するRRGSおよびSLIPの遅延パ
フォーマンスは次のように近似することができる。
【0115】
【数10】
【0116】RRGSの結果については、本出願人によ
る特願平11−172584号に記載されており、SL
IPの結果については、N. McKeown, "Scheduling Cell
s inan Input-Queued Switch", PhD Thesis, Universit
y of California at Berkeley, 1995、に記載されてい
る。
【0117】図19に、これらのアルゴリズムの平均遅
延対スループットのパフォーマンスを、CORPSと対
照して示す。この図から明らかなように、RRGS及び
CORPSは、遅延が大きくなる前には、SLIPより
もずっと高い負荷にたえることができる。容易に分かる
ように、これらの曲線の微分は、高負荷の場合、RRG
S及びCORPSのほうがかなり小さい。しかし、いず
れのアルゴリズムも、中程度から軽い負荷ではオフセッ
ト遅延バジェットを有する。RRGSの場合、これは、
パイプライン法が使用されていることのみによるもので
ある。CORPSの場合、既に説明したように、追加遅
延はコリジョン解決によるものである。しかし、COR
PSは、RRGSに比べて2つの利点を有する。 (i)SMがどの出力ポートを選択するかについて選択
の自由がある。 (ii)厳密に公平なスケジューラである。 SLIPもまた公平なスケジューラであるが、そのコリ
ジョン解決プロセスは、CORPSのものとは全く異な
る。
【0118】前述のように、CORPSは、どの出力ポ
ートにスケジューリングを試みるかについて完全な選択
の自由を与える。すなわち、各VOQMは、与えられた
VOQに代わって、スケジューリングされる出力ポート
を自由に選択することができる。このことは、スケジュ
ーラ設計ストラテジの重要な部分であった。従って、多
くのアルゴリズムが、CORPSとともに、VOQ選択
に使用可能である。これまで、そのようなアルゴリズム
の1つ、すなわち、空でないVOQのうちのランダム選
択について説明した。他のVOQ選択ストラテジの例も
可能である。VOQ選択ストラテジは、協調的選択スト
ラテジおよび非協調的選択ストラテジという2つのクラ
スに分類することができる。
【0119】非協調的VOQ選択ストラテジは、VOQ
選択決定が、他の入力ポートとは独立に、入力ポート
(VOQM)ごとに行われるものである。CORPSの
分析に用いたランダム選択ストラテジはこのクラスに属
する。
【0120】重み付き公平キューイング(WFQ:Weig
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帯域分を超えないように強制することがで
きる。
【0121】レート制御サービス(RCS:Rate-Contr
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のうちからは、キュー選択に任意のアルゴリズ
ムを用いることが可能である。
【0122】上記の2つのサービス規律は、パケットネ
ットワークにおけるサービス品質(QoS)のサポート
に使用可能であり、それ自体、活発な研究分野である。
このようなQoSサポートストラテジは、非協調的なタ
イプのものになることが多い。それは、他のトラフィッ
クストリームとは無関係に、VOQの予測されるサービ
ス挙動を保証することになるからである。このクラスに
属するアルゴリズムは、ビデオや音声ストリームのよう
な、厳しいQoSアプリケーションをサポートするスイ
ッチで使用可能である。
【0123】協調的VOQ選択ストラテジは、VOQ選
択がスイッチ内のVOQのセット全体の状態に依存する
ような選択ストラテジである。このストラテジは一般
に、各フローのサービスに集中するよりも、最大スルー
プットのようなスイッチ全体のふるまいを良くすること
を目標とする。従って、このようなストラテジをスイッ
チで使用するのは、QoS要求条件に対する約束なし
に、データトラフィックをサポートする場合である。
【0124】協調的ストラテジの場合、他のVOQの状
態のような追加情報をCORPSスケジューラに提供す
る必要がある。キューの状態に関する情報は常に「古
い」ため、サービスストラテジは、古い情報に関してロ
バストでなければならない。
【0125】最大マッチング問題とは、与えられたグラ
フの辺のうちから、グラフの頂点の対をつなぐ辺で、対
の総数を最大にするような辺のサブセットを求める問題
である(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アルゴリズムによって選択されないキュ
ーも、将来の予約を試みることが可能である。
【0126】最大重み2部マッチング(MWBM:Maxi
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キューサイズを重
みとして用いることである。
【0127】また、上記文献によれば、入力トラフィッ
クが受付け可能である限り、MWBMアルゴリズムは安
定である、すなわち、VOQキューは爆発しない。あら
ゆる出力ポートに対して、1個の出力ポートへの入力ト
ラフィックレートの総和がその容量を超えない場合に、
トラフィックが受付け可能であるという。この興味深い
結果は、MWBNの安定性は、古い情報の存在下でも、
すなわち、重みがいくつかの過去のタイムスロットのキ
ューレベルに基づいていても、維持されるということで
ある。この場合も、VOQのキューレベル情報はすべて
のVOQMに渡され、出力ポートに対する要求がSMへ
と発行される前に、MWBMアルゴリズムが各モジュー
ルで実行されるようにすることができる。
【0128】
【発明の効果】以上詳細に説明したように、本発明によ
れば、まず、時間軸をフレーム化して優先マトリクスを
用いた予約を行うことにより、タイムスロット巡回順序
を規則的なものとし、実装及び制御を容易にするという
効果がある。また、RRGSとは異なり、スケジューリ
ングの規則をSM個数の偶奇によって変える必要がな
く、この点でも実装及び制御が簡単であるといえる。
【0129】さらに、本発明による繰越しラウンドロビ
ンパイプラインスケジューラ(CORPS)によれば、
クロスバ高速スイッチファブリックの入線間での公平な
スケジューリングが可能となる。CORPSは、将来の
スロットのパケットをスケジューリングすることによ
り、ラインごとスロットごとに1つのスケジューリング
決定を行う。スケジューリングされるキューの選択は任
意であるため、トラフィックのサービス品質をサポート
することに適している。CORPSは、出力ポート間の
競合を公平に解決する。
【0130】さらに他の効果および変形を考えることは
当業者には容易であって、本発明は、ここで説明した具
体例に限定されない。特許請求の範囲に記載した本発明
の構成の技術思想あるいは技術的範囲から離れることな
く、さまざまな変形例を考えることが可能である。
【図面の簡単な説明】
【図1】集中VOQスケジューラを示す概略的ブロック
図である。
【図2】(A)は並列方式の、(B)はラウンドロビン
方式のアーキテクチャをそれぞれ示す分散スケジューラ
アーキテクチャの模式図である。
【図3】入力バッファ型スイッチアーキテクチャの説明
図である。
【図4】入力ポート分散スケジューラの構成を例示する
概略的ブロック図である。
【図5】4×4クロスバースイッチを用いた場合のRR
GSによるパイプラインスケジューリング決定の一例を
示すタイムチャートである。
【図6】図5を個々のSMのタイムスロット巡回順序に
着目して表現したタイムチャートである。
【図7】本発明によるスケジューラの一実施形態におけ
るコリジョンを解決するのに用いられる優先マトリクス
の一例(ポート数N=4)を示す説明図である。
【図8】本発明によるスケジューラの一実施形態におけ
るパイプラインスケジューリング決定の一例(ポート数
N=4)を示す説明図である。
【図9】本発明によるスケジューラの一実施形態におけ
るコリジョンを解決するのに用いられる優先マトリクス
の一例(ポート数N=5)を示す説明図である。
【図10】本発明によるスケジューラの一実施形態にお
けるパイプラインスケジューリング決定の一例(ポート
数N=5)を示す説明図である。
【図11】本発明によるスケジューラの一実施形態にお
けるSM間の繰越し動作を示す説明図である。
【図12】本実施形態におけるSメッセージのフォーマ
ット図である。
【図13】本実施形態におけるスケジューラモジュール
のデータ構造体のフォーマット図である。
【図14】本実施形態におけるCORPSスケジューリ
ングアルゴリズムを示すフローチャートである。
【図15】CORPS VOQキューイングモデルを示
す模式図である。
【図16】システム負荷の関数としてパケット遅延を表
すグラフである。
【図17】CORPSスケジューラを備えた16×16
スイッチの相補的遅延分散を示すグラフである。
【図18】CORPSコントローラの一例を示すブロッ
ク図である。
【図19】さまざまな競合スケジューラの、システム負
荷に対する期待遅延を示すグラフである。

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークにおけるデータのフローを
    制御するスイッチにおいて、 複数の入力ポートと、 複数の出力ポートと、 前記複数の出力ポートのうちの指定出力ポートへデータ
    を送るように、前記複数の入力ポートのうちの特定の入
    力ポートをスケジューリングする複数の入力ポートスケ
    ジュールモジュールを有するスケジューラと、からな
    り、 現在のスケジュールモジュールは、 前のスケジュールモジュールからスケジューリングメッ
    セージを受信し、 前記現在のスケジュールモジュールが前記指定出力ポー
    トにアクセスしようとする将来のタイムスロットを計算
    し、 前記将来のタイムスロットが前記現在のスケジュールモ
    ジュールによって既に予約されているかどうか、前記将
    来のタイムスロットが阻止されているかどうか、及び前
    記将来のタイムスロットが他のスケジュールモジュール
    によって取られているかどうかに基づいて、前記将来の
    タイムスロットが有効かどうかを判断し、 有効な場合には、前記将来のタイムスロットを取り、前
    記スケジューリングメッセージに前記将来のタイムスロ
    ットが取られたことを示す情報を入れる、 ことを特徴とするデータフロー制御スイッチ。
  2. 【請求項2】 前記スケジューラは、前記将来のタイム
    スロットが予約されている場合及び取られている場合の
    いずれかである時には、前記将来のタイムスロットを所
    定数のタイムスロットだけ前進させることを特徴とする
    請求項1記載のデータフロー制御スイッチ。
  3. 【請求項3】 前記複数の出力ポートのそれぞれに対し
    て別々のキューを維持する仮想出力キューイング(VO
    Q)を用いて、前記複数の入力ポートを通じて入力され
    たデータをキューイングすることを特徴とする請求項1
    記載のデータフロー制御スイッチ。
  4. 【請求項4】 あるポートに対する前記仮想出力キュー
    イングは、他のポートに対する前記仮想出力キューイン
    グとは独立であることを特徴とする請求項3記載のデー
    タフロー制御スイッチ。
  5. 【請求項5】 前記仮想出力キューイングのサービスレ
    ートは予測可能かつ調整可能であることを特徴とする請
    求項3に記載のデータフロー制御スイッチ。
  6. 【請求項6】 前記スケジューラは、重み付きラウンド
    ロビンに基づいて、前記指定出力ポートを選択すること
    を特徴とする請求項1記載のデータフロー制御スイッ
    チ。
  7. 【請求項7】 複数の入力ポートスケジュールモジュー
    ルを有するスイッチの複数の入力ポートに到着する入力
    信号を当該スイッチの複数の出力ポートに送るようにス
    ケジューリングする方法において、 a)現在のスケジュールモジュールが、前のスケジュー
    ルモジュールからスケジューリングメッセージを受信す
    るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
    出力ポートのうちの1つにアクセスしようとする将来の
    タイムスロットを計算するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
    イムスロットでの送信用にスケジューリングするように
    選択するステップと、 d)前記将来のタイムスロットが前記現在のスケジュー
    ルモジュールによって既に予約されているかどうかを判
    断するステップと、 e)前記将来のタイムスロットが前記現在のスケジュー
    ルモジュールによって予約されていない場合には、前記
    将来のタイムスロットが阻止されているかどうかを判断
    するステップと、 f)前記将来のタイムスロットが阻止されていない場合
    には、前記将来のタイムスロットが他のスケジュールモ
    ジュールによって既に取られているかどうかを判断する
    ステップと、 g)前記将来のタイムスロットが、他のスケジュールモ
    ジュールによって既に取られている場合及び前記現在の
    スケジュールモジュールによって既に予約されている場
    合のいずれかの場合には、前記スケジューリングメッセ
    ージから繰越し動作が既に開始されているかどうかを判
    断するステップと、 h)前記繰越し動作が既に開始されている場合には、前
    記将来のタイムスロットを阻止状態に設定して前記ステ
    ップ(d)に戻るステップと、 i)前記繰越し動作が開始されていない場合には、前記
    将来のタイムスロットを所定数のタイムスロットだけ前
    進させ、繰越しフラグをセットしてステップ(d)に戻
    るステップと、 j)前記将来のタイムスロットが他のスケジュールモジ
    ュールによって取られていない場合には、前記将来のタ
    イムスロットを取り、前記将来のタイムスロットが取ら
    れたことを示す情報を前記スケジューリングメッセージ
    に入れるステップと、 k)前記スケジューリングメッセージを次のスケジュー
    ルモジュールに渡すステップと、 からなることを特徴とするスケジューリング方法。
  8. 【請求項8】 前記複数の入力ポートを通じて入力した
    データは、各出力ポートに対して別々のキューを維持す
    る仮想出力キューイングを用いてキューイングされるこ
    とを特徴とする請求項7記載の方法。
  9. 【請求項9】 あるポートに対する前記仮想出力キュー
    イングは、他のポートに対する前記仮想出力キューイン
    グとは独立であることを特徴とする請求項8記載の方
    法。
  10. 【請求項10】 前記仮想出力キューイングのサービス
    レートは予測可能かつ調整可能であることを特徴とする
    請求項8記載の方法。
  11. 【請求項11】 前記スケジューラは、重み付きラウン
    ドロビンに基づいて、前記指定出力ポートを選択するこ
    とを特徴とする請求項7記載の方法。
  12. 【請求項12】 ネットワークにおけるデータのフロー
    を制御するスイッチにおいて、 複数の入力ポートと、 複数の出力ポートと、 前記複数の出力ポートのうちの指定出力ポートへデータ
    を送るように、前記複数の入力ポートのうちの特定の入
    力ポートをスケジューリングするN個の複数の入力ポー
    トスケジューリングモジュールを有するスケジューラ
    と、 から構成され、 前記スケジューラは、 前記各入力ポートスケジューリングモジュールがリング
    状に接続され、 タイムスロット単位に、 各入力ポートスケジューリングモジュールが、前段のス
    ケジューリングモジュールから、ある予約タイムスロッ
    トの予約状況情報を受信し、 各入力ポートスケジューリングモジュールが、その予約
    タイムスロットにおける当該入力ポートスケジューリン
    グモジュールからのパケット送出予約可否を決定し、 各入力ポートスケジューリングモジュールが、前段のス
    ケジューリングモジュールから受信した予約状況情報
    に、自スケジューリングモジュールの予約結果を反映さ
    せて、次段のスケジューリングモジュールに送信する、 ことを特徴とするデータフロー制御スイッチ。
  13. 【請求項13】 複数の入力スケジューリングモジュー
    ルを有するパケットスイッチの入力ポートと出力ポート
    の接続状態を決定し接続を予約する(以下、スケジュー
    リングという。)方法において、 N個のタイムスロットを単位とするフレームを定義し
    て、前記フレーム時間内で、前記フレームの次フレーム
    中のN個のタイムスロットでのスケジューリングを行
    う、 ことを特徴とするスケジューリング方法。
  14. 【請求項14】 前記スケジューリング方法は、 a)現在のスケジュールモジュールが、前のスケジュー
    ルモジュールからスケジューリングメッセージを受信す
    るステップと、 b)前記現在のスケジュールモジュールが、前記複数の
    出力ポートのうちの1つにアクセスしようとする将来の
    タイムスロットを予め次フレーム内の特定のタイムスロ
    ットに決定するステップと、 c)前記複数の出力ポートのうちの1つを前記将来のタ
    イムスロットでの送信用にスケジューリングするように
    選択するステップと、 d)前記将来のタイムスロットが他のスケジュールモジ
    ュールによって既に取られているかどうかを判断するス
    テップと、 e)前記将来のタイムスロットが他のスケジュールモジ
    ュールによって取られていない場合には、前記将来のタ
    イムスロットを取り、前記将来のタイムスロットが取ら
    れたことを示す情報を前記スケジューリングメッセージ
    に入れるステップと、 f)前記スケジューリングメッセージを次のスケジュー
    ルモジュールに渡すステップと、 からなることを特徴とする請求項13記載のスケジュー
    リング方法。
  15. 【請求項15】 前記スケジューリング方法は、 タイムスロットでのスケジューリング決定過程(接続決
    定過程)の観点から見た場合、前記複数の接続決定過程
    が、 フレームの先頭で同時に開始され、 フレーム内で同時にパイプライン処理により進行し、 フレームの末端で同時に完了する、ことを特徴とする請
    求項13記載のスケジューリング方法。
  16. 【請求項16】 前記スケジューリング方法は、 前記入力ポートスケジューリングモジュールが、フレー
    ムの先頭で同時に開始する前記各接続決定過程におい
    て、次のフレーム内の各々異なる予約タイムスロットを
    対象として処理を開始することを特徴とする請求項13
    記載のスケジューリング方法。
  17. 【請求項17】 前記スケジューリング方法は、 ある与えられた将来のタイムスロットにおけるN個の入
    力ポートスケジューリングモジュールの規則的な巡回順
    序を定義するN×Nマトリクスを参照することによっ
    て、現在のフレームにおける入力信号が次のフレームで
    どの出力ポートへ送出されるかを決定することを特徴と
    する請求項13記載のスケジューリング方法。
JP2000055103A 1999-06-18 2000-03-01 データフロー制御スイッチ及びそのスケジューリング方法 Expired - Fee Related JP3178470B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (19)

* Cited by examiner, † Cited by third party
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