Design and Implementation of Buffer Loan Algorithm for BiNoC Router

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume 14 Number 2 – Aug 2014
Design and Implementation of Buffer Loan
Algorithm for BiNoC Router
Deepa S Dev
Student, Department of Electronics and Communication, Sree Buddha College of Engineering, University of Kerala,
Kerala, India
Abstract- Novel BiNoC router architecture is presented that
supports dynamic self-reconfiguration of channel direction and
buffer reconfiguration. In conventional BiNoC architecture to
accommodate heavy traffic, large buffer is needed. But the
proposed router (BiNoC router with reconfigurable buffer) can
support heavy traffic without the need of large buffer. In this
case power dissipation is less and performance is better than
conventional BiNoC router. The designing has been done
using the hardware description language VHDL in
XILINX ISE tool. Its FPGA implementation is done using
Virtex-5 board.
and the main function of this unit is ordering and reordering of
packets.
In BiNoC, unidirectional channels present in the
general router are replaced by bidirectional channels. The
main advantage of bidirectional channels is that we can
transmit 2 packets simultaneously. But heavy traffic demands
larger buffer in BiNoC. This results in power dissipation. To
avoid this, buffer reconfiguration is adopted in BiNoC router.
Keywords—BiNoC, bidirectional channel.
I. INTRODUCTION
Network-on-Chip (NoC) is a communication subsystem
for interconnecting various IP cores present in the System on a
Chip (SoC). NoC architecture is proposed as a high
performance, scalable and power efficient alternative to the
bus based architecture. It solves scalability problem by
providing multiple connections with various systems. As
systems become more complex, more and more integration is
possible to the existing system without any difficulties. The
NoC is able to separate communication part from the
computational part. It is ideally suitable for integrated systems.
NoC can take care of the communication part easily without
results in any interference in the computation part.
Point to point links and shared buses are other
interconnecting architectures present in NoC. In the case of
point to point interconnecting architectures, increase in the
number of processing elements results in the increase of
number of wires. But, long wires result power dissipation. In
the case of shared bus only one data transaction is possible at
a time. But in NoC, power dissipation is small and several
data transactions are possible at a time.
Fig. 1 shows a basic NoC. A typical NoC consists of
routers, links and network interface. Routers are used to find
the destination by processing the data packets they received. It
also finds the best path towards the destination. Links are
wires which are used to interconnect various routers or it is
used to connect router to network interface. Network interface
separates the communication part from the computation part.
It consists of a front end back end part. Front end part is
connected to the network interface. It is unaware of
communication part. Back end part is connected to the router
ISSN: 2231-5381
Fig. 1 Basic NoC
The rest of this paper is organized as follows. Section
II, reviews the important contribution of researches in the field
of NoC. Section III deals with motivation behind BiNoC
router with reconfigurable buffer. Architecture of BiNoC
router is presented in Section IV.
In section V, CDC protocol is presented. Buffer loan
algorithm is presented in section VI. Finally, in Section VII,
experimental results are presented. In the last section,
conclusion of the work is presented.
II. RELATED WORK
The performance of NoC architecture is better than bus
based communication [1]. As compared to other
interconnecting architectures such as bus and wires, power
consumption of NoC architecture is very low. The router
architecture usually consists of 5 input ports and 5 output
ports. Power consumption generally depends on injection rate
at the processor. Reconfiguration of channels results doubling
of bandwidth in BiNoC router [6]. But heavy traffic demand
needs large buffer size. Large buffer size results increase in
http://www.ijettjournal.org
Page 87
International Journal of Engineering Trends and Technology (IJETT) – Volume 14 Number 2 – Aug 2014
power dissipation [7]. Based on application, a router can
support different bandwidth. Buffer reconfiguration results
improvement in router efficiency [5].
directional channels present in the NoC by bidirectional
channels. HP FSM of one router is connected to the LP FSM
of adjacent router. This FSMS are communicated by using 2
handshaking signals, input_req and output_req.
III. MOTIVATION
In typical NoC, adjacent routers are communicated
by using two unidirectional channels. But the channels are in
opposite direction. In BiNoC, adjacent routers are
interconnected by bidirectional channels. The use of
bidirectional channel improves the bandwidth. In this
architecture high priority port of one router is connected to the
low priority port of adjacent router. Similarly low priority port
is connected to the high priority port. This type of connection
avoids deadlock and starvation. Data transmission in typical
and BiNoC router is shown in Fig. 2.The performance of
BiNoC router can be improved by buffer reconfiguration.
Fig.2 Channel direction in Typical NoC and propose BiNoC
IV. BIDIRECTIONAL CHANNEL ROUTER ARCHITECTURE
The backbone of NoC is router. In a packet switched
network, the main function of the router is to receive the
incoming packet, process it to find the destination and finally
figure out the best path towards the destination. In the NoC,
routers are classified into two, conventional router and the
bidirectional router. In conventional or general router full
duplex communication is implemented with the help of 2
unidirectional channels. But in BiNoC, full duplex
communication is implemented using 2 bidirectional channels.
The operation of bidirectional channels are controlled by CDC
protocol. This protocol supports channel reconfiguration.
Because of this channel reconfiguration, bandwidth is 2 times
as that of general router. In this BiNoC architecture, XY
routing algorithm is used. BiNoC architecture is shown in Fig.
3.
V. CHANNEL DIRECTION CONTROL
ALGORITHM
The direction of channels is reconfigured by using
channel direction control protocol. This protocol configures
the channel direction based on the traffic demands.
The control algorithm is implemented by using two
finite state machines. For better routing efficiency, one of the
FSM is assigned with higher priority and the other is assigned
with lower priority.CDC protocol replaces the entire uni
ISSN: 2231-5381
Fig.3 BiNoC Router architecture
A. Bidirectional Channel Direction Control
High priority and a Low Priority FSMS are shown in
Fig.4 (a) and (b), respectively.
High priority and low priority FSM has 3 states: free,
wait, and idle sate.
a) Free State: the channel is ready to send data to the adjacent
router.
b) Idle state: the channel is available to receive data from the
adjacent router.
c) Wait state: It is an intermediate state ready to transition
from idle state to free state.
The working of the HP FSM and the LP FSM are discussed
below.
1) HP FSM Operations:
The initial state of the high priority FSM is the free
state. It will remain in this state as long as data packets are
present with in the current router that has to be transmitted
through the channel. The only condition that the HP FSM will
http://www.ijettjournal.org
Page 88
International Journal of Engineering Trends and Technology (IJETT) – Volume 14 Number 2 – Aug 2014
leave the free State and enter in an idle state is when there is
no data to transmit from the current router, and there is data to
be sent from the adjacent router. In free state output request is
equal to the channel request. Channel request signal is the
output of routing computation module.
Once the FSM enters the idle state, it will remain in
that state as long as there is no data to be transmitted from
current router (channel_req = 0). In this case, output signal
output_req will be ‘0’.When channel_req becomes ‘1’, HP
FSM switches to a wait state. When FSM is at wait state an
internal counter will be activated and output_req will be equal
to ‘1’. As soon as the count reaches 2 HP FSM returns to free
state and starts data transmission. Meanwhile the counter is
reset to count= ‘0’.
2) LP FSM Operations:
Initial state of the low priority FSM is the idle state.
In this state output_req=0. It will leave the idle state and
switches to a wait state if the HP FSM of the other router
yields the channel (input_req = 0) and a local RC module
requests to use the channel (channel_req = 1). The LP FSM
will remain in the wait state for four clock cycles. During any
of these four cycles, if the HP FSM requests the channel
(input_req = 1), the LP FSM will return to an idle state.
Only after four cycles (count = 4) and if input_req =
0, the LP FSM will enter a free State and begins the data
transmission. However, different from the HP FSM, an LP
FSM may remain in the free state only if HP FSM does not
have any data packet to transmit (input_req = 0). Once
input_req = 1, the LP FSM will stops the data transmission
immediately and go back to an idle state.
Fig 4 (a) HP FSM
ISSN: 2231-5381
Fig. 4(b) LP FSM
V1. BUFFER LOAN ALGORITHM
Buffer loan algorithm enables the use of buffer slots
of one channel by the adjacent channels. When a channel fills
its entire buffer slots it can borrow buffer slots from its left
neighbour and right neighbour. First the channel asks buffer
slots from its left neighbour. If it again needs buffer slots, then
it asks for right neighbour.
Each channel needs to know the number of buffer slots of
that channel occupied by its own channel flits and also needs
to know the number of buffer slots of left and right neighbour
occupied by its own channel flits. Each channel also needs to
know the number of buffer slots of its own channel occupied
by left and right neighbours. Each input port has a control unit
to store the flits and this control is based on pointers. Each
input channel has six pointers to control the read and write
operations. Out of these 6 pointers, two pointers are used to
control the read and write operation of its own buffer slots,
two pointers to control the read and write operation of left
neighbour, and the remaining two pointers are used to control
the read and write operations of right neighbour. Fig. 5 shows
the original and reconfigurable buffer. In BiNoC architecture
both high priority and low priority port consists of this
reconfigurable buffer. In this design the reconfiguration of
Local Channel is not considered, only the South, North, West,
and East Channel reconfiguration is considered.
Consider the example given in Fig. 5 (b). In this
figure, inputs for south channel are, its own input (din_S), the
right neighbour input (din_ E_S), and the left neighbour input
(din_W_S). Assume that we are using a router with buffer
depth equal to 4, and there is a router that needs to be
configured as follows. East Channel needs a buffer depth
equal to 3, North Channel needs a buffer depth equal to 4,
South Channel needs a buffer depth equal to 6, and West
Channel needs a buffer depth equal to 3.
http://www.ijettjournal.org
Page 89
International Journal of Engineering Trends and Technology (IJETT) – Volume 14 Number 2 – Aug 2014
_W_ S (West flits stored in the East buffer) to send the flits
stored in its channel but belonging to neighbour channel. Fig.
6 shows the architecture of BiNoC router with reconfigurable
buffer.
Fig. 5 (a) FIFO buffer in BiNoC
Fig. 6 BiNoC router with reconfigurable buffer
VII. EXPERIMENTAL RESULTS
Fig. 5 (b) Reconfigurable FIFO buffer
In this case, the south channel needs 6 buffer slots, but the
buffer size available is 4. So the south channel has to borrow
buffer slots from its right and left neighbours. As the west
channel occupies only three slots, the remaining slot can be
lent to the south Channel. As the east channel needs only three
of its four slots, so the south channel can lend one slot to its
neighbour. When the south channel has a flit stored in the east
channel, then this flit must be passed from the east channel to
the south Channel (d _S_ E). Then the flit is directly sent to
the crossbar by a multiplexer. The south channel has the
following outputs: the own output (dout_ S) and two more
outputs (d _E_S (East flits stored in the south buffer and d
ISSN: 2231-5381
A.Performance Evaluation
Main performance evaluation parameters considered in
this architecture are area and power.
B. Simulation setup
The proposed BiNoC router with reconfigurable
buffer is designed using the hardware description language
VHDL in XILINX ISE tool. In this architecture buffer size is
4. The design is simulated using Isim simulator.
Simulation result of buffer loan algorithm is shown
in Fig. 7.
http://www.ijettjournal.org
Page 90
International Journal of Engineering Trends and Technology (IJETT) – Volume 14 Number 2 – Aug 2014
C. Implementation setup
ACKNOWLEDGEMENTS
The proposed router is implemented using Virtex-5
Author wish to remark the great task carried out by
the Xilinx and Virtex-5 user guide; and the author wish to
thank Prof. Somi Sebastian for his contribution in the design
process.
FPGA.
REFERENCES
[1] W. J. Dally and B. Towles, “Route Packets, Not Wires: On-Chip Interconnection Networks,” in Proceedings of DAC, pages 684- 689, 2001.
[2] L. Benini and G. De Micheli, “Networks on Chips: a New SoC paradigm,”
IEEE Computer, 35(1):70-78, Jan 2002.
[3] Lionel M. Ni and Philip K Mckinley,“A survey of wormhole routing techniques in direct networks”,Computer, Vol. 26, Issue 2, pp. 62-76, Feb1993
[4] Rantala, V., T. Lehtonen, J. Plosila, 2006. “Network on Chip Routing Algorithms”, TUCS Technical Report, pp. 779.
[5] M. A. Al Faruque, T. Ebi, and J. Henkel, “Configurable links for runtime
adaptive on-chip communication,” in Proc. DATE, Apr. 2009, pp. 256–
261.
[6] Y. C. Lan, S. H. Lo, Y. C. Lin, Y. H. Hu, and S. J. Chen, “BiNoC: A bidirectional NoC architecture with dynamic self-reconfigurable channel,”in
Proc. NOCS, May 2009, pp. 266–275
.
[7] Debora Matos,Caroline Concatto, Marcio Kreutz “Reconfigurable Routers
for Low Power and High Performance”, IEEE Trans. Very Large Scale
integer (VLSI) Syst., vol. 19, no. 11, pp. 2045 -2057, November 2011.
Fig. 7 Buffer loan algorithm
D. Comparison of various routers
Comparison of various routers based on number of
channels that can be reconfigured and the number of flits that
can be stored is given below.
Table I
Comparison of Various routers
Router
Basic router
BiNoC router
Basic router with
reconfigurable
buffer
BiNoC router with
reconfigurable
buffer
No: of channels
that can be
reconfigured
1
No: of flits that
can be stored
2
Depends on buffer
size
2*buffer size
1
 buffer size
2
 2*buffer size
VII. CONCLUSION
In this paper, I presented a buffer loan algorithm that
supports real time buffer reconfiguration in the bidirectional
channels while avoiding deadlock and starvation. In this paper
an accurate hardware model for BiNoC router with
reconfigurable buffer is implemented with VHDL.
ISSN: 2231-5381
http://www.ijettjournal.org
Page 91
Download