WO2010113262A1 - 調停方法、調停回路、及び調停回路を備えた装置 - Google Patents

調停方法、調停回路、及び調停回路を備えた装置 Download PDF

Info

Publication number
WO2010113262A1
WO2010113262A1 PCT/JP2009/056671 JP2009056671W WO2010113262A1 WO 2010113262 A1 WO2010113262 A1 WO 2010113262A1 JP 2009056671 W JP2009056671 W JP 2009056671W WO 2010113262 A1 WO2010113262 A1 WO 2010113262A1
Authority
WO
WIPO (PCT)
Prior art keywords
arbitration
algorithm
circuit
arbitrary
input port
Prior art date
Application number
PCT/JP2009/056671
Other languages
English (en)
French (fr)
Inventor
誠 畑井田
俊和 植木
貴行 木下
義和 岩見
秀和 小佐野
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2009/056671 priority Critical patent/WO2010113262A1/ja
Priority to EP09842617A priority patent/EP2416254A4/en
Priority to JP2011506887A priority patent/JP5304888B2/ja
Publication of WO2010113262A1 publication Critical patent/WO2010113262A1/ja
Priority to US13/137,846 priority patent/US8837505B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Definitions

  • the present invention relates to an arbitration method, an arbitration circuit, and an apparatus including an arbitration circuit, and more particularly to an arbitration method, an arbitration circuit, and an apparatus including an arbitration circuit suitable for a parallel computer or the like.
  • FIG. 1 is a block diagram showing an example of a parallel computer.
  • the parallel computer 1 has a plurality of system boards (SB: System board) 12, a crossbar switch 14, and a plurality of input / output boards (IOB: Input Output Board) 15 connected as shown in FIG.
  • Each SB 12 includes a plurality of central processing units (CPUs) 11 and a plurality of memories 13.
  • Each IOB 15 has a plurality of input units and a plurality of output units (or input / output interfaces).
  • the crossbar switch 14 includes an input port AI and an output port AO connected to one SB 12, an input port BI and an output port BO connected to the other SB 12, and an input port CI and an output port CI connected to one IOB 15. And an input port DI and an output port DO connected to the other IOB 15.
  • the crossbar switch 14 has a plurality of input ports and a plurality of output ports as described above, and routing (route control) for transferring a packet as data from an arbitrary node such as the SB 12 or the IOB 15 to another node. I do.
  • the crossbar switch 14 has a configuration having a plurality of virtual channels for one port.
  • the crossbar switch 14 physically has a plurality of ports, and each port logically has a plurality of channels (that is, virtual channels). Only channels can be selected.
  • FIG. 2 is a diagram showing such an ideal arbitration circuit.
  • the arbitration circuit 17 includes channels C0 and C1 input from the input port AI, channels C0 and C1 input from the input port BI, channels C0 and C1 input from the input port CI, and input port DI.
  • An arbitration process is performed on the inputs of the channels C0 and C1, and a routing request (path control request) from one input port is output to an arbitrary output port based on the result of the arbitration process.
  • FIG. 3 is a diagram illustrating an example of an arbitration circuit.
  • the queue arbitration circuit 18-1 selects a packet from the queues AQ, BQ, CQ, DQ for each input port AI, BI, CI, DI, and the interport arbitration circuit 18-2 has a plurality of inputs.
  • One port is selected from the ports AI, BI, CI, and DI.
  • the queues AQ, BQ, CQ, and DQ are held in corresponding buffers (not shown) in the crossbar switch 14, and the blocks of the queues AQ, BQ, CQ, and DQ correspond to these buffers in FIG. .
  • the arbitration circuit 18 has a two-stage configuration including two types of arbitration circuits 18-1 and 18-2.
  • FIG. 4 is a diagram showing the configuration of the queue arbitration circuit 18-1.
  • an arbitration algorithm is used that results in equal arbitration for a collection of queues for each channel C0, C1.
  • FIG. 4 shows a case where an LRU (Least Recently Used) algorithm is used as an arbitration algorithm.
  • the selector 181 selectively outputs one of the queues of the channels C0 and C1 according to the calculation result obtained by the LRU algorithm unit 180 based on the LRU algorithm.
  • a queue arbitration circuit such as an LRU is used for a queue collection for each of the input ports AI, BI, CI, and DI instead of a collection of queues for each of the channels C0 and C1.
  • Arbitration is performed using the same arbitration algorithm as in 18-1.
  • the path control request (routing request) from the queue arbitration circuit 18-1 is not employed for a long time in the interport arbitration circuit 18-1 due to resource depletion or the like, deadlock is prevented. Therefore, retry control is performed such that the above request is once canceled and another request is reissued.
  • the queue arbitration circuit 18-1 is directed to the interport arbitration circuit 18-2 when looking at a certain packet.
  • a queue that is not output is generated, and such a state is called a live lock.
  • the time division algorithm is used instead of the LRU algorithm for the arbitration algorithm, the arbitration time becomes long even if the live block can be prevented, and the performance of the parallel computer 1 is degraded.
  • an object of the present invention is to provide an arbitration method, an arbitration circuit, and a device including the arbitration circuit that can prevent livelock by suppressing an increase in arbitration time.
  • each logically having a plurality of virtual channels physically transfers data from a plurality of input ports to any one of the plurality of output ports.
  • first arbitration processing is performed according to an arbitrary arbitration algorithm other than the time division algorithm.
  • second arbitration process for performing arbitration between the plurality of input ports according to the arbitrary arbitration algorithm, and an arbitration algorithm used in the first and second arbitration processes for a certain period in response to a trigger as a time-sharing algorithm.
  • each logically having a plurality of virtual channels physically transfers data from a plurality of input ports to any one of the plurality of output ports.
  • a first arbitration circuit that performs arbitration between channels of each input port according to any arbitration algorithm other than the time division algorithm
  • a second arbitration circuit that performs arbitration between the plurality of input ports according to the arbitrary arbitration algorithm, and an arbitration algorithm that is used in the first and second arbitration processes for a certain period in response to a trigger as a time-sharing algorithm
  • An arbitration circuit comprising an arbitration switching circuit for switching is provided.
  • only one channel can be selected with one input port, and a first arbitration circuit that performs arbitration between channels of each input port according to an arbitrary arbitration algorithm other than the time division algorithm, and between the plurality of input ports
  • a second arbitration circuit that performs the arbitration in accordance with the arbitrary arbitration algorithm, and the first and second arbitration processes for a certain period in response to a trigger.
  • Arbitration algorithm device including an arbitration switching circuit for switching time division algorithm is provided that.
  • arbitration circuit According to the disclosed arbitration method, arbitration circuit, and apparatus equipped with an arbitration circuit, it is possible to prevent an increase in arbitration time and prevent livelock.
  • each logically having a plurality of virtual channels physically receives data from a plurality of input ports in a plurality of output ports.
  • routing routing control
  • only one channel can be selected with one input port at any point in time, and between the channels of each input port by the first arbitration process Is arbitrated according to an arbitrary arbitration algorithm other than the time division algorithm, and arbitration between a plurality of input ports is performed according to the arbitrary arbitration algorithm by the second arbitration process.
  • the arbitration algorithm used in the first and second arbitration processes for a certain period is switched to the time division algorithm.
  • FIG. 5 is a diagram illustrating an example of an arbitration circuit in the first embodiment. Assume that the arbitration circuit 28 shown in FIG. 5 is provided, for example, in the crossbar switch 14 of the parallel computer 1 shown in FIG. In FIG. 5, the same parts as those in FIG.
  • the arbitration circuit 28 shown in FIG. 5 includes a queue arbitration circuit 28-1, a port arbitration circuit 28-2, and an arbitration switching circuit 30.
  • the queue arbitration circuit 28-1 selects a packet as data from the queues AQ, BQ, CQ, DQ for each input port AI, BI, CI, DI, and the inter-port arbitration circuit 28-2 has a plurality of input ports. One port is selected from AI, BI, CI, and DI.
  • the arbitration circuit 28 has a two-stage configuration including two types of arbitration circuits 28-1 and 28-2.
  • the queue arbitration circuit 28-1 performs queue arbitration based on the first or second arbitration algorithm instructed by the arbitration switching circuit 30.
  • the port arbitration circuit 28-2 performs port arbitration based on the first or second arbitration algorithm instructed by the arbitration switching circuit 30.
  • the arbitration switching circuit 30 monitors the retry frequency at each input port AI, BI, CI, DI, and when the retry frequency reaches a threshold value, the arbitration algorithm of the arbitration circuits 28-1, 28-2 is changed to the first arbitration algorithm. Outputs an instruction to switch to the second arbitration algorithm.
  • the arbitration switching circuit 30 supplies the arbitration switching signal ARB_EN and the selection signal ARB_SEL1 instructing the arbitration algorithm to the queue arbitration circuit 28-1, and selects the arbitration switching signal ARB_EN and the arbitration algorithm in the port arbitration circuit 28-2. Supply.
  • the arbitration switching circuit 30 When the retry frequency of each input port AI, BI, CI, DI reaches a threshold value, the arbitration switching circuit 30 asserts an arbitration switching signal ARB_EN that permits switching of the arbitration algorithm, thereby adjusting the arbitration circuits 28-1, 28-2. Is switched to the arbitration algorithm indicated by the selection signals ARB_SEL1 and ARB_SEL2.
  • the first and second arbitration algorithms are different from each other.
  • the first arbitration algorithm is an LRU algorithm
  • the second arbitration algorithm is a time-sharing algorithm.
  • the first arbitration algorithm is not limited to the LRU algorithm, and it goes without saying that, for example, a round robin algorithm that performs selection by round robin, a fixed priority algorithm that performs selection by a fixed priority order, or the like may be used. .
  • FIG. 6 is a diagram showing a configuration of the arbitration switching circuit 30.
  • the arbitration switching circuit 30 includes a free-run counter 31, a frequency monitoring counter 32, OR circuits 33 and 34, a fixed time measurement counter 35, and a decoder 36 connected as shown in FIG.
  • the counters 31, 32, and 35 are a 10-bit counter, a 4-bit counter, and a 10-bit counter, respectively.
  • a clear signal from the free run counter 31 is input to the clear terminal clr of the frequency monitor counter 32 and the frequency monitor counter 32 is cleared.
  • the retry instruction for each input port AI, BI, CI, DI is input to the count-up terminal “up” of the frequency monitoring counter 32 via the OR circuit 33, and the frequency management counter 32 corresponds to each input port AI, BI, CI, DI. Count the number of retry instructions.
  • the frequency monitoring counter 32 When the counted retry instruction frequency reaches a certain threshold value (for example, 15 times / 1024 cycles), the frequency monitoring counter 32 inputs a signal to the count-up terminal up of the fixed time measurement counter 35 via the OR circuit 34 and returns to the fixed time. The count of the measurement counter 35 is started. While the fixed time measurement counter 35 counts the fixed time (that is, until the count value exceeds the fixed value), the arbitration switching signal ARB_EN to be output is asserted. During the period when the arbitration switching signal ARB_EN is asserted, the arbitration algorithm is switched from the LRU algorithm to the time division algorithm.
  • a certain threshold value for example, 15 times / 1024 cycles
  • the arbitration switching signal ARB_EN is fed back to the OR circuit 34.
  • the arbitration switching signal ARB_EN is input to the decoder 36, and the decoder 36 outputs selection signals ARB_SEL1 and ARB_SEL2.
  • FIG. 7 is a diagram showing the configuration of the queue arbitration circuit 28-1. Since the port arbitration circuit 28-2 can be realized by a circuit having the same configuration as the queue arbitration circuit 28-1, illustration and description of the configuration of the port arbitration circuit 28-2 are omitted. However, when the arbitration circuit of FIG. 7 is used as the port arbitration circuit 28-2, it goes without saying that the selection signal ARB_SEL2 is input instead of the selection signal ARB_SEL1.
  • the queue arbitration circuit 28-1 includes an LRU algorithm unit 281, selectors 282 and 283, AND circuits 284 and 285, an OR circuit 286, and a counter 287, which are connected as shown in FIG.
  • the selector 282 receives a signal according to the LRU algorithm unit 281 and the selection signal ARB_SEL1, and an output is selected by the arbitration switching signal ARB_EN.
  • the queue AQ in the input port AI is input to the selector 283, and the output is selected by the output signal of the selector 282.
  • the AND circuits 284 and 285 receive the output signal of the selector 283 and the output port busy signal.
  • a routing request (route control request) is output from the AND circuit 284.
  • the stall signal is output from the AND circuit 285 and input to the OR circuit 286 and the count up terminal up of the counter 287.
  • the output signal of the counter 287 is input to the LRU algorithm unit 281 and the OR circuit 286, and in this case, input to the arbitration switching circuit 30 as a retry instruction for the input port AI. Since the output signal of the OR circuit 286 is input to the clear terminal clr of the counter 287, the counter 287 is cleared when the count value of the counter 287 reaches a certain value.
  • the counter 287 is a 4-bit counter, for example.
  • the queue arbitration circuit 28-1 normally performs arbitration according to the LRU algorithm by the LRU algorithm unit 281. However, the queue arbitration circuit 28-1 is switched to arbitration according to the time division algorithm by the asserted arbitration switching signal ARB_EN signal. When the arbitration switching signal ARB_EN is deasserted after a predetermined time, the arbitration algorithm is returned from the time division algorithm to the LRU algorithm.
  • the crossbar switch 14 physically has a plurality of ports, and each port logically has a plurality of channels (that is, virtual channels), but at any one time, only one channel per port. Selectable.
  • FIG. 8 is a diagram illustrating an example of the state of the queue AQ of the input port AI.
  • FIG. 9 is a diagram illustrating an arbitration result for each clock based on the LRU algorithm
  • FIG. 10 is a diagram illustrating an arbitration result for each clock based on the time division algorithm. 9 and 10 show an output port busy signal of the output port DO, the presence / absence of a retry instruction, the input ports AI, BI, CI, and the arbitration result as an example.
  • the output port busy signal indicates that the output port is busy when “1”.
  • the presence / absence of a retry instruction indicates that there is a retry instruction when “1”.
  • A1x and A2x are packets on the side of the channels C0 and C1 at the input port AI
  • B1x and B2x are virtual channel C0 and C1 side packets at the input port BI
  • C1x and C2x are channels C0 and C1 at the input port CI.
  • Side packet
  • the packet A10, A11, A12 on the channel C0 side and the packets A20, A21, A22 on the channel C1 side for the output port DO are all stored in the queue AQ of the input port AI.
  • the packets A20, A21, A22 on the channel C1 side for the output port DO are all stored in the queue AQ of the input port AI.
  • FIG. 8 shows only the input port AI, it goes without saying that the following arbitration is performed for the input ports BI and CI.
  • FIG. 9 shows arbitration in units of cycles.
  • the output port busy signal is “1” and the output port DO is busy
  • the output port DO cannot perform arbitration because the resource is busy.
  • the routing request of each input port AI, BI, CI is once canceled and then arbitrated again. Therefore, the canceled packet has the lowest order according to the LRU algorithm.
  • the output port DO is constantly resource busy and falls into a state where only one packet can be arbitrated at regular intervals.
  • the performance of the parallel computer 1 is reduced simply by performing arbitration using only the time-sharing algorithm, but the arbitration algorithm is switched from the LRU algorithm to the time-sharing algorithm only when there is a concern that the computer has fallen into a live block. Thus, it is possible to prevent live blocks while suppressing a decrease in performance of the parallel computer 1.
  • the arbitration algorithm is switched as a trigger when the frequency of the retry instruction reaches the threshold value, but it goes without saying that the arbitration algorithm may be switched other than the frequency of the retry instruction.
  • FIG. 11 is a diagram illustrating an example of an arbitration circuit in the second embodiment. Assume that the arbitration circuit 28A shown in FIG. 11 is provided in the crossbar switch 14 of the parallel computer 1 shown in FIG. 1, for example. In FIG. 11, the same parts as those in FIG.
  • This embodiment is different from the first embodiment in that lock information for each input port AI, BI, CI, DI is supplied from the corresponding queue arbitration circuit 28-1A to the arbitration switching circuit 30A.
  • FIG. 12 is a diagram showing a configuration of the queue arbitration circuit 28-1A.
  • the AND circuits 301 and 302 receive the output signal of the selector 282, the output port busy signal, and the packet A1x (routing request) on the channel C0 side at the input port AI.
  • Each AND circuit 311, 312 receives an output signal of the selector 282, an output port busy signal, and a packet A 2 x (routing request) on the channel C 1 side at the input port AI.
  • the counter 303 is a 4-bit counter, for example.
  • the output signal of the counter 303 is output to the arbitration switching circuit 30A as a port A1 lock signal for locking the packet A1x on the channel C0 side at the input port AI, and is fed back to the OR circuit 304.
  • the output signal (port A1 lock signal) of the counter 303 indicates that the packet A1x on the channel C0 side in the input port AI is deadlocked.
  • the counter 313 is a 4-bit counter, for example.
  • the output signal of the counter 313 is output to the arbitration switching circuit 30A as a port A2 lock signal for locking the packet A2x on the channel C1 side at the input port AI and also fed back to the OR circuit 314.
  • the output signal (port A2 lock signal) of the counter 313 indicates that the packet A2x on the channel C1 side in the input port AI is in a deadlocked state.
  • FIG. 13 is a diagram illustrating a configuration of the arbitration switching circuit 30A.
  • the same parts as those in FIG. 13 are identical to FIG. 13 in FIG. 13, the same parts as those in FIG. 13 in FIG. 13, the same parts as those in FIG. 13
  • the arbitration switching circuit 30A includes OR circuits 330 and 34, a fixed time measurement counter 35, and a decoder 36.
  • the OR circuit 330 includes lock information detected by each queue arbitration circuit 28-1A, that is, port A1, A2 lock signal for the input port AI, port B1, B2 lock signal for the input port BI, and port C1 for the input port CI. , C2 lock signal and port D1, D2 lock signal for the input port DI.
  • the output signal of the OR circuit 330 is supplied to one input of the OR circuit 34.
  • an arbitration switching signal that is output while the fixed time measurement counter 35 counts a fixed time (that is, until the count value exceeds a fixed value). Assert ARB_EN. During the period when the arbitration switching signal ARB_EN is asserted, the arbitration algorithm is switched from the LRU algorithm to the time division algorithm. When the fixed time measurement counter 35 counts the fixed time (when the count value exceeds the fixed value), the count value becomes 0 and the arbitration switching signal ARB_EN is deasserted, so that the arbitration algorithm is returned to the original LRU algorithm.
  • switching of the arbitration algorithm can be performed using a deadlock in at least one input port as a trigger.
  • FIG. 14 is a diagram illustrating an example of an arbitration circuit in the third embodiment. Assume that the arbitration circuit 28B shown in FIG. 14 is provided in the crossbar switch 14 of the parallel computer 1 shown in FIG. 1, for example. In FIG. 14, the same parts as those in FIG.
  • empty signals EMPTY_A, EMPTY_B, EMPTY_C, and EMPTY_D indicating that the queues AQ, BQ, CQ, and DQ of the input ports AI, BI, CI, and DI are emptied are supplied from the buffer to the arbitration switching circuit 30B.
  • the inhibit signal INH that suppresses the input of packets is supplied to the input ports AI, BI, CI, and DI. Different from one embodiment.
  • FIG. 15 is a diagram showing a configuration of the arbitration switching circuit 30B. 15, the same parts as those in FIG. 6 are denoted by the same reference numerals, and the description thereof is omitted.
  • the AND circuit 401 receives empty signals EMPTY_A, EMPTY_B, EMPTY_C, and EMPTY_D indicating that the queues AQ, BQ, CQ, and DQ of the input ports AI, BI, CI, and DI are empty. Is done.
  • the output signal of the AND circuit 401 is input to the clear terminal clr of the fixed time measurement counter 35.
  • the empty signals EMPTY_A, EMPTY_B, EMPTY_C, and EMPTY_D from the queues AQ, BQ, CQ, and DQ are all asserted, the count value of the fixed time measurement counter 35 is before the measurement of the fixed time is finished. Is also cleared to zero.
  • the arbitration switching signal ARB_EN output from the fixed time measurement counter 35 is input to the input ports AI, BI, CI, and DI as the inhibit signal INH via the buffer 402.
  • the arbitration switching signal ARB_EN is asserted, the asserted inhibit signal INH is supplied to each input port AI, BI, CI, DI, so that the input port AI, BI, CI, DI is supplied to each input port AI, BI, CI, DI. Packet injection is suppressed.
  • the arbitration switching signal ARB_EN is asserted, the arbitration algorithm is switched from the LRU algorithm to the time division algorithm, but all the queues AQ, BQ, CQ, DQ of the input ports AI, BI, CI, DI are all.
  • switching of the arbitration algorithm is triggered by the fact that the frequency of retry instructions has reached the threshold value, and that all the packets in each queue QA, QB, QC, QD are empty.
  • the original arbitration algorithm can be restored as a trigger.
  • the disclosed arbitration method, arbitration circuit, and device including the arbitration circuit can be applied to various devices that require arbitration processing, such as a crossbar switch and a parallel computer having a crossbar switch.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

 調停方法は、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停処理と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停処理を含む。前記第1及び第2の調停処理で用いる調停アルゴリズムは、トリガに応答して一定期間時分割アルゴリズムに切り替える。

Description

調停方法、調停回路、及び調停回路を備えた装置
 本発明は、調停方法、調停回路、及び調停回路を備えた装置に係り、特に並列計算機等に適した調停方法、調停回路、及び調停回路を備えた装置に関する。
 図1は、並列計算機の一例を示すブロック図である。並列計算機1は、図1に示す如く接続された複数のシステムボード(SB:System board)12、クロスバースイッチ14、及び複数の入出力ボード(IOB:Input Output Board)15を有する。各SB12は、複数の中央処理装置(CPU:Central Processing Unit)11及び複数のメモリ13を有する。各IOB15は、複数の入力部及び複数の出力部(又は、入出力インタフェース)を有する。クロスバースイッチ14は、一方のSB12と接続される入力ポートAI及び出力ポートAO、他方のSB12と接続される入力ポートBI及び出力ポートBO、一方のIOB15と接続される入力ポートCI及び出力ポートCI、及び他方のIOB15と接続される入力ポートDI及び出力ポートDOを有する。
 クロスバースイッチ14は、上記の如き複数の入力ポート及び複数の出力ポートを有し、SB12やIOB15等の任意のノードからのデータとしてのパケットを他のノードへ転送するためのルーティング(経路制御)を行う。デッドロックを避けるために、クロスバースイッチ14は1つのポートについて複数の仮想的なチャネルを持つ構成を有する。つまり、クロスバースイッチ14は物理的には複数のポートを有し、各ポートは論理的には複数のチャネル(即ち、仮想的なチャネル)を有するが、任意の時点では1つのポートで1つのチャネルのみ選択可能である。
 クロスバースイッチ14において、複数のポート及び複数のチャネルからのパケットを調停する調停回路は、全てのポート及び全てのチャネルを平等に扱うことが理想的である。図2は、このような理想的な調停回路を示す図である。図2において、調停回路17は、入力ポートAIからのチャネルC0,C1の入力、入力ポートBIからのチャネルC0,C1の入力、入力ポートCIからのチャネルC0,C1の入力、及び入力ポートDIからのチャネルC0,C1の入力に対して調停処理を行い、調停処理の結果に基づいて1つの入力ポートからのルーティング要求(経路制御要求)を任意の出力ポートへ出力する。
 しかし、実際の回路設計では、図2のような構成を有する調停回路17を作成することは物理的に難しく、信号遅延を考慮した設計とすることも難しい。このため、図3のような2段構成の調停回路が提案されている。
 図3は、調停回路の一例を示す図である。図3において、キュー調停回路18-1は、各入力ポートAI,BI,CI,DI毎のキューAQ,BQ,CQ,DQからパケットを選択し、ポート間調停回路18-2は、複数の入力ポートAI,BI,CI,DIから1つのポートを選択する。キューAQ,BQ,CQ,DQは、クロスバースイッチ14内の対応するバッファ(図示せず)に保持されており、図3ではキューAQ,BQ,CQ,DQのブロックがこれらのバッファに相当する。このように、調停回路18は、2種類の調停回路18-1,18-2を有する2段構成である。
 図4は、キュー調停回路18-1の構成を示す図である。図4に示すように、各チャネルC0,C1毎のキューの集まりに対して、平等な調停となるような調停アルゴリズムが用いられる。図4は、調停アルゴリズムとしてLRU(Least Recently Used)アルゴリズムが用いられる場合を示す。これにより、セレクタ181は、LRUアルゴリズム部180がLRUアルゴリズムに基づいて求めた演算結果に応じてチャネルC0,C1のうち一方のキューを選択出力する。
 ポート間調停回路18-2の図示は省略するが、チャネルC0,C1毎のキューの集まりの代わりに、入力ポートAI,BI,CI,DI毎のキューの集まりに対してLRU等のキュー調停回路18-1と同じ調停アルゴリズムを用いて調停を行う。資源枯渇等のために、ポート間調停回路18-1においてキュー調停回路18-1からの経路制御要求(ルーティングリクエスト)が長時間採用されずにストール状態が続く場合には、デッドロックを防止するために一旦上記要求をキャンセルして別の要求を出し直すようなリトライ制御を行う。
 上記の如き調停回路18は、全体としては平等に調停を行っているように見えるが、あるパケットに着目して見たときに、キュー調停回路18-1からポート間調停回路18-2へ一向に出力されない状態のキューが発生する可能性があり、このような状態をライブロックと言う。しかし、調停アルゴリズムにLRUアルゴリズムではなく時分割アルゴリズムを用いたのでは、ライブロックは防止できても、調停時間が長くなり、並列計算機1の性能を低下させてしまう。
特開2001-22711号公報
 従来の調停方法では、ライブロックを防止しようとすると調停時間が長くなってしまうという問題があり、その結果並列計算機の性能を低下させてしまうという問題もあった。
 そこで、本発明は、調停時間の増加を抑制してライブロックを防止することのできる調停方法、調停回路、及び調停回路を備えた装置を提供することを目的とする。
 本発明の一観点によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停処理と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停処理と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える処理を含む調停方法が提供される。
 本発明の一観点によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた調停回路が提供される。
 本発明の一観点によれば、複数のプロセッサ及びメモリを有するシステムと、複数の入出力インタフェースを有する入出力システムを接続する装置であって、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートと、複数の出力ポートと、前記複数の入力ポートからのデータを前記複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた装置が提供される。
 開示の調停方法、調停回路、及び調停回路を備えた装置によれば、調停時間の増加を抑制してライブロックを防止することが可能となる。
並列計算機の一例を示すブロック図である。 理想的な調停回路を示す図である。 調停回路の一例を示す図である。 キュー調停回路の構成を示す図である。 第1実施例における調停回路の一例を示す図である。 調停切替回路の構成を示す図である。 キュー調停回路の構成を示す図である。 入力ポートAIのキューAQの状態の一例を示す図である。 LRUアルゴリズムに基づくクロック毎の調停結果を示す図である。 時分割アルゴリズムに基づくクロック毎の調停結果を示す図である。 第2実施例における調停回路の一例を示す図である。 キュー調停回路の構成を示す図である。 調停切替回路の構成を示す図である。 第3実施例における調停回路の一例を示す図である。 調停切替回路の構成を示す図である。
符号の説明
1   並列計算機
11   CPU
12   SB
13   メモリ
14   クロスバースイッチ
15   ICB
28,28A,28B   調停回路
28-1,28-1A   キュー調停回路
28-2   ポート調停回路
30,30A,30B   調停切替回路
 開示の調停方法、調停回路、及び調停回路を備えた装置によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するためのルーティング(経路制御)を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、第1の調停処理により各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行い、第2の調停処理により複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う。又、トリガに応答して、一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える。
 これにより、調停時間の増加を抑制してライブロックを防止することが可能となる。
 以下に、開示の調停方法、調停回路、及び調停回路を備えた装置の各実施例を、図5以降と共に説明する。
 図5は、第1実施例における調停回路の一例を示す図である。図5に示す調停回路28は、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図5中、図1と同一部分には同一符号を付し、その説明は省略する。
 図5に示す調停回路28は、キュー調停回路28-1、ポート調停回路28-2、及び調停切替回路30を有する。キュー調停回路28-1は、各入力ポートAI,BI,CI,DI毎のキューAQ,BQ,CQ,DQからデータとしてのパケットを選択し、ポート間調停回路28-2は、複数の入力ポートAI,BI,CI,DIから1つのポートを選択する。このように、調停回路28は、2種類の調停回路28-1,28-2を有する2段構成である。
 キュー調停回路28-1は、調停切替回路30により指示された第1又は第2の調停アルゴリズムに基づいたキューの調停を行う。同様に、ポート調停回路28-2は、調停切替回路30により指示された第1又は第2の調停アルゴリズムに基づいたポートの調停を行う。
 キュー調停回路28-1からポート調停回路28-2への調停リクエストがある一定期間採用(又は、選択)されない場合、キュー調停回路28-1はこの調停リクエストを一旦キャンセルして別の調停リクエストを再度要求する。この調停リクエストのキャンセルを通知するのが図5に示すリトライである。
 調停切替回路30は、各入力ポートAI,BI,CI,DIにおけるリトライの頻度を監視し、リトライの頻度が閾値に達すると調停回路28-1,28-2の調停アルゴリズムを第1の調停アルゴリズムから第2の調停アルゴリズムに切り替える指示を出力する。調停切替回路30は、キュー調停回路28-1に調停切替信号ARB_EN及び調停アルゴリズムを指示する選択信号ARB_SEL1を供給し、ポート調停回路28-2に調停切替信号ARB_EN及び調停アルゴリズムを指示する選択信号ARB_SEL2を供給する。各入力ポートAI,BI,CI,DIのリトライの頻度が閾値に達すると、調停切替回路30は調停アルゴリズムの切り替えを許可する調停切替信号ARB_ENをアサートすることで調停回路28-1,28-2の調停アルゴリズムを選択信号ARB_SEL1,ARB_SEL2が指示する調停アルゴリズムに切り替えるよう指示する。
 第1及び第2の調停アルゴリズムは、互いに異なる調停アルゴリズムであり、本実施例では第1の調停アルゴリズムがLRUアルゴリズムであり、第2の調停アルゴリズムが時分割アルゴリズムである。尚、第1の調停アルゴリズムはLRUアルゴリズムに限定されるものではなく、例えばラウンドロビンで選択を行うラウンドロビンアルゴリズム、固定の優先順位で選択を行う固定プライオリティアルゴリズム等を用いても良いことは言うまでもない。
 図6は、調停切替回路30の構成を示す図である。調停切替回路30は、図6に示す如く接続されたフリーランカウンタ31、頻度監視カウンタ32、オア回路33,34、一定時間計測カウンタ35、及びデコーダ36を有する。この例では、カウンタ31,32,35は、夫々10ビットカウンタ、4ビットカウンタ、10ビットカウンタである。
 フリーランカウンタ31のカウント値が最大値(例えば1024サイクル)に達すると、フリーランカウンタ31からのクリア信号が頻度監視カウンタ32のクリア端子clrに入力されて頻度監視カウンタ32がクリアされる。各入力ポートAI,BI,CI,DIに対するリトライ指示は、オア回路33を介して頻度監視カウンタ32のカウントアップ端子upに入力され、頻度管理カウンタ32は各入力ポートAI,BI,CI,DIに対するリトライ指示の回数をカウントさせる。カウントしたリトライ指示の頻度がある閾値(例えば15回/1024サイクル)に達すると、頻度監視カウンタ32はオア回路34を介して一定時間計測カウンタ35のカウントアップ端子upに信号を入力して一定時間計測カウンタ35のカウントをスタートさせる。一定時間計測カウンタ35が一定時間をカウントする間(即ち、カウント値が一定値を超えるまで)、出力する調停切替信号ARB_ENをアサートする。調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられる。一定時間計測カウンタ35が一定時間をカウントすると(カウント値が一定値を超えると)、カウント値が0となり調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。調停切替信号ARB_ENは、オア回路34にフィードバックされる。一方、調停切替信号ARB_ENは、デコーダ36に入力され、デコーダ36からは選択信号ARB_SEL1,ARB_SEL2が出力される。
 図7は、キュー調停回路28-1の構成を示す図である。ポート調停回路28-2は、キュー調停回路28-1と同じ構成の回路で実現できるので、ポート調停回路28-2の構成の図示及び説明は省略する。ただし、図7の調停回路をポート調停回路28-2として使用する場合には、選択信号ARB_SEL1の代わりに選択信号ARB_SEL2が入力されることは言うまでもない。
 キュー調停回路28-1は、図7に示す如く接続されたLRUアルゴリズム部281、セレクタ282,283、アンド回路284,285、オア回路286、及びカウンタ287を有する。セレクタ282には、LRUアルゴリズム部281に従った信号及び選択信号ARB_SEL1が入力され、調停切替信号ARB_ENにより出力が選択される。セレクタ283には、例えば入力ポートAIにおけるキューAQが入力され、セレクタ282の出力信号により出力が選択される。各アンド回路284,285には、セレクタ283の出力信号及び出力ポートビジー信号が入力される。アンド回路284からはルーティングリクエスト(経路制御要求)が出力される。
 アンド回路285からはストール信号が出力されてオア回路286及びカウンタ287のカウントアップ端子upに入力される。カウンタ287の出力信号はLRUアルゴリズム部281及びオア回路286に入力されると共に、この場合は入力ポートAIに対するリトライ指示として調停切替回路30に入力される。オア回路286の出力信号はカウンタ287のクリア端子clrに入力されるので、カウンタ287のカウント値が一定値に達するとカウンタ287はクリアされる。カウンタ287は、例えば4ビットカウンタである。
 これにより、キュー調停回路28-1は、通常時はLRUアルゴリズム部281によるLRUアルゴリズムに従って調停を行うが、アサートされた調停切替信号ARB_EN信号によって時分割アルゴリズムに従った調停に切り替えられる。この調停切替信号ARB_ENが一定時間後にデアサートされると、調停アルゴリズムは時分割アルゴリズムからLRUアルゴリズムに戻される。
 次に、本実施例においてどのようにしてライブロックが防止されるかを、図8~図10と共に説明する。クロスバースイッチ14は物理的には複数のポートを有し、各ポートは論理的には複数のチャネル(即ち、仮想的なチャネル)を有するが、任意の時点では1つのポートで1つのチャネルのみ選択可能である。
 図8は、入力ポートAIのキューAQの状態の一例を示す図である。図9は、LRUアルゴリズムに基づくクロック毎の調停結果を示す図であり、図10は、時分割アルゴリズムに基づくクロック毎の調停結果を示す図である。図9及び図10は一例として、出力ポートDOの出力ポートビジー信号、リトライ指示の有無、入力ポートAI,BI,CI、及び調停結果を示す。出力ポートビジー信号は、「1」の場合にその出力ポートがビジーであることを示す。又、リトライ指示の有無は、「1」の場合にリトライ指示が有ることを示す。又、A1x,A2xは入力ポートAIにおけるチャネルC0,C1側のパケット、B1x,B2xは入力ポートBIにおける仮想的なチャネルC0,C1側のパケット、C1x,C2xはは入力ポートCIにおけるチャネルC0,C1側のパケットを示す。
 説明の便宜上、例えば図8のように、入力ポートAIのキューAQに全て出力ポートDO向けのチャネルC0側のパケットA10,A11,A12及びチャネルC1側のパケットA20,A21,A22がクロスバースイッチ14内のバッファに滞留しているとする。図8は入力ポートAIのみについて示すが、入力ポートBI,CIについて以下の如き調停が行われることは言うまでもない。
 これら各入力ポートAI,BI,CIから出力ポートDOへの調停は、通常時はLRUアルゴリズムに従って図9のように調停される。図9は、サイクル単位の調停を示し、出力ポートビジー信号が「1」であり出力ポートDOがビジーであることを示すサイクルでは、出力ポートDOが資源ビジーのために調停を行うことはできない。又、リトライ指示の有無が「1」でありリトライ指示が有ることを示すサイクルでは、各入力ポートAI,BI,CIのルーティングリクエストを一旦キャンセルしてから再度調停を行う。従って、キャンセルされたパケットはLRUアルゴリズムによれば最低順位を有することになる。図9の例では、出力ポートDOが恒常的に資源ビジーとなっており、一定間隔で1個ずつしかパケットを調停できない状態に陥っている。このような場合、入力ポートAIで見ると、図8のキューAQのチャネルC0側のパケットA1xのみが処理されており、キューAQのチャネルC1側のパケットA2xはクロスバースイッチ14内のバッファに滞留したままの状態に陥っている。更に、後続のパケットがチャネルC0側のパケットA1xのキューに追加投入されると、チャネルC1側のパケットA2xのキューがライブロックしてしまう。
 一方、図9と同じような状況下で、図10に示すような、時分割の調停アルゴリズムを用いた場合は、ある一定時間に同一入力ポート及び同一チャネルのキューを固定的に調停し、更にこのような調停を全入力ポートの全チャネルに平等に割り当てる。このため、一部のチャネルのライブロックは発生しないことがわかる。
 尚、単に時分割アルゴリズムのみによる調停を行うだけでは並列計算機1の性能が低下してしまうが、ライブロックに陥っていると懸念される場合にのみ調停アルゴリズムをLRUアルゴリズムから時分割アルゴリズムに切り替えることで、並列計算機1の性能低下を抑制しつつライブロックを防止することが可能となる。
 上記第1実施例では、調停アルゴリズムの切り替えをリトライ指示の頻度が閾値に達したことをトリガとして行っているが、調停アルゴリズムの切り替えはリトライ指示の頻度以外をトリガとしても良いことは言うまでもない。
 図11は、第2実施例における調停回路の一例を示す図である。図11に示す調停回路28Aは、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図11中、図5と同一部分には同一符号を付し、その説明は省略する。
 本実施例では、各入力ポートAI,BI,CI,DI毎のロック情報が対応するキュー調停回路28-1Aから調停切替回路30Aに供給される点が上記第1実施例と異なる。
 図12は、キュー調停回路28-1Aの構成を示す図である。図12中、図7と同一部分には同一符号を付し、その説明は省略する。図12において、各アンド回路301,302には、セレクタ282の出力信号、出力ポートビジー信号、及び入力ポートAIにおけるチャネルC0側のパケットA1x(ルーティングリクエスト)が入力される。各アンド回路311,312には、セレクタ282の出力信号、出力ポートビジー信号、及び入力ポートAIにおけるチャネルC1側のパケットA2x(ルーティングリクエスト)が入力される。
 図12において、アンド回路301の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC0側のパケットA1xが調停されなかったことを示し、カウンタ303のカウントタップ端子upに入力される。アンド回路302の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC0側のパケットA1xが調停されたことを示し、オア回路304を介してカウンタ303のクリア端子clrに入力される。カウンタ303は、例えば4ビットカウンタである。カウンタ303の出力信号は、入力ポートAIにおけるチャネルC0側のパケットA1xをロックするポートA1ロック信号として調停切替回路30Aへ出力されると共に、オア回路304にフィードバックされる。カウンタ303のカウント値が一定値に達すると、カウンタ303の出力信号(ポートA1ロック信号)は、入力ポートAIにおけるチャネルC0側のパケットA1xがデッドロックした状態であることを示す。
 アンド回路311の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC1側のパケットA2xが調停されなかったことを示し、カウンタ313のカウントタップ端子upに入力される。アンド回路312の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC1側のパケットA2xが調停されたことを示し、オア回路314を介してカウンタ313のクリア端子clrに入力される。カウンタ313は、例えば4ビットカウンタである。カウンタ313の出力信号は、入力ポートAIにおけるチャネルC1側のパケットA2xをロックするポートA2ロック信号として調停切替回路30Aへ出力されると共に、オア回路314にフィードバックされる。カウンタ313のカウント値が一定値に達すると、カウンタ313の出力信号(ポートA2ロック信号)は、入力ポートAIにおけるチャネルC1側のパケットA2xがデッドロックした状態であることを示す。
 図13は、調停切替回路30Aの構成を示す図である。図13中、図6と同一部分には同一符号を付し、その説明は省略する。
 図13において、調停切替回路30Aは、オア回路330,34、一定時間計測カウンタ35、及びデコーダ36を有する。オア回路330には、各キュー調停回路28-1Aで検出されたロック情報、即ち、入力ポートAIに対するポートA1,A2ロック信号、入力ポートBIに対するポートB1,B2ロック信号、入力ポートCIに対するポートC1,C2ロック信号、及び入力ポートDIに対するポートD1,D2ロック信号が入力される。オア回路330の出力信号は、オア回路34の一方の入力に供給される。
 各入力ポートAI,BI,CI,DIからのロック情報が入力されると、一定時間計測カウンタ35が一定時間をカウントする間(即ち、カウント値が一定値を超えるまで)、出力する調停切替信号ARB_ENをアサートする。調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられる。一定時間計測カウンタ35が一定時間をカウントすると(カウント値が一定値を超えると)、カウント値が0となり調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。
 これにより、本実施例では、調停アルゴリズムの切り替えを少なくとも1つの入力ポートにおけるデッドロックをトリガとして行うことができる。
 図14は、第3実施例における調停回路の一例を示す図である。図14に示す調停回路28Bは、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図14中、図5と同一部分には同一符号を付し、その説明は省略する。
 本実施例では、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが空になったことを示すエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dがバッファから調停切替回路30Bに供給されると共に、調停切替回路30Bが調停アルゴリズムをLRUアルゴリズムから時分割アルゴリズムに切り替えている期間はパケットの投入を抑えるインヒビット信号INHを各入力ポートAI,BI,CI,DIに供給する点が上記第1実施例と異なる。
 図15は、調停切替回路30Bの構成を示す図である。図15中、図6と同一部分には同一符号を付し、その説明は省略する。
 図15において、アンド回路401には、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが空になったことを示すエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dがバッファから入力される。アンド回路401の出力信号は、一定時間計測カウンタ35のクリア端子clrに入力される。これにより、各キューAQ,BQ,CQ,DQからのエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dが全てアサートされると、一定時間計測カウンタ35のカウント値は一定時間の計測を終了する前であっても0にクリアされる。又、一定時間計測カウンタ35が出力する調停切替信号ARB_ENは、バッファ402を介してインヒビット信号INHとして各入力ポートAI,BI,CI,DIに入力される。
 これにより、調停切替信号ARB_ENがアサートされている期間は、アサートされたインヒビット信号INHが各入力ポートAI,BI,CI,DIに供給されるので、各入力ポートAI,BI,CI,DIへのパケットの投入が抑えられる。一方、調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられているが、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが全て空になりエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dが全てアサートされると、一定時間計測カウンタ35のカウント値がその時点で0にクリアされる。一定時間計測カウンタ35のカウント値が0にクリアされると、調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。
 これにより、本実施例では、調停アルゴリズムの切り替えをリトライ指示の頻度が閾値に達したことをトリガとして行い、且つ、各キューQA,QB,QC,QD内のパケットが全て空になったことをトリガとして元の調停アルゴリズムに戻すことができる。
 開示の調停方法、調停回路、及び調停回路を備えた装置は、クロスバースイッチや、クロスバースイッチを有する並列計算機等調停処理を要する各種装置に適用可能である。
 以上、開示の調停方法、調停回路、及び調停回路を備えた装置を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。

Claims (15)

  1.  各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停処理と、
     前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停処理と、
     トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える処理を含む、調停方法。
  2.  前記第2の調停処理において任意の入力ポートからの経路制御要求が一定期間採用されない場合に前記任意の入力ポートに対して前記任意の入力ポートからの経路制御要求を一旦キャンセルするリトライ指示を出力して前記第1の調停処理で再度調停を行い、前記リトライ指示の頻度が閾値に達したことを前記トリガとする、請求項1記載の調停方法。
  3.  前記複数の入力ポートにおける各キュー内のデータが全て空になったことをトリガとして前記調停アルゴリズムを前記任意の調停アルゴリズムに戻す、請求項2記載の調停方法。
  4.  前記第1の調停処理において少なくとも1つの入力ポートにおけるデッドロックが検出されたことを前記トリガとする、請求項1記載の調停方法。
  5.  前記任意の調停アルゴリズムは、LRU(Least Recently Used)アルゴリズム、ラウンドロビンアルゴリズム、及び固定プライオリティアルゴリズムからなるグループから選択された1つのアルゴリズムである、請求項1乃至4のいずれか1項記載の調停方法。
  6.  各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御要求を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、
     前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、
     トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた、調停回路。
  7.  前記第2の調停回路において任意の入力ポートからの経路制御要求が一定期間採用されない場合に前記任意の入力ポートに対して前記任意の入力ポートからの経路制御要求を一旦キャンセルするリトライ指示が出力されて前記第1の調停回路は再度調停を行い、
     前記調停切替回路は、前記リトライ指示の頻度が閾値に達したことを前記トリガとする、請求項6記載の調停回路。
  8.  前記調停切替回路は、前記複数の入力ポートにおける各キュー内のデータが全て空になったことをトリガとして前記調停アルゴリズムを前記任意の調停アルゴリズムに戻す、請求項7記載の調停回路。
  9.  前記調停切替回路は、前記第1の調停回路において少なくとも1つの入力ポートにおけるデッドロックが検出されたことを前記トリガとする、請求項6記載の調停回路。
  10.  前記任意の調停アルゴリズムは、LRU(Least Recently Used)アルゴリズム、ラウンドロビンアルゴリズム、及び固定プライオリティアルゴリズムからなるグループから選択された1つのアルゴリズムである、請求項6乃至9のいずれか1項記載の調停回路。
  11.  複数のプロセッサ及びメモリを有するシステムと、複数の入出力インタフェースを有する入出力システムを接続する装置であって、
     各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートと、
     複数の出力ポートと、
     前記複数の入力ポートからのデータを前記複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、
     前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、
     トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた、装置。
  12.  前記第2の調停回路において任意の入力ポートからの経路制御要求が一定期間採用されない場合に前記任意の入力ポートに対して前記任意の入力ポートからの経路制御要求を一旦キャンセルするリトライ指示が出力されて前記第1の調停回路は再度調停を行い、
     前記調停切替回路は、前記リトライ指示の頻度が閾値に達したことを前記トリガとする、請求項11記載の装置。
  13.  前記調停切替回路は、前記複数の入力ポートにおける各キュー内のデータが全て空になったことをトリガとして前記調停アルゴリズムを前記任意の調停アルゴリズムに戻す、請求項12記載の装置。
  14.  前記調停切替回路は、前記第1の調停回路において少なくとも1つの入力ポートにおけるデッドロックが検出されたことを前記トリガとする、請求項11記載の装置。
  15.  前記任意の調停アルゴリズムは、LRU(Least Recently Used)アルゴリズム、ラウンドロビンアルゴリズム、及び固定プライオリティアルゴリズムからなるグループから選択された1つのアルゴリズムである、請求項11乃至14のいずれか1項記載の装置。
PCT/JP2009/056671 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置 WO2010113262A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2009/056671 WO2010113262A1 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置
EP09842617A EP2416254A4 (en) 2009-03-31 2009-03-31 ARBITRATION PROCEDURE, ARBITRATION SWITCHING AND ARBITRATION SWITCHING DEVICE
JP2011506887A JP5304888B2 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置
US13/137,846 US8837505B2 (en) 2009-03-31 2011-09-16 Arbitration method, arbiter circuit, and apparatus provided with arbiter circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/056671 WO2010113262A1 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/137,846 Continuation US8837505B2 (en) 2009-03-31 2011-09-16 Arbitration method, arbiter circuit, and apparatus provided with arbiter circuit

Publications (1)

Publication Number Publication Date
WO2010113262A1 true WO2010113262A1 (ja) 2010-10-07

Family

ID=42827595

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/056671 WO2010113262A1 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置

Country Status (4)

Country Link
US (1) US8837505B2 (ja)
EP (1) EP2416254A4 (ja)
JP (1) JP5304888B2 (ja)
WO (1) WO2010113262A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016038865A (ja) * 2014-08-11 2016-03-22 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法
JP7508962B2 (ja) 2020-09-15 2024-07-02 富士通株式会社 半導体装置及び転送方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5471627B2 (ja) * 2010-03-09 2014-04-16 富士通株式会社 ネットワーク装置、エッジルータ及びパケット通信システム
US9678906B2 (en) * 2014-03-26 2017-06-13 International Business Machines Corporation Oldest link first arbitration between links grouped as single arbitration elements
CN105099956B (zh) 2015-06-25 2018-08-14 华为技术有限公司 交换网***和数据交换方法
US10877836B2 (en) * 2018-08-29 2020-12-29 Arm Limited Method and apparatus for coherent interconnect recovery with protocol layer re-transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
JP2001022711A (ja) 1999-07-08 2001-01-26 Hitachi Ltd クロスバースイッチの制御方法及び並列計算機システム
JP2004102607A (ja) * 2002-09-09 2004-04-02 Nec Computertechno Ltd クロスバー調停システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020146022A1 (en) * 2000-05-31 2002-10-10 Van Doren Stephen R. Credit-based flow control technique in a modular multiprocessor system
US7359384B2 (en) * 2002-06-10 2008-04-15 Lucent Technologies Inc. Scheduling of guaranteed-bandwidth low-jitter traffic in input-buffered switches
JPWO2005124566A1 (ja) * 2004-06-16 2008-04-17 松下電器産業株式会社 バス調停装置及びバス調停方法
JP4907166B2 (ja) * 2005-01-12 2012-03-28 パナソニック株式会社 リソース管理装置
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
JP2001022711A (ja) 1999-07-08 2001-01-26 Hitachi Ltd クロスバースイッチの制御方法及び並列計算機システム
JP2004102607A (ja) * 2002-09-09 2004-04-02 Nec Computertechno Ltd クロスバー調停システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2416254A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016038865A (ja) * 2014-08-11 2016-03-22 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法
JP7508962B2 (ja) 2020-09-15 2024-07-02 富士通株式会社 半導体装置及び転送方法

Also Published As

Publication number Publication date
EP2416254A1 (en) 2012-02-08
EP2416254A4 (en) 2012-10-17
JPWO2010113262A1 (ja) 2012-10-04
JP5304888B2 (ja) 2013-10-02
US8837505B2 (en) 2014-09-16
US20120002677A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5304888B2 (ja) 調停方法、調停回路、及び調停回路を備えた装置
US5371893A (en) Look-ahead priority arbitration system and method
EP1616415B1 (en) Method and apparatus for shared multi-bank memory
JP4408375B2 (ja) 高速交換環境の不足ラウンドロビンスケジューリングをするシステム、方法及び論理
US9262356B2 (en) Arbiter device and arbitration method
US10614010B2 (en) Handling queued interrupts in a data processing system based on a saturate value
US8234428B2 (en) Arbitration device that arbitrates conflicts caused in data transfers
EP0327203B1 (en) NxM arbitrating non-blocking high bandwidth switch
US20090248931A1 (en) Computer system
US6728790B2 (en) Tagging and arbitration mechanism in an input/output node of a computer system
JP4833518B2 (ja) 高速交換環境でマルチキャストするシステム、方法及び論理
US10740269B2 (en) Arbitration circuitry
US6681274B2 (en) Virtual channel buffer bypass for an I/O node of a computer system
EP1444587B1 (en) Computer system i/o node
US6937133B2 (en) Apparatus and method for resource arbitration
EP1284070A1 (en) Method and arbitration unit for digital switch
US6839784B1 (en) Control unit of an I/O node for a computer system including a plurality of scheduler units each including a plurality of buffers each corresponding to a respective virtual channel
US6820151B2 (en) Starvation avoidance mechanism for an I/O node of a computer system
JP4852138B2 (ja) 高速交換環境でマルチキャスティングするシステム、方法及び論理
CN104978289A (zh) 具有共享仲裁单元的服务请求中断路由器
JP2015069345A (ja) 情報処理装置,データ転送装置,およびデータ転送方法
US6631131B1 (en) Transpose table biased arbitration scheme
JPH04326454A (ja) クロスバネットワーク
CN117992371A (zh) 用于共享数据路径的分布式仲裁
JP2001285347A (ja) パケット交換装置及び統計情報処理方法

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: 09842617

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011506887

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2009842617

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE