november 2010 volume 1 number 2 - Advances in Electronics and ...
november 2010 volume 1 number 2 - Advances in Electronics and ...
november 2010 volume 1 number 2 - Advances in Electronics and ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
36 ADVANCES IN ELECTRONICS AND TELECOMMUNICATIONS, VOL. 1, NO. 2, NOVEMBER <strong>2010</strong><br />
Fig. 1. The MSM Clos switch<strong>in</strong>g fabric architecture.<br />
II. MSM CLOS SWITCHING NETWORK<br />
Clos-networks are well known <strong>and</strong> widely analyzed <strong>in</strong> the<br />
literature [16]. The three-stage Clos-network architecture is<br />
denoted by C(m, n, k), where parameters m, n, <strong>and</strong> k entirely<br />
determ<strong>in</strong>e the structure of the network. We def<strong>in</strong>e the MSM<br />
Clos switch<strong>in</strong>g fabric based on the term<strong>in</strong>ology used <strong>in</strong> [4]<br />
(see Fig. 1).<br />
IntheMSMClosswitch<strong>in</strong>gfabricarchitecturethefirst stage<br />
consists of k IMs, <strong>and</strong> each of them has an n × m dimension<br />
<strong>and</strong> nk V OQ(i, j, h) to elim<strong>in</strong>ateHead-Of-L<strong>in</strong>eblock<strong>in</strong>g.The<br />
second stage consists of m bufferless CMs, <strong>and</strong> each of them<br />
has a k × k dimension. The third stage consists of k OMs of<br />
capacity m × n, where each OP (j, h) has an output buffer.<br />
Each output buffer can receive at most m cells from m CMs,<br />
so a memory speedup is required here.<br />
Generally speak<strong>in</strong>g, <strong>in</strong> the MSM Clos switch<strong>in</strong>g fabric<br />
architecture each V OQ(i, j, h) located <strong>in</strong> IM(i) stores cells<br />
go<strong>in</strong>g from IM(i) to the OP (j, h) at OM(j). In one cell<br />
time slot VOQ can receive at most n cells from n <strong>in</strong>put ports<br />
<strong>and</strong> send one cell to any CMs. A memory speedup of n is<br />
required here because the rate of memory work has to be n<br />
times higherthan the l<strong>in</strong>e rate. Each IM(i) has m outputl<strong>in</strong>ks<br />
LI(i, r) connected to each CM(r), respectively. A CM(r)<br />
has k output l<strong>in</strong>ks LC(r, j) which are connected to each<br />
OM(j), respectively.<br />
In simulation experiments we consider the Clos switch<strong>in</strong>g<br />
fabric without any expansion, denoted by C(n, n, n), so <strong>in</strong><br />
the description of the packet dispatch<strong>in</strong>g schemes <strong>in</strong> Section<br />
III, parameters k <strong>and</strong> m are not used. We also use Virtual<br />
Output Module Queues (VOMQs), <strong>in</strong>stead of VOQs. In this<br />
case, an <strong>in</strong>put buffer <strong>in</strong> each IM is divided <strong>in</strong>to k parallel<br />
queues, each of them stor<strong>in</strong>g cells dest<strong>in</strong>ed for different OMs.<br />
It is possible to arrange buffers <strong>in</strong> such way because OMs<br />
are nonblock<strong>in</strong>g. Memory speedup of n is necessary here.<br />
There are fewer queues <strong>in</strong> each IM but they are longer than<br />
VOQs. Each V OMQ(i, j) stores cells go<strong>in</strong>g from IM(i) to<br />
the OM(j).<br />
III. PACKET DISPATCHING SCHEMES<br />
Under the nonuniform traffic distribution patterns, selected<br />
VOQs store more cells than others. Because of that, it is<br />
Fig. 2. Static connection patterns <strong>in</strong> CMs, C(3, 3, 3).<br />
necessary to implement a special mechanism for a packet<br />
dispatch<strong>in</strong>g scheme, which is able to send up to n cells from<br />
IM(i) to OM(j) <strong>in</strong> the same time slot, <strong>in</strong> order to unload<br />
overloaded buffers. Three dispatch<strong>in</strong>g schemes presented <strong>in</strong><br />
this paper have such possibility.<br />
Theproposedpacketdispatch<strong>in</strong>gschemesperformmatch<strong>in</strong>g<br />
between each IM <strong>and</strong> OM, tak<strong>in</strong>g <strong>in</strong>to account the <strong>number</strong><br />
of cells wait<strong>in</strong>g <strong>in</strong> VOMQs. Each VOMQ has its own<br />
counter P V (i, j) which shows the <strong>number</strong> of cells dest<strong>in</strong>ed<br />
for OM(j). The value of P V (i, j) is <strong>in</strong>creased by 1 when<br />
a new cell is written <strong>in</strong>to memory, <strong>and</strong> decreased by 1 when<br />
the cell is sent out to OM(j). The algorithms use the central<br />
arbiter to <strong>in</strong>dicate the matched pairs of IM(i) − OM(j) but<br />
the set of data sent to the arbiter by each scheme is different.<br />
Therefore, the architecture <strong>and</strong> functionality of each arbiter<br />
is also different. After match<strong>in</strong>g phase, <strong>in</strong> the next time slot<br />
IM(i) is allowed to send up to n cells to the selected OM(j).<br />
In the SD-OC <strong>and</strong> SD-FC schemes the central arbiter<br />
matches IM(i) <strong>and</strong> OM(j) only if the <strong>number</strong> of cells<br />
buffered <strong>in</strong> V OMQ(i, j) is at least equal to n. Under the<br />
nonuniform traffic distribution patterns this happens very often,contraryto<br />
theuniformtrafficdistribution.Intheproposed<br />
packet dispatch<strong>in</strong>g schemes, each VOMQ has to wait until at<br />
least n cellsare stored beforebe<strong>in</strong>gallowedto makearequest.<br />
To reduce latency <strong>and</strong> avoid starvation, a very simple packet<br />
dispatch<strong>in</strong>g rout<strong>in</strong>e, called Static Dispatch<strong>in</strong>g (SD), is also<br />
used. Underthis algorithm,connect<strong>in</strong>gpaths<strong>in</strong> the MSM Clos<br />
switch<strong>in</strong>g fabric are set up accord<strong>in</strong>g to connection patterns<br />
which are static but different <strong>in</strong> each CM (see Fig. 2). These<br />
fixed connection paths between IMs <strong>and</strong> OMs elim<strong>in</strong>ate the<br />
h<strong>and</strong>shak<strong>in</strong>g process with the second stage, <strong>and</strong> no <strong>in</strong>ternal<br />
conflicts<strong>in</strong> the switch<strong>in</strong>gfabricwill occur.Also, noarbitration<br />
process is necessary. Cells dest<strong>in</strong>ed for the same OM, but<br />
located <strong>in</strong> different IMs, will be sent through different CMs.<br />
In detail, the SD algorithm works as follows:<br />
Step 1: Accord<strong>in</strong>g to the connection pattern of IM(i),<br />
match all output l<strong>in</strong>ks LI(i, r) with cells from VOMQs.<br />
Step 2: Send the matched cells <strong>in</strong> the next time slot. If there<br />
is any unmatched output l<strong>in</strong>k, it rema<strong>in</strong>s idle.<br />
The SD-OC <strong>and</strong> SD-FC schemes are very similar but the<br />
central arbiter which matches the IMs <strong>and</strong> OMs works <strong>in</strong>