The shuffle-exchange network has been proposed as a popular architecture for multi-stage interconnection networks; see [4, 5, 8, 10, 12]. The number of nodes in a shuffle-exchange network is usually a power of k if each switching element is of size k ×k. Since it is desirable to build a multistage interconnection network out of 2 × 2 switching elements instead of larger switching elements, throughout this thesis, we will assume that all the switching elements are identical and are of size 2 × 2.
It is well known that a 2 × 2 switching element has only two possible states: straight and cross, as shown in Figure 1. As can be seen from Figure 1, a 2 × 2 switching element has two upper and two lower sub ports. We will use sub port 0 (sub port 1) denote an upper (a lower) sub port.
sub port 0 sub port 1
Figure 1: The states of a 2 × 2 switching element and the sub ports.
In a multistage interconnection network, a path from an input to an output can be described by a sequence of labels that label the successive edges on this path. Such a sequence of labels is called a control tag [10] or tag [2] or path descriptor [6]. The control tag may be used as a header for routing a message: each successive node uses the first element of the sequence to route the message, and then discards it. For example, in Figure 2 (a), input 3 can get to output 4 by using the control tag 6 (0110), which means that the routing is via sub port 0 at stage 0, sub port 1 at stage 1, sub port 1 at stage 2, and sub port 0 at stage 3.
Recall that the number of nodes in a shuffle-exchange network is usually a power of 2 if each switching element is of size 2 × 2. The general shuffle-exchange network (GSEN) was proposed by Padmanbhan in [10] to relax the restriction on the number of nodes in a shuffle-exchange network. More precisely, an N0× N0 general shuffle-exchange network is a multistage interconnection network with N0 inputs and N0 outputs and each stage
0
consists of the perfect shuffle operation (defined below) on N0 terminals followed by N0/2 switching elements. The perfect shuffle operation on N0 terminals is the permutation π defined by
In other words, the perfect shuffle operation separates the top N0/2 terminals from the bottom N0/2 terminals and precisely interleaves them, with the bottom terminals still remaining at the bottom. See Figure 2 for an illustration.
Clearly, the number of stages in a GSEN is at least as large as log2N0. When it is exactly log2N0, the GSEN is identical to the Omega network defined in [7] and the the control tag depends only on the destination. If the number of stages in a GSEN is greater than log2N0, the control tag will depend on both the source and the destination. An elegant tag-based routing algorithm for the GSEN has been proposed by Padmanbhan in [10]. In the remaining part of this thesis, we will call this algorithm P-algorithm for convenience.
After the work of Padmanbhan [10], Chen et al. [2] enhanced the GSEN with bidi-rectional links. Their reason for the enhancement is that although unidibidi-rectional links are widely used, bidirectional links also have many applications as suggested in [4]. A bidirectional GSEN can be divided into two dependent networks: the forward network and the backward network. The forward network is from the left-hand side of the GSEN to the right-side of the GSEN; thus a routing request in it is sent from left to right. On
the other hand, the backward network is from the right-hand side of the network to the left-hand side of the network; thus a routing request in it is sent from right to left. The control tags used in the forward (backward) network are called the forward (backward) control tags.
Obviously, P-algorithm can be applied on the forward network. As for the backward network, Chen et al. [2] proposed a tag-based routing algorithm for it; this algorithm is based on the idea of inversely using the forward control tag. More precisely, this algorithm first runs P-algorithm to obtain the forward control tag; then, it runs another procedure to convert the forward control tag to the backward control tag. In the remaining part of this thesis, we will call the algorithm of Chen et al. CLQ-algorithm for convenience.
Recently, Chen and Lou [3] also proposed a tag-based routing algorithm for the backward network. Unlike CLQ-algorithm, Chen and Lou’s algorithm does not run P-algorithm first and is not based on the idea of inversely using the forward control tag. In the remaining part of this thesis, we will call Chen and Lou’s algorithm CL-algorithm for convenience.
A multistage interconnection network enables processors to send their messages con-currently. However, routing must be handled carefully so that there is no conflict when messages are sending concurrently. There are two types of conflict-free routings in a mul-tistage interconnection network: one is routing with link-disjoint paths and the other is routing with node-disjoint paths. The former is used in an electronic network and the latter, an optical network. Routing with link-disjoint paths means that no two differ-ent messages have their paths share the same link in the network, while routing with node-disjoint paths means that no two different messages have their paths share the same switching element in the network.
The three known routing algorithms for the GSEN are P-algorithm, CLQ-algorithm, and CL-algorithm. P-algorithm can be used to send a message in a GSEN or in the forward network of a bidirectional GSEN. Both CLQ-algorithm and CL-algorithm can be used to send a message in the backward network of a bidirectional GSEN. When two routing requests occur simultaneously, a conflict may occur. Up to now, there is no
analysis for the conflicts of routing requests in the GSEN. For some routing requests, P-algorithm and CLQ-algorithm can provide two control tags, i.e., two paths that can fulfill the routing request. On the other hand, for each routing request, CL-algorithm provides only one control tag, i.e., only one path that can fulfill the routing request. It is also not known which control tag should be used (when two tags are available) to reduce the conflict. The purpose of this thesis is to analyze the performance of the above three routing algorithms of the GSEN. We will focus on the case that there are two routing requests.
This thesis is organized as follows: Section 2 gives some preliminaries and the idea of our performance analysis. Sections 3, 4, and 5 give the analysis of P-algorithm, CLQ-algorithm, and CL-CLQ-algorithm, respectively. Concluding remarks are given in the final section.