JP3684308B2 - スケジューリング制御装置および交換機 - Google Patents

スケジューリング制御装置および交換機 Download PDF

Info

Publication number
JP3684308B2
JP3684308B2 JP35588898A JP35588898A JP3684308B2 JP 3684308 B2 JP3684308 B2 JP 3684308B2 JP 35588898 A JP35588898 A JP 35588898A JP 35588898 A JP35588898 A JP 35588898A JP 3684308 B2 JP3684308 B2 JP 3684308B2
Authority
JP
Japan
Prior art keywords
line
scheduling
input
unit
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35588898A
Other languages
English (en)
Other versions
JP2000183884A (ja
Inventor
直樹 松岡
健一 瓦井
博 朝永
次雄 加藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP35588898A priority Critical patent/JP3684308B2/ja
Priority to US09/460,898 priority patent/US7046685B1/en
Publication of JP2000183884A publication Critical patent/JP2000183884A/ja
Application granted granted Critical
Publication of JP3684308B2 publication Critical patent/JP3684308B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1553Interconnection of ATM switching modules, e.g. ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3045Virtual queuing

Description

【0001】
【発明が属する技術分野】
本発明はスケジューリング制御装置に関し、特に大規模ATMスイッチの一構成法である入力バッファ型スイッチにおけるスケジューリング制御装置に適用して有効な技術である。
【0002】
【従来の技術】
近年、インターネットの爆発的な普及や大容量・高品質な情報を扱うメディアの登場により、大容量データを柔軟に扱うことのできる大規模な通信インフラの整備に期待が寄せられている。そして、実現の鍵となる数百ギガ〜数テラオーダの容量をもつ交換機に関心が集まっている。
【0003】
入力方路毎に単一バッファをもつ基本的な入力バッファ型スイッチ(図2の左側)は、HOL(Head Of Line)ブロッキングの問題があり、スループットが約58.6%までにしか上がらないことが知られている。
【0004】
HOLブロッキングを回避する手段として、図3に示すように、入力バッファ部を論理的に出力方路毎に分割し、所定のアルゴリズムにしたがって送出権をスケジューリングする方式がいくつか提案されている。その一つとして入力と出力間でRequest/Acknowledge(要求・確認)制御を行う方式が知られているが、この方式は、入力−出力間で何度も情報のやりとりを行って、スケジューリング処理を行っていた。また、入力と出力間の組み合わせが最大となるような組み合わせを求める別の方式では、最適な組み合わせを求めるために複雑な演算処理を繰り返し行っていた。
【0005】
入力バッファ部は出力回線分の論理バッファをもつが、サービス品質(QoS:Quality Of Survive)での帯域制御を行うために、従来はその出力回線毎にQoS帯域制御用のリーキバケットカウンタ(LBカウンタ)が必要になった。例えば出力回線が128回線でQoSクラスが16クラスの場合、帯域制御用LBカウンタ数は2048個にもなる。
【0006】
従来、大規模入力バッファ型スイッチ向けスイッチ部の構成方法として、単位スイッチをクロスバー形式にする方式(図4)、バッチャソータ方式(図5)、バッチャバンヤン方式(図6)などがある。
【0007】
また、セルの同期方式としては、図7のようなセルの先頭を示すフレームパルスとデータを並送させることにより、セルの先頭の同期をとる方式がある。
【0008】
【発明が解決しようとする課題】
上述のRequest/Acknowledge制御を用いた方式では、特性向上のための入出力間で情報の受け渡しを繰り返し行う必要があることから、1パケット時間内に処理を完了させるために高速なデバイスが必要であった。また、最大の組み合わせを求める様な方式は、複雑な論理演算が必要となり、これをハードウェアで実現することは困難であった。
【0009】
さらに、スケジューリング処理において、出力回線の決定に単純なラウンドロビン制御を用いる方式では、ラウンドロビン制御によって各回線が常に均等に割り当てられてしまい、一つの出力回線に対して、異なる入力負荷(不均等負荷)で複数回線から送出要求があった場合に、高負荷の入力回線からの送出遅延が著しく低下する問題があった。
【0010】
また、多数回線を収容する大規模スイッチにおいて、ロジックで帯域制御用のLBカウンタを構成するとハードウェア量が膨大になってしまう。また、これをメモリを使って構成すると1パケット時間に同時にアクセスすることが難しくなるという問題があった。
【0011】
また、複数のLSI、またはパッケージで大規模スイッチを構成する際、クロスバーだとLSI、またはパッケージ間のI/O数がセルハイウェイの4倍分だけ必要となり、I/O( Input/Output)数がボトルネックとなる。
【0012】
また、バッチャソータ方式ではI/O数はセルハイウェイの2倍分で足りるが、各ブロック毎の構成が異なり、またI/Oの長さも異なるため複数品種のLSI、またはパッケージを構成する必要が生じたり、位相調整が必要となるという問題もあった。
【0013】
また、複数LSI、またはパッケージで大規模スイッチを構成する際、バッチャソータ方式等では、スイッチ規模を拡張していく際に、最小規模時のパスに単位スイッチを挿入していく必要があるため、パスの張り替えが必要となり拡張時にシステムを停止させなければならないという問題があった。
【0014】
また複数LSI、またはパッケージで大規模スイッチを構成する際、スイッチ部を単位ソータのみで構成するには、全入力回線から重複なく異なる出回線番号をもつセルを常にスイッチ部に転送する必要があることから、送るべきセルがないとき、空きセルに対しても入力バッファ側で出回線番号をダミーで付与する必要がある。
【0015】
この点について、空きセルに対して入力バッファ側で出回線番号を付与することが、特開平3−36841号公報で提案されているが、この技術では、出力回線番号順に対応する入力回線を決定している。そのため、入力バッファを出方路毎の論理キューで構成し、競合制御により各入力バッファに対する出方路を決定するような出回線番号順に一意に入力回線を決定できないスケジューリング方式には適用できないという問題があった。
【0016】
またスイッチや入力バッファやスケジューラが複数のパッケージにまたがって構成されている場合、各パッケージ間でのセルレベルの同期外れが発生するが、図7に示したようなセルの先頭を示すフレームとデータを並送させる方式では、セルレベルの非同期は検出できないという問題があった。
【0017】
本発明は、これらの点に鑑みてなされたものであり、均等、不均等負荷のもとでも特性の劣化がなく、かつ、高速な繰り返しスケジューリングや複雑な演算処理を必要とせず、簡素でかつ処理速度がデバイス能力に依存しないスケジューリング装置の実現を目的としている。
【0018】
【課題を解決するための手段】
図1および図8に本発明の基本的な構成を示す。
スケジューラ装置は、入力バッファ部からの送出要求に基づき、適切な出力方路を決定するものであり、各入力バッファから送出されるパケットを各々異なる出力方路にルーチングされるようにスケジューリングするものである。
【0019】
図8は本発明の原理構成図を示したものである。
要求情報管理部は、各入力回線が所望する出力回線への送出要求を入力回線毎に管理するものであり、送出要求数を管理するとともに、送出要求の有無を”0”, “1”で表す。
【0020】
負荷観測部は、一定周期内に到着した要求情報の数を、論理出力キュー毎に計測し、負荷を計測するものである。
ハイウェイ間ポインタ(PHW)は、ハイウェイ間ポインタ制御部に保持されており、スケジューリングの際に、どの入力回線からスケジューリングを開始するかを示す。このハイウェイ間ポインタ(PHW)が示す入力回線から順にN入力回線分のスケジューリングを行う。
【0021】
ハイウェイ内ポインタ(PO#j:jは回線番号)は、ハイウェイ内ポインタ制御部に保持され、所望する複数の出力回線の中から一つを選択する際に、どの出力回線から検索を行うかを示すものである。スケジューリング処理部はこのハイウェイ内ポインタ(PO#j)が示す出力回線から順に検索を行い、最初に見つかった回線に対して送出権を与えるようになっている。
【0022】
スケジューリング処理部は、ハイウェイ内ポインタとハイウェイ間ポインタが示す回線から検索を開始し、負荷観測部で得られた負荷に応じて、スケジューリングを行う。
【0023】
スケジューリングは、送出要求のある回線で、ポインタ制御によって最初に見つかった回線(但し、他の回線に選択されていないこと)に対して送出権を与える。そして、送出権を与えた回線を次回のスケジューリング処理に低優先になるようにポインタを更新するようになっている。
【0024】
ポインタの更新は、以下の手順で行われる。
図1に本発明の特徴的な一つのポインタ制御の動作を示す。ハイウェイ間ポインタは、全回線分のスケジューリングが終わった時点で、隣接する回線(右隣)に更新される。このとき、同一方向(時計回り)へN回更新された場合は、次のN回のスケジューリング処理は逆方向(反時計回り)の隣接回線へ更新するようになっている。
【0025】
ハイウェイ内ポインタは、スケジューリング処理部が決定した回線の次の回線にハイウェイ内ポインタ値を更新する。但し、ハイウェイ内ポインタが示す回線に要求がありかつその回線が既に他の回線によってスケジューリングされている場合には更新を行わないようになっている。
【0026】
本発明(請求項1および2に対応)によれば、ハイウェイ間ポインタが示す回線からスケジューリングを開始し、各回線におけるスケジューリング処理は、他の回線が使用していない回線を選択することにより、無駄なスケジューリング処理を回避し、かつ効率のよい(空きの少ない)スケジューリングが可能になる。
【0027】
また、スケジューリングされる入力回線の順番がHWポインタの反転制御によって、スケジューリング周期毎に反転するため、2つの入力回線で見たときに、スケジューリングが行われる順序が均等に与えられる。
【0056】
【発明の実施の形態】
以下、図面に基づいて、本発明の実施の形態を説明する。
【0057】
【実施例1】
図17は、本システムの全体構成を示している。
同図に示すように、本実施例では、入力回線から到着したセルは入力バッファに保持され、スケジューラからの指示によりN×N構成のスイッチに入力され、N本の出力回線より出力される。
【0058】
ここで、図18を用いて、ハイウェイ間ポインタの反転制御の説明を行う。図18では、4×4個構成のスイッチを想定している。
同図において、1回目のスケジューリングは、入力回線#0から順に入力回線#0,#1,#2,#3の順でスケジューリングが行われる。
【0059】
もし、スケジューリング順序が一方向のみの場合、2回目はハイウェイ間ポインタが順方向に移動して、入力回線#2から順に、#2,#3,#0,#1の順でスケジューリングが行われる。ここで、入力回線#0と入力回線#1に着目してスケジューリング順序について見た場合、若番の入力回線の方が多く先にスケジューリングされてしまい不均等なスケジューリングになる(図中、入力回線#0と回線#1との間で先にスケジューリングされるものを四角で囲った)。
【0060】
一方、これに対して本実施例では、反転制御を用いる場合の2回目のスケジューリングにおいて、反転制御によって、HWポインタが逆方向に働き、入力回線#3から順に#3,#2,#1,#0の順でスケジューリングが行われる。
【0061】
このように、スケジューリング周期毎に反転制御を行うことで、スケジューリング周囲毎にスケジューリング順序が入れ替わり、2周期のスパンで見たときに、均等なスケジューリングを実現できる。
【0062】
【実施例2】
以下に上記反転制御を用いたパイプライン処理系の実施例を示す。
上記実施例1では、4×4のスイッチ構成を例にあげており、1パケット時間内に4つの入力回線についてスケジューリングを行えばよいが、多くの回線を収容する場合には、1パケット時間内に全ての回線の処理を終えることが難しくなる。
【0063】
そこで、スケジューリング開始入力回線を時間的にずらしてパイプライン処理構成を形成することにより、処理速度面の課題を回避するのが本実施例である。図19にパイプラインシーケンスを示す。各パイプラインの開始番号は時間的にずれており、競合が起こりにくくなっている。図中の数字は、スケジューリング対象となる入力回線番号を示しており、この例では1パケット時間中に2つの回線のスケジューリングを実行する。そして、1回のスケジューリング周期が8パケット時間で完了するように組まれている。
【0064】
パイプライン#1では、Time1〜Time8までが1周期のスケジューリングとなっており、上記実施例1で述べたように、Time9〜Time16が反転周期のスケジューリング周期となっている(白抜き部分が順方向の処理、黒塗り部分が逆方向の処理)。
【0065】
パイプライン#2も同様であるが、スケジューリング開始回線が入力回線#2になっている(Time=2)。これは、パイプライン処理#1の開始番号から2個シフトした値である。
【0066】
実施例ではシフト量を2にしているが1個シフトでもよい。実施例では2個シフトする代わりに、パイプライン処理4以降で、1パケット時間内の処理順序を反転させている。
【0067】
パイプライン処理において、公平なスケジューリングを行うため、各パイプライン処理毎にハイウェイ間ポインタとハイウェイ内ポインタとをそれぞれ備えている。ここで本実施例のハードウェア構成は、図20および図21に示す通りとなる。図20はスケジューリング部を集中的に管理する場合のイメージであるが、図21のように各入力回線毎に分散的に配置することもできる。
【0068】
次に、ハイウェイ間ポインタの動作について説明する。
例えばTime=1のパイプライン処理#6における入力回線#0のスケジューリングにおいて、出力回線が回線#2に決定されたとする。このとき、次の入力回線#0のスケジューリング時に出力回線#2が低優先で送出されるようにパイプライン処理#6のハイウェイ内ポインタ(P HW#0_pipe#6)を3に更新する。
【0069】
Time=3において、全体で見た場合の入力回線#0のスケジューリングが存在するが、このpipeline#4と前述のpipeline#6は完全に独立に動作しており、Time=3ではpipeline#4のハイウェイ内ポインタにしたがってスケジューリングされる。
【0070】
ここで、pipeline#6に着目してみると、Time=11において、次の入力回線#0のスケジューリング処理が存在する。これは、Time=1で更新されたハイウェイ内ポインタ値(=3)にしたがって、出力回線#3から検索が行われる。
【0071】
このように時系列で見た場合には、各入力回線内の送出ポインタが均等に廻っていないようにみえるが、一つのパイプライン処理の中では均等にポインタが廻っており、全体として、均等な読み出しスケジューリングが実行されている。
【0072】
パイプライン処理におけるタイムテーブルの順序は、上記実施例の順序に限らず、どのようなパターンでもよく、パイプライン処理毎に一つずつ開始回線番号をずらすようにしてもよい。また、1パケット時間に複数の入力回線のスケジューリングを行ってもよいし、一つのスケジューリング周期の中で1パケット時間おきにスケジューリングを実行しないようにしてもよい。
【0073】
【実施例3】
次に、入力負荷に応じたスケジューリング方式の実施例を示す。
図22に不均等負荷時の例を示す。入力#0から出力#0に対する入力トラヒックが0.1の負荷で入力され、入力#1から出力#0に対する入力トラヒックが0.9の負荷で入力されているとする。
【0074】
この例に対して、ラウンドロビン制御を用いてスケジューリングを行った場合、入力#0と#1の選択される確率(すなわち読み出し確率)は各々0.5となり、パス#1−#0は入力が0.9であることから、出力負荷に対して入力負荷が高いため、キューイングされるパケットが増加し、キューイング遅延が大きくなってしまう。
【0075】
このような不均等負荷の場合にも、負荷に対して均等にスケジューリングする様に、負荷観測結果に基づいてスケジューリングを行う実施例を、図23を用いて説明する。
【0076】
スケジューリング装置は、一定周期毎に各論理出力キューに対する到着パケット数を計測する。ここでは、例として負荷観測周期を10パケット時間とし、到着パケット数が各々以下であるとする。
【0077】
入力#0に到着し出力#0に送出要求のあるパケット:1個(負荷0.1)入力#1に到着し出力#0に送出要求のあるパケット:9個(負荷0.9)次の周期(一定周期)では、上記到着パケット数に基づいてスケジューリングを行う。
【0078】
一定周期に送出可能なパケット数を前周期の到着パケット数に制限することにより、不均等負荷の場合でも高負荷パスの遅延は大きくなることはない。この例では、10パケット時間の間にパス#0−#0のパケットは、いくら送出要求数が多くても、1パケットしか出すことができない。そして、パス#1−#0は9個までは送出することができるため、不均等負荷時にも高負荷パスのキューイング遅延が大きくなることはない。
【0079】
すなわち、負荷の少ない回線に対して、大量に読み出されないように規制を行っている。
実際の動作例を、図24のフローチャートを用いて説明する。
【0080】
パケット(あるいは送出要求情報)が到着したとき、対応するパスの負荷観測カウンタをインクリメントし、一定周期毎に、負荷観測カウンタの値をワーク用の到着パケット数ワークカウンタに加算する。これは、競合制御等によって、前周期に到着したパケット数分のパケットが全て送出しきれなかった場合に、残りの到着パケット数を次周期のスケジューリングで読み出すための処理である(図24(a))。
【0081】
次に図24(b)を用いて、スケジューリング時の動作について説明する。
スケジューリング時は、ハイウェイ内ポインタが示す出力回線の到着パケット数ワークカウンタをチェックし、1以上で、かつ、送出要求があればその回線に送出権を与える。このとき、当然ながら、他の入力回線に確保されていないことが必要である。そして、到着パケット数ワークカウンタをデクリメント(−1)する。
【0082】
一方、到着パケット数ワークカウンタが0であれば、送出要求の有無に関わらず、送出要求はないものと見なし、他の出力回線の送出が可能かをチェックする。
【0083】
このように、スケジューリング時は、この到着パケット数ワークカウンタを用いて、入力負荷以上とならないように送出パケット数に制限を設けている。
【0084】
【実施例4】
実施例3では、到着パケット数に応じて送出パケット数を制限することによって、不均等負荷時の均等読み出しを実現したが、送出パケット数に制限をかけずに、出力回線の割合を到着パケット数にしたがわせてもよい。以下に動作例を示す。
【0085】
到着パケット数の計測は実施例3と同様であるが、到着パケット数が、次周期の最優先選択回線の割合を決定するために用いられる点で異なる。
例えば、上記実施例と同様の到着パケット数があったとする。
【0086】
入力#0に到着し出力#0に送出要求のあるパケット:1個(負荷0.1)
入力#1に到着し出力#0に送出要求のあるパケット:9個(負荷0.9)
この場合、次周期の最優先出力回線は、パス#0−#0:1回、パス#1−#0:9回となる。
【0087】
最優先出力回線は、到着パケット数に応じて決定され、最優先ポインタによって示される。最優先ポインタは、ハイウェイ内ポインタよりも上位のレベルに位置づけられ、スケジューラは、スケジューリングを行う際に、まず最優先送出ポインタをチェックする。
【0088】
このとき、最優先ポインタが示す回線に送出要求があれば、その回線を出力回線と決定(但し、送出要求があり他の回線に使用されていないこと)し、なければ、ハイウェイ内ポインタにしたがって、通常通りのスケジューリングを行い出力回線を決定する。
【0089】
次に、図25に実施例3との違いを示す例を示す。
Figure 0003684308
実施例3の場合は、現周期に送出可能なパケットは、前周期の到着パケット数に制限されるため入力#0=1個、入力#1=3個までである。そしてこの場合では、たとえ現周期において空きがあっても、これらの数以上のパケットは送出することができず、現時刻までに到着した入力#0=2個、入力#1=4個のパケットは送出することができない。
【0090】
一方、本実施例は、現周期内で入力#0=1個,入力#1=3までは最優先で送出されるが、残りはHWポインタにしたがって均等に送出されるため、回線が空いていれば現周期に到着したパケットも送出することが可能である。
【0091】
図25の下線部の数(パス#0−#0:2個、パス#1−#0:4個)が空きのときに送出された数である。このときの現周期の到着パケット数は、パス#0−#0:2個、パス#1−#0:6個である。
【0092】
この場合、次周期の最優先で送出される数は、現周期に到着した数−前周期に最優先以外で送出された数となり、以下の式を適用するとパス#0−#0の場合、パス#1−#0の場合で以下のようになる。
【0093】
(現周期到着パケット数)−(前周期に最優先以外で送出された数)=次周期の最優先数
パス#0−#0: 2−2=0
パス#1−#0: 6−4=2
最優先送出ポインタを用いたスケジューリングフローを図26に示す。
【0094】
第一に最優先ポインタ(パイプライン共通)が示す回線に送出要求があれば、送出確定とする。最優先ポインタが示す回線に要求がないか、あるいは到着パケット数ワークカウンタが0であれば、ハイウェイ内ポインタにしたがってスケジューリングを行う。
【0095】
出力回線が決定した後、出力回線に対応する到着パケット数ワークカウンタをデクリメントし、ポインタの更新を行う(図26中の右側フロー図)。
最優先ポインタの更新: 最優先ポインタが示す回線が送出確定になったとき、到着パケットワークカウンタをデクリメント(−1)し、最優先ポインタを現最優先ポインタの次に見つかる回線で、到着パケット数ワークカウンタが1以上の回線に更新する。
【0096】
例えば、最優先ポインタが示す回線が#1で送出確定回線も#1であり、到着パケットワークカウンタが以下の通りであった場合は、次に見つかるカウンタ値0以上の回線は出力回線#4であることから、最優先ポインタは4に更新される。
【0097】
出力回線#0ワークカウンタ :4
出力回線#1ワークカウンタ :3
出力回線#2 ワークカウンタ :0
出力回線#3 ワークカウンタ :0
出力回線#4 ワークカウンタ :5
出力回線#5 ワークカウンタ :3
なお、ハイウェイ内ポインタは通常通り出力回線の次の回線、すなわち回線#2に更新される。
【0098】
最優先ポインタの動作を整理すると、ワークカウンタの値がそれぞれ以下の様な値であった場合、スケジューリング周期毎に最優先ポインタは下図のように変化する。
【0099】
Figure 0003684308
上記において、下線部は最優先ポインタが#3になっているが、ワークカウンタが0であるため、通常のハイウェイ内ポインタにしたがってスケジューリングされる。
【0100】
【実施例5】
上記実施例では、一定周期内に到着したセル数をベースとして、次の周期のスケジューリングを行っているが、一定周期毎に、入力バッファに蓄積されているパケット量、すなわちキュー長をもって、次の周期のスケジューリングを行ってもよい。図27に処理例を示す。
【0101】
一定周期毎に入力バッファ部のキュー長をチェックし、そのキュー長に応じて、最優先出力回線を決定する方法を示す。入力回線#0−出力回線0のキュー長が10個、入力回線#1−出力回線#0のキュー長が5個であった場合、上記到着パケット数ベースの実施例における、到着パケット数ワークカウンタにこの値をセットする(ここでは、到着パケット数ワークカウンタとしてではなく、キュー長ワークカウンタとして用いられる)。
【0102】
そして、最優先ポインタの決定時に本ワークカウンタをチェックし、キュー長ワークカウンタが0以上の回線を最優先ポインタにセットする。
図28(a)にワークカウンタ決定フローを、図29(a)にワークカウンタ設定例を示す。
【0103】
また別のやり方として、キュー長の割合から次周期のキュー長ワークカウンタを決定してもよい。フローチャートを図28(b)および(c)に示す。
全キュー長(同一出力方路のキュー長の和)に対して、自キュー長が占めている割合で次周期のワークカウンタ値を決定する方法を示す。
【0104】
図29(b)では、一定周期を20パケット時間としており、例えば、入力回線#0のワークカウンタ設定値は、自キュー長=10パケット、全キュー長=27であり、割合は、約0.37…となる。
【0105】
そして、次周期内における割合は、0.37×20=7.4として7が求められる。小数点以下は、切り捨ててもよいし、切り上げてもよい。同様に全入力回線について、次周期のワークカウンタ値を決定する。
【0106】
また、自キューのキュー長の大小関係で、次周期のワークカウンタの値を決定してもよい。ここでは、キュー長0〜3までを0.05の割合、3〜10までを0.1の割合、10〜20を0.2の割合を与えるとする。そして、一定周期を20パケット時間とする。
【0107】
そして、一定周期毎にキュー長をチェックし、現キュー長がどの範囲に入っているかを確認し、キュー長に応じた割合を得る。例えば、図29(c)の入力回線#0については、現キュー長=10であり、範囲3〜10のため割合は、0.1が得られる。そして、次周期における割合は、0.1×20で得られ、2が求められる。
【0108】
上記実施例の範囲とその割合は、任意に設定できるものであり、実トラヒックに応じて決定してもよいし、あるトラヒック条件下のもと、適切に割合が振り分けられるように設定してもよい。
【0109】
キュー長ワークカウンタが決定された後は、上記実施例4と同様に最優先ポインタが更新される。フローチャートを図30に示す。動作は実施例4と全く同じである。
【0110】
【実施例6】
次にスケジューラの分散拡張方式について説明する。
これまで説明してきたスケジューリング装置は、図31のように各入力回線毎に分散して配置することができる。各入力回線毎のスケジューラは、自回線の要求情報管理部と、自回線のハイウェイ間ポインタと、パイプライン処理毎のハイウェイ内ポインタを有し、自回線のスケジューリングを行う。
【0111】
ここで、集中的にスケジューラが配置される場合(図20に示したような場合)は、次にどの入力回線のスケジューリングを行うかを決定するために、ハイウェイ間ポインタが必要になるが、分散的に配備される場合、ハイウェイ間ポインタの値は常に自回線となり、ポインタとしては使用されない。その代わり、いつ自回線のスケジューリングを行うかの判定を、あらかじめ決められたタイムテーブルの自スロット位置で判断している。
【0112】
このような分散配備の場合には、スケジューリングの際に他の入力回線によって、送出要求のある出力回線が既に確定されているか否かを知るためにスケジューラ間で情報の受け渡しが必要となる。
【0113】
図32に分散配備時の接続構成例を示す。図32(a)のリング型接続は、各スケジューラを数珠つなぎ状に接続する。この場合、最下位のスケジューラと最上位のスケジューラ間の伝搬距離が長くなる。また、スケジューラ増設の度に、スケジューラ間の情報伝達リンクを張り替える必要がある。一方、図32(b)の様に、情報伝達リング状に均等にスケジューラが配置されるようにした場合、各スケジューラ間の伝搬遅延が等しくなり、またオンラインで張り替え無しに拡張することが可能となる。
【0114】
以下にスケジューラ接続の詳細を示す。
図33は、複数のスケジューラからなる拡張ユニットの構成と、その拡張方法を示したものである。
【0115】
図33は、4×4個構成のスイッチを8×8個構成から12×12個構成に拡張する方法を示している。
増設は、複数のスケジューラが集まった拡張ユニット毎に行われる。この例では、増設単位を4×4として、一つの拡張ユニットの中に4つのスケジューラを備える(図中では、2回線分のスケジューラを一つのブロックで表しているため、ブロックとしては2個であるが、論理的には4つである)。
【0116】
拡張ユニットは、これらのスケジューラをリング接続するとともに、他の拡張ユニットとの外部インタフェースを有し、外部インタフェースと内部リングとを切り替えるためのセレクタを有している。また内部リング上にスケジューラ間の情報伝達を遅らせる遅延ブロックを有する。例えば、図33の左側図では、拡張ユニットが一つのため、セレクタ部は、全て内部リング側を選択するようになっている。そして、スケジューリングを行う回線の順序は、回線#0→回線1→回線#2→回線#3で行われる。遅延制御ブロックは、回線1と回線#2の間にあり、回線#1のスケジューリング結果は、遅延ブロックにおいて一定時間遅らされて、回線#2のスケジューラに受け渡される。
【0117】
次に拡張ユニットを2個に拡張して、8×8のスイッチを構成する場合を示す。
拡張ユニットが増設された場合には、外部インタフェースにクロック、フレーム信号等が流れ始め、これらの信号の検出を行うことにより、各拡張ユニットのセレクタは、外部インタフェース側を選択するようになる。そして、元々存在していた拡張ユニットの遅延ブロックは使われなくなり、代わりに新しく増設された方の拡張ユニットの遅延ブロックが働く。スケジューリング順序は、回線#0→回線1→回線4→回線5→回線6→回線7→回線#2→回線#3の順で行われ、遅延ブロックは回線#5と回線#6の間で用いられる。
【0118】
12×12に増設する場合も同様の手順で行われる。このように、スケジューラ増設の際にオンラインで、かつスケジューラ間の情報リンクの張り替え無しに増設することが可能になる。
【0119】
次に、遅延ブロックの実際の動作について述べる。
図34に遅延ブロックの働きを示す。ここでは、最大スイッチ構成を8×8と仮定した場合を例にとってあげる。
【0120】
まず、パイプラインシーケンスは、最大構成時を想定して図34の下段図のように組まれたとする。各入力方路毎の分散スケジューラは、このパイプラインシーケンスの自回線番号のスロットにおいてスケジューリング動作を行う。
【0121】
回線数の増加等によって、接続回線数が変わる度に自タイムスロットが変更されることは、オンラインで増設する際の切り替え時の処理が複雑になったり、ハードウェアの作りが難しくなる。 そこで、最大構成時のスケジューリングシーケンスにあわせて、少ない回線時にも各スケジューラ間のデータ転送を遅らせることによって、自タイムスロットを常に固定化させている。
【0122】
図34の上段図は、4×4のときのパイプラインシーケンスである。スケジューリング順序は回線#0→回線#1→回線#2→回線#3であるが、回線#1のスケジューリング結果の情報を4パケット時間遅延させて回線#2に送信する。このようにすることによって、自タイムススロットの位置を固定化することができる。図中、パイプライン#1,2,3,5,6,7はスケジューリング情報を遅延させていないが、これは、遅延ブロックの一つ前のスケジューラがスケジューリング周期の最後の回線であるため、後段の回線に情報通知が不要のためである。
【0123】
各パイプラインシーケンスと遅延との関係を以下に示す。
4×4 0 1 ----------------> 2 3 (遅延8)
8×8 0 1 4 5 --------->6 7 2 3 (遅延4)
12×12 0 1 4 5 8 9 10 11 6 7 2 3 (遅延0)
【0124】
【実施例7】
入力バッファ、スケジューラ両方でQoS制御を行う場合の一実施例を示す。
【0125】
図35に、入力バッファ部とスケジューラ部の関係を示す。入力バッファ部は、到着したパケットをN方路の論理出力キュー毎、かつmクラスのQoSクラス毎に管理する。そして、スケジューラ部へ、送出要求情報(所望する出力方路番号)とQoSクラスを通知する。
【0126】
スケジューラの要求管理部は、論理出力キュー毎、かつQoSクラス毎に、その情報を管理する。
スケジューラ部では、QoSクラスの遅延特性のみを考慮し、高優先クラスの送出要求からスケジューリングを行い、高優先クラスに送出対象がなければ、次の高優先クラス送出が可能かを判定し、高優先クラスから順にスケジューリングを行う。
【0127】
実際の処理順序を以下に示す。
例えば、出力回線#1の QoSクラス#3と、出力回線#2のQoSクラス#0とに要求があったとする。そして、ハイウェイ内ポインタは#0を示しているとする(QoSクラス0が最高優先クラス)。
【0128】
まず、高優先クラスについてスケジューリングを行う。この例ではQoSクラス#0の要求があるのは、出力回線#2のみのため、仮の送出許可出力回線を#2と決定する。このとき、他の回線にも同じくQoSクラス#0の要求があった場合には、ハイウェイ間ポインタにしたがって、回線#1から順に検索し、最初に見つかった回線に仮の送出許可出力回線を与える。
【0129】
そして、仮の送出許可出力回線は、QoSクラスとともに入力バッファに通知される。
入力バッファ部では、受け取った情報をもとに、仮出力回線のQoSクラスの帯域制御を行い、所望の帯域で出力可能かをチェックし、帯域内であればバッファ部に対して読み出し指示を与える。ここで、仮に帯域外であったと判定された場合には、バッファからはパケットを送出せず、スケジューラ部へ帯域外であったことを通知する。
【0130】
帯域外である旨の通知を受け取ったスケジューラ部では、次の優先クラスのスケジューリングを行う。この例では、QoSクラス#1と#2の要求がないため、その次のQoSクラス#3のスケジューリングを行う。
【0131】
QoSクラス#3の要求をもっているのは、入力回線#1のみである。したが、再び入力バッファ部へ、仮の出力回線番号とQoSクラスを通知し上記処理を繰り返す。
【0132】
これら一連の処理によって、スケジューラ部で遅延特性、入力バッファ部で帯域特性を保証することが可能になる。
この動作フローを図36に示す。
【0133】
【実施例8】
上記実施例では、QoSクラスの最優先クラスから順にスケジューリングを行い、出力回線が確定するまで繰り返し処理を行っているが、下記に示す様な方法をとってもよい。
【0134】
入力バッファからは、送出要求情報とQoSクラスをスケジューラ部に通知し、スケジューラ部は、このQoSクラス毎の情報をK個のグループにマッピングする。
【0135】
例えば、6つのQoSクラスを、QoSクラス#0〜4番をグループ#0、QoSクラス#5をグループ#1にマッピング。
要求管理部では、到着した要求情報を出力回線毎、かつグループ毎に管理する。
【0136】
そして、スケジューラはこのグループ中の最優先グループからスケジューリングを行い、上位のグループにおいて出力回線が確定しない場合に、その次の低位グループのスケジューリングを行う様に制御し、入力バッファ部へは、確定した送出許可出力回線番号とグループ番号を通知する。
【0137】
入力バッファのQoS制御部では、そのグループ内のQoSクラスの中で、さらに最優先クラスのものから順に帯域制御を行い、帯域内であればバッファに読み出し指示を与える。
【0138】
この処理フローを図37に示す。
上記実施例では、完全に出力回線が確定した後に、入力バッファへ送出許可回線番号を返却しているが、グループ数が少ない場合には、実施例6のように仮の送出許可回線番号を一旦入力バッファ部へ通知して、帯域外のとき、次のグループのスケジューリングを行うようにしてもよい。
【0139】
また、グループ数やマッピングされるQoSの組み合わせは、上記実施例に限らず、1〜Nのグループに任意にマッピングしてもよい。
【0140】
【実施例9】
次に、別方法のQoS制御の一実施例を示す。
図38に、入力バッファ部とスケジューラ部の関係を示す。入力バッファ部は、到着したパケットをN方路の論理出力キュー毎、かつmクラスのQoSクラス毎に管理する。そして、スケジューラ部へは、送出要求情報(所望する出力方路番号)のみを通知する。
【0141】
スケジューラの要求管理部は、論理出力キュー毎に、その情報を要求管理部で管理する。
スケジューラ部では、QoSクラスを考慮せず、要求出力回線にしたがってスケジューリングを行い、入力バッファに対して送出許可出力回線番号を通知する。
【0142】
送出許可回線を受け取った入力バッファ部では、その出力回線内のどのQoSクラスのパケットを送出するかを決定すべく、QoS制御部において、遅延クラスの高いクラスで所定の帯域内のクラスを選択し、そのクラスのパケットをバッファから送出する。
【0143】
ここで、どのクラスも所定の帯域外の場合には、バッファからはパケットを送出せず、帯域外であったことをスケジューラ部に通知する。
帯域外であった場合には、スケジューラ部の要求管理部の要求情報数をデクリメントしないように制御する。
【0144】
本QoS制御方法の動作フローを図39に示す。
フローは、スケジューラ部がスケジューリングを開始する部分から出力回線を決定するまでを示している。
【0145】
【実施例10】
次に、スケジューラ側で一括してQoS制御を行う場合の実施例を示す。
図40に入力バッファとスケジューラの関係を示す。
【0146】
入力バッファからは、到着パケットの送出要求情報とQoSクラスをスケジューラに対して通知し、スケジューラ側で論理出力毎かつQoSクラス毎に管理を行う。
【0147】
そして、スケジューラのQoS制御部において、優先度の高いQoSクラスから順に帯域制御を行い、所定の帯域内のQoSクラスを選定する。そして、それらの情報をもとにスケジューリングを行い、入力バッファへは、確定した出力回線番号とQoSクラスを通知し、入力バッファ側では、受け取った情報にしたがってバッファからパケットを送出する。
【0148】
このフローを図41に示す。
【0149】
【実施例11】
上記実施例7〜10では、帯域制御部において、帯域外のときは送出要求があっても、送出することができない。そのため、全QoSクラスの帯域制御において、全てのクラスが帯域外であった場合には、全くパケットを送出することができなくなってしまう。
【0150】
そこで、全QoSクラスの送出が確定しなかった場合に、帯域外であるが、あらかじめ設定されたQoSクラスに送出要求があればそのクラスに送出権を与えてもよい。
【0151】
送出クラスは、全クラスに与えられてもよいし、特定のQoSクラスにのみ与えられてもよい。また、設定クラスが複数あった場合には、スケジューリングする順序を最優先クラスから行ってもよいし、別途設けられた優先順序にしたがってもよい。
【0152】
このフローを図42に示す。
【0153】
【実施例12】
図43に入力バッファ部の構成を、図44にQoS制御部のブロック図を示す。
【0154】
QoS制御部は、出力回線毎の代表カウンタと、出力回線・QoS個別のリーキバケット(LB)カウンタを設ける。LBカウンタは、スケジューラにより選択された回線のみが使用され、代表カウンタは、前回選択されてからの経過時間を回線毎にカウントする。LBカウンタでの制御時に経過時間分のカウントアップをまとめて行うことで、多回線のQoS制御においても処理数が少なくて済む。
【0155】
図45に、代表カウンタ部と演算部の構成例を示す。代表カウンタ部は、回線毎の経過時間を保持するカウンタをもち、1パケット時間毎に全カウンタが1ずつカウントアップされる。スケジューラが読み出し回線を決定し、代表カウンタ部に通知されると、代表カウンタは決定した回線の代表カウンタ値を選択し、演算部へ通知する。同時に、その回線の代表カウンタを1にリセットする。これにより、回線毎の代表カウンタが、前回選択されてからの経過時間を測定することができる。
【0156】
演算部はQoS毎に用意される。まず、帯域情報のうち加算値に対し、通知された代表カウンタ値を掛け合わせ、それをLBカウンタ値に加えることで、経過時間分の加算をまとめて行う。その演算結果について、0以上の場合に読み出し候補としてQoS選択部に読出要求を出す。
【0157】
QoS選択部は、各QoSの演算部からの読み出し要求をもとに読み出しQoSを決定し、決定したQoSあるいは読み出し要求があるにも関わらずバッファが空であったQoSを、減算対象として演算部に通知する。減算指示のあったQoSの演算部はLBカウンタを減算し、その結果をLBカウンタ更新値としてLBカウンタ部に通知する。
【0158】
これにより、経過時間分のLBカウンタ処理を1パケット時間にまとめて行うことができる。本演算部のアルゴリズムを図46に示す。なお、本例では読み出し要求があり、バッファが空きであったQoSについては減算処理を行うが、これはシステムのポリシーにより減算を行わない、あるいはカウンタを止める等の処理を行ってもよい。
【0159】
ここで、経過時間カウンタがMAX値を越えてしまった場合に値が0に戻ってしまうと、十分時間がたっているのにも拘わらず加算値が小さくなり帯域外と判定される可能性がある。経過時間カウンタがMAX値を越えるということはその間入力パケットがないケースであると想定されるため、読み出し判定が遅れることも許容できるが、それを防ぎたい場合は、カウンタをMAX値で止めておくことで対処可能である。
【0160】
次に、図47に代表カウンタの別の構成例を示す。ここではカウンタは用いず、前回選択した時間を保持しておくことで、経過時間を計測する。スケジューラより読み出し回線が通知されると、RAMより対応する回線の前回選択時間を読み出す。そしてその値と内部時計カウンタによって示される現在時刻の差分をとり、前回選択からの経過時間を求める。
【0161】
同時に、対応するRAMの値を現時刻に書き換える。これにより代表カウンタと同等の動作を行うことができる。RAMのアクセス数は1パケット時間にR/W一回ずつであり、実現可能である。よって、ハードウェアの大きいカウンタではなくRAMを用いて構成できるため、ハードウェア量が削減可能である。
【0162】
ここで、内部時計カウンタの周期を経過時間が越えてしまった場合、十分時間がたっているのにも拘わらず加算値が小さくなり帯域外と判定される可能性がある。経過時間が内部時計カウンタの周期を越えるということはその間入力パケットがないケースであると想定されるため、読み出し判定が遅れることも許容できる。しかしこれを防ぎたい場合は、経過時間保持RAMに有効フラグbitを追加し、有効フラグビットを周期監視することで対処可能である。
【0163】
図48に周期監視方式例を示す。周期監視用の回線指示カウンタを用意し、その回線指示カウンタに対応する経過時間に対し、有効フラグが有効である場合、現在時刻からの差分(経過時間)を算出する。そしてその差分が判定しきい値を越えていた場合、有効フラグを無効に書き換える。そして読み出し回線の経過時間算出時、経過時間が無効時は経過時間を内部時計カウンタのMAX値として通知する。これにより、経過時間が小さくなってしまうことを防ぐことが可能である。周期監視用RAMアクセスはR/W一回ずつの増加で済む。
【0164】
また、別の方法として内部時計の1周期をいくつかの領域に分割し、現在時刻が属する領域にしたがって、クリア対象の領域に属する選択時間の有効フラグをクリアする方式がある。
【0165】
図27の左半図Aに、4つの領域に分割した場合の有効時間チェック方式の例を示す。例えば現在時刻がAに続する場合は、Bの領域について有効フラグのクリアを行う。領域の分割数は、一つの領域以内で全回線のチェックが終わるだけの時間以上あればよい。例えば分割数が4の場合、上位2bitだけをチェックすればよいので、回路が簡易化できる。
【0166】
また、入力パケットがしばらくなく経過時間が大きいケースにおいて、加算値後のLBカウンタが大きくなりすぎてしばらく読み出し対象になり続ける可能性がある。これに対し、LBカウンタに上限値を設け、計算結果が上限値を越えた場合は上限値に戻す処理を行うことで回避できる。
【0167】
【実施例13】
本実施例では、図9に示すように1チップまたは1パッケージあたりのm本の入力回線より入力されるセルをセルのヘッダ領域に付与される出回線情報に基づいて降順、または昇順にソーティングして、m本の出力回線に出力できる単位ソータをN/m個ならべて、N方路の入力バッファに接続する。
【0168】
当該単位ソータのm本のハイウェイ2分割して、図9のように次の段の単位ソータに接続する。このとき線長遅延調整用のダミーの単位ソータを除けば、この段は1段目より一つ分単位ソータが少ない。このような1段目と2段目を1組みとして、N/m組み接続して、全体として、N入力N出力のソータ網を構成する。
【0169】
トータルのチップ数は線長遅延調整用のダミーの単位ソータを除けば、(2N/m−1)×N/m個で構成される。
また、線長遅延調整用のダミーの単位ソータは線長遅延を別の回路で調整するか線長遅延を単位ソータで吸収できるのならなくてもよい。
【0170】
【実施例14】
本実施例では、図10に示すように、1チップまたは1パッケージあたりの本数の入力回線より入力されるセルをセルのヘッダ領域に付与される出回線情報に基づいて降順、または昇順にソーティングして、m本の出力回線に出力できる単位ソータをN/m個ならべて、N方路の入力バッファに接続する。当該単位ソータのm本のハイウェイ2分割して、半分を運用用、残りの半分を拡張用として割り当て、図10のように接続する。図10の上段図と下段図とは等価構成を示している。
【0171】
また1単位ソータのみ使用する場合は単位ソータAのみを使用し、拡張時は拡張用のハイウェイに単位ソータB,Cを接続し、順次単位ソータE,D,F、単位ソータI,G,H,Jという順に接続しながらソータ網の規模を拡大する。
【0172】
【実施例15】
本実施例では、図11および図49で示すフロー図のように前述のスケジューリングにより、有効セルに対して、各入力回線より転送するセルの出回線番号を決定した後、出回線番号が決定しなかった各入力回線に対して、有効セル確定済出回線番号を除いて順次若番号より、空きセルに対する出回線番号を割り当て、あらかじめ出回線番号を割り当てた有効セルとともにソータ網へ転送する。
【0173】
このとき、空きセルに対する出回線番号の割り当ては有効セルに対する番号割り当てとは異なり競合制御や回線間のフェアネスの考慮は不要なので、一つのラウンドロビンポインタを最若番号から最古番号へ一巡する間に決定できる。
【0174】
また、有効セルに対する出回線番号の割り当ては、スケジューリング処理部が、優先度ポインタを示す優先度パターンからNパターン分だけ順次スケジューリングを行い、次回のスケジューリング周期に該優先度パターンの開始番号を更新するようにしてもよい。
【0175】
【実施例16】
本実施例では、図12および図50に示すフロー図のように全入力回線、出力回線に対して同一入力回線、または同一出力回線での優先度は異なるように優先度をあらかじめ割り当てておき、その優先度にしたがって、順次各入力回線に対する出回線番号を決定するスケジューリングを行うようにする。そして、最優先である優先度1のスケジューリング時、キューにデータがある入力回線は有効セルに対する読み出し回線として確定するが、キューにデータのない入力回線に対しても空きセルに対する仮の確定回線とする。
【0176】
次に優先度2に対するスケジューリングを行う際に、優先度2に対応するキューにデータがあり、既に有効セルに対して同一入力回線または同一出力回線が確定していた場合には、優先度2の有効セルの確定は行わないが、空きセルに対して同一入力回線または同一出力回線が確定していた場合には優先度2の有効セルの確定を行う。
【0177】
このとき優先度2と同一入力回線または同一出力回線の優先度1について空きセルに対する仮の確定が設定されている場合には仮確定をはずす。
その後、優先度2に対応するキューにデータがないものについて、同一入力回線、または同一出力回線について、有効セルに対する確定、または空きセルに対する仮の確定がないときは、当該優先度2を仮確定とする。
【0178】
以下同様の処理を全優先度について行い、最終的に有効セルに対する確定、または空きセルに対する仮の確定が行われているものを最終的に確定とする。
【0179】
【実施例17】
本実施例では、図14に示すようにシステムの初期状態やスイッチの増設時等のセルレベルでの位相同期が必要となった際、スケジューラ側より各入力バッファに対して順次出方路番号、およびシーケンス番号が増加するような同期用のセルパターンを送出する。
【0180】
この際に、隣り合う入力回線からのセルのシーケンス番号は一致させ、出方路番号は1ずつシフトしておく。単位スイッチの最小単位となるAより位相同期をはじめる場合、入力回線#1と入力回線#2より到着するセルの位相差としてΔSN−ΔTを算出し、ΔSN−ΔT=0のときはOKとし、ΔSN−ΔT≠0のときは、位相差を入力バッファ#2へ通知し、入力バッファ#2では受信した位相差に基づいて、セル送出位相を変更する。
【0181】
なお、ΔSN−ΔT=0の判定処理は、ΔSN−ΔT=0になるまで繰り返し行う。ΔSN−ΔT=0となったとき、上段の単位スイッチBおよび右側の単位スイッチDに対して位相調整完了通知を行う。
【0182】
以上の処理を全単位スイッチの同期がとるまで繰り返す。なお、位相調整を行う単位スイッチが入力バッファに対して最近接でないときは、前段の単位スイッチと当該単位スイッチ間の位相調整用バッファについて、入力バッファと同様の処理を行うことにより実施する。
【0183】
図14は、あらかじめ各入力回線間の位相差が3,2,1のときの位相調整の動作例を示している。また同期の開始点は、拡張しない場合には、位相遅延の最も大きいG側から行ってもよい。
【0184】
なお、図13では各格子点が2入力2出力の最小の単位スイッチとなっているが、N入力N出力のスイッチを単位スイッチとして置き換えてもよい。
【0185】
【実施例18】
本実施例では、図15に示すようにシステムの初期状態やスイッチの増設時等のセルレベルでの位相同期が必要となった際、スケジューラ側より各入力バッファに対して通常セルでは使用しない出方路番号(例えば出方路番号の最大値+1)を付与することによりブロードキャストセルであることを示し、さらに各スケジューラより入力するセルにシーケンス番号を付与し、当該シーケンス番号は同一タイミングで挿入するセルに関しては全入力回線で一致させて順次インクリメントしながら送出する。
【0186】
ブロードキャストセルを受信した各単位スイッチでは、ブロードキャストセルに対しては、全ての出方路へ転送する。単位スイッチの最小単位となるAより位相同期をはじめる場合、入力回線#1と入力回線#2より到着するセルの位相差としてΔSNを算出し、ΔSN=0のときはOKとし、ΔSN≠0のときは、位相差を入力バッファ#2へ通知し、入力バッファ#2では受信した位相差に基づいて、セル送出位相を変更する。
【0187】
なお、ΔSN=0の判定処理は、ΔSN=0になるまで繰り返し行う。ΔSN=0となったとき、上段の単位スイッチBおよび右側の単位スイッチDに対して位相調整完了通知を行う。
【0188】
以上の処理を全単位スイッチの同期がとるまで繰り返す。なお、位相調整を行う単位スイッチが入力バッファに対して最近接でないときは、前段の単位スイッチと当該単位スイッチ間の位相調整用バッファについて、入力バッファと同様の処理を行うことにより実施する。
【0189】
また同期の開始点は、拡張しない場合には、位相遅延の最も大きいG側から行ってもよい。
なお、図16では各格子点が2入力2出力の最小の単位スイッチとなっているが、N入力N出力のスイッチと単位スイッチとして置き換えてもよい。またスイッチ構成としてはクロスバー型ではなくソータ網を適用してもよい。
【0190】
【実施例19】
本実施例では、図16に示すように各格子点に位相同期用のバッファを保持し、セルレベルでの位相外れを吸収する。
【0191】
なお、後段の単位スイッチのバッファと前段の単位スイッチの読み出し時の優先制御方法としては、単に後段のバッファにセルがあるときには、前段の単位スイッチのバッファからの読み出しを停止するバックプレッシャー型でもよいし、前段と後段につながる単位スイッチの数を考慮して、1/k:1−1/k(但しk:全回線数−回線番号)の割合で読み出すようにしてもよい。
【0192】
【発明の効果】
以上述べたように、本発明では、均等、不均等負荷のもとでも特性の劣化がなく、かつ、高速な繰り返しスケジューリングや複雑な演算処理を必要とせず、簡素でかつ処理速度がデバイス能力に依存しないスケジューリングシステムを実現できる。
【0193】
【図面の簡単な説明】
【図1】 本発明の基本原理図
【図2】 従来技術における入力バッファ型スイッチの問題点を説明するための図
【図3】 従来技術における入力バッファ型スイッチの構成図
【図4】 従来技術におけるクロスバー方式の説明図
【図5】 従来技術におけるバッチャーソータ方式の説明図
【図6】 従来技術におけるバンヤン網の説明図
【図7】 従来技術におけるセルとフレームパルスとを同期させる技術の説明図
【図8】 本発明のスケジューラ装置のブロック構成図
【図9】 本発明の原理図(17)
【図10】 本発明の原理図(18)
【図11】 本発明の原理図(19)
【図12】 本発明の原理図(20)
【図13】 本発明の原理図(21)
【図14】 本発明の原理図(21)
【図15】 本発明の原理図(22)
【図16】 本発明の原理図(23)
【図17】 実施例1のシステム構成を示すブロック図
【図18】 実施例1におけるハイウェイ間ポインタの反転制御を説明するための図
【図19】 実施例2におけるパイプライン処理時のポインタ制御を説明するための図
【図20】 実施例2におけるスケジューリング処理部を集中背部した場合のブロック図
【図21】 実施例2におけるスケジューリング処理部を分散配備した場合のブロック図
【図22】 実施例3における不均等負荷時における入力回線と出力回線との関係を示す説明図
【図23】 実施例3における送出セル数を到着セル数に制限する場合のフロー図
【図24】 実施例3における送出セル数を規制する場合のフロー図
【図25】 実施例4における最優先送出回線を到着セル数の割合で決定する方法を説明する図
【図26】 実施例4における最優先送出ポインタを用いたスケジューリングフロー図
【図27】 実施例5においてキュー長を用いた最優先送出回線決定方法を説明するための図
【図28】 実施例5におけるキュー長ベースの負荷観測のためのフロー図
【図29】 実施例5においてキュー長ワークカウンタ設定値の決定方法についての説明図
【図30】 実施例5におけるキュー長ベースの最優先送出ポインタを用いた制御フロー図
【図31】 実施例6における分散スケジューラ型入力バッファスイッチを説明するための図
【図32】 実施例6におけるスケジューラの拡張方法を説明するための図
【図33】 実施例6における分散スケジューラ拡張構成を説明するための図
【図34】 実施例6における遅延ブロックの動き示す説明図
【図35】 実施例7におけるQoS制御のためのブロック図
【図36】 実施例7におけるQoS制御のフロー図
【図37】 実施例8におけるQoS制御のフロー図
【図38】 実施例9におけるQoS制御のためのブロック図
【図39】 実施例9におけるQoS制御のフロー図
【図40】 実施例10におけるQoS制御のためのブロック図
【図41】 実施例10における帯域制御フロー図
【図42】 実施例11における帯域制御フロー図
【図43】 実施例12における入力バッファの構成図
【図44】 実施例12における入力バッファのQoS制御部のブロック構成図
【図45】 実施例12における代表カウンタと演算部のブロック構成図
【図46】 実施例12における演算部の動作アルゴリズムを示すフロー図
【図47】 実施例12における代表カウンタの構成例を示す図
【図48】 実施例12における選択時間の周期監視の説明図
【図49】 実施例15における処理フロー図
【図50】 実施例16における処理フロー図

Claims (1)

  1. 入力回線毎に、出力回線対応バッファを備えたスケジューリング制御装置において、
    ケジューリング対象の各入力回線の、所望の出力回線に対する送出要求情報を保持する要求管理部と、
    スケジューリング開始入力回線を示すハイウェイ間ポインタを保持するハイウェイ間ポインタ制御部と、
    各入力回線前記送出要求情報において、所望の出力回線のうち検索開始出力回線を示すハイウェイ内ポインタを保持するハイウェイ内ポインタ制御部と、
    数の前記送出要求情報の中からハイウェイ内ポインタが示す前記検索開始出力回線から検索を開始し、他の入力回線の前記送出要求情報において選択されていない出力回線を選択するスケジューリング処理部とからなり、
    前記スケジューリング処理部は、スケジューリング終了後のハイウェイ間ポインタを更新するときに、スケジューリング周期毎に、順方向の隣接回線へ更新する処理と、逆方向の隣接回線へ更新する処理を交互に行うスケジューリング制御装置。
JP35588898A 1998-12-15 1998-12-15 スケジューリング制御装置および交換機 Expired - Fee Related JP3684308B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35588898A JP3684308B2 (ja) 1998-12-15 1998-12-15 スケジューリング制御装置および交換機
US09/460,898 US7046685B1 (en) 1998-12-15 1999-12-14 Scheduling control system and switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35588898A JP3684308B2 (ja) 1998-12-15 1998-12-15 スケジューリング制御装置および交換機

Publications (2)

Publication Number Publication Date
JP2000183884A JP2000183884A (ja) 2000-06-30
JP3684308B2 true JP3684308B2 (ja) 2005-08-17

Family

ID=18446249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35588898A Expired - Fee Related JP3684308B2 (ja) 1998-12-15 1998-12-15 スケジューリング制御装置および交換機

Country Status (2)

Country Link
US (1) US7046685B1 (ja)
JP (1) JP3684308B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618379B1 (en) 1998-12-08 2003-09-09 Nec Corporation RRGS-round-robin greedy scheduling for input/output terabit switches
US7058063B1 (en) 1999-06-18 2006-06-06 Nec Corporation Pipelined packet scheduler for high speed optical switches
JP3570366B2 (ja) * 2000-09-13 2004-09-29 日本電気株式会社 アービタ回路及びそれに用いる出力セルのアービトレーション方法
JP4294879B2 (ja) * 2001-02-05 2009-07-15 株式会社日立製作所 サービスレベル制御機構を有するトランザクション処理システム及びそのためのプログラム
US7146395B2 (en) * 2001-08-20 2006-12-05 Ricoh Company Ltd. Banyan switched processor datapath
US20030081599A1 (en) * 2001-10-30 2003-05-01 Chui-Tsang Wu System and method for data transmission control
US7653930B2 (en) * 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US7716230B2 (en) * 2007-02-07 2010-05-11 International Business Machines Corporation Multi-dimensional serial containment process
JP2008306609A (ja) * 2007-06-11 2008-12-18 Nec Corp スイッチング調停方法、スイッチング調停装置、スイッチング調停プログラムおよびプログラム記録媒体
US8917598B2 (en) 2007-12-21 2014-12-23 Qualcomm Incorporated Downlink flow control
US8699487B2 (en) 2008-02-04 2014-04-15 Qualcomm Incorporated Uplink delay budget feedback
US8656239B2 (en) 2008-02-12 2014-02-18 Qualcomm Incorporated Control of data transmission based on HARQ in a wireless communication system
EP2996035A1 (en) * 2008-10-15 2016-03-16 Hyperion Core, Inc. Data processing device
US8198878B2 (en) * 2008-11-14 2012-06-12 International Business Machines Corporation Workload balancing among power switching components in a multiphase switching power supply
CN101616441B (zh) * 2009-08-04 2011-09-21 中兴通讯股份有限公司 报文到达时间间隔的计算方法及装置
EP2640011B1 (en) * 2012-03-15 2014-11-12 Alcatel Lucent A method for transporting real time packets
DE102013019643A1 (de) * 2013-11-22 2015-05-28 Siemens Aktiengesellschaft Zweistufiger Kreuzschienenverteiler und Verfahren zum Betrieb
US10015048B2 (en) 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US11223520B1 (en) 2017-01-31 2022-01-11 Intel Corporation Remote control plane directing data plane configurator
US10699328B2 (en) 2017-04-17 2020-06-30 Walmart Apollo, Llc Systems to fulfill a picked sales order and related methods therefor
US10686735B1 (en) 2017-04-23 2020-06-16 Barefoot Networks, Inc. Packet reconstruction at deparser
US11126953B2 (en) 2017-06-14 2021-09-21 Walmart Apollo, Llc Systems and methods for automatically invoking a delivery request for an in-progress order
US11126954B2 (en) 2017-06-28 2021-09-21 Walmart Apollo, Llc Systems and methods for automatically requesting delivery drivers for online orders
US10909612B2 (en) 2017-07-13 2021-02-02 Walmart Apollo Llc Systems and methods for determining an order collection start time
US10523578B1 (en) 2017-07-23 2019-12-31 Barefoot Networks, Inc. Transmission of traffic management data to processing pipeline
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
US11868958B2 (en) 2020-01-31 2024-01-09 Walmart Apollo, Llc Systems and methods for optimization of pick walks
US11657347B2 (en) * 2020-01-31 2023-05-23 Walmart Apollo, Llc Systems and methods for optimization of pick walks
CN114124845B (zh) * 2021-11-30 2024-03-19 新华三半导体技术有限公司 一种bd调度方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509001A (en) * 1991-10-18 1996-04-16 Fujitsu Limited Apparatus and method for controlling cells input to ATM network
US5590123A (en) * 1995-05-23 1996-12-31 Xerox Corporation Device and method for use of a reservation ring to compute crossbar set-up parameters in an ATM switch
JP3434642B2 (ja) * 1995-07-07 2003-08-11 株式会社東芝 パケットスケジューリング装置
US5867663A (en) * 1995-07-19 1999-02-02 Fujitsu Network Communications, Inc. Method and system for controlling network service parameters in a cell based communications network
US5689644A (en) * 1996-03-25 1997-11-18 I-Cube, Inc. Network switch with arbitration sytem
JP3435293B2 (ja) * 1996-09-10 2003-08-11 株式会社東芝 パケットスケジューリング装置及びパケット転送方法
US5926458A (en) * 1997-01-31 1999-07-20 Bay Networks Method and apparatus for servicing multiple queues
US6359861B1 (en) * 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
US6563837B2 (en) * 1998-02-10 2003-05-13 Enterasys Networks, Inc. Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
US6449283B1 (en) * 1998-05-15 2002-09-10 Polytechnic University Methods and apparatus for providing a fast ring reservation arbitration
US6667984B1 (en) * 1998-05-15 2003-12-23 Polytechnic University Methods and apparatus for arbitrating output port contention in a switch having virtual output queuing
GB2338372B (en) * 1998-06-12 2003-08-27 Ericsson Telefon Ab L M Architecture for integrated services packet-switched networks
US6654374B1 (en) * 1998-11-10 2003-11-25 Extreme Networks Method and apparatus to reduce Jitter in packet switched networks
US6480911B1 (en) * 1999-09-23 2002-11-12 At&T Corp. Grouping class sensitive queues

Also Published As

Publication number Publication date
US7046685B1 (en) 2006-05-16
JP2000183884A (ja) 2000-06-30

Similar Documents

Publication Publication Date Title
JP3684308B2 (ja) スケジューリング制御装置および交換機
CN100405344C (zh) 用于在交换结构中分发缓冲区状态信息的装置和方法
Peh et al. Flit-reservation flow control
US5859835A (en) Traffic scheduling system and method for packet-switched networks
TWI477109B (zh) 訊務管理器及用於訊務管理器之方法
JP5036920B1 (ja) 中継装置、中継装置の制御方法、およびプログラム
AU752188B2 (en) System and method for scheduling message transmission and processing in a digital data network
US6473428B1 (en) Multi-threaded, multi-cast switch
US7525978B1 (en) Method and apparatus for scheduling in a packet buffering network
CA1263729A (en) Delta network of a cross-point switch
EP1641195A1 (en) Router with virtual channel allocation
EP1625757B1 (en) Time-division multiplexing circuit-switching router
WO2013014851A1 (ja) 中継装置
JP2003249952A (ja) クレジット履歴を利用する重み付けクレジット調停
JP2000261506A (ja) レート制御されるマルチクラスの大容量パケットスイッチ
KR20060064627A (ko) 네트워크 스위치에서의 대역폭 보장 및 과부하 보호 방법및 장치
EP0989770B1 (en) Packet transfer control apparatus and scheduling method therefor
WO1997022195A1 (en) Multi-level rate scheduler
US7496033B2 (en) Method for dynamically computing a switching schedule
WO2001067691A1 (en) NxN CROSSBAR PACKET SWITCH
Shi et al. Real-time communication analysis with a priority share policy in on-chip networks
CN1565143A (zh) 通信网络中业务流的分配传输
JP3698079B2 (ja) データ転送方法、データ転送装置及びプログラム
Kranich et al. NoC switch with credit based guaranteed service support qualified for GALS systems
US20080031262A1 (en) Load-balanced switch architecture for reducing cell delay time

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050530

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090603

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100603

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110603

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120603

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130603

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees