(IJCSIS) International Journal of Computer Science and Information Security,Vol. 9, No. 9, September 2011
the actual traffic condition of the upstream switches. Moreprecisely, each output channel within a switch observes thecontention level (the number of requests from the inputchannels) and sends this contention level to the input channelof the downstream switch, where the contention level is thenused in the input selection. When multiple input channelsrequest the same output channel, the access is granted to theinput channel which has the highest contention level acquiredfrom the upstream switch. This input selection removespossible network congestion by keeping the traffic flowingeven in the paths with heavy traffic load, which in turnimproves routing performance. Fig. 4 shows the algorithm of CAIS [9]. In CAIS an input channel which has lower CLcontinuously competing with channels which have higher CL,obviously will be defeated any time. The packets in thischannel won't be able to get their required output channel andface with starvation and this will cause the problem of decreasing network efficiency. Thus, there is a starvationpossibility in this new input selection technique, because itperforms input selection only based on the highest contentionlevel (CL) and the channels with low CL have a little chancefor winning. So this input selection technique improved in [20],which in addition to CL, another parameter with the name of AGE for every input channel is taken into consideration andmeasure of priority will be a compound of CL+AGE. In thistechnique, the problem of starvation has been resolved.
Figure 4. Pseudo VHDL code of the CAIS algorithm
E.
Output Selection Technique
A packet coming from an input channel may have a choiceof multiple output channels, e.g., in fig.2 a packet p0 of input_0can be forwarded via output_0, output_1 and so on. The outputselection chooses one of the multiple output channels to deliverthe packet. Several switch architectures have been developedfor NOC [5, 9, and 10], employing XY output selection andwormhole routing. The routing technique proposed in [21]acquire information from the neighboring switches to avoidnetwork congestion and uses the buffer levels of thedownstream switches to perform the output selection. A routingscheme which is based on Odd-Even routing algorithm[10] andcombines deterministic and adaptive routing is proposed in[22], where the switch works in deterministic mode when thenetwork is not congested, and switches to adaptive mode whenthe network becomes congested. In the IV, V and VI wedescribes some kinds of output selection techniques of deterministic routing, oblivious routing and adaptive routingwhich presented for NOC.III.
I
MPORTANT
P
ROBLEMS IN
R
OUTING
A
LGORITHMS
Many properties of the NOC are a direct consequence of the routing algorithm used. Among these properties we cancite the following [23]:
a)
Connectivity:
Ability to route packets from anysource node to any destination node.
b)
Adaptively:
Ability to route packets throughalternative paths in the presence of contention or faultycomponents.
c)
Deadlock and live lock freedom:
Ability to guaranteethat packets will not block or wander across the network forever.
d)
Fault tolerance:
Ability to route packets in thepresence of faulty components. Although it seems that faulttolerance implies adaptively, this is not necessarily true. Faulttolerance can be achieved without adaptively by routing apacket in two or more phases, storing it in some intermediatenodes.
A good routing algorithm should be avoidance fromdeadlock, live lock, and starvation. Deadlock may be definedas a cyclic dependency among nodes requiring access to a setof resources, so that no forward progress can be made, nomatter what sequence of events happens. Live lock refers topackets circulating the network without ever making anyprogress towards their destination. Starvation happens when apacket in a buffer requests an output channel, being blockedbecause the output channel is always allocated to anotherpacket [7, 20, and 23].IV.
D
ETERMINISTIC
R
OUTING
A
LGORITHMS
Many properties of the NOC are a direct consequence of the routing algorithm used. The XY algorithm is deterministic.Flits are first routed in the X direction, until reaching the Ycoordinate, and afterwards in the Y direction. If some network hop is in use by another packet, the flit remains blocked in theswitch until the path is released [5, 7].V.
O
BLIVIOUS
R
OUTING
A
LGORITHMS
A.
Dimension Order Routing
This routing algorithm routes packets by crossingdimensions in increasing order, nullifying the offset in onedimension before routing in the next one. A routing example isshown in Fig.5 Note that dimension-order routing can beexecuted at the source node, storing information about turns
127http://sites.google.com/site/ijcsis/ISSN 1947-5500