Lecture Notes #1
Computer Networks – Session 2 (11 Sep. 2009) and Session 3 (14 Sep. 2009)
Instructor: Funda Ergun
Multiprocessor Networks
Multiprocessor networks can be modeled as networks of processing elements, namely PE’s. Each processing element has a CPU and its own separate memory.Despite traditional network models,multiprocessor networks have a well structured fashion of communication, which makes it more suitable for performing distributed tasks.
In our model, PE’s communicate using a message passing strategy. Sender, the PE that initiates the communication, enters "send mode" in which it puts the message on the line. The message here can be considered as a physical entity that can be put and taken from the line. The receiver PE in turn, becomes blocked until the requested message arrives. As PEs may get blocked while performing this way of communication waiting to receive data from other PE’s, we should watch out for deadlocks. Deadlocks are situations in which each PE in a group of PEs is waiting to receive a message from another PE in a way that their dependencies form a cycle (Figure 1). Handling deadlocks, including deadlock avoidance, deadlock detection and deadlock recovery has its own issues and algorithms weare not going to cover in this course.
Figure 1. A deadlock situation; each PE is waiting for another PE to continue its work and the wait relations form a cyclic structure.
Multiprocessor network models can be put in two broad categories: interconnection networks and direct networks. The categorization here is for the sake of organizing the material. Of course this is not a globally standard categorization, and there may be other possible ways to categorize these models. We now further describe each of these categories.
Interconnection Networks
In an interconnection network, a set of PE’s are connected to each other via some links and switches in a way that each PE can logically communicate with any other PE directly. Each PE has its own unique ID. From logical point of view,the interconnection network which consists of links and switches can be considered as a black-boxthrough which the messages can be sent directly from sender to receiver.
Figure 2. Each PE can communicate any other PE via an the interconnection network of links and switches.
This black-box may have several different configurations, which differ in the degree of efficiency they offer. Here, we’ll study bus networks and crossbar networks.
Bus Network
A bus network is an arrangement of PE’s in which each node is connected to a main link called the bus. Figure 3 illustrates a bus network with five nodes.
Figure 3. A bus network.
Ethernet is logically a bus network. Message passing is performed as follows: The sender puts the message on the bus, which has the write property: only one message can exist on the bus at any instant, or a collision occurs. To avoid this situation and conform to the write property, arbitration strategies should be adopted. Receiving the message would be easy according to the read property: every one in the network can see the message put on the bus. In order to restrict receiving to the intended receiver, all the others simply discard the message after seeing their IDs don't match the receiver ID.
Performance Parameters
Distance:Distance between PE’s u and v is defined as the number of hops between u and v. Each hop is either a PE or a switching element. In the bus network, the distance between each pair of PE’s is one, since there are no switches and no intermediate is needed for message passing.
of hops between u and v = 1 (for any u and any v≠ u)
Diameter:Diameter of the network is the maximum distance between pairs of PEs in the network. As all the distances are 1 in a bus network, its diameter would also be 1.
Throughput:Throughput is a measure of efficiency of the networks. Roughly speaking, throughput determines the number of messages that can be sent across the network at a time unit.It’s obvious that the network traffic affects throughput, but it must be noted that in a bus network, the amount of traffic and throughput are not in a direct relationship. Although throughput increases by an increase in traffic for low traffics, it might worsen for higher traffics because of higher rate of collisions. Saturating traffic is the infinite load conditions, in which all nodes have traffic to send at all times. Saturating traffic does not necessarily give the best throughput. The ideal trafficis the configuration of traffic which leads to the maximum throughput. Ideal traffic is achieved through choosing the best choice for input/output (sender/receiver) pairs and traffic pattern (Figure 4).
Figure 4. An illustration of how throughput and traffic interrelate in a bus network.
Throughput is affected by topology of the previously mentioned black box. Here is an example of computing throughput of a bus network.
Example 1.Suppose that there are 64 PE’s connected via a bus network. The bus width is 8 bytes, meaning that data should be divided into 8-byte units (called cycles)to be put on the bus. Size of messages is 256 bytes, and time to send is tx, which means it takes tx time units for a PE to put an 8-byte unit of data on the bus. After the data is sent, a delay of tatime units is needed to ensure that all PE’s can see it. This propagation delay is a property of the physical media forming the bus and depends on the speed of data in it, which is usually denoted by a fraction of light’s speed.
To better understand the distinction between tx and ta, consider interconnection networks analogous toroad networks.Roughly speaking, the time needed for a group of cars to reach from one end of a road to the other, depends not only on the width of the road (which determines tx), but also on how fast a single car may pass through the road considering its length and surface properties (determines ta).
Thus, we have:
N = 64; (Number of PEs)
M = 8 bytes; (Message Size)
w = 8;
tx = 1 cycle;
And therefore, as throughput is number of messages per unit time per PE,
Assuming ta has negligible value,
bytes/cycle.
Crossbar Network
Crossbar network is another network topology in which N PE’s are arranged along height and width of a grid of switching elements as in Figure 5. Each switching element can have different configurations which determine which input should be routed to which output (Figure 5).
Figure 5. (Left) A crossbar network; (Right) Each switch can have several configurations to route messages depending on which input links are connected to which output links.
In a crossbar network, messages can share switches but not edges.
Performance Parameters
Distance:Distance between nodes in a crossbar network is the Manhattan distance between them.
Diameter:Diameter of the network is therefore the Manhattan distance between the PEs located at the two ends of the grid’s diagonal, which are trivially the farthest apart. Thus,
Considering N/2 of PE’s as senders and the others as receivers, this network topology provides simultaneous access among all the senders and receivers of the network providing that all the requested receivers are different.Therefore, as the following example indicates, crossbar topology provides significantly higher throughput compared to the bus topology.
Example 2. Consider 64 PEs on a 32x32 grid of switching elements, and M, w, and tx as in Example 1.
Although Ethernet protocol gives significant utilization compared to ALOHA because of the way it handles collisions, it still suffers from low throughout. This does not mean that Ethernet protocol is not good. In fact, the inherent limitation of bus topology imposes this problem to every protocol designed for such kind of networks. As we can conclude from this example, other topologies may allow much higher throughput. As a result, comparing performance parameters of protocols designed for different network topologies doesn’t make sense.
Direct Networks
In a Direct Network, every intermediate node is a PE. No black-box interconnection structure is considered, and the network is modeled as a graph with PE’s as nodes and links as edges. The Internet is an example of direct networks. Like interconnection networks, direct networks may have different structures.
Performance Parameters
Like interconnection networks, direct networks can be evaluated using some parameters. We discuss three of these parameters here: distance, diameter and bisection width.
Distance
Distance between two PE’s in the network is defined by the distance between their corresponding nodes in the network’s graph. This would be simply the number of edges on the shortest path connecting the two nodes. To achieve a good measure to evaluate the overall performance of the network, the average distance between nodes in a network is taken into account.
Diameter
Having the notion of distance, definition of the network’s diameter is the same as the case for interconnection networks. It is equal to the distance between farthest nodes in the network.
Bisection Width
To achieve the desired communication among PE’s, the network graph must be connected. When a link in the network becomes faulty, it fails to transfer data and the corresponding edge in the graph is removed. So, a good measure of the network’s fault tolerance is to count the number of edges that must be removed from the network to make the graph disconnected. Bisection width is defined based on this intuition, and it is equal to the number of edges we have to remove from the graph to obtain two connected components of fairly equal size.
Linear Network
In a linear network, PE’s are arranged along a line, one after another (Figure 6).
Figure 6. Linear Network.
In a linear network with N PE’s, diameter is N-1, average distance is , and bisection width is 1.
Ring Network
Connecting the nodes at two ends of a linear network, gives a ring network (Figure 7). In a ring network, diameter is and the bisection width is 2. Comparing ring network with linear network, we realize that adding just one edge can significantly improve performance of the network, thus highlighting the importance of good network design.
Figure 7. A ring network.
k-Dimensional Meshes (with or without wraparound)
Generalizing linear and ring arrangement to higher dimensions, gives k-D meshes without wraparound and k-D meshes with wraparound respectively (Figure 8).
Figure 8. A 3D mesh.
In a 2D without wraparound, each node is represented with a 2-tuple, indicating its relative position in the mesh. Node (i1, i2) is connected to allvalid tuples among (i1-1, i2), (i1+1, i2), (i1, i2-1) and (i1, i2+1). Connecting the two ends of each vertical and horizontal line in a 2D mesh, we obtain 2D mesh with wraparound which is equivalent to a torus (Figure 9 and Figure 10).
Figure 9. 2D mesh (a) without and (b) with wraparound.
Figure 10. A torus is equivalent to a 2D mesh with wraparound.