Multicasting in ATM networks using MINs

11

Click here to load reader

Transcript of Multicasting in ATM networks using MINs

Page 1: Multicasting in ATM networks using MINs

ELSEVIER

computer communications

Computer Communications 19 ( 1996) 7 12-722

Multicasting in ATM networks using MINs’

Suresh Subramaniama3*, Arun K. Somania,b

“Department of Electrical Engineering, University of Washington, Seattle, WA 98195. USA

bDepartment of Computer Science and Engineering, University of Washington, Seattle, WA 98195, USA

Abstract

In this paper, we discuss the problem of establishing multicast connections using self-routing multistage interconnection networks (MINs). We examine the issue of multicasting and propose various schemes to accomplish it. Multicasting using recycling of cells has been suggested in the literature recently. We propose a multicast switch architecture that requires a few simple enhancements over a MIN and describe the process of setting up a multicast connection. The size of the routing tables limit the number of copies per cell that can be generated per pass through the network. We assume that no more than two copies per cell can be generated per pass through the routing network, and provide detailed cell-level simulation results for the average delay of a cell. The results show that recycling is a practicable option for multicasting and that the delay does not increase drastically when cells are recycled.

Keywords; Multicasting; ATM; MINs; Connection; VC-VP

1. Introduction

The Asynchronous Transfer Mode (ATM) has emerged as the multiplexing and switching standard for Broadband-ISDN. Its goal is to provide for the inte- grated support of a wide range of services so that the resources available in a network can be efficiently uti- lized. In the future, many applications will require the establishment of multicast connections in addition to unicast connections. One example is the distribution of packet video from a cable TV company to its subscribers.

There are several methods of establishing multicast connections. These methods differ in the amount of resources they use and the quality of service they offer to the multicast connection. In this paper, we examine the possible choices in implementing multicast ATM connections and the implications of each of them on the amount of network resources required and the qual- ity of service offered to the connections. For example, the routing tables at the network nodes need to be arranged differently and the average cell delay is different for the various approaches. Our main contribution in this paper is that we examine the problem of multicasting from a

* Corresponding author. Email: [email protected]

’ This research was supported in part by the NSF under grant NCR

9103485.

0140-3664/96/$15.00 0 1996 Elsevier Science B.V. All rights reserved

PI1 SOl40-3664(96)01 105-X

more practical point of view than other papers on the subject. We offer a simple solution, and show by simula- tion that it works well compared to some proposals that use highly complex algorithms and architectures which are not very feasible.

The rest of this paper is organized as follows. In the next section, we describe a connection set-up and cell- routing scheme for a unicast connection. A close study of the scheme will shed light on the feasibilities of the multi- casting approaches that will be suggested later. Section 3 discusses the possible approaches available and the drawbacks and advantages of each. In Section 4, we pre- sent a simple switch architecture that can be used for multicasting by a popular approach called the recycling

or the recursive approach. We also describe the connec- tion set-up and routing mechanisms associated with it. In Section 5, we present detailed cell-level simulation results for a particular implementation of the switching archi- tecture - the output-buffered banyan network. Finally, we present our conclusions in Section 6.

2. Connection set-up in ATM

A good understanding of the unicast connection set- up mechanism is essential to appreciate the issues involved in implementing a multicast connection. To

Page 2: Multicasting in ATM networks using MINs

S. Subramaniam, A.K. SomanijComputer Communications 19 (1996) 712-722 713

a b

C d

0 VP/w node 0 Wnode - VP

Fig. 1. ATM network example.

-~~~~~~~~. vc

that end, we describe a protocol that could be used to set- up an ATM connection. The protocol is similar to the one described in Ref. [l].

2.1. Concept of VC and VP

In this subsection, the concepts of virtual path (VP) and virtual channel (VC), used by ATM to transport cells, are discussed. We illustrate the ideas with the help of an example. Let G( V, E) be the network shown in Fig. l(a). V is the set of nodes and E is the set of physical links in the network. The edges shown between the nodes in the figure indicate actual physical connec- tions which are established on a permanent basis. A VP is defined as a path formed by a contiguous set of physical links. On top of the physical network G is overlaid the

VP network G’( V’, E’), where V’ C V is the set of VP- terminating/originating nodes and an edge (i, j) E E’ if and only if there exists a VP between nodes i and j. VPs defined in a network are semi-permanent (i.e. changed on a long-term basis) and are laid out based on the long- term traffic pattern between the nodes of the network. The VPs between the nodes and the

corresponding VP network are shown in Figs. l(b) and (c), respectively.

A VC connection is defined as a contiguous set of VPs. VC connections are the channels over which ATM nodes communicate. VC connections are set up between nodes according to short-term traffic needs, i.e. as and when an application requires a connection between one node and another. Fig. l(d) shows an example of two VC connec- tions, VC(A -+ E) and VC(A + F), defined using the VP network.

Thus, there are two types of connection in an ATM network, VP connection and VC connection. The physi- cal links of the network are the building blocks of the VPs and the VPs are the building blocks of the VCs. Note that a VP is formed by a concatenation of physical links and a VC is formed by the concatenation of VPs. Also, several VPs could be multiplexed on a single physical link and several VCs could be multiplexed on a single VP.

2.2. Connection set-up and cell routing in ATM

In ATM, every VP that traverses a given physical link is identified by a unique label called the VP

Page 3: Multicasting in ATM networks using MINs

714 S. Subramaniam, A.K. Somani/Computer Communications 19 (1996) 712-722

Identifier (VPI), and every VC that traverses a given VP is identified by a unique label called the VC Identifier (VCI). Note that it is possible for VCs traversing differ- ent VPs to have the same VCI and VPs traversing differ- ent physical links to have the same VPI. Cells are routed from a source to a destination along a VC connection by switches at the intermediate nodes that change labels (VCI and/or VPI) and route the cells to the appropri- ate output links. The switches at the VP-originating/ terminating nodes (also called VPjVC switches) route cells based on both their VPIs and VCIs, while the switches that do not originate or terminate any VP in the network (called VP switches) route cells based on their VPIs only. This routing mechanism reduces the amount of processing during routing and connection set-up but decreases the amount of flexibility in choosing the route for a cell. A VPjVC switch S contains two tables, a VP-Table, FPT[S], and a VC-Table, VCT[S], which S looks up to determine the label change. A VP switch contains only a VP-Table because it does not have to route cells based on their VCIs. At the time of network configuration, certain special VCs called signaling VCs (S-VCs) are set up between adjacent nodes in the VP network. These S-VCs are used for the transfer of control and management information between the VPjVC nodes.

The VP-Table is initialized when the VPs are estab- lished and we assume here that the VPs are already in place. Let VPT[S][j][k] d enote the entry corresponding to VP1 k on input portj in the VP-Table at node S. Also, let VCT[S][j][k] d enote the entry corresponding to VCI k on input link j in the VC-Table (if present) at node S. the entry VPT[S] [j] [k] is an ordered pair (m, n), where m is the output port of switch S through which cells having VP1 k and arriving on input port j need to be sent. The outgoing cells have II as their VP1 and their VCIs are unchanged. Similarly, the entry VCT[S][j][k] is an ordered triple (~,q,r), where p is the output port at switch S through which cells arriving on input j with VCI k have to be routed. The outgoing cells have (q, r)

as their label where q is the VP1 and r is the VCI. VPT[S][j][k] is nil if the VP with VP1 k on physical link j is terminated at S.

Let VP(P -+ Q) denote the VP between two VPjVC nodes P and Q. Suppose a VC connection needs to be established between nodes A and E in Fig. 1. There are two routes available, one that uses VP(A + F) and VP(F --t E) and another that uses VP(A + C) and VP(C + E). The actual route chosen will depend on a number of factors, such as the distance (number of VPs to be traversed) between the two nodes and the amounts of bandwidth available at the moment of connection request on the various VPs. This is done by the routing algorithm, and we do not concern ourselves with that process in this paper. For purposes of illustration, suppose the chosen route is the connection

(573) A (l&3) f-y (2.4) (6,4) ” LJ v

A B C D E

(3.6)

Fig. 2. Example virtual connection.

VC(A + C + E). The following scheme [l] is used to set up this connection. During connection set-up only the VC routing tables have to be updated. VP routing tables are set up at the time of VP layout and do not change during connection set-up. Therefore, nodes B and D in the example below are not involved in the con- nection set-up procedure.

We denote by AB the output port leading to node B at switch A or the input port at switch B to which A is connected, depending on the context. Also, let AA

denote the port connecting a node A to its local station. Refer to Fig. 2 for the following example. Suppose

node A receives the cells for this connection from a higher layer on link AA. Node A chooses a VPI, say 1, for which the entry in VPT[A] [AA] [l] is nil. It also chooses a VCI that is available in VCT[A], that is, a VCI, say 7, such that VCT[A][AA][7] is empty, and passes the label (1, 7) to the higher layer. The label (1, 7) the first entry of which is a VP1 and the other a VCI, is the one which should be used by the higher layer to transmit all cells belonging to this connection.

From the route information, A determines that the cells should be routed via VP(A --+ C) which corre- sponds to transmitting the cells on link AB with VP1 5, say. This VP1 was chosen when the VPs were laid out. Also, suppose that VPT[B][AB][5] was initialized to (BC, 10) during VP layout. Node A then sends the route information to node C along an S-VC. VPT[C][BC][lO] will contain nil, since VP1 10 on link BC is terminated at C. Node C selects an available VCI, say 3, from the row VCT[C][BC] and sends it to node A. Then node A sets VCT[A][AA][7] to (AB, 5, 3).

From the route information, C assigns a VP1 just as node A did previously and waits for node E to supply a VCI. Finally, node E determines that the connection has to be terminated at E, assigns a suitable label, and sets its VC- Table so that cells belonging to this connection are sent out on port EE with the label (3, 6).

Once the connection is set up, routing is very simple. A VP switch just looks up the entry corresponding to the input port and VP1 of an incoming cell, and determines the output port and VP1 of the cell. After changing the label, it routes the cell to that output port using the local interconnection network. A VPjVC switch first looks up its VP-Table to see if the VP1 entry corresponding to the

Page 4: Multicasting in ATM networks using MINs

S. Subramaniam, A.K. SomanijComputer Communications 19 (1996) 712-722 715

label and input port of an incoming cell is nil (which means the VP is terminated at this switch) and if so, it looks up the VC-Table and determines the label and out- put port of the outgoing cell.

3. Multicasting

In this section, we examine some possible approaches that can be used for multicasting. Some of the approaches are not feasible at all, but will serve to highlight the prob- lems that other similar approaches may have.

3.1. Multicasting approaches

We again refer to an example problem. Consider the network of Fig. 3, and suppose that node

A wants to multicast data to nodes C, D, E, F, G, H, I, J, and L. We refer to A as the source node and the nodes to which A wants to send data as the destination nodes. We assume that at least one VP exists between a VPjVC node and a ‘neighboring’ VPjVC node. Furthermore, we assume that the multicast tree shown in the figure is the result of the route selected by the routing algorithm. Then, the following ways of establishing this multicast connection are available.

3.1.1. Multiple dedicated unicast VCs In this approach, a multicast connection can be estab-

lished with as many unicast VCs as the number of desti- nation nodes. In other words, a separate unicast connection is established between A and C, one between

A and D, one between A and E, and so on. The advan- tage of this scheme from the network’s point of view is

that there is no need to do any copying inside the net- work, and it is the responsibility of one of the higher layers to provide as many copies of a cell as necessary, with the appropriate labels. Moreover, the network does not need any additional resources to set up this connec- tion. For example, the routing tables need contain only one entry per (input, VCZ) or (input, VPZ) pair. Note that by entry we mean the triple (link. VPZ, VCZ) or the pair (link, VPZ), as the case may be.

However, this scheme is clearly undesirable for two reasons. Firstly, many copies of a single cell exist in the network where only one is necessary, thereby causing congestion in the network. In the example, five copies of the same cell traverse the VP(A -+ B), whereas what is actually needed is just one copy until node B. Secondly, it is a violation of the principle of hierarchical layering to require one of the layers above the ATM layer to gener- ate the copies of a cell.

3.1.2. Multicast VCs and VPs This approach is, in a certain sense, the exact opposite

of the previous approach. The idea here is that the higher layer submits a cell with a certain label and the cell should be sent to all the destination nodes by the net- work. However, copying of a cell is not done inside the network unless it is necessary. In the example, two copies of a cell are made at node A, four copies are made at node B, two copies are made at node M, and so on. Since M is only a VP node, the VP-Table at node M should contain an entry that maps a VP1 to two (link, VPZ)

0 VP/W node 0 VP node

Fig. 3. Multicasting example. Source: A; Destinations: C, D, E, F, G, H, I, J, L

Page 5: Multicasting in ATM networks using MINs

716 S. Suhramaniam, A.K. Somani/Compurer Communications 19 i 19961 712-722

entries, one for routing the cell towards L and one for routing it towards K. This VP1 cannot be used by a connection that needs to use only the path from M to K and not the one from M to L. In other words, we need a VP1 that is dedicated to serve the connections that use both the paths M --+ K and M + L. Given that the num- ber of VPIs per switch is limited, very few connections can be accommodated.

Since VPs are established and taken down on a much larger time-scale than VCs, this implies that such multi- cast VPs also have to be set up on a long-term basis. This may be useful if the majority of traffic is likely to be multicast traffic, but not when traffic is dominated by unicast connections. The main advantage of this approach is the lower delays and higher throughput due to the fewer number of cells per connection circulat- ing inside the network. However, the disadvantages of having dedicated multicast VPs and large routing table sizes in both VP and VPjVC nodes makes this scheme impractical.

3. I .3. Mutticast VCs

This method is in between the two approaches above. Here, a cell belonging to a multicast connection is not copied until it reaches a VPjVC node from which it has to travel on two or more different VPs to different desti- nation nodes. VP nodes do not copy any cells. In the example, three copies of a cell are made at node A, one to travel on VP(A -+ L), another on VP(A + K), and the third copy on VP(A + B). At node B, five copies are made, one each for VP(B + C), VP(B + D), VP(B + E), VP(B -+ F) and VP(B + G). At node K, three copies are made, one each for VP(K + J), VP(K + I) and VP(K + H).

This scheme is better than the previous scheme in that many more connections can be accommodated. This is due to two facts: (a) only VCs and not VPs are dedicated to multicast connections; and (b) VC connections are established on a short-term basis as compared to VP connections. However, some unnecessary copies of a cell do exist inside the network. For example, in Fig. 3 two copies of the same cell traverse the path from A to M, while one copy would suffice if the previous scheme were employed.

3.2. Multicasting with MINs

From the above discussion, we conclude that the most feasible option of implementing multicast connections is to have VCs dedicated to multicast. This requires the capability of a VPjVC switch to take a cell with a certain label at an input and multicast it to a certain set of output ports, each output cell with a possibly different label than another. Typically, a multistage interconnection network (MIN), such as the banyan network, is used as the rout- ing network.

Inpu

I ! ! ! 4

N-II I I I I I I I I I I I I I I I

Fig. 4. VC routing table

One way of achieving this capability is to use a copy network to make the required number of copies and the MIN to route the copies to the different output ports. This, however, considerably increases the complexity of the switch hardware [2,3]. Another approach [4] uses the inherent capability of a MIN to make multiple copies while routing cells. The structure of the MIN may often make it difficult to route a cell to all of the output ports in a single pass [4]. Therefore, cells are recycled through the switch to generate as many copies as required and routed through the interconnection net- work in as few passes as possible. In [4], the authors present a few algorithms in choosing the set of ports to route a cell to in each pass. The algorithms are fairly complex and the emphasis is on minimizing the number of passes through the interconnection network. Both the copy network approach and the recycling approach mentioned above suffer from the following problem.

Every outgoing copy of an incoming cell has to have its own separate label and these labels are stored in the VC- Table as shown in Fig. 4. In the figure, a cell arriving on input port i with VCI ,j is to be transmitted to output ports ol, 02,. . , with labels (ji, ki), (j2>k2), . . This requires considerable memory at the switch and is likely to be very expensive in large switches. Turner [5] has addressed this problem, and has suggested that no more than two copies of a cell be made in each pass and one of the two copies be recycled through the net- work to make two more copies, and so on until all the copies are generated. This scheme requires only 2mN words of memory, where 1~ is the number of VCIs and N is the number of switch ports. A recycling approach using a Benes network is discussed in [5]. In this approach, a multicast tree with the source port as the root and the destination ports as the leaves is formed.

Page 6: Multicasting in ATM networks using MINs

S. Subramaniam, A.K. SomanilComputer Communications 19 (1996) 712-722 717

The tree is an unbalanced binary tree with the internal nodes being arbitrary output ports. This kind of tree implies that two copies of a cell are made in each pass through the routing network, one of which is routed to a destination port and the other of which is routed to some arbitrary port to be recycled into the input of the switch- ing network. In effect, a cell is sent to one destination per pass. A drawback of this approach is that the entire routing network is used to generate a copy of a cell which is not even sent to a destination port, and is used only as an input for the next pass. As we show in the next section, this can be avoided by adding just one more stage to the MIN after the last stage. Then, with the same amount of memory for the routing tables, two destination ports can be reached in one pass. This con- siderably reduces the average delay per cell for the multicast connection. In the following section, we describe our scheme that uses an enhanced banyan network (this could be extended to other MINs easily) and discuss an approach for the establishment of a multi- cast connection.

4. Multicasting by recycling in a banyan network

4.1. Switch architecture

Consider an N(= %“)-input banyan network con- structed with 2 x 2 SEs. The stages are numbered 0, 1 .., n - 1, where 0 is the last stage (corresponding to the LSB of the output port address) and n - 1 is the first stage. The SEs can be set to one of four states: straight connection, cross connection, lower broadcast, and upper broadcast.

An 8-input banyan network constructed with 2 x 2 switching elements is shown in Fig. 5. For such self- routing MINs, a very simple routing scheme exists if the number of destination ports, d, is a power of two and the set of destination addresses, D, forms a d-cube [4]. A set of addresses forms a d-cube if there is a fixed set of d bit positions in which any two addresses of the set could differ. The set of binary addresses (000, 010, 100, llO} forms a 2-cube. To multicast a cell from any input to this set of addresses, one scheme is to use a routing tag {R, M}, where R and M contain the routing and multi- casting information, respectively. A switching element at stage i first looks at bit i of M. If it is 1 it ignores R and broadcasts the cell to both outlets. If the bit is 0, it routes the cell to the upper (lower) port if the ith bit of R is 0 (1). Thus, the values of R and M to route a cell to the given 2- cube set of ports are 000 and 110. The paths from input port 100 to the output ports are also shown in Fig. 5. This routing tag scheme can be used in our approach too.

We assume now that no more than two copies can be generated in one pass due to memory limitations. It must be noted, however, that the switch architecture given

Fig. 5. An &input banyan network

below and the following connection set-up mechanism can be used even without this restriction. Our assump- tion is based only on practical considerations of the size of routing tables. The standard banyan network is enhanced by adding an extra stage at the output. For an N-input switch, this last stage consists of N 1 x 2 SEs, one SE input connected to every output of the banyan, as shown in Fig. 6 for an g-input switch. The two outputs of an 1 x 2 SE are called the ‘recycle’ output and the ‘transmit’ output. The recycle output leads to the corresponding input buffer of the switch while the trans- mit output leads to the transmit buffer. The extra stage SE is controlled by a bit called the ‘copy-bit’. If the copy bit is set in a cell, an extra-stage SE broadcasts the cell at its input to both the recycle output and the transmit output, otherwise, it sends the cell to just the transmit output. The port processors at the input and output (called IPP and OPP, respectively) are responsible for the proper labeling of cells and the attachment of routing tags to cells. We now describe the multicasting scheme we propose using the example network of Fig. 3.

4.2. Connection set-up

The connection set-up procedure followed at a node is explained here by considering the operations of the procedure at node B. Node B receives from node A the routing information which specifies that five copies of each cell arriving on VP(A + B) must be made at node B, and one copy each must be sent on VP(B -+ C), VP(B + D), VP(B + E), VP(B -+ F) and VP(B + G).

Page 7: Multicasting in ATM networks using MINs

718 S. Subramaniam, AX. Somani/Computer Communications I9 11996) 712-722

_-Outgoing cells

RCB

8x8 Banyan

IPP: Input Port Processor OPP: Output Port Processor RCB: Receive Buffer

Fig. 6. Multicast switch architecture. IPP: Input Port Processor; OPP: Output Port Processor; RCB: Receive Buffer.

B finds a VCI, b’, such that VCT[B] [PB] [b’] is empty and sends it to A. A should transmit all cells to be sent on VP(A + B) for this connection with a VCI value of b’.

The set of destination ports is arranged to form a tree with the input port number as the root and the destina- tion ports as the other nodes in the tree. Since at most two copies can be made in one pass at B, each node in the tree can have at most two children. The addresses of the siblings must differ in exactly in one bit because of the structure of the banyan network. This need not be the case for some other MIN such as the Benes network, which has multiple paths from an input to an output. An important consideration in choosing the nodes of the tree is the requirement that the delay be minimized. Since the delay is directly proportional to the number of passes through the network, the height of the tree has to be minimized under the above con- straints. The algorithm to do this is straightforward.

Suppose that the input port at B on which a cell belonging to this connection arrives is b, and let c, d, e,

f and g be the output ports at B leading to nodes C, D, E, F and G, respectively.

Tree construction algorithm root = b input list = {b)

destination set = {c, d, e, f, g} for (each node i in input list)

if (destination set non-empty) scan destination set for two nodes that differ in

exactly one bit if (two nodes m and n found)

make m and n the children of node i

remove m and n from destination set and add them to end of input list

else remove an arbitrary node m from destination

set make m the left child of i, right child is nil

add m to the end of input list endif

endif endfor

Suppose the multicast tree obtained by employing the above procedure is as depicted in Fig. 7. Note that it is possible for the same port to exist at two different places in the tree. This occurs if two different VPs exiting out of node B share the same output link and a cell has to be transmitted on both VPs. Even though it may be tempt- ing to think that one copy would suffice for both these VPs, it must be borne in mind that the labels of the two outgoing cells are different, and two different copies are indeed necessary for the two VPs. In our example, e and f are the same output port. Our algorithm for tree for- mation ensures that e and f cannot be siblings by way of checking that the sibling addresses differ in exactly one bit. This restriction facilitates the multicasting process inside the interconnection network.

While node B is involved in the formation of the tree, it sends the route information to all the five nodes over the corresponding S-VCs. Each of the five nodes chooses a suitable VCI and sends it to node B. As mentioned earlier, the VCI chosen by node B and transmitted to node A is b’. Let the VCIs received from C, D, E, F and G be c’, d’, e’, f’ and g’, respectively. Once the

Page 8: Multicasting in ATM networks using MINs

S. Subramaniam, A.K. SomanijComputer Communications 19 (1996) 712-722 719

d

Fig. 7. The multicast tree at node B.

tree is formed, node B scans the tree and for each node x in the tree that is not a leaf node, it sets VCT[B] [x] [x’] to (m, r?z, m’) and (n, ii, n’), where m and n are the children of x and ti and fi are the corresponding VPIs. A VC- Table entry also contains a bit called the ‘feedback bit’, that indicates if the copy of the cell that is to be trans- mitted to the output port in that entry, needs to be recycled or not. The default value of this bit is 0 specify- ing no feedback. The ‘feedback bit’ of L’CT[B][x][x’] is set if and only if a grandchild of x exists. If a child does not exist, that entry in the VC-Table is marked nil, indi- cating that no more recycling is to be done.

Since node B chose the VCI b’ because it was available, the entry VCT[B][b][b’] is guaranteed to be empty and can be initialized when setting up this connection. How- ever, the entries corresponding to the VCIs received from the other nodes may not be available at node B. For example, the entry VCT[B][c][c’] may already be occupied by another connection because c’ was the VCI chosen by switch C and is guaranteed to be available only in the VC-Table at node C and not at node B. If such a condition arises, then the connection set-up fails.

The connection set-up failure probability increases with the number of recycles required at a node for the connection. However, it can be reduced considerably by letting a node choose a second VCI value if the first one fails. In the example, if VCT[B][c][c’] is not available, then B could request C to send another VCI, say c”, that is available at node C. Then, the probability that VCT[B][c][c’] is unavailable at node B is, indeed, very small. The set-up failure probability can be arbitrarily decreased by increasing the limit on the number of trials of choosing the VCI values. Then, C would continue to search for a VCI that is available at both nodes B and C (by sending messages to and receiving messages from B over an S-VC) until the limit is reached, in which case the connection is rejected.

4.3. Ceil routing

Suppose the connection is established with the VCI values b’, c’, d’, e’, f' and g’. Then, cell routing is done as follows. Again, we refer to operations at node B in the example. Consider a cell belonging to the multi- cast connection that arrives on input port b with VP1 b

and VCI b’. If the cell is being recycled (can be indicated by adding a bit called the ‘recycle bit’ to the cell), a VP- Table lookup is not necessary. The IPP at port b of node B first looks up I’PT[B] [b] [b] and finds nil there because the VP is terminated at node B. It then looks up VCT[B][b][b’] and finds two entries, namely, (c, Z, c’) and (g, 2, g’). This informs node B that the cell has to be transmitted to the two output ports c and g with labels (i’, c’) and (g, g’), respectively. The IPP sets up the rout- ing tag and adds the address of the input port, b in this case, as well. The label of the input cell is not changed now. The cell is duplicated inside the network and two cells with the same label (g, b’) appear at output ports c and g of the original banyan network.

The OPP at output port c looks up VPT[B] [b] [b], finds nil, then looks up VCT[B][b][b’] and replaces the old label (6, b’) with the new label (C, c’). The VP-Table lookup is necessary at the output because there is no way to distinguish between a cell that uses switch B as a VP-switch only and a cell that uses it as a VPjVC switch. Obviously, the second lookup of the VP-Table can be avoided by adding a bit to the cell at the input of the MIN after the first lookup is done. After the OPP also finds that the ‘feedback bit’ is set in the entry of VCT[B][b][b’] specifying port c as the output, it sets the ‘recycle bit’ in the cell and sets the extra-stage SE to broadcast mode. Thus, one copy of the cell is sent out on the link leading to node C with the proper label and another is recycled back into input port c with label (2, c’). However, since the ‘recycle bit’ is set in the recycled copy, the VP-Table is not looked up for the recycled cell and the VP1 2 is ignored as desired.

5. Simulation results

In this section, we present some results of our simula- tions. We have done a detailed cell-level simulation of a banyan network built out of 2 x 2 SEs to study the aver- age delay a cell experiences when the number of copies per pass is restricted to one or two. The simulation model and the parameters are described below.

5.1. Simulation model

The network simulated is a banyan network of size N x N, where N is varied between 4 and 128 in powers of two. The extra stage of the multicast switch was not simulated as part of the network because the delay through the extra stage is deterministic. The banyan network was assumed to be built of N/2log N 2 x 2 switches. Each output of a 2 x 2 switch was assumed to have an output buffer of unlimited size (the size was limited to 200 cells in practice). An analysis of various kinds of buffered switches can be found in Ref. [6]. We assume that the queues in a stage of the MIN are served

Page 9: Multicasting in ATM networks using MINs

120 S. Subramaniam. A.K. SomanilComputer Communications 19 (1996) 712-722

in random order, and that there is no handshaking between the SEs of two adjacent stages. One of our goals is to study the maximum queue size that is attained under various loading conditions. We did some study on the distribution of the queue sizes as well to check if a size smaller than the maximum queue size per output line of each 2 x 2 switch would give an ‘acceptable’ cell loss rate. Our simu- lations revealed that the cell loss rate increased con- siderably when the queue size was decreased a little bit. Therefore, we give only the maximum queue size attained in the results section.

The traffic model we assumed was a Bernoulli process. In this model, time is slotted and the probability that there is a new cell (as opposed to a recycled cell) at an input in a given time slot is p, the parameter of the Bernoulli process. When a new cell arrives at an input, it is assumed to belong to one of 10000 connections. Each of those connections is a multicast or a unicast connection. The number of destinations (fanout) for each of the 10 000 connections was geometrically distrib- uted with parameter p!, with the distribution truncated at N, the size of the switch. The distribution is defined by the following equations:

P(fanout=k)=p,(l-&‘, k=1,2,...,N-1,

(1)

P(fanout = N) = (1 - pg)N-‘. (2)

With the above distribution, it is easy to show that the average number of destinations per connection is given by the equations

E(fanout) =-l-(1 - (1 -pJv), pg > 0, (3)

= N, pg = 0. (4)

When pg = 1, the expected value of the fanout is 1. This means that the fanout of every connection is 1, simulat- ing totally unicast traffic. The actual destination port addresses are uniformly distributed between 0 and N - 1, i.e. the probability of choosing any destination port is l/N.

The input traffic load is specified as a real number between 0 and 1. It specifies the probability that there is a cell at an input in the current slot. In a unicast con- nection, this is the same as p, the parameter of the Bernoulli process. The simulation program takes the value of the input load and the value of pg as inputs and computes the Bernoulli process parameter p using the relation p = Load/E(fanout), assuming that pg > 0. In such networks, cells typically move from one stage of the MIN to another in a synchronous fashion. The dura- tion of the time slot is the time that a cell takes to move from the head of the queue of one stage of the MIN to the next stage.

5.2. Results

The input parameters to the simulation program are: (a) the size of the banyan, N; (b) the input traffic load; and (c) the parameter of the truncated geometric distribution, pg. We ran the program for 1000000 trials per set of parameters where a trial corresponds to the arrival of a new cell at each of the N inputs with probability p.

The delay of a cell is the number of time slots taken from its arrival to the switch to its departure from the switch (including the time it may take to make multi- ple passes through the MIN). The delay of a multicast connection due to the extra stage alone is given by the sum (over all 1) of products of the number of nodes at level 1 in the multicast tree and 1, where the root is defined to be at level 0, its children are at level 1, and so on. We computed the average delay due to the extra stage separately by generating 100000 multicast trees (with both one-copy-per-pass and two-copies-per- pass assumptions) and calculating the average delay for each of those connections. This delay is indepen- dent of the network load because there is no conten- tion in the extra stage.

We give the results for three schemes:

l one-copy scheme - the routing table size is mN and a cell is sent to one destination per pass.

l two-copy scheme - the routing table size is 2mN and a cell is sent to two destination ports per pass.

a Turner’s scheme [5] - the routing table size is 2mN

and a cell is sent to one destination port per pass. This scheme does not include an extra stage to make copies but uses the routing network itself to make copies that are to be recycled.

We present in Fig. 8 some of our simulation results. Note that we have drawn the graphs as continuous curves by connecting the discrete points.

Note that the delay is reduced as expected in the two-copy scheme when compared to the one-copy scheme in Fig. 8(a). However, the average delay is scaled down by even more than the intuitively expected maximum of log2 k for high values of k

(e.g. k = 16), k being the average fanout. This is because of the increase in correlation of traffic inside the network for higher values of k. The graphs clearly show the performance improvement in the two-copy scheme over Turner’s scheme, both of which use a routing table of size 2mN. The improvement is achieved by the addition of the extra stage. We tried several other ways of forming the multicast tree, such as ordering the nodes of the tree such that copies are made in the MIN only towards the last stage, but the improvement in delay obtained was insignificant. All those schemes involved more complex processing while setting up the connection, and we concluded

Page 10: Multicasting in ATM networks using MINs

S. Subramaniam, AX. SomanilComputer Communications 19 (1996) 712-722 721

- One-copy scheme - - - Turner’s scheme - - - Two-copy scheme

125.0

100.0

3 75.0

$

Q z P

50.0

25.0

o.o_ _

/

/ /

i;;

__.__---- __-.-- --- / ___-

4,‘.

//

(a)

40.0

I

0.0 4.0 8.0 12.0 16.0 20.0

30.0

d” B g 20.0 E Z! d

10.0

Average fanout

r /

__ One-copy scheme - - - Turner’s scheme

0.0 f 0.0 30.0 60.0 90.0 120.0 150.0

(c) Switch size, N

60.0

60.0

20.0

0.0

(b) ’

30.0

L .0t

25.0

20.0

A .- u) J 5 15.0 D i ZZ

10.0

5.0

- One-copy scheme - - - Turner’s scheme - - Two-copy scheme

___--He e--

_._.-. _____.--- I 6 I I I I .

0.10 0.20 0.30 0.40 0.50 0.60 Load

I_ One-copy scheme - - - Two-copy and Turner’s schemes

Fig. 8. (a) Fanout vs. delay. N = 64, load = 0.4; (b) load vs. delay. N = 64, E{fanout) pg = 0.25; (d) load vs. maximum queue size. E(fanout) x 8, N = 64.

= 8 (pg = 0.125); (c) network size vs. delay. Load = 0.4,

that the achieved improvement was not worth the practicalities such as limited size of the routing tables extra processing. From the results, we conclude that are presented. the number of passes is not the only criterion in We provided the maximum queue size value as an evaluating the performance of a recycling multi- indication of what the typical queue sizes should be for cast switch. This is used as the sole criterion in such a network. It was a by-product of our simulation

[41, and complex algorithms that do not consider and not directly related to this paper’s topic.

Page 11: Multicasting in ATM networks using MINs

722 S. Subramaniam, A.K. Somani/Computer Communications 19 (1996) 712-722

6. Conclusion

Multicasting will be an essential component in future B- ISDN applications. In this paper, we examined the connec- tion set-up mechanism and described how it influenced the choice of implementing multicasting. It was seen that multicasting using multicast VCs was a feasible solution. A multicast connection involves the transmission of a cell at an input port of a switch to some arbitrary number of output ports, each with a different label. The problem of accomplishing this task with a limited amount of memory available for the routing tables was highlighted.

A new switch architecture with very little modification to the standard banyan network was proposed, and was shown to be suitable for multicasting using recycling of cells. We assumed that the routing tables permit up to two copies per pass through the network, and showed how it could be used to send cells to two destination ports per pass. The connection set-up and the routing mechanisms were described. Connection set-up required the formation of a multicast tree and a simple tree for- mation algorithm was proposed.

Finally, our simulation results showed that the average delay improves dramatically when a cell could be sent to two destination ports per pass through the MIN. We conclude from this that recycling is a very attractive option for multicasting and complex algorithms for the formation of multicast trees do not yield corresponding gains.

References

[l] R. Cohen and A. Segall, Connection management and rerouting in

ATM networks, Proc. IEEE INFOCOM ‘94, June 1994.

[2] T.T. Lee, Nonblocking copy networks for multicast packet switch-

ing, IEEE J. Selected Areas in Comm., 6(9) (December 1988).

[3] J. Turner, Design of a broadcast packet switching network, IEEE

Trans. Comm., 36(6) (June 1988).

[4] X. Chen and V. Kumar, Multicast routing in self-routing multistage

networks, Proc. IEEE INFOCOM ‘94, June 1994.

[5] J. Turner, An optimal nonblocking virtual circuit switch, Proc.

IEEE INFOCOM ‘94, June 1994.

[6] J. Turner, Queueing analysis of buffered switching networks, IEEE

Trans. Comm., 41(Z) (February 1993).