JP2007202153A - ネットワークプロセッサーのキュー管理装置及びその方法 - Google Patents
ネットワークプロセッサーのキュー管理装置及びその方法 Download PDFInfo
- Publication number
- JP2007202153A JP2007202153A JP2007011584A JP2007011584A JP2007202153A JP 2007202153 A JP2007202153 A JP 2007202153A JP 2007011584 A JP2007011584 A JP 2007011584A JP 2007011584 A JP2007011584 A JP 2007011584A JP 2007202153 A JP2007202153 A JP 2007202153A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- scheduler
- port
- packet
- dequeue
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
- G03B21/54—Accessories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F16—ENGINEERING ELEMENTS AND UNITS; GENERAL MEASURES FOR PRODUCING AND MAINTAINING EFFECTIVE FUNCTIONING OF MACHINES OR INSTALLATIONS; THERMAL INSULATION IN GENERAL
- F16M—FRAMES, CASINGS OR BEDS OF ENGINES, MACHINES OR APPARATUS, NOT SPECIFIC TO ENGINES, MACHINES OR APPARATUS PROVIDED FOR ELSEWHERE; STANDS; SUPPORTS
- F16M13/00—Other supports for positioning apparatus or articles; Means for steadying hand-held apparatus or articles
- F16M13/02—Other supports for positioning apparatus or articles; Means for steadying hand-held apparatus or articles for supporting on, or attaching to, an object, e.g. tree, gate, window-frame, cycle
- F16M13/027—Ceiling supports
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B21/00—Projectors or projection-type viewers; Accessories therefor
- G03B21/14—Details
- G03B21/145—Housing details, e.g. position adjustments thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/12—Picture reproducers
- H04N9/31—Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
- H04N9/3141—Constructional details thereof
Abstract
【課題】キュー管理部とスケジューラがキュー処理時間を同期させるようにするネットワークプロセッサーのキュー管理装置及びその方法を提供する。
【解決手段】ネットワークプロセッサーのキュー管理部がエンキューイング及びデキューイングを行う場合には、スケジューラにエンキュー完了及びデキュー完了メッセージを送信するようにして、キュー管理部とスケジューラのキュー処理時間を同期させ、ネットワークプロセッサーのキュー管理部が、デキューイングの実行後、デキューイングされたパケット識別情報から抽出したパケットサイズ情報をデキュー完了メッセージに含めてスケジューラに送信するようにすることによって、これを受信したスケジューラがポート及びキューの正確なクアンタムを算出する。
【選択図】 図4
【解決手段】ネットワークプロセッサーのキュー管理部がエンキューイング及びデキューイングを行う場合には、スケジューラにエンキュー完了及びデキュー完了メッセージを送信するようにして、キュー管理部とスケジューラのキュー処理時間を同期させ、ネットワークプロセッサーのキュー管理部が、デキューイングの実行後、デキューイングされたパケット識別情報から抽出したパケットサイズ情報をデキュー完了メッセージに含めてスケジューラに送信するようにすることによって、これを受信したスケジューラがポート及びキューの正確なクアンタムを算出する。
【選択図】 図4
Description
本発明は、ネットワークプロセッサーのキュー管理装置及びその方法に関する。
一般的に、インターネット(Internet)では、多様な大きさと転送速度を有する異質なトラフィック(Traffic)が流れている。このようなインターネットの中でトラフィックの流れを円滑にし、効率的にトラフィックを管理するためにキュー管理技法及びスケジューリング(Scheduling)技法が使われている。
近年、インターネットトラフィックの爆発的な増加を受け入れるために、転送技術の発展に伴って、より速い転送速度を保障しつつ多様なサービス(MPLS、MPLSVPN、IPVPN、QoS)を提供できるキュー管理及びスケジューリングの重要性が高まっている。
このようなキュー管理とスケジューリングは、ネットワークプロセッサー技術によりなされており、ネットワークプロセッサーの主要機能は、パケット分類(packet classification)、パケット修正(packet modification)、キュー/ポリシー管理(queue/policy management)、パケットフォワーディング(packet forwarding)などで構成される。
パケット分類は、アドレスまたはプロトコルなどのあて先(destination)の特性に基づいてパケットを識別し、パケット修正は、パケットをIP、ATM、またはその他のプロトコルに適合するように修正する。
キュー/ポリシー管理は、特定のアプリケーションに対するパケットのパケットキューイング(queuing)、デキューイング(de-queuing)及びスケジューリングに対する設計戦略を反映し、パケットフォワーディング(packet forwarding)は、スイッチファブリック(switch fabric)または上位アプリケーション上へのデータ転送及び受信と、適切なアドレスへのパケットフォワーディングまたはルーティング(routing)機能を行う。
このようなネットワークプロセッサーは、物理階層/データリンク階層とインタフェースし、補助的な他の機能を行うネットワークプロセッサーともインタフェース可能であり、スイッチファブリックとインタフェースしてパケット送受信を担当する。
一般的に、ネットワークプロセッサーは、物理階層/データリンク階層ハードウェアと接続し、パケットフォワーディングを担当する。そして、ネットワークプロセッサーは、物理階層/データリンク階層ハードウェアから受信されたパケットを、パケットバッファに格納する。ここで、パケットサイズ、パケットが格納された位置などの受信パケットの関連情報は、パケット識別情報(Packet Descriptor)により管理され、パケット識別情報は、スケジューラにより受信されたパケットを該当出力ポートに送信する前に、キュー管理部により管理される。
ところが、このようなネットワークプロセッサーにおいては、キュー管理部だけが当該パケットに対する全ての情報を、パケット識別情報を用いて維持及び管理するようにし、実際該当キューにパケットが最初にエンキューイングされる時点または最後のパケットがデキューイングされる時点にのみ、転送メッセージがスケジューラに転送されるようにすることによって、実際のスケジューラは、該当キューに対する実際の情報でなく、スケジューリングすべきパケットの存在の有無だけを、ビットマップなどの形式で管理する。
すなわち、ネットワークプロセッサーは、キューの状態変化(empty→non-empty, non-empty→empty)がある場合にのみ、スケジューラに極めて制限された情報を通知する方式を使用している。
したがって、スケジューラは、実際にエンキューイングされているパケットの個数以上にスケジューリングを行うことができ、このため、キュー管理部は、異なるデキューメッセージを受信してエラー処理を行うことによって、互いに独立したキュー管理部とスケジューラが両端間のキュー処理性能の差、または、時間差を発生させることとなる。そして、このような過程の悪循環により、システム内の多くの資源浪費を招くようになる。
また、ネットワークプロセッサーにおいてスケジューラは、使用可能なパケット情報が極めて限定的であるから、実際のスケジューリングのために必要な、正確なパケットサイズ情報などを得ることができず、スケジューリングのためのポートとキューのクアンタム(Quantum)を計算するにあたって多くの誤差を発生するようになる。
すなわち、クアンタムは、同じポート内でのキュー別帯域幅の相対的な比率を換算した値であるから、スケジューラは、スケジューリングを実行する際に、パケットサイズと残るクアンタム値とが異なる場合が発生することがあり、スケジューラは、これらのうち残るクアンタム値がさらに大きい場合には、現在のパケットに対するスケジューリングが可能であるが、残るクアンタムが小さいか、存在しない場合には、現在のパケットに対するスケジューリングを行わず、次のパケットに対するスケジューリングで、現在のパケットに対するスケジューリングを行うという問題点を有する。
韓国特許出願第10−2005−11429号明細書
本発明は、前述のような従来技術の問題点を解決するためになされたもので、本発明の目的は、キュー管理部とスケジューラとがキュー処理時間を同期することを可能とするネットワークプロセッサーのキュー管理装置及びその方法を提供することにある。
本発明の他の目的は、スケジューラが、スケジューリングのための正確なパケットサイズ情報を獲得することを可能とするネットワークプロセッサーのキュー装置方法及びその方法を提供することにある。
上記目的を達成するために、本発明の一態様に係るキュー管理装置は、パケット処理部、キュー(Queue)管理部及びスケジューラ(Scheduler)を含むネットワークプロセッサーのキュー管理装置であって、パケット処理部から受信されたエンキュー(Enqueue)要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報に応じたエンキューイング(Enqueuing)が完了した場合には、エンキュー完了メッセージをスケジューラに送信し、スケジューラから受信されたデキュー(Dequeue)要請メッセージに応じたデキューイング(Dequeuing)が完了した場合には、デキューイングされたポート番号とキュー番号が含まれたデキュー完了メッセージをスケジューラに送信するキュー管理部と、キュー管理部から受信された前記エンキュー完了メッセージに応じたポート及びキュースケジューリングが完了した場合には、デキュー要請メッセージをキュー管理部に送信し、キュー管理部から受信されたデキュー完了メッセージに応じてポートとキューのクアンタム(Quantum)をアップデートするスケジューラと、を備える。
キュー管理部は、エンキュー要請メッセージが受信された場合には、メッセージが含むポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ増加させ、キュー配列にパケット識別情報を格納するエンキューイングを行う。
スケジューラは、エンキュー完了メッセージが受信された場合には、キュー管理部がエンキューイングしたポート番号とキュー番号に対応する各々のビットマップをアップデートし、アップデートしたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ増加させた後、スケジューリングを行う。
スケジューラは、WRR(Weighted Round Robin)方式を通じてアップデートしたポートをスケジューリングし、DRR(Deficit Round Robin)方式を通じてアップデートしたキューをスケジューリングする。
スケジューラは、スケジューリングを行うと、スケジューリングされたポートとキューのビットマップをアップデートし、アップデートしたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ減少させた後、デキュー要請メッセージを生成する。
キュー管理部は、デキュー要請メッセージが受信された場合には、スケジューリングされたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ減少させた後、キュー配列の最初のパケット識別情報をデキューイングし、デキューイングされたパケット識別情報からパケットのサイズ情報を抽出して、パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージをスケジューラに送信する。
スケジューラは、デキュー完了メッセージが受信された場合には、パケットのサイズ情報、ポート番号及びキュー番号を用いてポートとキューのクアンタムをサイズ情報だけ減少させる。
キュー管理部は、デキューイングを行うと、デキューイングされたポートへのパケット転送を要請するメッセージを送信してパケット転送が実行されるようにする。
キュー管理部は、パケット処理部からエンキュー要請メッセージを受信するエンキュー要請メッセージ受信部と、エンキュー要請メッセージに応じてエンキューイングを行うエンキュー処理部と、エンキューイングによる情報を含めたエンキュー完了メッセージを生成してスケジューラに送信するエンキュー完了メッセージ送信部と、スケジューラからデキュー完了メッセージを受信するデキュー要請メッセージ受信部と、デキュー要請メッセージに応じてデキューイングを行うデキュー処理部と、デキューイングが完了した場合には、デキューイングされたポート番号とキュー番号を含めたデキュー完了メッセージを生成してスケジューラに送信するデキュー完了メッセージ送信部と、デキューイングされた出力ポートへのパケット転送を要請するメッセージを生成して送信する転送要請メッセージ送信部と、を備える。
スケジューラは、キュー管理部からエンキュー完了メッセージを受信するエンキュー完了メッセージ受信部と、エンキュー完了メッセージに応じてポートとキューのスケジューリングを行うスケジューリング部と、スケジューリングが完了した場合には、デキュー要請メッセージを生成してキュー管理部に送信するデキュー要請メッセージ送信部と、キュー管理部から受信されるデキュー完了メッセージに応じてポートとキューのクアンタムをアップデートするデキュー完了メッセージ受信部と、を備える。
また、本発明の他の態様に係るキュー管理装置は、パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理装置であって、パケット処理部から受信されるエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報に応じたエンキューイングが完了した場合には、エンキュー完了メッセージをスケジューラに送信し、スケジューラから受信されるデキュー要請メッセージに応じたデキューイングが完了した場合には、パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージをスケジューラに送信するキュー管理部と、キュー管理部から受信されるエンキュー完了メッセージに応じたポート及びキュースケジューリングが完了した場合には、デキュー要請メッセージをキュー管理部に送信し、キュー管理部から受信されるデキュー完了メッセージに応じてポートとキューのクアンタムをパケットサイズだけ減少させるスケジューラと、を備える。
キュー管理部は、デキュー要請メッセージに応じてスケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、デキューイングされたパケット識別情報が含むパケットのサイズ情報を抽出してデキュー完了メッセージに含める。
また、本発明のさらに他の態様に係るキュー管理方法は、パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理方法であって、キュー管理部が、パケット処理部から受信されたエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報を用いて、ポートとキューに対応するキュー配列にパケット識別情報をエンキューイングし、エンキュー完了メッセージを生成してスケジューラに送信する段階と、スケジューラが、エンキュー完了メッセージに応じてポートとキューのスケジューリングを行い、デキュー要請メッセージをキュー管理部に送信する段階と、キュー管理部が、デキュー要請メッセージに応じてデキューイングを行い、デキューイングされたポート番号とキュー番号が含まれたデキュー完了メッセージをスケジューラに送信する段階と、スケジューラが、デキュー完了メッセージに応じてポートとキューのクアンタムをアップデートする段階と、を備える。
キュー管理部がエンキューイングを行う段階は、キュー管理部が受信メッセージに含まれたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ増加させた後、エンキューイングを行う。
スケジューラがスケジューリングを行う段階は、エンキューイングされたポート番号とキュー番号に対応するポートとキューのビットマップをアップデートし、アップデートされたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ増加させた後、スケジューリングを行う。
スケジューラがスケジューリングを行う段階は、WRR方式を通じてアップデートしたポートをスケジューリングし、DRR方式を通じてアップデートしたキューをスケジューリングする。
スケジューラがデキュー要請メッセージを生成する段階は、スケジューラがスケジューリングされたポートとキューのビットマップをアップデートし、アップデートしたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ減少させた後、デキュー要請メッセージを生成する。
キュー管理部がデキューイングを行う段階は、スケジューラがスケジューリングしたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ減少させた後、キュー配列の最初のパケット識別情報をデキューイングし、デキューイングされたパケット識別情報が含むパケットサイズ情報を抽出する。
デキュー完了メッセージは、抽出したパケットサイズ情報をさらに含む。
スケジューラがポートとキューのクアンタムをアップデートする段階は、パケットサイズ情報、ポート番号及びキュー番号を用いてポートとキューのクアンタムをパケットサイズ情報だけ減少させる。
また、ネットワークプロセッサーのキュー管理方法は、キュー管理部がデキューイングされたポートへのパケット転送を要請するメッセージを送信してパケット転送が実行されるようにする段階をさらに備える。
また、本発明のさらに他の態様に係るキュー管理方法は、パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理方法において、キュー管理部が、パケット処理部から受信されたエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報を用いて、ポートとキューに対応するキュー配列にパケット識別情報をエンキューイングと、エンキュー完了メッセージを生成してスケジューラに送信する段階と、スケジューラが、エンキュー完了メッセージに応じてポートとキューのスケジューリングを行い、デキュー要請メッセージをキュー管理部に送信する段階と、キュー管理部が、デキュー要請メッセージに応じてスケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージをスケジューラに送信する段階と、スケジューラが、デキュー完了メッセージに応じてポートとキューのクアンタムをパケットサイズだけ減少させる段階と、を備える。
キュー管理部がデキューイングを行う段階は、スケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、デキューイングされたパケット識別情報が含むパケットサイズ情報を抽出する。
本発明のネットワークプロセッサーのキュー管理装置及びその方法は、キュー管理部がエンキューイング及びデキューイングを行う場合には、スケジューラにエンキュー完了メッセージ及びデキュー完了メッセージを送信するようにして、キュー管理部とスケジューラのキュー処理時間を同期させることを可能とする。
また、本発明のネットワークプロセッサーのキュー管理装置及びその方法は、キュー管理部がデキューイングを実行した後、デキューイングされたパケット識別情報から抽出したパケットサイズ情報をデキュー完了メッセージに含めてスケジューラに送信することによって、これを受信したスケジューラが、ポート及びキューの正確なクアンタムを算出することを可能とする。
以下、添付の図面を参照して、本発明の実施形態のネットワークプロセッサーのキュー管理装置及びその方法を詳細に説明する。
図1は、本実施形態のネットワークプロセッサーを示すブロック図である。
図1に示すように、ネットワークプロセッサー100は、パケット処理(Packet Processing)部200と、キュー管理部(Queue Manager)300と、スケジューラ(Scheduler)400と、パケット転送部(Packet Transmitter)500とを備える。
パケット処理部200は、物理階層/データリンク階層からパケットが受信されるポートを監視し、受信されたパケットをバッファ(図示せず)に移動及び格納する機能を行う。また、パケット処理部200は、IPヘッダー処理(Header Processing)、ルックアップ(Lookup)などのパケット処理過程を行う。
パケット処理部200は、正常なパケット処理過程が終わったパケットを転送するために、キュー管理部300に、エンキュー要請メッセージを転送する。エンキュー要請メッセージは、出力ポート番号、キュー番号とともに、パケット識別情報を含む。パケット識別情報は、パケットサイズ、パケットが格納された位置などのパケット関連情報を含む。
キュー管理部300は、パケット処理部200から受信したパケット識別情報に対して、エンキューイング及びデキューイングを行い、各々の実行後、エンキュー完了メッセージ及びデキュー完了メッセージを生成し、スケジューラ400に送信する。キュー管理部300は、デキューイングによりデキューイングされたパケット識別情報に含まれたパケットサイズ情報を抽出し、抽出されたパケットサイズ情報をスケジューラ400に送信するデキュー完了メッセージに含める。
スケジューラ400は、パケット識別情報がエンキューイングまたはデキューイングされるポートと、キューと、のスケジューリングを行う。このようなスケジューラ400は、ポートスケジューリングのために、WRR(Weighted Round Robin)方式を使用し、キュースケジューリングのために、DRR(Deficit Round Robin)方式を使用する。また、スケジューラ400は、キュー管理部300から受信されるエンキュー完了メッセージ及びデキュー完了メッセージを用いて、キュー管理部300と、エンキューイング時間及びデキューイング時間を同期させ、デキュー完了メッセージが含むパケットサイズ情報を用いてデキューイングされたポートとキューのクアンタム(Quantum)を算出する。
クアンタムは、前述したように、スケジューラ400がスケジューリングを行う場合に使われるキュー別帯域幅(Bandwidth)を指し、一般的に同じポート内でキュー別帯域幅の相対的な比率を、該当ポートのMTU(Maximum Transfer Unit)を用いて換算した値である。
パケット転送部500は、スケジューリングされた該当出力ポートにパケットを転送する。
以下、このような構成を有するネットワークプロセッサーのキュー管理動作について詳細に説明する。
まず、ネットワークプロセッサー100のパケット処理部200は、受信されるパケットに対して正常なパケット処理(例えば、IP Header Processing, Lookup, L2 Header Encapなど)過程を行い、パケット処理過程が終了した場合には、キュー管理部300にエンキュー要請メッセージを送信する。エンキュー要請メッセージは、出力ポート番号、キュー番号及びパケット識別情報を含む。
キュー管理部300は、パケット処理部200からエンキュー要請メッセージを受信し、受信したエンキュー要請メッセージを分析して、該当メッセージが含む出力ポート番号、キュー番号及びパケット識別情報を検出する。そして、キュー管理部300は、検出されたポートとキューに対応するキュー配列(Queue Array)の長さ情報を‘1’増加させ、該当キュー配列に検出されたパケット識別情報を格納するエンキューイングを行う。
エンキューイングを行ったキュー管理部300は、エンキューイング完了を知らせるエンキュー完了メッセージを生成してスケジューラ400に送信する。ここで、エンキュー完了メッセージは、エンキューイングを行ったポート番号とキュー番号を含む。
スケジューラ400は、キュー管理部300からエンキュー完了メッセージが受信された場合には、受信されたエンキュー要請メッセージを分析して、エンキューイングされたポート番号とキュー番号を検出する。そして、スケジューラ400は、検出されたポート番号とキュー番号に対応する各々のビットマップをアップデートしてスケジューリング対象であることを表示し、該当ポートとキューに対応するキュー配列の長さ情報を‘1’増加させる。
スケジューラ400は、キュー配列の長さを増加させた後、検出されたポートとキューのスケジューリングを行う。ここで、スケジューラ400は、WRR方式を通じてポートスケジューリングを行い、DRR方式を通じてキュースケジューリングを行う。また、スケジューラ400は、該当ポートとキューに対するクアンタムが存在する場合にのみ、キュースケジューリングを行う。
スケジューラ400は、スケジューリングの実行後、スケジューリングしたポートとキューのビットマップをアップデートし、該当ポートとキューに対応するキュー配列の長さ情報を‘1’減少させる。これは、キュー管理部300とスケジューラ400間の性能の差から発生し得る誤ったスケジューリングを防止するためである。
スケジューラ400は、スケジューリングを完了すれば、デキューイングを要請するデキュー要請メッセージを生成し、キュー管理部300に送信する。デキュー要請メッセージは、スケジューリングされたポート番号とキュー番号を含む。
キュー管理部300は、スケジューラ400からデキュー要請メッセージが受信された場合には、受信されたメッセージを分析して、スケジューリングされたポート番号とキュー番号を検出する。そして、キュー管理部300は、検出されたポート番号とキュー番号に対応するキュー配列の長さ情報を‘1’減少させ、該当キュー配列の最初のパケット識別情報をデキューイングする。
キュー管理部300は、デキューイングされたパケット識別情報を分析してパケットサイズ情報を抽出し、抽出されたパケットサイズ、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージを生成し、スケジューラ400に送信する。
スケジューラ400は、キュー管理部300からデキュー完了メッセージが受信された場合には、受信されたメッセージに含まれたパケットサイズ、ポート番号及びキュー番号を検出し、検出されたポートとキューのクアンタムを、検出されたパケットサイズだけ減少させる。
一方、キュー管理部300は、生成したデキュー完了メッセージをスケジューラ400に送信した後に、パケットの転送を要請するメッセージを生成してパケット転送部500に送信することによって、当該パケットがパケット転送部500を介して転送されるようにする。
次に、ネットワークプロセッサーのキュー管理動作を行うキュー管理部300及びスケジューラ400の内部構成について詳細に説明する。
図2は、本実施形態のキュー管理部を示す構成図である。
図2に示すように、キュー管理部300は、エンキュー要請(Enqueue Request)メッセージ受信部310、エンキュー処理部320、エンキュー完了(Enqueue Done)メッセージ送信部330、デキュー要請(Dequeue Request)メッセージ受信部340、デキュー処理部350、デキュー完了(Dequeue Done)メッセージ送信部360及び転送要請メッセージ送信部370を備える。
エンキュー要請メッセージ受信部310は、パケット処理部200から受信されるエンキュー要請メッセージに応じて、管理するキュー配列の長さ情報を増加させる。ここで、エンキュー要請メッセージは、出力ポート番号、キュー番号及びパケット識別情報を含む。
エンキュー処理部320は、パケット処理部200から受信されるエンキュー要請メッセージが含むパケット識別情報を、該当キュー配列に格納するエンキューイングを行う。
エンキュー完了メッセージ送信部330は、エンキューイングによる情報を含めたエンキュー完了メッセージを生成し、これをスケジューラ400に送信する。
デキュー要請メッセージ受信部340は、スケジューラ400からデキューイング実行を要請するメッセージを受信する。
デキュー処理部350は、実際のキュー配列からパケット識別情報をデキューイングする。
デキュー完了メッセージ送信部360は、デキューイングされたパケット識別情報からパケットサイズを抽出し、抽出されたパケットサイズを含めたデキュー完了メッセージを生成し、これをスケジューラ400に送信する。
転送要請メッセージ送信部370は、デキューイングされた出力ポートへのパケット転送を要請するメッセージを生成し、パケット転送部500に送信することによって、パケット転送が実行される。
このような構成を有するキュー管理部300の動作を説明すれば、キュー管理部300のエンキュー要請メッセージ受信部310は、パケット処理部200からエンキュー要請メッセージを受信し、受信されたメッセージを分析する。受信されたメッセージを分析したエンキュー要請メッセージ受信部310は、メッセージが含む出力ポート番号、キュー番号及びパケット識別情報を検出し、検出されたポートとキューに対応するキュー配列の長さ情報を‘1’増加させる。そして、エンキュー要請メッセージ受信部310は、検出されたポート番号、キュー番号及びパケット識別情報を含むエンキュー要請情報を生成してエンキュー処理部320に出力する。
エンキュー処理部320は、エンキュー要請メッセージ受信部310からエンキュー要請情報が入力され、入力されたポート番号とキュー番号に対応するキュー配列に入力されたパケット識別情報を格納するエンキューイングを行う。
エンキュー処理部320は、エンキューイングを実行した後に、エンキューイング完了情報を生成し、エンキュー完了メッセージ送信部330に出力する。ここで、エンキュー完了情報は、エンキューイングを行ったポート番号とキュー番号を含む。
エンキュー完了メッセージ送信部330は、エンキュー処理部320からエンキュー完了情報が入力され、入力されたエンキュー完了情報を含むエンキュー完了メッセージを生成する。そして、エンキュー完了メッセージ送信部330は、エンキュー完了メッセージをスケジューラ400に送信する。
エンキュー完了メッセージ送信部330を介してエンキュー完了メッセージをスケジューラ400に送信したキュー管理部300は、デキューイング実行を要請するデキュー要請メッセージを、デキュー要請メッセージ受信部340を介して、スケジューラ400から受信する。ここで、デキュー要請メッセージは、スケジューラ400が行ったスケジューリング過程を通じて選択されたポート番号とキュー番号を含む。
デキュー要請メッセージ受信部340は、スケジューラ400からデキュー要請メッセージを受信し、受信されたメッセージを分析して、スケジューリングされたポート番号とキュー番号を検出する。そして、検出されたポートとキューに対応するキュー配列の長さ情報を‘1’減少させ、検出したポート番号とキュー番号を含むデキュー要請情報を生成し、デキュー処理部350に出力する。
デキュー処理部350は、デキュー要請メッセージ受信部340からデキュー要請情報を受信し、受信された情報に応じて該当ポート番号とキュー番号に対応するキュー配列の最初のパケット識別情報をデキューイングする。
そして、デキュー処理部350は、デキューイングされたパケット識別情報を分析してパケットのサイズ情報を抽出し、抽出されたパケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了情報を、デキュー完了メッセージ送信部360に出力する。
デキュー完了メッセージ送信部360は、デキュー処理部350からデキュー完了情報が入力された場合には、入力されたデキュー完了情報を含むデキュー完了メッセージを生成し、これをスケジューラ400と転送要請メッセージ送信部370に出力する。
転送要請メッセージ送信部370は、デキュー完了メッセージ送信部360からデキュー完了メッセージが受信された場合には、これを分析してデキューイングが完了したことを判断し、デキューイングされたポートへのパケット転送を要請する転送要請メッセージを生成し、パケット転送部500に送信する。
このように、キュー管理部300は、エンキューイング及びデキューイングを実行した後に、エンキュー完了メッセージ及びデキュー完了メッセージを生成してスケジューラ400に送信し、スケジューラ400とのキュー処理時間を同期させることができる。
図3は、本実施形態のスケジューラを示す構成図である。
図3に示されたように、スケジューラ400は、エンキュー完了メッセージ受信部410、スケジューリング部420、デキュー要請メッセージ送信部450、450及びデキュー完了メッセージ受信部460、460を備える。
エンキュー完了メッセージ受信部410は、キュー管理部300からエンキューイングが完了したことを知らせるエンキュー完了メッセージを受信し、管理するキュー配列の長さ情報を増加させる。
スケジューリング部420は、ポートスケジューリング部430とキュースケジューリング部440とで構成される。ポートスケジューリング部430は、WRRアルゴリズムにより、ポートをスケジューリングし、キュースケジューリング部440は、DRRアルゴリズムによりスケジューリングされたポート内のキューをスケジューリングする。
デキュー要請メッセージ送信部450は、スケジューリングされたポートとキュー番号を含めたデキュー要請メッセージを生成し、これをキュー管理部300に送信する。
デキュー完了メッセージ受信部460は、デキュー管理部300からデキューイング完了を知らせるデキュー完了メッセージを受信し、デキューイングされたポートとキューに対応するキュー配列のクアンタムと内部データ構造をアップデートする。
このような構成を有するスケジューラ400の動作を説明すれば、まず、スケジューラ400は、エンキュー完了メッセージ受信部410を介してキュー管理部300からエンキュー完了メッセージを受信する。
エンキュー完了メッセージ受信部410は、キュー管理部300からエンキュー完了メッセージを受信した場合には、受信されたメッセージを分析し、メッセージが含むエンキューイングされたポート番号とキュー番号を検出する。エンキュー完了メッセージ受信部410は、検出されたポート番号とキュー番号に該当する各々のビットマップをアップデートし、スケジューリング対象であることを表示し、該当ポートとキューに対応するキュー配列の長さ情報を‘1’増加させる。
エンキュー完了メッセージ受信部410は、検出されたポート番号とキュー番号を含むエンキュー完了情報を生成し、スケジューリング部420に出力する。
スケジューリング部420は、エンキュー完了メッセージ受信部410からエンキュー完了情報が入力された場合には、入力されたエンキュー完了情報が含むポートのスケジューリングを、ポートスケジューリング部430にて行う。ここで、ポートスケジューリング部430は、WRR方式を通じてポートスケジューリングを行う。また、スケジューリング部420は、入力されたエンキュー完了情報が含むポート内のキュースケジューリングを、キュースケジューリング部440にて行う。ここで、キュースケジューリングは、DRR方式を通じてポートスケジューリングを行う。また、スケジューリング部400は、該当ポートとキューに対するクアンタムが存在する場合にのみ、スケジューリングを行う。
そして、スケジューリング部420は、スケジューリングしたポートとキューのビットマップをアップデートし、該当ポートとキューに対応するキュー配列の長さ情報を‘1’減少させる。これにより、キュー管理部300とスケジューラ400間の性能の差から発生し得る誤ったスケジューリングを防止することができる。
スケジューリングを行ったスケジューリング部420は、スケジューリング完了情報を生成してデキュー要請メッセージ送信部450に出力する。スケジューリング完了情報は、スケジューリングされたポート番号とキュー番号を含む。
デキュー要請メッセージ送信部450は、スケジューリング部420からスケジューリング完了情報が入力された場合には、デキューイングを要請するメッセージとして、スケジューリング完了情報、すなわちスケジューリングされたポート番号とキュー番号を含めたデキュー要請メッセージを生成する。そして、デキュー要請メッセージ送信部450は、生成したデキュー要請メッセージをキュー管理部300に送信する。
このように、デキューイングを要請するデキュー要請メッセージを、デキュー要請メッセージ送信部450を介して、キュー管理部300に送信したスケジューラ400は、キュー管理部300から、デキュー完了メッセージを、デキュー完了メッセージ受信部460を介して受信する。デキュー完了メッセージは、デキューイングされたパケットのサイズ情報、デキューイングされたポート番号及びキュー番号を含む。
デキュー完了メッセージ受信部460は、キュー管理部300からデキュー完了メッセージを受信した場合には、受信されたメッセージに含まれたパケットサイズ情報、ポート番号及びキュー番号を検出し、検出されたポートとキューに対応する各々のクアンタムを検出されたパケットサイズ情報だけ減少させる。
このように、スケジューラ400は、キュー管理部300から、エンキュー完了メッセージ及びデキュー完了メッセージを介して、キュー管理部300とのキュー処理時間を同期させ、デキュー完了メッセージが含むパケットサイズ情報を介してスケジューリングされたポートとキューの正確なクアンタムを算出することができる。
図4は、本実施形態のネットワークプロセッサーのキュー管理動作を示すフローチャートである。
図4に示すように、キュー管理部300は、パケット処理部200からエンキュー要請メッセージを受信する(ステップS101。図中ではステップをSと略す。)。エンキュー要請メッセージは、出力ポート番号、キュー番号及びパケット識別情報を含む。
キュー管理部300は、受信したエンキュー要請メッセージを分析して、該当メッセージが含む出力ポート番号、キュー番号及びパケット識別情報を検出し、検出されたポートとキューに対応するキューバッファの長さ情報を‘1’増加させる(ステップS102)。
キュー管理部300は、検出されたポート番号とキュー番号に対応するキューバッファに、検出されたパケット識別情報を格納するエンキューイングを行う(ステップS103)。
エンキューイングを行ったキュー管理部300は、エンキューイング完了を知らせるエンキュー完了メッセージを生成し(ステップS104)、スケジューラ400に送信する(ステップS105)。ここで、エンキュー完了メッセージは、エンキューイングを行うポート番号とキュー番号を含む。
エンキュー完了メッセージを受信したスケジューラ400は、キュー管理部300から受信されたメッセージを分析して、メッセージが含むエンキューイングされたポート番号とキュー番号を検出し、検出されたポート番号とキュー番号に該当する各々のビットマップをアップデートし、スケジューリング対象であることを表示する(ステップS106)。そして、スケジューラ400は、検出されたポートとキューに対応するキュー配列の長さ情報を‘1’増加させる(ステップS107)。
スケジューラ400は、検出されたポートとキューのスケジューリングを行う(ステップS108)。ここで、スケジューラ400は、WRR方式を通じてポートスケジューリングを行い、DRR方式を通じてキュースケジューリングを行う。また、スケジューラ400は、該当ポートとキューに対するクアンタムが存在する場合にのみ、スケジューリングを行う。
スケジューラ400は、スケジューリングしたポートとキューのビットマップをアップデートし(ステップS109)、該当ポートとキューに対応するキュー配列の長さ情報を‘1’減少させる(ステップS110)。
スケジューラ400は、デキューイングを要請するデキュー要請メッセージを生成し(ステップS111)、キュー管理部300に送信する(ステップS112)。デキュー要請メッセージは、スケジューリングされたポート番号とキュー番号を含む。
デキュー要請メッセージを受信したキュー管理部300は、スケジューラ400から受信されたメッセージを分析して、スケジューリングされたポート番号とキュー番号を検出し、検出されたポート番号とキュー番号に対応するキュー配列の長さ情報を‘1’減少した後(ステップS113)、該当キュー配列の最初のパケット識別情報をデキューイングする(ステップS114)。
キュー管理部300は、デキューイングされたパケット識別情報を分析して、パケットのサイズ情報を抽出し、抽出されたパケットサイズ、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージを生成する(ステップS115)。そして、キュー管理部300は、生成したデキュー完了メッセージをスケジューラ400に送信する(ステップS116)。
デキュー完了メッセージを受信したスケジューラ400は、キュー管理部300から受信されたメッセージに含まれたパケットサイズ、ポート番号及びキュー番号を検出し、検出されたポートとキューに対応するポートとキューのクアンタムを、検出されたパケットサイズだけ減少させる(ステップS117)。
一方、キュー管理部300は、生成したデキュー完了メッセージをスケジューラ400に送信した後、デキューイングされたポートへのパケット転送を要請するメッセージを生成した後、パケット転送部500に送信し、当該パケットがパケット転送部500を介して転送されるようにする(ステップS118)。
以上説明したように、本実施形態のネットワークプロセッサーによれば、スケジューラとキュー管理部との間に処理性能の差がある場合には、キュー管理部が、「エンキュー完了メッセージ」と「デキュー完了メッセージ」を使用して、スケジューラにキュー配列の長さ情報を伝送することによって、スケジューラとのキュー処理時間を同期させることができ、処理性能差に起因するシステム内の多くの資源浪費を防止することが可能となる。
100 ネットワークプロセッサー
200 パケット処理部
300 キュー管理部
400 スケジューラ
500 パケット転送部
200 パケット処理部
300 キュー管理部
400 スケジューラ
500 パケット転送部
Claims (23)
- パケット処理部、キュー(Queue)管理部及びスケジューラ(Scheduler)を含むネットワークプロセッサーのキュー管理装置であって、
前記パケット処理部から受信されたエンキュー(Enqueue)要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報に応じたに対してエンキューイング(Enqueuing)が完了した場合には、エンキュー完了メッセージを前記スケジューラに送信し、
前記スケジューラから受信されたデキュー(Dequeue)要請メッセージに応じたデキューイング(Dequeuing)が完了した場合には、デキューイングされたポート番号とキュー番号が含まれたデキュー完了メッセージを前記スケジューラに送信するキュー管理部と、
前記キュー管理部から受信された前記エンキュー完了メッセージに応じたポート及びキュースケジューリングが完了した場合には、前記デキュー要請メッセージを前記キュー管理部に送信し、
前記キュー管理部から受信された前記デキュー完了メッセージに応じて前記ポートとキューのクアンタム(Quantum)をアップデートするスケジューラと、
を備えることを特徴とするキュー管理装置。 - 前記キュー管理部は、
前記エンキュー要請メッセージが受信された場合には、前記メッセージが含むポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ増加させ、前記キュー配列に前記パケット識別情報を格納する前記エンキューイングを行うことを特徴とする請求項1に記載のキュー管理装置。 - 前記スケジューラは、
前記エンキュー完了メッセージが受信された場合には、前記キュー管理部がエンキューイングしたポート番号とキュー番号に対応する各々のビットマップをアップデートし、前記アップデートしたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ増加させ、前記スケジューリングを行うことを特徴とする請求項1に記載のキュー管理装置。 - 前記スケジューラは、
WRR(Weighted Round Robin)方式を通じて前記アップデートしたポートをスケジューリングし、DRR(Deficit Round Robin)方式を通じて前記アップデートしたキューをスケジューリングすることを特徴とする請求項3に記載のキュー管理装置。 - 前記スケジューラは、
前記スケジューリングを行った後、前記スケジューリングされたポートとキューのビットマップをアップデートし、前記アップデートしたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ減少させた後、前記デキュー要請メッセージを生成することを特徴とする請求項1に記載のキュー管理装置。 - 前記キュー管理部は、
前記デキュー要請メッセージが受信された場合には、前記スケジューリングされたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ減少させた後、前記キュー配列の最初のパケット識別情報をデキューイングし、前記デキューイングされたパケット識別情報からパケットのサイズ情報を抽出して、前記パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれた前記デキュー完了メッセージを前記スケジューラに送信することを特徴とする請求項1に記載のキュー管理装置。 - 前記スケジューラは、
前記デキュー完了メッセージが受信された場合には、前記パケットのサイズ情報、ポート番号及びキュー番号を用いて前記ポートとキューのクアンタムを前記サイズ情報だけ減少させることを特徴とする請求項6に記載のキュー管理装置。 - 前記キュー管理部は、
前記デキューイングを行うと、前記デキューイングされたポートへのパケット転送を要請するメッセージを送信して前記パケット転送が実行されるようにすることを特徴とする請求項1に記載のキュー管理装置。 - 前記キュー管理部は、
前記パケット処理部から前記エンキュー要請メッセージを受信するエンキュー要請メッセージ受信部と、
前記エンキュー要請メッセージに応じてエンキューイングを行うエンキュー処理部と、
エンキューイングによる情報を含めた前記エンキュー完了メッセージを生成して前記スケジューラに送信するエンキュー完了メッセージ送信部と、
前記スケジューラから前記デキュー完了メッセージを受信するデキュー要請メッセージ受信部と、
前記デキュー要請メッセージに応じてデキューイングを行うデキュー処理部と、
デキューイングが完了した場合には、デキューイングされたポート番号とキュー番号を含めた前記デキュー完了メッセージを生成して前記スケジューラに送信するデキュー完了メッセージ送信部と、
デキューイングされた出力ポートへのパケット転送を要請するメッセージを生成して送信する転送要請メッセージ送信部と、
を備えることを特徴とする請求項1に記載のキュー管理装置。 - 前記スケジューラは、
前記キュー管理部から前記エンキュー完了メッセージを受信するエンキュー完了メッセージ受信部と、
前記エンキュー完了メッセージに応じて前記ポートとキューのスケジューリングを行うスケジューリング部と、
前記スケジューリングが完了した場合には、前記デキュー要請メッセージを生成して前記キュー管理部に送信するデキュー要請メッセージ送信部と、
前記キュー管理部から受信される前記デキュー完了メッセージに応じて前記ポートとキューのクアンタムをアップデートするデキュー完了メッセージ受信部と、
を備えることを特徴とする請求項1に記載のキュー管理装置。 - パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理装置であって、
パケット処理部から受信されるエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報に応じたエンキューイングが完了した場合には、エンキュー完了メッセージを前記スケジューラに送信し、
前記スケジューラから受信されるデキュー要請メッセージに応じたデキューイングが完了した場合には、パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージを前記スケジューラに送信するキュー管理部と、
前記キュー管理部から受信された前記エンキュー完了メッセージに応じたポート及びキュースケジューリングが完了した場合には、デキュー要請メッセージを前記キュー管理部に送信し、前記キュー管理部から受信された前記デキュー完了メッセージに応じて前記ポートとキューのクアンタムを前記パケットサイズだけ減少させるスケジューラと、
を備えることを特徴とするキュー管理装置。 - 前記キュー管理部は、
前記デキュー要請メッセージに応じて前記スケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、前記デキューイングされたパケット識別情報が含むパケットのサイズ情報を抽出して前記デキュー完了メッセージに含めることを特徴とする請求項11に記載のキュー管理装置。 - パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理方法であって、
前記キュー管理部が、前記パケット処理部から受信されるエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報を用いて、前記ポートとキューに対応するキュー配列に前記パケット識別情報をエンキューイングし、エンキュー完了メッセージを生成して前記スケジューラに送信する段階と、
前記スケジューラが、前記エンキュー完了メッセージに応じてポートとキューのスケジューリングを行い、デキュー要請メッセージを前記キュー管理部に送信する段階と、
前記キュー管理部が、前記デキュー要請メッセージに応じてデキューイングを行い、デキューイングされたポート番号とキュー番号が含まれたデキュー完了メッセージを前記スケジューラに送信する段階と、
前記スケジューラが、前記デキュー完了メッセージに応じて前記ポートとキューのクアンタムをアップデートする段階と、
を備えることを特徴とするキュー管理方法。 - 前記キュー管理部が前記エンキューイングを行う段階は、
前記キュー管理部が前記受信メッセージに含まれたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ増加させた後、前記エンキューイングを行うことを特徴とする請求項13に記載のキュー管理方法。 - 前記スケジューラが前記スケジューリングを行う段階は、
前記エンキューイングされたポート番号とキュー番号に対応するポートとキューのビットマップをアップデートし、前記アップデートされたポートとキューに対応するキュー配列の長さ情報を所定の長さ情報だけ増加させた後、前記スケジューリングを行うことを特徴とする請求項13に記載のキュー管理方法。 - 前記スケジューラが前記スケジューリングを行う段階は、
WRR方式を通じて前記アップデートしたポートをスケジューリングし、DRR方式を通じて前記アップデートしたキューをスケジューリングすることを特徴とする請求項13に記載のキュー管理方法。 - 前記スケジューラが前記デキュー要請メッセージを生成する段階は、
前記スケジューラが前記スケジューリングされたポートとキューのビットマップをアップデートし、前記アップデートしたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ減少させた後、前記デキュー要請メッセージを生成することを特徴とする請求項13に記載のキュー管理方法。 - 前記キュー管理部がデキューイングを行う段階は、
前記スケジューラがスケジューリングしたポートとキューに対応するキュー配列の長さ情報を、所定の長さ情報だけ減少させた後、前記キュー配列の最初のパケット識別情報をデキューイングし、前記デキューイングされたパケット識別情報が含むパケットサイズ情報を抽出することを特徴とする請求項13に記載のキュー管理方法。 - 前記デキュー完了メッセージは、前記抽出したパケットサイズ情報をさらに含むことを特徴とする請求項18に記載のキュー管理方法。
- 前記スケジューラが前記ポートとキューのクアンタムをアップデートする段階は、
前記パケットサイズ情報、ポート番号及びキュー番号を用いて前記ポートとキューのクアンタムを前記パケットサイズ情報だけ減少させることを特徴とする請求項18に記載のキュー管理方法。 - 前記キュー管理部が前記デキューイングされたポートへのパケット転送を要請するメッセージを送信して前記パケット転送が実行されるようにする段階をさらに備えることを特徴とする請求項13に記載のキュー管理方法。
- パケット処理部、キュー管理部及びスケジューラを含むネットワークプロセッサーのキュー管理方法であって、
前記キュー管理部が、前記パケット処理部から受信されるエンキュー要請メッセージに含まれたパケットの出力ポート番号、キュー番号及びパケット識別情報を用いて、前記ポートとキューに対応するキュー配列に前記パケット識別情報をエンキューイングと、エンキュー完了メッセージを生成して前記スケジューラに送信する段階と、
前記スケジューラが、前記エンキュー完了メッセージに応じてポートとキューのスケジューリングを行い、デキュー要請メッセージを前記キュー管理部に送信する段階と、
前記キュー管理部が、前記デキュー要請メッセージに応じて前記スケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、パケットサイズ情報、デキューイングされたポート番号及びキュー番号が含まれたデキュー完了メッセージを前記スケジューラに送信する段階と、
前記スケジューラが、前記デキュー完了メッセージに応じて前記ポートとキューのクアンタムを前記パケットサイズだけ減少させる段階と、
を備えることを特徴とするキュー管理方法。 - 前記キュー管理部がデキューイングを行う段階は、
前記スケジューリングされたポートとキューに対応するキュー配列の最初のパケット識別情報をデキューイングし、前記デキューイングされたパケット識別情報が含むパケットサイズ情報を抽出することを特徴とする請求項22に記載のキュー管理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20060007483A KR100716184B1 (ko) | 2006-01-24 | 2006-01-24 | 네트워크 프로세서에서의 큐 관리 방법 및 그 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007202153A true JP2007202153A (ja) | 2007-08-09 |
Family
ID=38270164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007011584A Abandoned JP2007202153A (ja) | 2006-01-24 | 2007-01-22 | ネットワークプロセッサーのキュー管理装置及びその方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070171929A1 (ja) |
JP (1) | JP2007202153A (ja) |
KR (1) | KR100716184B1 (ja) |
CN (1) | CN101009649A (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5063293B2 (ja) * | 2007-10-29 | 2012-10-31 | 古野電気株式会社 | 通信量制御システム、通信量制御システム用サーバ、および通信量制御システム用クライアント |
CN101783763B (zh) * | 2009-01-16 | 2012-06-06 | 中兴通讯股份有限公司 | 防拥塞的处理方法及系统 |
US7792131B1 (en) * | 2009-03-10 | 2010-09-07 | Cisco Technologies, Inc. | Queue sharing with fair rate guarantee |
CN101616097B (zh) * | 2009-07-31 | 2012-05-23 | 中兴通讯股份有限公司 | 一种网络处理器输出端口队列的管理方法及系统 |
CN101808039B (zh) * | 2010-03-29 | 2013-10-02 | 成都市华为赛门铁克科技有限公司 | 数据报文的处理方法及处理服务器 |
US20110296437A1 (en) * | 2010-05-28 | 2011-12-01 | Devendra Raut | Method and apparatus for lockless communication between cores in a multi-core processor |
US8565092B2 (en) | 2010-11-18 | 2013-10-22 | Cisco Technology, Inc. | Dynamic flow redistribution for head of line blocking avoidance |
CN102957629B (zh) * | 2011-08-30 | 2015-07-08 | 华为技术有限公司 | 队列管理的方法和装置 |
US8705366B2 (en) | 2012-01-23 | 2014-04-22 | Cisco Technology, Inc. | Dynamic load balancing without packet reordering |
US9258245B2 (en) * | 2012-09-12 | 2016-02-09 | Broadcom Corporation | Multiple cell dequeue for high speed queueing |
US9634953B2 (en) * | 2013-04-26 | 2017-04-25 | Mediatek Inc. | Scheduler for deciding final output queue by selecting one of multiple candidate output queues and related method |
US9450881B2 (en) | 2013-07-09 | 2016-09-20 | Intel Corporation | Method and system for traffic metering to limit a received packet rate |
CN105610730B (zh) * | 2014-11-19 | 2020-03-13 | 中兴通讯股份有限公司 | Cpu与网络设备之间的消息交互方法及系统 |
CN104618265B (zh) * | 2014-12-30 | 2018-03-13 | 华为技术有限公司 | 一种报文转发方法和装置 |
CN106375249B (zh) * | 2016-09-22 | 2019-10-01 | 盛科网络(苏州)有限公司 | 交换芯片的控制方法及控制系统 |
KR102291987B1 (ko) | 2019-10-29 | 2021-08-20 | 고려대학교 산학협력단 | 스위치 포트 내 다중 대기열 관리 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749837A (ja) * | 1993-08-06 | 1995-02-21 | Nec Corp | オンライン端末からのバッチジョブ起動管理方式 |
JPH0895805A (ja) * | 1994-09-27 | 1996-04-12 | Hitachi Ltd | タスク管理装置 |
KR0162765B1 (ko) * | 1995-12-15 | 1999-01-15 | 양승택 | 고속 중형 컴퓨터의 입출력 스케쥴러 구동방법 및 그 장치 |
EP1131704B1 (en) * | 1998-11-16 | 2014-03-26 | TELEFONAKTIEBOLAGET LM ERICSSON (publ) | Processing system scheduling |
US20050010676A1 (en) * | 2003-06-30 | 2005-01-13 | Muthaiah Venkatachalam | Time-based transmission queue for traffic management of asynchronous transfer mode virtual circuits on a multi-threaded, multi-processor system |
US20050053053A1 (en) * | 2003-09-09 | 2005-03-10 | Sonus Networks, Inc. | Method and apparatus for synchronized transport of data through an asynchronous medium |
KR100628300B1 (ko) * | 2003-12-18 | 2006-09-27 | 한국전자통신연구원 | 시분할 다중 전송시스템에서 가변길이 프레임 전송을 위한순방향에러정정 장치 및 그 방법 |
US7408946B2 (en) * | 2004-05-03 | 2008-08-05 | Lucent Technologies Inc. | Systems and methods for smooth and efficient round-robin scheduling |
US7565496B2 (en) * | 2005-01-22 | 2009-07-21 | Cisco Technology, Inc. | Sharing memory among multiple information channels |
-
2006
- 2006-01-24 KR KR20060007483A patent/KR100716184B1/ko not_active IP Right Cessation
- 2006-12-21 US US11/642,855 patent/US20070171929A1/en not_active Abandoned
- 2006-12-28 CN CNA2006101720950A patent/CN101009649A/zh active Pending
-
2007
- 2007-01-22 JP JP2007011584A patent/JP2007202153A/ja not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
KR100716184B1 (ko) | 2007-05-10 |
CN101009649A (zh) | 2007-08-01 |
US20070171929A1 (en) | 2007-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100716184B1 (ko) | 네트워크 프로세서에서의 큐 관리 방법 및 그 장치 | |
US20220311544A1 (en) | System and method for facilitating efficient packet forwarding in a network interface controller (nic) | |
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
EP1495596B1 (en) | Reducing packet data delay variation | |
WO2018210117A1 (zh) | 一种拥塞控制方法、网络设备及其网络接口控制器 | |
US7664112B2 (en) | Packet processing apparatus and method | |
US20050175013A1 (en) | Method for transmitting high-priority packets in an IP transmission network | |
JP5601029B2 (ja) | 通信装置及び通信方法、並びにコンピューター・プログラム | |
US8953631B2 (en) | Interruption, at least in part, of frame transmission | |
WO2018121535A1 (zh) | 一种负载均衡处理方法及装置 | |
JP2006216034A (ja) | 相関メッセージを、ネットワークを介して通信するための待機セッション | |
EP2722768A1 (en) | TCP processing for devices | |
WO2010032533A1 (ja) | ネットワークプロトコル処理システム、及びネットワークプロトコル処理方法 | |
US20060176893A1 (en) | Method of dynamic queue management for stable packet forwarding and network processor element therefor | |
CN111464452A (zh) | 基于dctcp的快速拥塞反馈方法 | |
US20070291782A1 (en) | Acknowledgement filtering | |
WO2012083654A1 (zh) | Ip报文分片的处理方法和分布式系统 | |
US20040252711A1 (en) | Protocol data unit queues | |
US20140185629A1 (en) | Queue processing method | |
CN110177051A (zh) | 基于流控技术的数据中心拥塞控制方法 | |
US7039057B1 (en) | Arrangement for converting ATM cells to infiniband packets | |
US11784933B2 (en) | Traffic shaping offload on a network interface controller | |
US11979476B2 (en) | High performance connection scheduler | |
US20230379397A1 (en) | Distributed proxy for encrypted transport protocol with efficient multi-priority multiplexed transport for improving user's traffic qos | |
US8537844B2 (en) | Ethernet to serial gateway apparatus and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20090515 |