WO2004102989A1 - Time-division multiplexing circuit-switching router - Google Patents

Time-division multiplexing circuit-switching router Download PDF

Info

Publication number
WO2004102989A1
WO2004102989A1 PCT/IB2004/050622 IB2004050622W WO2004102989A1 WO 2004102989 A1 WO2004102989 A1 WO 2004102989A1 IB 2004050622 W IB2004050622 W IB 2004050622W WO 2004102989 A1 WO2004102989 A1 WO 2004102989A1
Authority
WO
WIPO (PCT)
Prior art keywords
router
slot
switching
time
tables
Prior art date
Application number
PCT/IB2004/050622
Other languages
French (fr)
Inventor
Paul Wielage
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Priority to DE602004005980T priority Critical patent/DE602004005980D1/en
Priority to EP04731983A priority patent/EP1625757B1/en
Priority to JP2006530791A priority patent/JP2007500985A/en
Priority to US10/556,284 priority patent/US20070010205A1/en
Publication of WO2004102989A1 publication Critical patent/WO2004102989A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures

Definitions

  • the present invention relates to a time-division multiplexing circuit-switching router, comprising a plurality of input means, at least one output means, switching means for switching between the input means and the output means and for connecting a selected input means to output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot.
  • TDMA time-multiplexed multiple access
  • An arbitration scheme does contention resolution and is essential in case of communication over shared interconnect lines.
  • TDMA works like a time wheel (of slots) where each slot can be statically reserved for a unique master. If the time wheel consists of S slots and each slot takes an equal amount of time, then every slot reservation corresponds with 1/Sth of the available bandwidth B of the bus. Multiple slots have to be reserved for connections, which need more bandwidth than B/S.
  • the slot reservations are stored in a table, which is typically implemented by an embedded memory like e.g. a random access memory (RAM) or a first-in-first-out (FIFO) buffer.
  • RAM random access memory
  • FIFO first-in-first-out
  • Managing the complexity of designing chips containing billions of transistors requires decoupling computation from communication.
  • scalable and compositional interconnects, such as networks on chip (NoC) must be used. So, the future of on-chip communication is an on-chip network of routers. Circuit- switching allows to establish connection over a conceptual physical path from a source to a destination.
  • An on-chip router network consists, among other parts, of interconnected routers.
  • US 4 466 060 A discloses an adaptive distributed message routing algorithm for controlling the routing of data messages in a packet message switching digital computer network.
  • Network topology information is exchanged only between neighbour nodes in the form of minimum spanning trees, referred to as exclusionary trees.
  • An exclusionary tree is formed by excluding the neighbour node and its links from the tree. From the set of exclusionary trees received a route table and transmitted exclusionary trees are constructed.
  • WO 01/89158 Al discloses a method for controlling resources in a communication network comprising nodes interconnected by links, each carrying a bitstream which is divided into frames, each frame in turn being divided into time slots which are allocatable to form circuit-switched channels. Resources in the form of write access to time slots are associated with administrative entities. Allocation of resources is then done in such a way the allocation of resources to channels pertaining to a subject administrative entity is guaranteed to the extent by which resources have been associated with the subject administrative entity.
  • TDM time-division multiplexing
  • An object of the present invention is to provide a time-division multiplexing circuit-switching router which is able to be used in an on-chip router network under reduced costs.
  • a time- division multiplexing circuit-switching router comprising a plurality of input means, at least one output means, switching means for switching between said input means and said output means and for connecting a selected input means to a selected output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot, characterized in that said router table means is divided into a plurality of tables, each table having a weight which specifies the amount of bandwidth per reservation in one table in relation to a reservation in the other table(s).
  • the size of the router table means is reduced resulting in a reduction of the corresponding silicon area and overhead and, thus, in a saving of costs which is important for the provision of an on-chip router network. Further, the invention allows for a finer bandwidth granularity for the same size of the router table means and, thus, the same costs resulting in more efficient use of the available bandwidth in the network, since high bandwidth data streams can be covered by a higher weighted table such that less time slots need to be allocated.
  • the invention can be used in all digital system-on-chip ICs.
  • the weights of the tables are programmable.
  • Each table can include a number (Si) of rows, and per predetermined time period the tables are cycled a number (wj) of times corresponding to the respective weight (wi > 1), so that preferably the effective slot cycle period (S e ) is
  • each buffer means comprises a plurality of buffer portions corresponding to the plurality of tables, each buffer portion being allocated to a table, respectively, wherein the router table means is provided for controlling the buffer portions in accordance with the tables.
  • a buffering concept is more elegant than a shared buffering concept, since the incoming flow control digits are stored in such buffer means per table so that the various levels of the TDMA schedule become logically independent.
  • said buffer means is a first-in-first-out (FIFO) buffer means.
  • Figure 1 shows a schematic basic block diagram of a time-division multiplexed circuit-switching router
  • Figure 2 schematically shows a combination of two routers connected in series and the flow of four guaranteed throughput data streams
  • Figure 3 schematically shows an example of a simple router network with two 2x2 -routers and the flow of three data streams, two being best-effort and one being guaranteed-throughput;
  • Figure 4 shows a schematic block diagram of a time-division multiplexed circuit-switching router including a multi-layer router table according to a preferred embodiment of the invention
  • Figure 5 a schematic diagram of the flow of three data streams, which propagate through a network consisting of two routers according to a preferred embodiment of the invention.
  • Figure 6 shows a schematic block diagram of a plurality of buffers which are included in the router of Figure 4 per input.
  • the architecture of a simple router for circuit-switching is depicted in Figure 1 for explanation purposes.
  • the router consists of N input ports including buffers, M output ports and a switch to forward data from the inputs to the outputs (concurrently) according to a router table.
  • Circuit-switching allows to establish connections over a physical path from a source to a destination for a certain amount of time (Leijten, J.A.J.; van Meerbergen, J.L.; Timmer, A.H.; Jess, J.A.G.; "Stream communication between real-time tasks in a high- perfonnance multiprocessor", Design, Automation and Test in Europe, 1998, Proceedings, 23-26 Feb 1998, page 125 -131).
  • circuit-switching over a router network differs from a shared bus TDMA architecture in that the data transport over the network involves multiple hops (one for each router on the path) instead of only one, wherein each hop (router) has a different router table.
  • circuit-switching is a special form of TDMA where by master-slave, or in the context of routers input-output port, pairs are scheduled as explained below.
  • the router table of an individual router contains the information to program a crossbar switch in a contention free manner over time. For this reason, time is divided into fixed units of time called slots.
  • a unit of data called a flit flow control digit
  • the input/output mapping in a specific slot is specified by the router table T, being a matrix of size S x M, where S is the number of slot entries and M is the number of output terminals of the router.
  • the elements of T are in the set ⁇ 0, 1, . . ., N ⁇ .
  • n T(s, m), with 0 ⁇ s ⁇ S and 0 ⁇ m ⁇ M , means that in slot s, if n ⁇ 0, a flit is forwarded from input / * attire to output o m . So, row s of T specifies the mapping in slot s.
  • the router table of every router in the network has S time slots.
  • a slot iteration k at most one block of data is written per output port.
  • the outputs of the routers in a network are connected to inputs of routers by means of links between input / output pairs.
  • Such a link causes a block that is being written to an output in slot iteration £ to be present in the queue of an input that is connected via a link, at the next slot iteration.
  • the arrived blocks are again written to their appropriate output ports. The blocks thus propagate in a store and forward fashion.
  • the latency a block incurs per router is equal to the duration of a slot multiplied by the difference in the arrival and departure time of the block (which is given by the reservations of two subsequent routers along the path).
  • the bandwidth is guaranteed in multiples of block size per S slots.
  • the slots reserved for a path from a source to a destination increase at least by one (modulo S) per router. If slot s is reserved in some router on the path and slot (s + q)%S, with q > 0, is reserved in the next router on the path, the incurred latency for this part of path is q slots.
  • the order in which blocks at an input of a router arrive must be the same as the order in which these blocks are being written through one of the outputs of the router. This allows implementing the queues connected to the inputs by means of FIFOs.
  • the entries of the router table map outputs to inputs for every slot, i.e. T(s, o) - i.
  • An entry is empty, when there is no reservation for that output in that slot. No contention arises because there is at most one input per output. Sending a single input to multiple outputs (multicast) is possible.
  • GT Guard-Throughput
  • every GT token which is read in time slot s in some router, is read in time slot (s+q)%S in the next router in the path the token follows.
  • the value of q is at least one and is a result of the chosen schedule. It is preferably as small as possible since the overall latency of connection is equal to the sum of all g's along the path. Guaranteed -throughput (GT) services require resource reservation for worst-case scenarios, which can be expensive.
  • four GT connections are represented by the data streams $ ⁇ , s 2 , S3, and 5 4 .
  • the number of time slots allocated for that data stream is shown in parentheses in Figure 2.
  • the first output port (shown as upper port in Figure 2) of the first router Rl is unused and, consequently, the first column of the routing table is empty.
  • the second column of the routing matrix of the first router Rl indicates that tokens from its inputs are written alternately on the second output port (shown as the lower port in Figure 2). Consequently, both data streams s ⁇ and 5 are routed with the desired bandwidth without contention in the first router Rl .
  • the first output port (shown as the upper port in Figure 2) receives tokens of the data streams si and S3. Since the tokens from the data stream i are routed in the time slots 0 and 2 in the first router Rl, they are routed at time slots 1 and 3 in the second router R2.
  • BE Best-effort
  • BE Best-effort
  • the number S of slots in the router table determines the granularity in which the total amount of bandwidth of a link can be divided. If B represents the amount of bandwidth per link, then a single connection can allocate bandwidth in chunks of B/S. Hence, increasing S, which means increasing the number of slot-table entries of all routers, results in a finer granularity. However, a bigger size of the router table results in higher costs of the router in terms of silicon area.
  • the first router Rl receives BE packets via terminal ti, which are all destined to the terminal t; and that the bandwidth of these packets require 10 % of the capacity of a link. Similarly, packets go from the terminal t 2 to the terminal t ⁇ and require only 1 % of the link capacity.
  • the second router R2 receives a GT data stream via the terminal t which is destined to the terminal t ⁇ .
  • the GT data stream claims and uses 99 % of the bandwidth and thus occupies the output link from output port b of the router R2 to the terminal for 99 % of time. So, the BE stream sharing port b can send a flit only in the remaining 1 % link capacity, and every time GT data arrives for port b the transmission of the BE packet over port b is pre-empted.
  • the first approach guarantees that a complete packet will be accepted in the next router such that the incoming link of the next router does not block. However, this is at the cost of extra memory.
  • the second approach ensures that flit pre-emption rarely occurs.
  • 99 % of GT data is grouped in blocks of 10 time units, then this bandwidth is obtained by alternative sending 99 blocks of data followed by 10 time units nothing.
  • the packet size ' of the BE data stream is small compared to such 10 time units, a complete packet of the 1 % BE data stream is sent in the 10 time units and the link between the routers Rl and R2 can be used by the 10 % BE data stream immediately after the packet has been sent.
  • the first approach suffers from additional memory requirements in the router, this second approach suffers from additional latency in the BE data stream.
  • a GT service is used to realize the connection between the terminals t 2 and t ⁇ .
  • the relatively low bandwidth stream is scheduled at specific moments in time by means of reserving 1 out of every 100 slots in the routing table. This requires the slot table to have a size of at least 100 entries. Since a GT service results in a circuit-switched connection during the reserved period over time, the connection uses at most 1 % of the link capacity between the routers Rl and R2. The remaining link capacity is available for the 10 % BE stream.
  • the third approach requires a provision for efficiently storing a set of connections with both low and high bandwidth requirement.
  • This is achieved by means of a layered reservation table.
  • the weight specifies the amount of bandwidth a slot in the corresponding reservation table represents in proportion to the weight of the other layers.
  • the effective slot cycle period S e becomes
  • Such a router architecture including multi-layer router table is schematically shown in Figure 4.
  • Figure 5 shows the filling of the router tables for the situation as illustrated in Figure 3 according to the multi-layer approach.
  • two layers are required.
  • One stream is a best-effort stream, which is denoted by bei, and two other streams are guaranteed-throughput. These are denoted by gti and gt 2 .
  • the router table of each router which schedules both streams, is divided in two layers, each having a different weight.
  • the first layer 1 has a weight of 1 and supports gt 2 .
  • the second layer 2 has a weight of 99 and supports gtj.
  • the matrices Tli and T2 ⁇ define two sub-tables associated with the first layer 1 for the routers Rl and R2 respectively.
  • the matrices Tl and T2 2 give the reservations for the second layer 2. Consequently, a reservation of a slot in the second layer 2 requires 99 times more bandwidth allocation than a reservation of a slot in the first layer 1. As a result of the two-layer approach, the total number of slot entries S does not need to be larger than 3 for this case.
  • the way in which the entries of the various tables are enumerated depends on the latency requirements through the network and if it is wanted to spend extra costs in the terms of independent buffering per layer.
  • the layer controller of the router will, sooner or later, interrupt the enumeration of the table of one layer to continue with one of the other layers.
  • a first-in-first-out (FIFO) buffer policy is employed per input, the FIFOs should not contain data that belongs to the level when the controller switches to another layer, otherwise data get messed up. It is not trivial to find such a point in the tables of all routers for a specific layer, because in general many paths through the network do overlap each other in time. A natural point where a clean switch to a different layer can be performed without intersecting paths could be after the last entry of the table. But in case of a circular schedule such a point does not exit at all.
  • a circular schedule allows to divide a path through the routers in two pieces; the first part uses slots at the end of the table, the second part uses slots at the beginning of the table. In other words, a path can be wrapped over the boundary of the table.
  • a schedule with valid interruption points for the "single FIFO per input approach" can result in a deterioration of the link utilization.
  • a more elegant buffer approach stores the incoming flits in a FIFO per level as depicted in Figure 6 in conjunction with Figure 4.
  • a plurality of buffers Q is provided, wherein each input i ⁇ to ; ' N is coupled to such a buffer Q.
  • Figure 6 the construction of such a buffer Q is schematically shown.
  • the various levels of the TDMA schedule use different queues, as such becoming logically independent. Hence, reservation tables are allowed to be circular and switching between the layers is possible at any moment in time.
  • the latency through the network is not the same for the two buffering strategies.
  • the ratio between the high and low bandwidth connections and the number of connections are kept small, respectively 1 to 99 and 3. In practice however, the ratio and the number of connections can be much larger.
  • the advantage of a multi-level slot table is shown as follows. For reasons of simplicity, suppose a network-on-chip consisting of just one router according to Fig. 4. Furthermore, let us focus on the guaranteed throughput connections that flow through one particular output port. Suppose there are 60 GT streams through this output. The bandwidth requirements of these streams is as follows: 50 GT-streams of 1 Mb/s and 10 GT-streams of 1 Gb/s. Hence, the total aggregated bandwidth is at least 10.05 Gb/s.
  • Three examples A, B and C of the slot-table, which differ in the number of layers and the number of slot-table entries, will be discussed as follows.
  • Example B again makes use of a single layered slot-table but now consisting of just 250 slot entries. This reduced number of slot entries saves a significant amount of costs.
  • this realization has disadvantages; firstly, it requires links with 25% more bandwidth than Example A and secondly, this extra bandwidth is not available for other connections since the bandwidth granularity of 50 Mb/s does not allow so.
  • Example C makes use of a two layer slot-table.
  • the first layer of the slot-table consists of 50 entries with a bandwidth per slot of 1 Mb/s.
  • the second layer of the slot-table consists of 10 entries, where the bandwidth of each slot is 1 Gb/s. Consequently the weights, W ⁇ , of the subsequent layers is 1 and 1000.
  • This realization requires the bandwidth of the link to be 10.05 GB/s just like in example A, however now we need only 60 slot table entries in total which is just 0.6% of the number in example A.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

A time-division multiplexing circuit-switching router comprises a plurality of input means (i1,..., iN), at least one output means (ol,..., oM), switching means for switching between said input means (i1,...,iN) and said output means (ol,..., oM) and for connecting a selected input means to output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot. Said router table means is divided into a plurality of tables, each table having a weight which specifies the amount of bandwidth per reservation in one table in relation to a reservation in the other table(s).

Description

Time-division multiplexing circuit-switching router
FIELD OF THE INVENTION
The present invention relates to a time-division multiplexing circuit-switching router, comprising a plurality of input means, at least one output means, switching means for switching between the input means and the output means and for connecting a selected input means to output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot.
BACKGROUND OF THE INVENTION To realize precision in latency and throughput for communication over shared interconnection, conventional communication architectures rely typically on the arbitration scheme called time-multiplexed multiple access (TDMA). An arbitration scheme does contention resolution and is essential in case of communication over shared interconnect lines. TDMA works like a time wheel (of slots) where each slot can be statically reserved for a unique master. If the time wheel consists of S slots and each slot takes an equal amount of time, then every slot reservation corresponds with 1/Sth of the available bandwidth B of the bus. Multiple slots have to be reserved for connections, which need more bandwidth than B/S. The slot reservations are stored in a table, which is typically implemented by an embedded memory like e.g. a random access memory (RAM) or a first-in-first-out (FIFO) buffer.
A problem arises when the range of bandwidth requirements of the programmed connections is large (e.g. 1 Mb/s to 20 Gb/s). Then either many slots (>20000 for the given example) in the time wheel or something else are needed to realize a large ratio with less than 20000 slots. Managing the complexity of designing chips containing billions of transistors requires decoupling computation from communication. For communication, scalable and compositional interconnects, such as networks on chip (NoC), must be used. So, the future of on-chip communication is an on-chip network of routers. Circuit- switching allows to establish connection over a conceptual physical path from a source to a destination. An on-chip router network consists, among other parts, of interconnected routers.
US 4 466 060 A discloses an adaptive distributed message routing algorithm for controlling the routing of data messages in a packet message switching digital computer network. Network topology information is exchanged only between neighbour nodes in the form of minimum spanning trees, referred to as exclusionary trees.
An exclusionary tree is formed by excluding the neighbour node and its links from the tree. From the set of exclusionary trees received a route table and transmitted exclusionary trees are constructed. WO 01/89158 Al discloses a method for controlling resources in a communication network comprising nodes interconnected by links, each carrying a bitstream which is divided into frames, each frame in turn being divided into time slots which are allocatable to form circuit-switched channels. Resources in the form of write access to time slots are associated with administrative entities. Allocation of resources is then done in such a way the allocation of resources to channels pertaining to a subject administrative entity is guaranteed to the extent by which resources have been associated with the subject administrative entity.
In an on-chip router network using time-division multiplexing (TDM), physical links can be shared to achieve a higher utilization of the interconnect resources. This requires control to set a switch inside the router and this control information is stored in a so-called slot, i. e. a predetermined unit of time, or router table.
SUMMARY OF THE INVENTION
An object of the present invention is to provide a time-division multiplexing circuit-switching router which is able to be used in an on-chip router network under reduced costs.
In order to achieve the above and further objects, there is provided a time- division multiplexing circuit-switching router, comprising a plurality of input means, at least one output means, switching means for switching between said input means and said output means and for connecting a selected input means to a selected output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot, characterized in that said router table means is divided into a plurality of tables, each table having a weight which specifies the amount of bandwidth per reservation in one table in relation to a reservation in the other table(s).
Due to the invention the size of the router table means is reduced resulting in a reduction of the corresponding silicon area and overhead and, thus, in a saving of costs which is important for the provision of an on-chip router network. Further, the invention allows for a finer bandwidth granularity for the same size of the router table means and, thus, the same costs resulting in more efficient use of the available bandwidth in the network, since high bandwidth data streams can be covered by a higher weighted table such that less time slots need to be allocated. The invention can be used in all digital system-on-chip ICs.
Preferably, the weights of the tables are programmable. Each table can include a number (Si) of rows, and per predetermined time period the tables are cycled a number (wj) of times corresponding to the respective weight (wi > 1), so that preferably the effective slot cycle period (Se) is
L
Se = Σ W/ • S; /= 1
The way in which entries of the tables are enumerated depends on the latency requirements through a network the router is connected to.
In a further preferred embodiment comprising a plurality of buffer means, each connected between an input means and the switching means, respectively, each buffer means comprises a plurality of buffer portions corresponding to the plurality of tables, each buffer portion being allocated to a table, respectively, wherein the router table means is provided for controlling the buffer portions in accordance with the tables. Such a buffering concept is more elegant than a shared buffering concept, since the incoming flow control digits are stored in such buffer means per table so that the various levels of the TDMA schedule become logically independent. Preferably, said buffer means is a first-in-first-out (FIFO) buffer means.
The above described objects and other aspects of the present invention will be better understood by the following description and the accompanying Figures.
In the following a preferred embodiment of the present invention is described with reference to the drawings in which
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 shows a schematic basic block diagram of a time-division multiplexed circuit-switching router; Figure 2 schematically shows a combination of two routers connected in series and the flow of four guaranteed throughput data streams;
Figure 3 schematically shows an example of a simple router network with two 2x2 -routers and the flow of three data streams, two being best-effort and one being guaranteed-throughput;
Figure 4 shows a schematic block diagram of a time-division multiplexed circuit-switching router including a multi-layer router table according to a preferred embodiment of the invention;
Figure 5 a schematic diagram of the flow of three data streams, which propagate through a network consisting of two routers according to a preferred embodiment of the invention; and
Figure 6 shows a schematic block diagram of a plurality of buffers which are included in the router of Figure 4 per input.
DESCRIPTION OF A PREFERRED EMODIMENT
The architecture of a simple router for circuit-switching is depicted in Figure 1 for explanation purposes. The router consists of N input ports including buffers, M output ports and a switch to forward data from the inputs to the outputs (concurrently) according to a router table. Circuit-switching allows to establish connections over a physical path from a source to a destination for a certain amount of time (Leijten, J.A.J.; van Meerbergen, J.L.; Timmer, A.H.; Jess, J.A.G.; "Stream communication between real-time tasks in a high- perfonnance multiprocessor", Design, Automation and Test in Europe, 1998, Proceedings, 23-26 Feb 1998, page 125 -131).
In the routers the data is for a certain amount of time stored in queues because of timing implementation reasons. Consequently, circuit-switching over a router network differs from a shared bus TDMA architecture in that the data transport over the network involves multiple hops (one for each router on the path) instead of only one, wherein each hop (router) has a different router table. Furthermore circuit-switching is a special form of TDMA where by master-slave, or in the context of routers input-output port, pairs are scheduled as explained below.
The router table of an individual router contains the information to program a crossbar switch in a contention free manner over time. For this reason, time is divided into fixed units of time called slots. During a slot, a unit of data called a flit (flow control digit) can be forwarded by the crossbar switch from a router input-buffer to an output. The input/output mapping in a specific slot is specified by the router table T, being a matrix of size S x M, where S is the number of slot entries and M is the number of output terminals of the router. The elements of T are in the set {0, 1, . . ., N}. The value n = T(s, m), with 0 < s < S and 0 < m ≤ M , means that in slot s, if n ≠ 0, a flit is forwarded from input /*„ to output om. So, row s of T specifies the mapping in slot s. The slot assignment T is periodically repeated over time according to s = k mod S, with k being a slot iterator.
Accordingly, the router table of every router in the network has S time slots. There is a logical notion of synchronicity: All routers in a network are in the same fixed- duration slot, as already mentioned before. In a slot iteration k, at most one block of data is written per output port. The outputs of the routers in a network are connected to inputs of routers by means of links between input / output pairs. Such a link causes a block that is being written to an output in slot iteration £ to be present in the queue of an input that is connected via a link, at the next slot iteration. During the next slot k+1 or later, the arrived blocks are again written to their appropriate output ports. The blocks thus propagate in a store and forward fashion. The latency a block incurs per router is equal to the duration of a slot multiplied by the difference in the arrival and departure time of the block (which is given by the reservations of two subsequent routers along the path). The bandwidth is guaranteed in multiples of block size per S slots.
The slots reserved for a path from a source to a destination increase at least by one (modulo S) per router. If slot s is reserved in some router on the path and slot (s + q)%S, with q > 0, is reserved in the next router on the path, the incurred latency for this part of path is q slots.
The order in which blocks at an input of a router arrive must be the same as the order in which these blocks are being written through one of the outputs of the router. This allows implementing the queues connected to the inputs by means of FIFOs.
The entries of the router table map outputs to inputs for every slot, i.e. T(s, o) - i. An entry is empty, when there is no reservation for that output in that slot. No contention arises because there is at most one input per output. Sending a single input to multiple outputs (multicast) is possible. In a GT (Guaranteed-Throughput) routing approach, every GT token, which is read in time slot s in some router, is read in time slot (s+q)%S in the next router in the path the token follows. The value of q is at least one and is a result of the chosen schedule. It is preferably as small as possible since the overall latency of connection is equal to the sum of all g's along the path. Guaranteed -throughput (GT) services require resource reservation for worst-case scenarios, which can be expensive.
An example of a simple router network including two 2x2-routers Rl and R2 with a router table size S = 4 is shown in Figure 2. In this Figure four GT connections are represented by the data streams $ι, s2, S3, and 54. The number of time slots allocated for that data stream is shown in parentheses in Figure 2.
The first output port (shown as upper port in Figure 2) of the first router Rl is unused and, consequently, the first column of the routing table is empty. The second column of the routing matrix of the first router Rl indicates that tokens from its inputs are written alternately on the second output port (shown as the lower port in Figure 2). Consequently, both data streams s\ and 5 are routed with the desired bandwidth without contention in the first router Rl . In the second router R2, the first output port (shown as the upper port in Figure 2) receives tokens of the data streams si and S3. Since the tokens from the data stream i are routed in the time slots 0 and 2 in the first router Rl, they are routed at time slots 1 and 3 in the second router R2. This is seen by the two "1" in the first column of the router table of the second router R2. The single time slot required by the data stream S is scheduled in the time slot 2 of the first column. Similarly, as indicated by "1" in the second column of the router table of the second router R2, tokens of the data stream s2 are scheduled in the time slots 0 and 2. Finally, the tokens of the data stream &t are scheduled in the time slot 1. It is not required that a GT token is available in every reserved time slot.
When no GT packet arrives in a reserved time slot, a BE (best effort) packet can be sent over the claimed but unused time slot of the link. Best-effort (BE) services do not reserve any resource, and hence provide no guarantees, but use resources well because they are typically designed for average-case scenarios instead of worst-case scenarios. The number S of slots in the router table determines the granularity in which the total amount of bandwidth of a link can be divided. If B represents the amount of bandwidth per link, then a single connection can allocate bandwidth in chunks of B/S. Hence, increasing S, which means increasing the number of slot-table entries of all routers, results in a finer granularity. However, a bigger size of the router table results in higher costs of the router in terms of silicon area. Current estimations show that the router table can take as much as 50% of the total router silicon area. A large router table has also an operational disadvantage. Namely, for the high and medium bandwidth connections a large number of slots must be programmed. This is expensive in terms of the connection setup and teardown time. Figure 3 shows as an example a combination of two 2x2-routers Rl and R2 connected in series, wherein the two 2x2 -routers are indicated by Rl and R2, and the network terminals are identified by (i = 1, 2, ..., 6).
Assume that the first router Rl receives BE packets via terminal ti, which are all destined to the terminal t; and that the bandwidth of these packets require 10 % of the capacity of a link. Similarly, packets go from the terminal t2 to the terminal tβ and require only 1 % of the link capacity. The second router R2 receives a GT data stream via the terminal t which is destined to the terminal tβ. The GT data stream claims and uses 99 % of the bandwidth and thus occupies the output link from output port b of the router R2 to the terminal for 99 % of time. So, the BE stream sharing port b can send a flit only in the remaining 1 % link capacity, and every time GT data arrives for port b the transmission of the BE packet over port b is pre-empted.
This can cause long latencies for the packets of the 1 % BE data stream, wherein latency is defined as the duration a packet is transported over the network. It also causes the link between the routers Rl and R2 to be occupied almost continuously by the 1 % BE stream because flits of different packets are not interleaved. Thus, BE packets of the 10 % data stream obtain less than 10 % of the rate of the link. This means that in the example of Figure 3 the link between the routers Rl and R2 has a utilization that is even below 11 % of its theoretical capacity. In order to overcome this problem there are basically three approaches: (1.) using virtual cut-through routing rather than a so-called wormhole routing, (2.) performing GT communication in relatively large blocks of data and large periods of no data, and (3.) using a GT service for the 1% BE stream.
The first approach guarantees that a complete packet will be accepted in the next router such that the incoming link of the next router does not block. However, this is at the cost of extra memory.
The second approach ensures that flit pre-emption rarely occurs. When the 99 % of GT data is grouped in blocks of 10 time units, then this bandwidth is obtained by alternative sending 99 blocks of data followed by 10 time units nothing. When the packet size ' of the BE data stream is small compared to such 10 time units, a complete packet of the 1 % BE data stream is sent in the 10 time units and the link between the routers Rl and R2 can be used by the 10 % BE data stream immediately after the packet has been sent. While the first approach suffers from additional memory requirements in the router, this second approach suffers from additional latency in the BE data stream. In the third approach, a GT service is used to realize the connection between the terminals t2 and tβ. Consequently, the relatively low bandwidth stream is scheduled at specific moments in time by means of reserving 1 out of every 100 slots in the routing table. This requires the slot table to have a size of at least 100 entries. Since a GT service results in a circuit-switched connection during the reserved period over time, the connection uses at most 1 % of the link capacity between the routers Rl and R2. The remaining link capacity is available for the 10 % BE stream.
The third approach requires a provision for efficiently storing a set of connections with both low and high bandwidth requirement. This is achieved by means of a layered reservation table. Given the substantial amount of area overhead consumed by the reservation table, it is structured into L layers: T- (T\, ... , Tι). The table of layer 1 = 1, . . . , L has a size of Si rows and a weight of wι ≥ 1. The weight specifies the amount of bandwidth a slot in the corresponding reservation table represents in proportion to the weight of the other layers. This is realized by constructing a combined schedule of the L tables, in which per period the tables T\, I = 1 , . . . , L are cycled wι times respectively. Hence the effective slot cycle period Se becomes
L (1)
Se = Σ W/ • S/
/= 1 and this at the cost of much less physical reservation table entries
L (2)
S = Σ S, '= 1
From equation (1) it follows that a slot at layer I corresponds with a fraction wj /Se of the total link bandwidth B.
Such a router architecture including multi-layer router table is schematically shown in Figure 4.
Figure 5 shows the filling of the router tables for the situation as illustrated in Figure 3 according to the multi-layer approach. Here, two layers are required. One stream is a best-effort stream, which is denoted by bei, and two other streams are guaranteed-throughput. These are denoted by gti and gt2. The router table of each router, which schedules both streams, is divided in two layers, each having a different weight. The first layer 1 has a weight of 1 and supports gt2. The second layer 2 has a weight of 99 and supports gtj. The matrices Tli and T2ι define two sub-tables associated with the first layer 1 for the routers Rl and R2 respectively. The matrices Tl and T22 give the reservations for the second layer 2. Consequently, a reservation of a slot in the second layer 2 requires 99 times more bandwidth allocation than a reservation of a slot in the first layer 1. As a result of the two-layer approach, the total number of slot entries S does not need to be larger than 3 for this case. The way in which the entries of the various tables are enumerated depends on the latency requirements through the network and if it is wanted to spend extra costs in the terms of independent buffering per layer.
The following description deals with two buffer options. In both cases switching from one layer to another is assumed to be done synchronously for all routers in the network.
Since the tables of the various layers are interleaved in time, the layer controller of the router will, sooner or later, interrupt the enumeration of the table of one layer to continue with one of the other layers. If a first-in-first-out (FIFO) buffer policy is employed per input, the FIFOs should not contain data that belongs to the level when the controller switches to another layer, otherwise data get messed up. It is not trivial to find such a point in the tables of all routers for a specific layer, because in general many paths through the network do overlap each other in time. A natural point where a clean switch to a different layer can be performed without intersecting paths could be after the last entry of the table. But in case of a circular schedule such a point does not exit at all. Namely, a circular schedule allows to divide a path through the routers in two pieces; the first part uses slots at the end of the table, the second part uses slots at the beginning of the table. In other words, a path can be wrapped over the boundary of the table. In practice, a schedule with valid interruption points for the "single FIFO per input approach" can result in a deterioration of the link utilization. A more elegant buffer approach stores the incoming flits in a FIFO per level as depicted in Figure 6 in conjunction with Figure 4. As shown in Figure 4, a plurality of buffers Q is provided, wherein each input i\ to ;' N is coupled to such a buffer Q. In Figure 6, the construction of such a buffer Q is schematically shown. In this concept, the various levels of the TDMA schedule use different queues, as such becoming logically independent. Hence, reservation tables are allowed to be circular and switching between the layers is possible at any moment in time.
It is to be noted that the latency through the network is not the same for the two buffering strategies. For reasons of convenience, the ratio between the high and low bandwidth connections and the number of connections are kept small, respectively 1 to 99 and 3. In practice however, the ratio and the number of connections can be much larger.
The advantage of a multi-level slot table is shown as follows. For reasons of simplicity, suppose a network-on-chip consisting of just one router according to Fig. 4. Furthermore, let us focus on the guaranteed throughput connections that flow through one particular output port. Suppose there are 60 GT streams through this output. The bandwidth requirements of these streams is as follows: 50 GT-streams of 1 Mb/s and 10 GT-streams of 1 Gb/s. Hence, the total aggregated bandwidth is at least 10.05 Gb/s. Three examples A, B and C of the slot-table, which differ in the number of layers and the number of slot-table entries, will be discussed as follows.
Example A makes use of one slot-table consisting of 10050 slots. Let the bandwidth of a single link be 10.05 Gb/s such that the bandwidth per slot becomes 1/10050 x 10.05 Gb/s = 1 Mb/s. Now the 50 GT-streams of 1 Mb/s need to reserve 1 slot each and the 10 GT-streams of 1 Gb/s need to reserve 1000 slots each.
Example B again makes use of a single layered slot-table but now consisting of just 250 slot entries. This reduced number of slot entries saves a significant amount of costs. The optimal distribution of the 256 slots over the 60 streams is as follows: the 50 streams of IMb/s use one slot each, the 10 streams of 1 Gb/s use the remaining slots which means 20 each. Now, to fulfil the bandwidth requirement of all streams the bandwidth of the link must be 250/20 x 1 Gb/s = 12.5 Mb/s. Consequently, the bandwidth per slot is 50 Mb/s. One can see that this realization has disadvantages; firstly, it requires links with 25% more bandwidth than Example A and secondly, this extra bandwidth is not available for other connections since the bandwidth granularity of 50 Mb/s does not allow so. Example C makes use of a two layer slot-table. The first layer of the slot-table consists of 50 entries with a bandwidth per slot of 1 Mb/s. The second layer of the slot-table consists of 10 entries, where the bandwidth of each slot is 1 Gb/s. Consequently the weights, W\, of the subsequent layers is 1 and 1000. This realization requires the bandwidth of the link to be 10.05 GB/s just like in example A, however now we need only 60 slot table entries in total which is just 0.6% of the number in example A.
Although the invention is described above with reference to examples shown in the attached drawings, it is apparent that the invention is not restricted to it, but can vary in many ways within the scope disclosed in the attached claims.

Claims

CLAIMS:
1. A router, comprising a plurality of input means (ii,..., IN), at least one output means (oi, ..., O ), switching means for switching between said input means (i\,...,1N) and said output means (o1}..., OM) and for connecting a selected input means to output means during a predetermined time slot, and a router table means for controlling said switching means, said router table means including instructions which input means be connected to output means for a predetermined time slot, characterized in that said router table means is divided into a plurality of tables (T/) (/ = 1 , ... ,L), each table having a weight (w/ > 1) which specifies the amount of bandwidth per reservation in one table in relation to a reservation in the other table(s).
2. The router according to claim 1 , wherein the router table means is divided into a plurality of hierarchical levels and each table is allocated to a certain hierarchical level.
3. The router according to claim 1 or 2, wherein the weights of said tables are programmable.
4. The router according to at least any one of the preceding claims, wherein each table (T/) includes a number (S/) of rows.
5. The router according to at least any one of the preceding claims, wherein per predetermined time period the tables (T/) are cycled a number (w/) of times corresponding to the respective weight (w/ > 1).
6. The router according to claims 4 and 5, wherein the effective slot cycled period (Se) is L
Se = Σ W/ • S/
/= 1
7. The router according to at least any one of the preceding claims, wherein the way in which entries of the tables (T/) are enumerated depends on latency requirements through a network of which the router is being a part.
8. The router according to at least any one of the preceding claims, comprising a plurality of buffer means (Q), each connected between an input means (h , ... , IN) and the switching means, respectively, wherein each buffer means (Q) comprises a plurality of buffer portions (1,..., L) corresponding to the plurality of tables (T;), each buffer portion being allocated to a table, respectively, wherein the router table means is provided for controlling the buffer portions in accordance with said tables.
9. The router according to claim 8, wherein said buffer means (Q) is a first-in- firstrout buffer means.
PCT/IB2004/050622 2003-05-14 2004-05-10 Time-division multiplexing circuit-switching router WO2004102989A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE602004005980T DE602004005980D1 (en) 2003-05-14 2004-05-10 TIME MULTIPLEX PIPING TRANSMITTER ROUTER
EP04731983A EP1625757B1 (en) 2003-05-14 2004-05-10 Time-division multiplexing circuit-switching router
JP2006530791A JP2007500985A (en) 2003-05-14 2004-05-10 Time division multiplexing circuit switching router
US10/556,284 US20070010205A1 (en) 2003-05-14 2004-05-10 Time-division multiplexing circuit-switching router

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03101327 2003-05-14
EP03101327.9 2003-05-14

Publications (1)

Publication Number Publication Date
WO2004102989A1 true WO2004102989A1 (en) 2004-11-25

Family

ID=33442816

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/050622 WO2004102989A1 (en) 2003-05-14 2004-05-10 Time-division multiplexing circuit-switching router

Country Status (7)

Country Link
US (1) US20070010205A1 (en)
EP (1) EP1625757B1 (en)
JP (1) JP2007500985A (en)
CN (1) CN1788500A (en)
AT (1) ATE360329T1 (en)
DE (1) DE602004005980D1 (en)
WO (1) WO2004102989A1 (en)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1835672A1 (en) * 2006-03-14 2007-09-19 Alcatel Lucent Data-switching apparatus having a scheduling mechanism for arbitrating between requests for transfers of data sets, for a node of very high data rate communications network
JP2008522306A (en) * 2004-12-01 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system and method for converting and synchronizing data traffic
FR2910655A1 (en) * 2006-12-22 2008-06-27 Thales Sa METHOD FOR RESERVATION AND DYNAMIC ALLOCATION OF TIME CRANES IN A NETWORK WITH SERVICE GUARANTEE
US7436598B2 (en) 2003-05-14 2008-10-14 Koninklijke Philips Electronics N.V. Variable shape lens
JP2008546298A (en) * 2005-06-03 2008-12-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Electronic device and communication resource allocation method
GB2457310A (en) * 2008-02-11 2009-08-12 Picochip Designs Ltd Signal routing in processor arrays
US8463312B2 (en) 2009-06-05 2013-06-11 Mindspeed Technologies U.K., Limited Method and device in a communication network
US8559998B2 (en) 2007-11-05 2013-10-15 Mindspeed Technologies U.K., Limited Power control
US8712469B2 (en) 2011-05-16 2014-04-29 Mindspeed Technologies U.K., Limited Accessing a base station
US8798630B2 (en) 2009-10-05 2014-08-05 Intel Corporation Femtocell base station
US8849340B2 (en) 2009-05-07 2014-09-30 Intel Corporation Methods and devices for reducing interference in an uplink
US8862076B2 (en) 2009-06-05 2014-10-14 Intel Corporation Method and device in a communication network
US8904148B2 (en) 2000-12-19 2014-12-02 Intel Corporation Processor architecture with switch matrices for transferring data along buses
US9042434B2 (en) 2011-04-05 2015-05-26 Intel Corporation Filter
US9107136B2 (en) 2010-08-16 2015-08-11 Intel Corporation Femtocell access control
DE112012000393B4 (en) * 2011-03-09 2016-09-29 International Business Machines Corporation Reserve switch queue capacity at the link layer
US10856302B2 (en) 2011-04-05 2020-12-01 Intel Corporation Multimode base station

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006126127A2 (en) * 2005-05-26 2006-11-30 Nxp B.V. Electronic device and method of communication resource allocation
US8638665B2 (en) 2008-04-30 2014-01-28 Nec Corporation Router, information processing device having said router, and packet routing method
US8964760B2 (en) 2009-03-09 2015-02-24 Nec Corporation Interprocessor communication system and communication method, network switch, and parallel calculation system
EP2273378B1 (en) * 2009-06-23 2013-08-07 STMicroelectronics S.r.l. Data stream flow controller and computing system architecture comprising such a flow controller
DE102009030204A1 (en) * 2009-06-24 2010-12-30 Audi Ag Star coupler for a bus system, bus system with such a star coupler and method for exchanging signals in a bus system
WO2011142087A1 (en) * 2010-05-12 2011-11-17 パナソニック株式会社 Router and chip circuit
US9231865B2 (en) * 2012-08-10 2016-01-05 Wisconsin Alumni Research Foundation Lookup engine with reconfigurable low latency computational tiles
CN103595627A (en) * 2013-11-28 2014-02-19 合肥工业大学 NoC router based on multicast dimension order routing algorithm and routing algorithm thereof
CN107078945B (en) * 2014-09-30 2021-02-23 上海诺基亚贝尔股份有限公司 Method and apparatus for cross-parallel data between multiple entries and multiple exits
WO2016105419A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Apparatus and method for routing data in a switch

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US615444A (en) * 1898-12-06 Half to charles m
EP0798942A2 (en) * 1996-03-29 1997-10-01 Gpt Limited Routing and bandwith allocation
US20030026260A1 (en) * 2001-08-06 2003-02-06 Nobuo Ogasawara Packet routing apparatus and routing controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466060A (en) * 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
US5168492A (en) * 1991-04-11 1992-12-01 Northern Telecom Limited Rotating-access ATM-STM packet switch
US6882799B1 (en) * 2000-09-28 2005-04-19 Nortel Networks Limited Multi-grained network
US7187684B2 (en) * 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US615444A (en) * 1898-12-06 Half to charles m
EP0798942A2 (en) * 1996-03-29 1997-10-01 Gpt Limited Routing and bandwith allocation
US20030026260A1 (en) * 2001-08-06 2003-02-06 Nobuo Ogasawara Packet routing apparatus and routing controller

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904148B2 (en) 2000-12-19 2014-12-02 Intel Corporation Processor architecture with switch matrices for transferring data along buses
US7436598B2 (en) 2003-05-14 2008-10-14 Koninklijke Philips Electronics N.V. Variable shape lens
JP2008522306A (en) * 2004-12-01 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data processing system and method for converting and synchronizing data traffic
JP2008546298A (en) * 2005-06-03 2008-12-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Electronic device and communication resource allocation method
EP1835672A1 (en) * 2006-03-14 2007-09-19 Alcatel Lucent Data-switching apparatus having a scheduling mechanism for arbitrating between requests for transfers of data sets, for a node of very high data rate communications network
FR2898750A1 (en) * 2006-03-14 2007-09-21 Alcatel Sa ARBITRATION MECHANISM DATA COMMUNICATION DEVICE BETWEEN DATA TRANSFER REQUESTS FOR A NODE OF A HIGH-SPEED COMMUNICATION NETWORK
FR2910655A1 (en) * 2006-12-22 2008-06-27 Thales Sa METHOD FOR RESERVATION AND DYNAMIC ALLOCATION OF TIME CRANES IN A NETWORK WITH SERVICE GUARANTEE
WO2008077928A1 (en) 2006-12-22 2008-07-03 Thales Method for the dynamic reservation and allocation of time slots in a network with service warranty
AU2007338052B2 (en) * 2006-12-22 2011-12-08 Thales Method for the dynamic reservation and allocation of time slots in a network with service warranty
US8830916B2 (en) 2006-12-22 2014-09-09 Thales Method for the dynamic reservation and allocation of time slots in a network with service warranty
US8559998B2 (en) 2007-11-05 2013-10-15 Mindspeed Technologies U.K., Limited Power control
GB2457310A (en) * 2008-02-11 2009-08-12 Picochip Designs Ltd Signal routing in processor arrays
GB2457310B (en) * 2008-02-11 2012-03-21 Picochip Designs Ltd Signal routing in processor arrays
US8077623B2 (en) 2008-02-11 2011-12-13 Picochip Limited Signal routing in processor arrays
US8849340B2 (en) 2009-05-07 2014-09-30 Intel Corporation Methods and devices for reducing interference in an uplink
US9807771B2 (en) 2009-06-05 2017-10-31 Intel Corporation Method and device in a communication network
US8463312B2 (en) 2009-06-05 2013-06-11 Mindspeed Technologies U.K., Limited Method and device in a communication network
US8862076B2 (en) 2009-06-05 2014-10-14 Intel Corporation Method and device in a communication network
US8892154B2 (en) 2009-06-05 2014-11-18 Intel Corporation Method and device in a communication network
US8798630B2 (en) 2009-10-05 2014-08-05 Intel Corporation Femtocell base station
US9107136B2 (en) 2010-08-16 2015-08-11 Intel Corporation Femtocell access control
DE112012000393B4 (en) * 2011-03-09 2016-09-29 International Business Machines Corporation Reserve switch queue capacity at the link layer
US9042434B2 (en) 2011-04-05 2015-05-26 Intel Corporation Filter
US10856302B2 (en) 2011-04-05 2020-12-01 Intel Corporation Multimode base station
US8712469B2 (en) 2011-05-16 2014-04-29 Mindspeed Technologies U.K., Limited Accessing a base station

Also Published As

Publication number Publication date
ATE360329T1 (en) 2007-05-15
EP1625757A1 (en) 2006-02-15
JP2007500985A (en) 2007-01-18
US20070010205A1 (en) 2007-01-11
DE602004005980D1 (en) 2007-05-31
CN1788500A (en) 2006-06-14
EP1625757B1 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
EP1625757B1 (en) Time-division multiplexing circuit-switching router
Kavaldjiev et al. A virtual channel router for on-chip networks
Rijpkema et al. Trade-offs in the design of a router with both guaranteed and best-effort services for networks on chip
Feliciian et al. An asynchronous on-chip network router with quality-of-service (QoS) support
EP1744497B1 (en) Method for managing a plurality of virtual links shared on a communication line and network implementing said method
US20080205432A1 (en) Network-On-Chip Environment and Method For Reduction of Latency
US6654381B2 (en) Methods and apparatus for event-driven routing
US6370145B1 (en) Internet switch router
US6876629B2 (en) Rate-controlled multi-class high-capacity packet switch
US20080186998A1 (en) Network-On-Chip Environment and Method for Reduction of Latency
EP1889412B1 (en) Electronic device and method of communication resource allocation
US20030035371A1 (en) Means and apparatus for a scaleable congestion free switching system with intelligent control
US9634960B2 (en) Petabits-per-second packet switch employing cyclically interconnected switch units
US8964760B2 (en) Interprocessor communication system and communication method, network switch, and parallel calculation system
US7519053B2 (en) Multi-speed rotorswitch
Kranich et al. NoC switch with credit based guaranteed service support qualified for GALS systems
US11855913B2 (en) Hierarchical switching device with deadlockable storage and storage partitions
EP1835672B1 (en) Data-switching apparatus having a scheduling mechanism for arbitrating between requests for transfers of data sets, for a node of very high data rate communications network
Kavaldjiev et al. Two architectures for on-chip virtual channel router
US7123611B2 (en) Packet switching
Network FIG.
CHINTHA et al. Design of Virtual Channel Router for Network on Chip
Ferrer et al. Quality of Service in NoC for Reconfigurable Space Applications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004731983

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007010205

Country of ref document: US

Ref document number: 10556284

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20048128245

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2006530791

Country of ref document: JP

WWP Wipo information: published in national office

Ref document number: 2004731983

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10556284

Country of ref document: US

WWG Wipo information: grant in national office

Ref document number: 2004731983

Country of ref document: EP