Thayer School of Engineering
Dartmouth College

[ENGS 4: Technology of Cyberspace]

An Slightly Edited Local Copy of Elements of Lectures 4 and 5
( Originals URLs for Lecture 4 and Lecture 5)


Point--to-point communications

An important ingredient in the Technology of Cyberspace is the ability to let any user communicate with any other user or service. How do we wire 5 billion people on the planet? That's an engineering problem - to design a network capable of handling such numbers over such a wide geographic area. We are going to talk about the engineering aspects of such network design for next two lectures.

In computer and telephone networks, users want to connect to other users and there is no distinguished set of "suppliers" and "consumers". Everyone can be both a supplier and consumer. When the telephone industry was first started, telephone connections were dedicated lines between customers. For example, a bank would have a separate telephone for every branch office with which it had telephone service. There would be a separate wire that connected each two sites. See http://www.webbconsult.com/timeline.html for a timeline history of the telephone industry.

Such a technology was quickly recognized to be very limited and could not scale to thousands or millions of users. The telephone companies wanted everone to be a user so the idea of switched telephony was developed. A customer would only need one telephone and line. The lines all went from the customers' locations to the telephone company's switching centers. Operators at the switching center would physically connect customer's lines together when the customers wanted to communicate.

Here is a graphical depiction of a completely connected, unswitched network,

and a depiction of a centrally switched network when central switches were first introduced.
 


With the switching concept, telephone service became much more flexible and attractive to customers - they could call many different people with the same equipment. Early central switches were operated by humans but when thousands of users were in the network, it became necessary and economically attractive to automate the process by which switches were operated - from human operators to mechanical and then electronic switches.

A mechanical or electrical switch that has a physical element for every possible connection between users is called a "crossbar". Here is a depiction of a crossbar where users are called "inputs" and "outputs" although you can think of them as being just "users".

Blocking and NonBlocking Networks

In the following discussions and figures, an n by k switch means a crossbar switch with n inputs and k outputs. Every input has a "crosspoint" with every output. Moreover, such a switch is "nonblocking" meaning that regardless of the settings in the switch, if an input and output are not already busy, then the switch can connect them. That is, the switch does not block any calls between users who want a connection and are not already connected to another user.

Crossbar switches are nonblocking - regardless of what connections are in place, if two free users want to connect to each other, the crossbar allows it.

Unfortunately, a crossbar requires N-squared crosspoints to connect N inputs to N outputs. For 1,000,000 users, a crossbar would require 1,000,000,000,000 crosspoints which is extremely expensive. So the engineering challenge is to make switches that are nonblocking (because you don't want to loose customers if they want to make calls) but require fewer crosspoints than a full crossbar which is too big and expensive to build and operate.

Switching networks are made out of smaller crossbar switches. Below is an example of a simple switching network where the boxes are meant to be smaller crossbar switches with the appropriate number of inputs and outputs.

This switch is a blocking switch because if for example, input 1 is connected to output 2 and input 2 is connected to output 4, then even if input 3 and output 4 are free, they cannot be connected.

By adding another line between the 3 by 2 switch and the 4 by 4 switch, this becomes a nonblocking switch. You can verify this by inspection - try making different types of connections and the see if it is still possible to connect free inputs and outputs.

We will next discuss general rules for building nonblocking networks that use fewer crosspoints than full crossbar switches. This will give you some idea of the engineering design problems that needs to be solved to build a global cyberspace. The key observation is that unless a design that is not a complete crossbar is carefully thought through, it will lead to a blocking network.

In 1953, C. Clos of Bell Laboratories discovered a simple rule by which we can build nonblocking networks that use fewer crosspoints that a complete crossbar. Clos' construction uses three stages to switch N inputs into N outputs.

In the first stage, the N inputs are broken into groups on n inputs each. Each group of n inputs is switched by a brossbar of size n x k into k outputs. There must be N/n of these n x k switches in the first stage. (What if N is not divisible by n? Read on and think about this.)

The second stage consists of k switches each of size N/n x N/n. One of the k outputs from each switch at the first stage is fed into one of the switches at stage 2. Since there are N/n switches in the first stage, the switches at the second stage must be N/n x N/n.

The third stage has N/n switches of size k x n, sort of a mirror image of the first stage. Each of the second stage switches has an output which feds into an input of each of the third stage switches.
 
 

Clos showed that this design is a nonblocking switch if k = 2n-1 or greater. If k < 2n-1, blocking can occur as follows: suppose input 1 want to connect to output 1 (these could be any fixed input and any fixed output but we use 1 in each case for simplicity). There are n-1 other inputs to the first switch at stage 1. Suppose they each go to a different switch at stage 2. Similarly, suppose the n-1 outputs in the first switch other than output 1 at the third stage are all busy again using n-1 different switches at stage 2. If k <  n-1 + n-1 +1 = 2n-1 then there will be no line that input 1 can use to connect to output 1.

Clearly, if k = 2n-1 or greater, then there will be free lines that can be used to connect input 1 to output 1.

As an example of Clos' construction, suppose that N=1000 and n=10. There are N/n = 1000/10 = 100 switches at the first and third stages. At the first stage, they are 10 x k and at the third stage they are k x 10 switches. The second stage will have k switches of size 100 x 100.

If k = 2n-1=19, then the resulting switch will be nonblocking. If k < 19, then blocking can occur. For k=19, let's compare the number of crosspoints.

In the case of a full 1000 x 1000 crossbar switch, no blocking occurs but 1,000,000 (a million) crosspoints are required. For n=10 and k=19, each switch at the first stage is a 10 x 19 crossbar which requires 190 crosspoints and there are 100 such switches. Same for the third stage. So the first and third stages use 2x190x100=38,000 crosspoints altogether. The second stage consists of k=19 crossbars each of size 100 x 100 because N/n=1000/10 = 100. So the second stage uses 190,000 crosspoints. Altogether, the Clos construction uses 228,000 crosspoints versus the 1,000,000 points used by the complete crossbar.

Correction here...

This construction clearly depends on N and n. If we are given N, there are many different choices for n and it can be shown that the choice which minimies the total number of crosspoints in Clos' construction is about squareroot(N/2). For N=1000, N/2=500 and the square root of 500 is approximately 23. We would then use 44 switches in the first and third stages and k=45=2x23-1. Since n=23 does not divide 1000 evenly, we actually have 12 extra inputs and outputs that we could switch with this configuration ( 23x44=1012 and 1012-1000=12).

So we use 2x23x44x45=91,080 crosspoints in the first and third stages and an additional 44x44x45=87,120 crosspoints in the second (middle) stage. Thus the total number of crosspoints in the best Clos construction involves fewer than 180,000 crosspoints for a nonblocking switch as compared with the 1,000,000 for the complete crossbar and about 190,000 for n=10, as shown above. This is a factor of over 11 less equipment needed to switch 1000 customers!!

More generally, a Clos network can have different numbers of inputs and outputs. In the general setting, a Clos network is described by 5 numbers, (IN, N1, N2, N3, OUT), meaning that the first stage consists of N1 copies of an IN by N2 crossbar, stage 2 consists of N2 copies of an N1 by N3 crossbar and stage 3 has N3 crossbars of size N2 by OUT. In this framework, the number of input lines is merely IN x N1 and the number of output lines is N3 x OUT.

The network is nonblocking if N2 is larger than IN+OUT-2.

Rearrangably Nonblocking Networks

Closely related to the concept of nonblocking is the idea of a rearrangably nonblocking network or RNB network. An RNB network has the property that if an unsued input wants to connet to an unused output then there is some reaarangement of the circuits that will allow the connection to be made. That is, some of the existing circuits might have to be juggled to allow this new connection to be created while the old connections continue through the rearranged circuits.

It can be shown that a general Clos network is an RNB network if N2 is larger than both IN and OUT. Thus a (2,2,2,2,2) Clos network is a blocking network but a rearrangably nonblocking network as well!! Try some simple examples to verify this.
 
 


If you have any question or suggestion about the ENGS4's page, please send a mail to Webmaster.
Last modified : Jan. 15, 1998