Previous | Next --- Slide 15 of 49
Back to Lecture Thumbnails
pajamajama

It was mentioned in class that a non-blocking network is one in which you can choose any two nodes and it's guaranteed that they can be connected up whereas a network that is blocking doesn't have this guarantee. I found another definition of non-blocking network here that makes this idea clearer. It says that in a non-blocking network, nodes are interconnected in such a way that for each "unused input-output pair," they can be connected by a path through nodes that aren't being used (ie, no connections going through that node) no matter what other paths exist at that time. Note: In my understanding, "unused input-output pair" means that if the pair you're considering is 0-to-1, you wouldn't be looking at any other pair that either starts with 0 or ends with 1.

So in the scenarios given on this slide, it's possible to send a message from 0 to 1 and a message from 3 to 7 at the same time because each can take its own path without encountering the other. However, you can't send messages from 1 to 6 and from 3 to 7 at the same time because there is a point of contention (both connections use the same link at one point and go through the same nodes at once). This means we can't choose these two pairs of connections at the same time in this network, which makes this network blocking.

unparalleled

More load in the system can increase the latency of communication. The nature of increase inherently depends on the topology and design of network

zckchange

So is "blocking or non-blocking" a state of the network that will alternate or opposite characteristics of the network?

atadkase

@zckchange I think "blocking or non-blocking" is not a state of the network, but its characteristic.

rrp123

So from what I understand, blocking is when 2 messages are being sent along the network, they collide with one another at some switch, and the network has to make a decision to send one message before the other.

Non blocking however means that irrespective of what 2 messages are being sent across the network, they will never collide.

slanka

@rrp123, I think that is almost true. The caveat is what @pajamajama said, that it only holds true for pairs of nodes that have both different inputs and outputs. A network could still be non-blocking if 0->1 and 2->1 conflict (it would be hard to find a network where this doesn't conflict), but it is never non-blocking if 2->1 and 0->3 conflict.