WO2009147731A1 - データ転送装置、情報処理装置および制御方法 - Google Patents
データ転送装置、情報処理装置および制御方法 Download PDFInfo
- Publication number
- WO2009147731A1 WO2009147731A1 PCT/JP2008/060226 JP2008060226W WO2009147731A1 WO 2009147731 A1 WO2009147731 A1 WO 2009147731A1 JP 2008060226 W JP2008060226 W JP 2008060226W WO 2009147731 A1 WO2009147731 A1 WO 2009147731A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input queue
- data
- counter
- input
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Definitions
- the present invention relates to a data transfer device, an information processing device, and a control method.
- a data transfer apparatus even when the size of a packet (data) is not uniform, the throughput of each transmission source can be made equal, and any transmission source packet
- the present invention relates to a data transfer apparatus, an information processing apparatus, and a control method in which a situation in which (data) is not selected does not occur.
- packet contention is realized by a round robin method.
- the round robin method when a packet output from a certain module is selected, the priority of the module is lowered to the lowest order and the priority of other modules is increased.
- this round robin method is easy to implement, there is a problem in that the throughput of each module varies when the size of the output packet is not uniform.
- a Deficit Round Robin (DRR) method or an improved method thereof may be used to mediate packet contention.
- queues and counters are provided for each packet output source, a predetermined value d is added to each counter, and the packet to be selected is determined by comparing the counter value with the size of the first packet in the queue. It is a method to do.
- the head packet of each queue is selected when the value of the corresponding queue becomes larger than its own size. At this time, the value of the corresponding queue is subtracted by the size of the selected head packet.
- the throughput of each module can be made equal.
- the predetermined value d is smaller than an appropriate value, the time required for the counter value to become larger than the size of the head packet becomes longer, and any output source packet is There was a problem that a situation that was not selected occurred.
- a communication device such as a router device, there may be a situation in which no packet of any module is selected even though there are multiple modules that are trying to output packets. It must be avoided because it causes a significant performance degradation.
- the present invention has been made in order to solve the above-described problems caused by the prior art. Even when the packet (data) size is not uniform, the throughput of each transmission source can be made equal, and It is an object of the present invention to provide a data transfer device, an information processing device, and a control method that do not cause a situation in which a transmission source packet (data) is not selected.
- a data transfer device and an information processing device disclosed in the present application are, in one aspect, a plurality of input queues, an arbitration control unit provided for each of the input queues, An input queue selection unit that selects one of the input queues based on the priority set for each input queue and outputs data from the selected input queue; and the arbitration control unit includes a predetermined upper limit value. Is stored in the register, a counter for counting the amount of data output from the corresponding input queue, and when the value of the counter exceeds the upper limit value stored in the register, the input queue selection unit And a control circuit for updating the priority and resetting the value of the counter.
- data is output from the input queue, and arbitration is performed based on the output data amount. Therefore, even when the data size is not uniform, the throughput of each transmission source is made equal. It is possible to suppress the occurrence of a situation in which no transmission source data is selected.
- the above-mentioned problem also applies to a method, an apparatus, a system, a computer program, a recording medium, a data structure, etc., in which any combination of constituent elements, expressions, or constituent elements of the data transfer apparatus and information processing apparatus disclosed in the present application is applied. It is effective to solve the problem.
- the data transfer device even if the data size is not uniform, the throughput of each transmission source can be made equal, and There is an effect that it is possible to prevent a situation in which no data is selected.
- FIG. 1-1 is a diagram illustrating an example of a data packet stored in an input queue.
- FIG. 1-2 is a diagram illustrating an example of data packet selection by the arbitration method according to the present embodiment.
- FIG. 2A is a diagram illustrating an example of a command packet stored in the input queue.
- FIG. 2-2 is a diagram illustrating an example of command packet selection by the arbitration method according to the present embodiment.
- FIG. 3 is a diagram illustrating an example of the configuration of the information processing apparatus according to the present embodiment.
- FIG. 4 is a diagram showing an example of the configuration of the data transfer apparatus shown in FIG.
- FIG. 5 is a flowchart showing the operation of the input queue selection circuit.
- FIG. 6 is a flowchart showing the operation of the output data amount measurement circuit.
- FIG. 1-1 is a diagram illustrating an example of a data packet stored in an input queue.
- FIG. 1-2 is a diagram illustrating an example of data packet selection by the arbitration method according to the present embodiment.
- FIG. 7 is a diagram illustrating an example of the configuration of the output data amount measurement circuit.
- FIG. 8 is a diagram illustrating an example of the configuration of the input queue selection circuit.
- FIG. 9 is a diagram illustrating an example of data packet selection by a conventional arbitration method.
- FIG. 10 is a diagram illustrating an example of command packet selection by a conventional arbitration method.
- FIG. 1-1 is a diagram illustrating an example of a data packet stored in an input queue. This example shows a scene where packets stored in the input queues # 0 to # 2 are selected by the selector and output to the output queue # 3.
- the input queues # 0 to # 2 are queues in which packets output from different output sources are temporarily stored.
- a 32-byte data packet composed of an 8-byte header part and a 24-byte data part and an 8-byte data packet composed of a 4-byte header part and a 4-byte data part are mixed.
- the input queue # 0 stores 32-byte packets A and B.
- the input queue # 1 stores 8-byte packets C to G.
- the input queue # 2 stores 8-byte packets H and I, a 32-byte packet J, and an 8-byte packet K.
- FIG. 9 is a diagram showing an example of data packet selection by the conventional arbitration method.
- the input queue to be given the highest priority is circulated as # 0 ⁇ # 1 ⁇ # 2 ⁇ # 0 ⁇ # 1 ⁇ # 2 using a simple round robin method, this example First, the packet A in the input queue # 0 is selected and stored in the output queue # 3. Subsequently, packet C of input queue # 1, packet H of input queue # 2, packet B of input queue # 0, packet D of input queue # 1, packet I of input queue # 2 are selected in order, and output queue # 3 is stored.
- packets totaling 64 bytes are selected from the input queue # 0, whereas only packets totaling 16 bytes are selected from the input queues # 1 and # 2 within the same period. .
- the data size selected per unit time differs for each input queue due to the difference in the size of the output packet.
- FIG. 1-2 is a diagram illustrating an example of data packet selection by the arbitration method according to the present embodiment.
- the arbitration method according to the present embodiment varies the priority of each input queue based on the size of a packet that has already been selected. Specifically, in the arbitration method according to the present embodiment, when a packet in an input queue is selected, the aggregation of the size of packets output from the input queue is started, and an upper limit value in which the aggregate value is set in advance. The packets in the input queue continue to be selected until there is no more packet that can be output from the input queue. When the total value exceeds the preset upper limit value or when there are no packets that can be output, the priority of the input queue is lowered to the lowest level, and packets in other input queues are selected. .
- the data size selected per unit time in each input queue can be changed intentionally by setting the upper limit value set in each input queue to a different value.
- the amount of data selected per unit time can be increased by setting a large value as the upper limit value in the input queue that stores packets output from an output source that requires high throughput.
- the arbitration method according to the present embodiment is compared with the conventional arbitration method for data packet arbitration, but the arbitration method according to the present embodiment is also effective in command packet arbitration. That is, as shown in FIG. 2-1, when a relatively large command packet such as a write command to IO and a relatively small command packet such as a memory read command are mixed, In the conventional arbitration method based on the round robin method, as shown in FIG. 10, the packet size selected per unit time is different for each input queue. On the other hand, in the arbitration method according to the present embodiment, as shown in FIG. 2-2, the packet size selected per unit time can be made substantially uniform.
- FIG. 3 is a diagram illustrating an example of the configuration of the information processing apparatus according to the present embodiment.
- the information processing apparatus according to the present embodiment includes a plurality of system boards (hereinafter abbreviated as “SB”) 10 and a plurality of IO boards (hereinafter abbreviated as “IOB”) 20. And a data crossbar 31 and an address crossbar 32.
- SB system boards
- IOB IO boards
- the SB 10 is an arithmetic processing module that executes arithmetic processing, and includes a CPU 11, a CPU control unit 12, a memory control unit 13, a RAM 14, an FWH (FirmWare Hub) 15, and the like.
- the CPU 11 is an arithmetic circuit that executes various arithmetic operations
- the CPU control unit 12 is a circuit that arbitrates contention of requests from a plurality of CPUs 11 and distributes requests from the CPU 11 to the memory control unit 13 or the IOB 20.
- the memory control unit 13 is a circuit that controls access to the RAM 14, and the RAM 14 is a storage circuit that temporarily stores information.
- the FWH 15 is a storage circuit that stores firmware.
- the IOB 20 is an input / output module that executes various input / output controls other than memory access.
- the IOB 20 includes an IO control unit 21, a PCI (Peripheral Component Interconnect) control unit 22, a PCI interface 23, and an ICH (IO Controller Hub) 24.
- the IO control unit 21 is a circuit that controls the IOB 20 as a whole
- the PCI control unit 22 is a circuit that controls various PCI devices connected to the PCI interface 23.
- the ICH 24 is a circuit that controls a network interface (LAN), a screen control device (VGA), a serial input / output control device (SIO), a baseboard management device (BMC), and the like mounted on the IOB 20.
- LAN network interface
- VGA screen control device
- SIO serial input / output control device
- BMC baseboard management device
- the data crossbar 31 and the address crossbar 32 are connection modules that electrically connect a plurality of SBs 10 and a plurality of IOBs 20, and each have a data transfer device 300 that is a high-speed switch.
- FIG. 4 is a diagram showing an example of the configuration of the data transfer apparatus 300 shown in FIG. Here, only the configuration related to the arbitration is illustrated in order to simplify the description. Also, no distinction is made between data packets and command packets.
- the data transfer apparatus 300 includes a plurality of combinations of the input queue 310 and the arbitration control circuit 320, an input queue selection circuit 330, a selector 340, and an output queue 350.
- the input queue 310 is a queue that temporarily stores packets output from a certain module.
- the arbitration control circuit 320 is a circuit that is provided for each input queue 310 and monitors the amount of data output from the corresponding input queue 310.
- the upper limit value setting register 321, the JTAG circuit or the SM Bus circuit 322, and the packet length decoding A circuit 323, an output data amount measurement circuit 324, and an output data amount measurement counter 325 are included.
- the upper limit setting register 321 stores the upper limit value of the data amount to be output. Since the upper limit value setting register 321 exists for each input queue 310, the upper limit value of the data amount to be output can be different for each input queue 310, or the same value for all the input queues 310. You can also
- the JTAG circuit or the SMBus circuit 322 is a circuit for setting an upper limit value to the upper limit value setting register 321 from the outside.
- the packet length decoding circuit 323 is a circuit that acquires the size of the head packet of the corresponding input queue 310.
- the size of the packet can be obtained by referring to a predetermined position in the header portion of the packet.
- the output data amount measurement circuit 324 adds the size of the first packet acquired by the packet length decoding circuit 323 to the output data amount measurement counter 325 every time it receives a signal indicating that the first packet of the corresponding input queue is selected. Let When the value of the output data amount measurement counter 325 after the addition becomes equal to or greater than the value of the upper limit value setting register 321, the output data amount measurement circuit 324 resets the value of the output data amount measurement counter 325. The input queue selection circuit 330 is instructed to change the priority of the input queue. The output data amount measurement circuit 324 also receives a signal indicating that there is no packet that can be output to the corresponding input queue after receiving a signal indicating that the leading packet of the corresponding input queue is selected. In addition, the value of the output data amount measurement counter 325 is reset and the input queue selection circuit 330 is instructed to change the priority of the input queue. The output data amount measurement counter 325 stores the output data amount.
- the input queue selection circuit 330 selects the head packet of any one of the input queues 310 based on the priority and outputs the selected packet to the selector 340, and also outputs a signal indicating that the head packet is selected to the input in which the packet is stored.
- the data is transmitted to the output data amount measurement circuit 324 corresponding to the queue.
- the selector 340 stores the packet output from the input queue 310 in the output queue 350.
- the output queue 350 is a queue in which packets are temporarily stored.
- FIG. 5 is a flowchart showing the operation of the input queue selection circuit 330.
- the input queue selection circuit 330 determines a queue to be selected from the input queues 310 in which packets that can be output are stored according to the priority order (step S ⁇ b> 101).
- the input queue selection circuit 330 acquires the determined head packet length of the input queue 310 (step S102). Then, the input queue selection circuit 330 obtains a period necessary for outputting the head packet based on the acquired packet length, and sets the determined input queue 310 to be selected during that period (step S103). In addition, the input queue selection circuit 330 transmits a signal notifying that the determined leading packet of the input queue 310 is output to the output data amount measurement circuit 324 corresponding to the input queue 310 (step S104).
- the input queue selection circuit 330 When the input queue selection circuit 330 is instructed by the output data amount measurement circuit 324 to change the priority of the input queue (Yes in step S105), the input queue selection circuit 330 sets the input queue 310 corresponding to the output data amount measurement circuit 324. The priority order is updated so that the priority order is lowest (step S106). The input queue selection circuit 330 repeatedly executes the above steps S101 to S106. Note that the procedure of steps 101 to S104 and the procedure of steps S105 to S106 do not need to be sequentially executed in this way, and can be executed independently and asynchronously.
- FIG. 6 is a flowchart showing the operation of the output data amount measurement circuit 324. As shown in the figure, when a signal indicating that the head packet of the corresponding input queue 310 is selected is received (step S201), the output data amount measurement circuit 324 determines the packet length of the head packet as the output data amount measurement counter 325. (Step S202).
- the value of the output data amount measurement counter 325 after the addition is compared with the upper limit value stored in the upper limit value setting register 321 (step S203), and if the value after the addition is greater than or equal to the upper limit value (Yes in step S204)
- the output data amount measurement circuit 324 resets the value of the output data amount measurement counter 325 (step S205), and instructs the input queue selection circuit 330 to change the priority of the input queue (step S206).
- FIG. 7 is a diagram illustrating an example of the configuration of the output data amount measurement circuit 324.
- the packet length is 2 bytes or 8 bytes, but the packet length is not limited to these two types.
- the AND circuit 324d When a packet output signal notifying that the head packet is selected is received, if the signal indicating that the size of the head packet is 8 bytes is transmitted from the packet length decoding circuit 323, the AND circuit 324d Is turned on. Then, if the output of the AND circuit 324d is turned ON and a signal indicating that the upper limit value is greater than or equal to the counter value is not output from the comparator 324g, the output of the AND circuit 324e is also turned ON. When the output of the AND circuit 324e is turned on, an addition instruction of increment 8 is transmitted from the addition instruction circuit 324f to the output data amount measurement counter 325.
- the output of the OR circuit 324i is turned ON. Also, when a blank signal indicating that there is no packet that can be output to the corresponding input queue 310 is received, the output of the OR circuit 324i is turned ON. When the output of the OR circuit 324i is turned ON, a reset instruction is transmitted from the reset instruction circuit 324h to the output data amount measurement counter 325, and a priority change instruction is transmitted to the input queue selection circuit 330.
- FIG. 8 is a diagram illustrating an example of the configuration of the input queue selection circuit 330.
- the number of input queues 310 is limited to three. It is not something.
- the pointer update circuit 331a updates the value of the highest priority pointer 332 to # 1.
- the pointer update circuit 331b updates the value of the highest priority pointer 332 to # 2.
- the pointer update circuit 331c updates the value of the highest priority pointer 332 to # 0.
- the round robin circuit 333 sets the input queue 310 corresponding to the number set in the highest priority pointer 332. Based on the priority order that is the highest priority, it is determined which of the input queues 310 that transmitted the request is selected, and the packet output signal of the corresponding input queue 310 is transmitted. When any packet output signal in the input queue 310 is turned on, the output of the OR circuit 334 is turned on. When the output of the OR circuit 334 is turned ON, the leading packet length of the input queue 310 determined by the round robin circuit 333 is selected by the selector 335 and stored in the packet length counter 336.
- the packet length stored in the packet length counter 336 is output to the selection period generation circuits 337a to 337c that generate the selection period of the input queue 310 based on the packet length.
- the selection period generation circuits 337a to 337c the one corresponding to the input queue 310 determined by the round robin circuit 333 causes the corresponding input queue 310 to be selected only during the generation period, and the head packet is selected.
- a packet output signal indicating this is transmitted to the corresponding arbitration control circuit 320.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
Abstract
データ転送装置(300)は、複数の入力キュー(310)と、入力キューごとに設けられた調停制御回路(320)と、入力キューごとに設定された優先順位に基づいて入力キューのいずれかを選択し、選択した入力キュー(310)からデータを出力させる入力キュー選択回路(330)とを備える。そして、調停制御回路(320)は、所定の上限値が記憶されるレジスタ(321)と、対応する入力キューから出力されたデータ量を計数するカウンタ(325)と、カウンタの値がレジスタに記憶されている上限値以上となった場合に、入力キュー選択回路に優先順位を更新させるとともに、カウンタの値をリセットさせる制御回路(324)とを有する。
Description
この発明は、データ転送装置、情報処理装置および制御方法に関し、特に、パケット(データ)のサイズが一律でない場合でも各送信元のスループットを同等にすることができ、かつ、いずれの送信元のパケット(データ)も選択されない状況が発生することがないデータ転送装置、情報処理装置および制御方法に関する。
CPU(Central Processing Unit)やRAM(Random Access Memory)を備えたシステムボード等の演算処理モジュールと、各種入出力装置や各種入出力インターフェースを備えた入出力モジュールとを複数備え、それらを高速なスイッチで接続して構成された情報処理装置が知られている。このような構成の情報処理装置においては、複数のモジュールがスイッチへ向けて出力するコマンドパケットやデータパケットの競合を調停する必要がある。
一般的に、パケット競合の調停(アービトレーション)は、ラウンドロビン方式で実現される。ラウンドロビン方式とは、あるモジュールから出力されたパケットが選択されたら、そのモジュールの優先順位を最下位へ下げて、他のモジュールの優先順位を上げる方式である。このラウンドロビン方式は実装が容易であるものの、出力されるパケットのサイズが一律でない場合に、各モジュールのスループットにばらつきが生じてしまうという問題がある。
すなわち、ラウンドロビン方式では、単位時間当たりに出力可能なパケット数が全てのモジュールでほぼ同一となるため、サイズの大きいパケットを多く出力するモジュールのスループットは高くなり、サイズの小さいパケットを多く出力するモジュールのスループットは相対的に低くなってしまう。この問題を解決するため、ルータ装置等の通信装置の分野では、パケットの競合を調停するために、ディフィシットラウンドロビン(DRR:Deficit Round Robin)方式やその改良方式が用いられることがある。
ディフィシットラウンドロビン方式とは、パケットの出力元毎にキューとカウンタを設け、各カウンタに所定値dを加えていき、カウンタの値とキューの先頭パケットのサイズを比較しながら選択するパケットを決定する方式である。各キューの先頭パケットは、対応するキューの値が自身のサイズよりも大きくなった時点で選択され、このとき、対応するキューの値は、選択された先頭パケットのサイズ分だけ減算される。ディフィシットラウンドロビン方式では、パケットのサイズが考慮されるため、出力されるパケットのサイズが一律でない場合であっても、各モジュールのスループットを同等にすることができる。
しかしながら、ディフィシットラウンドロビン方式には、上記の所定値dが適正値よりも小さいと、カウンタの値が先頭パケットのサイズよりも大きくなるまでに要する時間が長くなり、いずれの出力元のパケットも選択されない状況が発生するという問題があった。ルータ装置等の通信装置よりもさらに高速な動作が求められる情報処理装置においては、パケットを出力しようとしているモジュールが複数あるにも関わらず、いずれのモジュールのパケットも選択されない状況が発生することは大幅な性能低下を招くため、回避しなければならない。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、パケット(データ)のサイズが一律でない場合でも各送信元のスループットを同等にすることができ、かつ、いずれの送信元のパケット(データ)も選択されない状況が発生することがないデータ転送装置、情報処理装置および制御方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願の開示するデータ転送装置および情報処理装置は、一つの態様において、複数の入力キューと、前記入力キューごとに設けられた調停制御部と、前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備え、前記調停制御部は、所定の上限値が記憶されるレジスタと、対応する入力キューから出力されたデータ量を計数するカウンタと、前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせる制御回路とを有する。
この発明の態様によれば、まず、入力キューからデータが出力され、出力されたデータ量に基づいて調停が行われるので、データのサイズが一律でない場合でも各送信元のスループットを同等にすることができ、かつ、いずれの送信元のデータも選択されない状況が発生することを抑止できる。
なお、本願の開示するデータ転送装置および情報処理装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
本願の開示するデータ転送装置、情報処理装置および制御方法の一つの態様によれば、データのサイズが一律でない場合でも各送信元のスループットを同等にすることができ、かつ、いずれの送信元のデータも選択されない状況が発生することを抑止できるという効果を奏する。
10 システムボード(SB)
11 CPU
12 CPU制御部
13 メモリ制御部
14 RAM
15 FWH
20 IOボード(IOB)
21 IO制御部
22 PCI制御部
23 PCIインターフェース
24 ICH
31 データクロスバ
32 アドレスクロスバ
300 データ転送装置
310 入力キュー
320 調停制御回路
321 上限値設定レジスタ
322 JTAG回路またはSMBus回路
323 パケット長デコード回路
324 出力データ量測定回路
324a、324b、324d、324e AND回路
324c、324f 加算指示回路
324g 比較器
324h リセット指示回路
324i OR回路
325 出力データ量測定カウンタ
330 入力キュー選択回路
331a~331c ポインタ更新回路
332 最優先ポインタ
333 ラウンドロビン回路
334 OR回路
335 セレクタ
336 パケット長カウンタ
337a~337c 選択期間生成回路
340 セレクタ
350 出力キュー
11 CPU
12 CPU制御部
13 メモリ制御部
14 RAM
15 FWH
20 IOボード(IOB)
21 IO制御部
22 PCI制御部
23 PCIインターフェース
24 ICH
31 データクロスバ
32 アドレスクロスバ
300 データ転送装置
310 入力キュー
320 調停制御回路
321 上限値設定レジスタ
322 JTAG回路またはSMBus回路
323 パケット長デコード回路
324 出力データ量測定回路
324a、324b、324d、324e AND回路
324c、324f 加算指示回路
324g 比較器
324h リセット指示回路
324i OR回路
325 出力データ量測定カウンタ
330 入力キュー選択回路
331a~331c ポインタ更新回路
332 最優先ポインタ
333 ラウンドロビン回路
334 OR回路
335 セレクタ
336 パケット長カウンタ
337a~337c 選択期間生成回路
340 セレクタ
350 出力キュー
以下に、本願の開示するデータ転送装置、情報処理装置および制御方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
まず、本実施例に係る調停方法の概要について、従来の調停方法と比較しながら説明する。図1-1は、入力キューに格納されているデータパケットの一例を示す図である。この例は、入力キュー#0~#2に格納されたパケットがセレクタによって選択され、出力キュー#3へ出力される場面を示している。入力キュー#0~2は、それぞれ異なる出力元から出力されたパケットが一時的に格納されるキューである。
この例では、8byteのヘッダ部と24byteのデータ部とからなる32byteのデータパケットと4byteのヘッダ部と4byteのデータ部とからなる8byteのデータパケットとが混在している。入力キュー#0には、32byteのパケットAおよびBが格納されている。入力キュー#1には、8byteのパケットC~Gが格納されている。また、入力キュー#2には、8byteのパケットHおよびIと、32byteのパケットJと、8byteのパケットKが格納されている。
図9は、従来の調停方法によるデータパケットの選択例を示す図である。図1-1に示した場面において、単純なラウンドロビン方式を用いて、最優先とする入力キューを#0→#1→#2→#0→#1→#2と巡回させると、この例のように、まず、入力キュー#0のパケットAが選択され、出力キュー#3に格納される。続いて、入力キュー#1のパケットC、入力キュー#2のパケットH、入力キュー#0のパケットB、入力キュー#1のパケットD、入力キュー#2のパケットIが順に選択され、出力キュー#3に格納される。
この例では、入力キュー#0からは合計64byte分のパケットが選択されているのに対して、入力キュー#1および#2からは、同じ期間内で、合計16byte分のパケットしか選択されていない。このように、従来の調停方法においては、出力されるパケットのサイズの違いによって、単位時間当たりに選択されるデータサイズが入力キューごとに異なってしまう。
全ての入力キューにおいて単位時間当たりに選択されるデータサイズが同等になるように制御するためにディフィシットラウンドロビン方式を採用することも考えられる。しかし、その場合、設定が適切でないと、出力可能なパケットがあるにも関わらず、いずれの入力キューのパケットも選択されない状況が生じ得る。
図1-2は、本実施例に係る調停方法によるデータパケットの選択例を示す図である。本実施例に係る調停方法は、既に選択されたパケットのサイズに基づいて各入力キューの優先順位を変動させる。具体的には、本実施例に係る調停方法では、ある入力キューのパケットが選択されると、その入力キューから出力されるパケットのサイズの集計が開始され、集計値が予め設定された上限値以上となるか、その入力キューから出力可能なパケットがなくなるまで、その入力キューのパケットが選択され続ける。そして、集計値が予め設定された上限値以上となるか、出力可能なパケットがなくなると、その入力キューの優先順位が最下位へ下げられ、他の入力キューのパケットが選択されるようになる。
この方式では、各入力キューに設定する上限値を同一の値とすることにより、全ての入力キューにおいて単位時間当たりに選択されるデータサイズを同等にすることができる。また、この方式では、入力キューから出力する前のパケットのサイズに基づいて出力の開始を判定するのではなく、まず、出力可能なパケットの出力が開始され、出力したサイズに基づいて出力の停止が判断されるので、出力可能なパケットがあるにも関わらず、いずれの入力キューのパケットも選択されない状況は発生しない。
図1-2の例では、上限値として32byteが各キューに設定されている。このため、最優先とする入力キューが#0→#1→#2と一巡する間に、入力キュー#0からはパケットAが選択され、入力キュー#1からはパケットC~Fが選択され、入力キュー#2からはパケットHおよびIが選択されている。図9と図1-2を比較すれば明らかなように、本実施例に係る調停方法の方が、従来の調停方法よりも、単位時間当たりに選択されるデータサイズが均一に近くなっている。
なお、本実施例に係る調停方法では、各入力キューに設定する上限値を異なる値とすることにより、各入力キューにおいて単位時間当たりに選択されるデータサイズを意図的に変更することもできる。例えば、高スループットが必要な出力元から出力されるパケットが格納される入力キューに上限値として大きな値を設定することにより、単位時間当たりに選択されるデータ量を増やすことができる。
なお、上記の説明では、データパケットの調停について、本実施例に係る調停方法と従来の調停方法とを比較したが、本実施例に係る調停方法は、コマンドパケットの調停においても有効である。すなわち、図2-1に示すように、IOへのライトコマンドのような比較的サイズの大きいコマンドパケットと、メモリのリードコマンドのような比較的サイズの小さいコマンドパケットが混在している場合、単純なラウンドロビン方式に基づく従来の調停方法では、図10に示すように、単位時間当たりに選択されるパケットサイズが入力キューごとに異なってしまう。一方、本実施例に係る調停方法では、図2-2に示すように、単位時間当たりに選択されるパケットサイズをほぼ均一にすることができる。
次に、本実施例に係る調停方法を実行するデータ転送装置と、そのデータ転送装置を備える情報処理装置の構成について説明する。図3は、本実施例に係る情報処理装置の構成の一例を示す図である。図3に示すように、本実施例に係る情報処理装置は、複数のシステムボード(以下、「SB」と略記する)10と、複数のIOボード(以下、「IOB」と略記する)20と、データクロスバ31と、アドレスクロスバ32とを有する。
SB10は、演算処理を実行する演算処理モジュールであり、CPU11と、CPU制御部12と、メモリ制御部13と、RAM14と、FWH(FirmWare Hub)15等を有する。CPU11は、各種演算を実行する演算回路であり、CPU制御部12は、複数のCPU11のリクエストの競合を調停するとともに、CPU11のリクエストをメモリ制御部13もしくはIOB20へ振り分ける回路である。メモリ制御部13は、RAM14へのアクセスを制御する回路であり、RAM14は情報を一時的に記憶する記憶回路である。FWH15は、ファームウェアを記憶する記憶回路である。
IOB20は、メモリアクセス以外の各種入出力制御を実行する入出力モジュールであり、IO制御部21と、PCI(Peripheral Component Interconnect)制御部22と、PCIインターフェース23と、ICH(IO Controller Hub)24を有する。IO制御部21は、IOB20を全体制御する回路であり、PCI制御部22は、PCIインターフェース23に接続される各種PCIデバイスを制御する回路である。ICH24は、IOB20上に実装されたネットワークインターフェース(LAN)、画面制御装置(VGA)、シリアル入出力制御装置(SIO)、ベースボード管理装置(BMC)等を制御する回路である。
データクロスバ31およびアドレスクロスバ32は、複数のSB10および複数のIOB20を電気的に接続させる接続モジュールであり、それぞれ、高速なスイッチであるデータ転送装置300を有する。
図4は、図3に示したデータ転送装置300の構成の一例を示す図である。なお、ここでは、説明を簡単にするため、調停に関連する構成のみを図示している。また、データパケットとコマンドパケットの区別もおこなわないこととする。
図4に示すように、データ転送装置300は、入力キュー310と調停制御回路320の組合せを複数と、入力キュー選択回路330と、セレクタ340と、出力キュー350とを有する。入力キュー310は、あるモジュールから出力されたパケットが一時的に格納されるキューである。調停制御回路320は、入力キュー310ごとに設けられ、対応する入力キュー310から出力されるデータ量を監視する回路であり、上限値設定レジスタ321と、JTAG回路またはSMBus回路322と、パケット長デコード回路323と、出力データ量測定回路324と、出力データ量測定カウンタ325とを有する。
上限値設定レジスタ321は、出力するデータ量の上限値を記憶する。上限値設定レジスタ321は、入力キュー310ごとに存在するため、出力するデータ量の上限値は、入力キュー310ごとに異なった値とすることもできるし、全ての入力キュー310において同一の値とすることもできる。JTAG回路またはSMBus回路322は、上限値設定レジスタ321に対して、外部から上限値を設定するための回路である。
パケット長デコード回路323は、対応する入力キュー310の先頭パケットのサイズを取得する回路である。パケットのサイズは、パケットのヘッダ部の所定の位置を参照することにより取得することができる。
出力データ量測定回路324は、対応する入力キューの先頭パケットが選択される旨の信号を受信するたびに、パケット長デコード回路323によって取得された先頭パケットのサイズを出力データ量測定カウンタ325に加算させる。そして、加算後の出力データ量測定カウンタ325の値が、上限値設定レジスタ321の値以上となった場合には、出力データ量測定回路324は、出力データ量測定カウンタ325の値をリセットさせるとともに、入力キュー選択回路330に対して入力キューの優先順位の変更を指示する。また、出力データ量測定回路324は、対応する入力キューの先頭パケットが選択される旨の信号を受信した後に、対応する入力キューに出力可能なパケットがなくなった旨の信号を受信した場合にも、出力データ量測定カウンタ325の値をリセットさせるとともに、入力キュー選択回路330に対して入力キューの優先順位の変更を指示する。出力データ量測定カウンタ325は、出力データ量を記憶する。
入力キュー選択回路330は、優先順位に基づいていずれかの入力キュー310の先頭パケットを選択してセレクタ340へ出力させるとともに、先頭パケットを選択する旨の信号を、そのパケットが格納されている入力キューに対応する出力データ量測定回路324へ送信する。セレクタ340は、入力キュー310から出力されたパケットを出力キュー350に格納させる。出力キュー350は、パケットが一時的に格納されるキューである。
次に、図4に示したデータ転送装置300の動作について説明する。図5は、入力キュー選択回路330の動作を示すフローチャートである。図5に示すように、入力キュー選択回路330は、優先順位に従って、出力可能なパケットが格納された入力キュー310の中から選択するキューを決定する(ステップS101)。
続いて、入力キュー選択回路330は、決定した入力キュー310の先頭パケット長を取得する(ステップS102)。そして、入力キュー選択回路330は、取得したパケット長に基づいて、先頭パケットを出力させるために必要な期間を求め、決定した入力キュー310がその期間選択されるように設定する(ステップS103)。また、入力キュー選択回路330は、決定した入力キュー310の先頭パケットが出力される旨を通知する信号を、その入力キュー310に対応する出力データ量測定回路324へ送信する(ステップS104)。
また、入力キュー選択回路330は、出力データ量測定回路324から入力キューの優先順位の変更を指示された場合には(ステップS105肯定)、その出力データ量測定回路324に対応する入力キュー310の優先順位が最下位になるように優先順位を更新する(ステップS106)。入力キュー選択回路330は、以上のステップS101~S106の手順を繰り返し実行する。なお、ステップ101~S104の手順と、ステップS105~S106の手順はこの通り順次実行する必要はなく、それぞれ独立して非同期で実行することができる。
図6は、出力データ量測定回路324の動作を示すフローチャートである。同図に示すように、対応する入力キュー310の先頭パケットが選択される旨の信号を受信すると(ステップS201)、出力データ量測定回路324は、先頭パケットのパケット長を出力データ量測定カウンタ325に加算する(ステップS202)。
そして、加算後の出力データ量測定カウンタ325の値を、上限値設定レジスタ321に記憶されている上限値と比較し(ステップS203)、加算後の値が上限値以上であれば(ステップS204肯定)、出力データ量測定回路324は、出力データ量測定カウンタ325の値をリセットするとともに(ステップS205)、入力キュー選択回路330に対して、入力キューの優先順位の変更を指示する(ステップS206)。
一方、加算後の値が上限値未満の場合は(ステップS204否定)、対応する入力キューに出力可能なパケットが残っていない旨の信号が受信されれば(ステップS207肯定)、出力データ量測定回路324は、出力データ量測定カウンタ325の値をリセットするとともに(ステップS205)、入力キュー選択回路330に対して、入力キューの優先順位の変更を指示する(ステップS206)。
入力キュー選択回路330は、対応する入力キュー310の先頭パケットが選択される旨の信号を受信するたびに、上記のステップS201~S207の手順を実行する。
次に、上記の動作を実現させるための出力データ量測定回路324と入力キュー選択回路330の構成について説明する。図7は、出力データ量測定回路324の構成の一例を示す図である。なお、この例では、説明を簡単にするため、パケット長が2byteもしくは8byteであることを想定しているが、パケット長はこの2種類に限定されるものではない。
図7に示す構成においては、先頭パケットが選択される旨を通知するパケット出力信号が受信されたときに、パケット長デコード回路323から先頭パケットのサイズが2byteである旨を示す信号が送信されていると、AND回路324aの出力がONになる。そして、AND回路324aの出力がONになり、かつ、上限値設定レジスタ321に設定されている上限値と出力データ量測定カウンタ325の値を比較する比較器324gから上限値がカウンタ値以上である旨の信号が出力されていないと、AND回路324bの出力もONになる。そして、AND回路324bの出力がONになると、加算指示回路324cから増分2の加算指示が出力データ量測定カウンタ325へ送信されることになる。
また、先頭パケットが選択される旨を通知するパケット出力信号が受信されたときに、パケット長デコード回路323から先頭パケットのサイズが8byteである旨を示す信号が送信されていると、AND回路324dの出力がONになる。そして、AND回路324dの出力がONになり、かつ、比較器324gから上限値がカウンタ値以上である旨の信号が出力されていないと、AND回路324eの出力もONになる。そして、AND回路324eの出力がONになると、加算指示回路324fから増分8の加算指示が出力データ量測定カウンタ325へ送信されることになる。
また、比較器324gから上限値がカウンタ値以上である旨の信号が出力された場合には、OR回路324iの出力がONになる。また、対応する入力キュー310に出力可能なパケットがなくなった旨を示すブランク信号が受信された場合にも、OR回路324iの出力がONになる。そして、OR回路324iの出力がONになると、リセット指示回路324hからリセット指示が出力データ量測定カウンタ325へ送信されるとともに、優先順位変更指示が入力キュー選択回路330へ送信される。
図8は、入力キュー選択回路330の構成の一例を示す図である。なお、この例では、説明を簡単にするため、入力キュー310が3個あり、それぞれ#0~#2として識別されることを想定しているが、入力キュー310の数は3個に限定されるものではない。
図8に示す構成においては、#0の入力キュー310に対応する調停制御回路320から優先順位変更指示が受信されると、ポインタ更新回路331aが最優先ポインタ332の値を#1に更新する。また、#1の入力キュー310に対応する調停制御回路320から優先順位変更指示が受信されると、ポインタ更新回路331bが最優先ポインタ332の値を#2に更新する。また、#2の入力キュー310に対応する調停制御回路320から優先順位変更指示が受信されると、ポインタ更新回路331cが最優先ポインタ332の値を#0に更新する。
また、1ないし複数の入力キュー310から出力可能なパケットが存在することを示すリクエストが受信されると、ラウンドロビン回路333は、最優先ポインタ332に設定されている番号に対応する入力キュー310を最優先とする優先順位に基づいて、リクエストを送信した入力キュー310のいずれを選択するかを決定し、該当入力キュー310のパケット出力信号を送信する。入力キュー310のいずれかのパケット出力信号がONになると、OR回路334の出力がONになる。そして、OR回路334の出力がONになると、ラウンドロビン回路333によって決定された入力キュー310の先頭パケット長がセレクタ335において選択され、パケット長カウンタ336に格納される。
そして、パケット長カウンタ336に格納されたパケット長は、パケット長に基づいて入力キュー310の選択期間を生成する選択期間生成回路337a~337cに出力される。そして、選択期間生成回路337a~337cのうち、ラウンドロビン回路333によって決定された入力キュー310に対応するものが、対応する入力キュー310を生成された期間だけ選択させるとともに、先頭パケットが選択される旨を示すパケット出力信号を対応する調停制御回路320へ送信する。
Claims (12)
- 複数の入力キューと、
前記入力キューごとに設けられた調停制御部と、
前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備え、
前記調停制御部は、
所定の上限値が記憶されるレジスタと、
対応する入力キューから出力されたデータ量を計数するカウンタと、
前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせる制御回路と
を有することを特徴とするデータ転送装置。 - 前記制御回路は、さらに、対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせることを特徴とする請求項1に記載のデータ転送装置。
- 前記入力キュー選択部は、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知し、
前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記カウンタに計数を開始させることを特徴とする請求項1に記載のデータ転送装置。 - 前記調停制御部は、対応する入力キューの先頭に格納されているデータのデータ長を取得するデータ長取得部をさらに備え、
前記カウンタは、前記データ長取得部によって取得されたデータ長を加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項1に記載のデータ転送装置。 - 複数の入力キューと、
前記入力キューごとに設けられた調停制御部と、
前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備え、
前記調停制御部は、
所定の上限値が記憶されるレジスタと、
対応する入力キューから出力されたデータ量を計数するカウンタと、
前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせる制御回路と
を有することを特徴とする情報処理装置。 - 前記制御回路は、さらに、対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせることを特徴とする請求項5に記載の情報処理装置。
- 前記入力キュー選択部は、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知し、
前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記カウンタに計数を開始させることを特徴とする請求項5に記載の情報処理装置。 - 前記調停制御部は、対応する入力キューの先頭に格納されているデータのデータ長を取得するデータ長取得部をさらに備え、
前記カウンタは、前記データ長取得部によって取得されたデータ長を加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項5に記載の情報処理装置。 - 複数の入力キューと、
前記入力キューごとに設けられた調停制御部と、
前記入力キューごとに設定された優先順位に基づいて前記入力キューのいずれかを選択し、選択した入力キューからデータを出力させる入力キュー選択部とを備える情報処理装置における制御方法であって、
前記調停制御部が、対応する入力キューから出力されたデータ量をカウンタに記憶させるステップと、
前記カウンタの値が前記レジスタに記憶されている上限値以上となった場合に、前記調停制御部が、前記入力キュー選択部に前記優先順位を更新させるとともに、前記カウンタの値をリセットさせるステップと
を含むことを特徴とする制御方法。 - 対応する入力キューから出力されるデータがなくなった場合に、前記入力キュー選択部に前記優先順位を更新させるとともに、前記制御回路が、前記カウンタの値をリセットさせるステップをさらに含むことを特徴とする請求項9に記載の制御方法。
- 前記入力キュー選択部が、前記入力キューのいずれかを選択した場合に、選択した入力キューに対応する前記調停制御部へその旨を通知するステップをさらに含み、
前記調停制御部は、前記入力キュー選択部からの通知を契機として、前記データ量をカウンタに記憶させるステップを開始させることを特徴とする請求項9に記載の制御方法。 - 前記調停制御部が、対応する入力キューの先頭に格納されているデータのデータ長を取得するステップをさらに含み、
前記調停制御部は、前記データ長を取得するステップによって取得されたデータ長を前記カウンタに加算していくことにより、対応する入力キューから出力されたデータ量を計数することを特徴とする請求項9に記載の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010515700A JP5018964B2 (ja) | 2008-06-03 | 2008-06-03 | データ転送装置、情報処理装置および制御方法 |
EP08765039A EP2290552A4 (en) | 2008-06-03 | 2008-06-03 | DATA TRANSFER DEVICE, INFORMATION PROCESSING DEVICE AND CONTROL PROCEDURE |
PCT/JP2008/060226 WO2009147731A1 (ja) | 2008-06-03 | 2008-06-03 | データ転送装置、情報処理装置および制御方法 |
US12/926,492 US20110069717A1 (en) | 2008-06-03 | 2010-11-22 | Data transfer device, information processing apparatus, and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/060226 WO2009147731A1 (ja) | 2008-06-03 | 2008-06-03 | データ転送装置、情報処理装置および制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/926,492 Continuation US20110069717A1 (en) | 2008-06-03 | 2010-11-22 | Data transfer device, information processing apparatus, and control method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009147731A1 true WO2009147731A1 (ja) | 2009-12-10 |
Family
ID=41397823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/060226 WO2009147731A1 (ja) | 2008-06-03 | 2008-06-03 | データ転送装置、情報処理装置および制御方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110069717A1 (ja) |
EP (1) | EP2290552A4 (ja) |
JP (1) | JP5018964B2 (ja) |
WO (1) | WO2009147731A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170515A (ja) * | 2010-02-17 | 2011-09-01 | Kyocera Mita Corp | メモリマスタデバイス |
US20130163608A1 (en) * | 2011-12-27 | 2013-06-27 | Fujitsu Limited | Communication control device, parallel computer system, and communication control method |
JP2017050017A (ja) * | 2016-11-04 | 2017-03-09 | 株式会社東芝 | 外部入出力装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8325723B1 (en) * | 2010-02-25 | 2012-12-04 | Integrated Device Technology, Inc. | Method and apparatus for dynamic traffic management with packet classification |
US8514700B2 (en) * | 2010-10-29 | 2013-08-20 | Alcatel Lucent | MLPPP occupancy based round robin |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000035954A (ja) * | 1998-05-14 | 2000-02-02 | Sony Corp | マルチプロセッサおよびそのバス調停方法 |
JP2001217868A (ja) | 2000-02-04 | 2001-08-10 | Nippon Telegr & Teleph Corp <Ntt> | パケットスケジュール回路 |
JP2001223740A (ja) | 2000-02-09 | 2001-08-17 | Nippon Telegr & Teleph Corp <Ntt> | 競合制御方法及び装置 |
JP2001345839A (ja) * | 2000-05-30 | 2001-12-14 | Mitsubishi Electric Corp | フレームリレー伝送装置及びフレームリレー伝送方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2426501A (en) * | 1999-12-02 | 2001-06-12 | Lightning Rod Software, Inc. | System with multi-media real-time queue monitor |
EP1249972A1 (en) * | 2001-04-09 | 2002-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Method of controlling a queue buffer |
US20030065809A1 (en) * | 2001-10-03 | 2003-04-03 | Adc Telecommunications, Inc. | Scheduling downstream transmissions |
JPWO2003103234A1 (ja) * | 2002-05-30 | 2005-10-06 | 松下電器産業株式会社 | パケット転送回路及びパケット転送方法 |
US7522622B2 (en) * | 2005-02-18 | 2009-04-21 | Broadcom Corporation | Dynamic color threshold in a queue |
US20070118677A1 (en) * | 2005-05-13 | 2007-05-24 | Freescale Semiconductor Incorporated | Packet switch having a crossbar switch that connects multiport receiving and transmitting elements |
US20070174529A1 (en) * | 2005-12-29 | 2007-07-26 | Intel Corporation | Queue manager having a multi-level arbitrator |
-
2008
- 2008-06-03 EP EP08765039A patent/EP2290552A4/en not_active Withdrawn
- 2008-06-03 WO PCT/JP2008/060226 patent/WO2009147731A1/ja active Application Filing
- 2008-06-03 JP JP2010515700A patent/JP5018964B2/ja not_active Expired - Fee Related
-
2010
- 2010-11-22 US US12/926,492 patent/US20110069717A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000035954A (ja) * | 1998-05-14 | 2000-02-02 | Sony Corp | マルチプロセッサおよびそのバス調停方法 |
JP2001217868A (ja) | 2000-02-04 | 2001-08-10 | Nippon Telegr & Teleph Corp <Ntt> | パケットスケジュール回路 |
JP2001223740A (ja) | 2000-02-09 | 2001-08-17 | Nippon Telegr & Teleph Corp <Ntt> | 競合制御方法及び装置 |
JP2001345839A (ja) * | 2000-05-30 | 2001-12-14 | Mitsubishi Electric Corp | フレームリレー伝送装置及びフレームリレー伝送方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2290552A4 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170515A (ja) * | 2010-02-17 | 2011-09-01 | Kyocera Mita Corp | メモリマスタデバイス |
US20130163608A1 (en) * | 2011-12-27 | 2013-06-27 | Fujitsu Limited | Communication control device, parallel computer system, and communication control method |
US9001841B2 (en) * | 2011-12-27 | 2015-04-07 | Fujitsu Limited | Communication control device, parallel computer system, and communication control method |
JP2017050017A (ja) * | 2016-11-04 | 2017-03-09 | 株式会社東芝 | 外部入出力装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2290552A1 (en) | 2011-03-02 |
JP5018964B2 (ja) | 2012-09-05 |
JPWO2009147731A1 (ja) | 2011-10-20 |
US20110069717A1 (en) | 2011-03-24 |
EP2290552A4 (en) | 2012-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6570403B2 (en) | Quantized queue length arbiter | |
US7768907B2 (en) | System and method for improved Ethernet load balancing | |
JP5270077B2 (ja) | 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置 | |
JP5018964B2 (ja) | データ転送装置、情報処理装置および制御方法 | |
US8234428B2 (en) | Arbitration device that arbitrates conflicts caused in data transfers | |
JP2011150397A (ja) | バス調停装置 | |
JP4999925B2 (ja) | 調停を実行する方法及び装置 | |
WO2007099613A1 (ja) | コマンド選択方法、装置、コマンド投入方法、及び装置 | |
US10534563B2 (en) | Method and system for handling an asynchronous event request command in a solid-state drive | |
US8116311B1 (en) | Method and system for tag arbitration in switches | |
JP5443586B2 (ja) | 回路構成におけるデータ交換を制御するための回路構成、および方法 | |
US9223731B2 (en) | Arbitration circuit and control method thereof | |
US20090304017A1 (en) | Apparatus and method for high-speed packet routing system | |
US20110029706A1 (en) | Electronic device and method for controlling an electronic device | |
JP2008046771A (ja) | ダイレクトメモリアクセスコントローラ | |
US8174969B1 (en) | Congestion management for a packet switch | |
US20050027906A1 (en) | System and method for adaptive buffer allocation in a memory device interface | |
US7298698B1 (en) | Method and apparatus for statistically controlling priority between queues | |
CN111078598B (zh) | 存储模块数据访问控制方法、数据访问装置和芯片 | |
US9985828B2 (en) | System and method for enhancing server media throughput in mismatched networks | |
JP6786835B2 (ja) | 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム | |
JP2005303787A (ja) | パケット生成装置 | |
WO2020230413A1 (ja) | 情報処理装置 | |
US7979766B2 (en) | Architecture for a message bus | |
US8769164B2 (en) | Methods and apparatus for allocating bandwidth for a network processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08765039 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010515700 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008765039 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |