 So, we will start with now the issue of cross point complexity of rearrangeable as well as a strictly non-blocking class network, but this time what we will do is we will not actually compute this thing for a simple class network. Actually, I have done this thing for a simple strictly non-blocking class network earlier, but now we will do what we call recursive construction of these switches. We can actually further optimize and then we have to find out what is the most optimal configuration in that and actually it is very difficult to find out an optimal configuration, but since we are looking for a bound, any value is going to be fine. So, I am going to look at whatever minimum I can achieve, but there can still be better bounds. That room is still there, but whatever has been so far in the literature that is what we are going to look into. So, if you look at cross point complexity, this recursive construction, so first of all let us take rearrangeable network. So, there will be m 1 by n 1 and we will have some middle state switches and we already know the definition that by so far using slip and duvet theorem that your R 2 has to be greater than or equal to maximum of m 1 or m 3 that is the condition which has to be satisfied. What we will look is in this case, I am just going to change my variable, so that they have become consistent with my notes, but I think you should be able to understand this step. Now, instead of using m by n, I am going to use p by q. The idea here is that I am now worried about total number of 4 and I want an optimal configuration for this and this n can be now broken into two numbers which is p by q. Once I do this, so for a n by n switch because this dimension has to be kept fixed, I have to build up a reasonably non-blocking switch and find out what is the cross point complexity. That is the idea. So, in this case what we will do is I am also going to make an assumption. Let me change the dimension here. This p by q, so this actually means number of switches which will be present will be q, 1 to p. Now, each one of the inputs will be n by q, this has to be q and I am talking about n by n switch symmetric calculation. I am not worried about asymmetricity as of now because I am looking at a bound for n by n. For n by n cross bar, it is o n square. So, this is a typical configuration. So, this is again q number. This number is going to be p. So, this will also be n by p. So, q number of 4 which are coming out. So, number of cross points here will be pretty simple. It will be p into q will be number of cross points here and total p number of switches are there. So, it is p. This actually similar kind of structure gets repeated here. So, you multiply it by 2 plus the q switch is here. Each one of them will have p by p, p square. It is q into q. p cross n upon p. How many inputs are coming? n plus p cross n plus p should be there. I think I have to restructure it. I have actually reversed. This value I have made a mistake here. This is q by q. So, this has to be q square. This n by p is nothing but q inputs. So, q inputs q outputs. So, these are q square complexity and their p number of switches are multiplied by p and 2 times. Each switch is p by p switch here. So, it is p square q times. In my notes, it was actually reversed. That is why the confusion actually happened. In fact, I can draw this something like this. So, this is q by q each one of them 1, 2 and so on. And you have total p switches. So, I can just put the boards like this. So, there are q inputs and q ports are going on. Then I can create a cross connection and so on. So, it is 1, 2, q each one of them is p by p. So, these are q ports coming out and here q ports going in. So, you can actually look into this kind of structure. So, I am doing exactly this in three-dimensional space. This cross is you need not remember. And for strict sense non-blocking, I can also draw the same diagram. Except in this case, now what will happen is the condition is r 2 has to be greater than or equal to m 1 plus n 3 minus 1. And since I am looking into the p by q kind of split, this value will be how much? Number of ports are q. So, 2 q minus 1. So, if you make the equivalent figure, just for memory sake, you are expanding actually. So, 1, 2, 3 and you will have total p switches going here. Number of switches which are stacking here, 1, 2 and so on. And the last one will be 2 q minus 1 and this will be a p by p switch. And this will be an expansion of 2 q, 2 inputs and 2 q minus 1 output. Same is going to be 2 here on this side. 2 q minus 1 input and 2 output. So, that is a strict non-blocking switch. This switch is a n by n switch. I am now factorizing into p by q. Some numbers, see I have to factorize then only I can create a strict non-blocking switch. And then of course, once I do this p by q, I have to find out what is the cross-pointing complex. I am trying to identify, get a hint how I should divide p and q. What value of p I should, I can take, there are many options of factorizing. Which option I should take, which will give me the least value, minimum value of this cross-point, number of cross-points in this whole switch matrix. So, if I take n by p is equal to q actually as per this. So, it is a q by q switch. I only require q by q here for rearrangeably non-blocking configuration. If it is a strictly non-blocking configuration, this will be 2 into q minus 1. So, this switch is equivalent to this sum. When you want to draw equivalent to this one, you will make a change and in that case, this will be 1, this will be 2 and so on, this will be 2 q minus 1. So, I am drawing with a different color. So, this color corresponds to a strictly non-blocking configuration. So, this value instead of this will be 2 q minus 1. This value also will be 2 q minus 1. This still remains same. Only this will change to 2 q minus 1. Rest everything remains same. So, in that case also, you can find out a cross-point complexity. This is a cross for rearrangeably. This is a cross for strictly non-blocking. So, for this, what will be the value? So, here the cross-point complexity is 2 into 2 q minus 1. This happens t time. The two stages are symmetric and you have t square to q minus 1, but I have not chosen a recursive construction. In fact, each one of these blocks can be further reconstructed by again using a three-stage network and we always know if I go to a three-stage network from a single cross-bar, I reduce some cross-point. So, number of cross-points will get further reduced with each one of these stages, each one of these switching elements is further broken down into fundamentally. That is a recursively I will keep on doing it. So, I have to just find out a formula and do the recursive solution. It will form a series and we will get a solution from there. Now, coming back to first of all strictly non-blocking, here you can see what will be the form. So, maximum contribution comes from this thing. So, I would like to have q as small as possible. If I keep q as small as possible, my cross-point will be less. This is clear and when I recursively take each element and further break it, it will because I am anyway taking it. So, every time I will keep on doing it, it will be minimizing. So, I know what is going to be a minimum value. Here it is not very straightforward what will be the minimum value. Here we will come later on because if I try to minimize on this, other side actually expands. So, number of cross-points optimum does not happen when q is minimum. Here it is going to happen that way actually. So, that is a hint and then from there we can further solve it. So, in this case, so you can always take q as 2. So, once q is taken as a 2, what will be value of q n by 2? 2 is the minimum value possible and I am taking n as 2 raise power i. That is usually is the simpler thing to do is that n is always assumed to be 2 raise power i, where i is an integer. In fact, i should be a natural number. I should not even call it an integer. So, that is the condition which usually will be taken. So, in this case, so what will be the cross-point complexity? Now, this q can be, this p can be further broken down and I will get 2 into n by 4 configuration. So, I can keep on doing it actually this way. So, for example, say let us I want to build up a 8 by 8 switch. How I will do it actually? So, 8 by 8 is, if I take q is equal to 2 and q is equal to 8 by 2, which is 4, which actually means the switch will be of this kind and I have got now 4 by 4 switches here. So, can you remember from something from this? I have talked about this earlier in one of the lectures. Yes, here I essentially going to that. I can now further do this 4 by 4 can be broken. This is strict, this is rearrangeable non-blocking. So, if I represent, I also make 4 by 4 by a rearrangeable non-blocking switch will remain rearrangeable non-blocking. In earlier construction what I have done was, I did something, I never told you that I just only stated rearrangeable non-blocking, but now you know why it is going to be rearrangeable non-blocking. What is the reason? Because that condition is always going to be satisfied that R 2 has to be greater than or equal to maximum of m 1 and m 3. So, this 4 by 4 further can be actually done and I can replace this by and the three stage network. So, this is it and same thing will go here, same structure. This is a recursive construction. So, every time in the end how many stages will be there? If I keep on doing it and from there I can find out the cross point complexity. So, in this case you will find out, you will require 2 log 2 n minus 1 these many stages, if you count each one is a 2 by 2 and assuming n is equal to 2 this power i. The reason for this is when I did first division, I got first stage and last stage, middle stage was a larger switch. So, I got two stages plus first middle one. I further break it, two more stages will come out a middle one. Ultimately in the end the middle one will be nothing but a 2 by 2 in the end. So, first time two stages came out, next time two stages came out and the middle one, the last stage. This will keep on happening till log 2 n time. Then ultimately you go to 2. When it is 2 by 2 you simply. So, it has actually 2 log 2 n because here I am not getting 2, but only 1. So, I am subtracting 1 actually. In the end I will get 2 by 2 which is equal to 1. So, that has to be subtracted. I am not getting 2 in the last one. So, I am subtracting that. Now, I know that how many switches will be there. These are going to be n by 2 switches of 2 by 2. So, cross point complexity in this case will be whatever the cross point complexity of a 2 by 2 switch. This is basic element. This cannot be further broken. It is not possible. It has to have either cross or bar state. So, it requires 4 cross points. So, I can write that cross point number directly here. So, I can write this 4 is for a 2 by 2 switch. Number of switches are n by 2 and number of stages are 2 log 2 n minus 1. So, which gives the cross point complexity as 2 n, but this exact number of cross point is not complex. So, lower order terms can be removed actually. So, there are two terms here. One is going to be 4 n log 2 n minus 2 n. So, 2 n is having lower order than the first term which is being subtracted. So, I am looking at a bound. So, this is going to be order of n log 2 n. So, as n grows, how the number of cross points grows? In this case, that is what you can estimate from here for this recursive construction. I think this is the number of steps. 2 log 2 n minus 1 is number of stages. Yes. So, each stage we have n by 2 switches. Right. Each stage will be n by 2 of those stages. Well, the recursively constructed reagent and non-blocking switches are far simpler. Because each 2 by 2 elements, this cannot be broken further. This requires 4 cross points. It is not, complexity always means, if I am changing my dimension or size, complexity essentially deals with that. It does not deal with the exact number. So, for example, if my class, simple example I am taking, if my class size is n, n number of strings, number of questions which will be asked in 1 hour. How it grows as my n grows? So, I can do kind of a theoretical, basically an experimental observation based on that I figure out, if my n grows, n is here. How my number of questions grows? If this grows like this, there is a problem actually. Complexity is 2-1. If it grows like this, this is a different scenario. It can grow linearly. That is also a problem. But usually by experience we know, this is always going to be, initially it grows like this, then it goes down. It is not even like this. Slope is all usually less than 1, because 10 strings will never ask 10 questions per hour. It is usually less than that. Slope is always less than 1 and it saturates. So, because what happens, most of the strings will actually have common questions. So, the first guy who asks, he gets the answer. Other people also get the answer. So, intuitively I know, this is going to be of this kind. So, idea is how the growth happens. So, essentially what I am not worried about is not the exact value. Exact value can always be computed, but what I am worried about as n grows, what happens? So, it is not linear. So, remember what we had n square. N square is a curve of this kind. And there is, in fact, this has been drawn wrongly. If it is going to be the same scale, it will be something like this. n is equal to 1 will be something like this. N log n will be something like this, which will cross over. That is what your, this is a cross path. This is going to be your, this will be your rearrangeably non-blocking switch. A shape is going to be like this, but I am not sure whether this n log 2 n 1, a slope I think also has to be like this. It has to be something like this, n log n, not the upper one. This has to be like this. But remember this is rearrangeably non-blocking. This is strictly, this is o n, complexity is not there. n log 2 n, no, I think o n log 2 n has to be higher. This cannot be lower. This has to be higher. I was correct. This one is strictly non-blocking. These are not up to scale. If you put it on same scale, this always at larger dimension, this is not good actually. It is strictly non-blocking. Lower dimension is strictly non-blocking is fine, but I am not using integers because switching means all values are discrete. Number of input ports changes 1, 2, 3, 4. You cannot have 1.5 input ports. So, these are just for notational purpose actually. The question is, this kind of complexity is better n log n because it is not exploding. The number is not exploding actually, it will be larger. Yeah, o n is a complexity of 3 by 2 also. Yeah, o n 1.5. So, which is going to be somewhere in between these two. So, I have not plotted exactly. I am just by intuition drawing it here. These need to be verified. So, let us go for a strictly non-blocking which how we will compute for that. Of course, as I stated earlier, this is a base line, this is a Benz network. If you break this, these are the output, taken as output ports, they say base line network. If I take these are the input ports and these are output ports, these are inverse base line network. So, they actually come in the category of Banyan networks. Banyan networks has a property where there is exactly one path between each input and output port. These are required for self routing which is actually, for packet switching systems. So, coming to now strictly non-blocking configuration, how that will be achieved? That is not recursive construction. We just did the break up. That was not for recursive construction. So, now we will go to the recursive construction. So, idea is this. You remember these red ones now. That is a configuration and with these red ones, this has to be now recursively constructed. The question is what should be P and Q? First question always comes to this. There in fact, it does not matter what way I do the break up. I can always do 2 raise power k into 2 raise power j kind of break up and keep on breaking it further. You will always get 2 log 2 and minus 1 stages. You may not end up in getting the same Banyan network kind of thing. But here, this choice is very crucial because in this case, your cross point complexity actually is 2 into Q, 2 Q minus 1 plus and this can be now approximated as 4 Q square. I can forget, for example, this minus 2 Q is a very small element. I can add that. I am only increasing my cross points because I am worried about the actually bounds, not about the exact estimate. So, this can always be done, this kind of approximation. So, I can estimate this thing as 4 Q square. Yeah, you are right. I will put a P here, 4 Q square plus P and this will be 2 and this can be written as and what we can do is, in fact, over 3 by 2 when we computed and 3 by 2 complexity. We have to break this down. Now, question is this value, whatever I do, I do not know the optimum. For optimum, it is going to be difficult. I have to first of all optimize, take the derivative of this and then, of course, try to compute. We got some value actually earlier, it was I think root n by 2. So, what we want is just create a bound. So, if I actually keep it P and Q both equal and make it root of n, it is going to be simpler to compute and whatever I compute will be a bound. Actual estimate will always be lower than this. Can we make lower than this, if you can carefully build up that? So, we will do with that P is equal to root of n and Q is equal to root of n. So, from here also, I think you can try it out. I think it will say root of n by 2 will actually come, n by 2 square root will come from here also. But I am not going to do with that, I am going to take P is equal to root of n and Q is equal to root of n. So, that will place a number of restriction number of quotes incoming. No, incoming quotes is n. This is only break up, which I am taking here. n is fixed. n clearly has to be integers per set. So, you have to choose, there is a restriction on n in that sense. But I am not worried about now exactly those restrictions. I am just trying to create an expression. This is kind of not exact thing, but it gives an idea. So, again for convenience sake, I can take n is equal to 2 raise power n and I can take this, sorry 2 raise power n and this n is nothing but 2 raise power l, where l is a natural number, where l is an integer actually, positive integer. So, under I am further restricting this, because that is how I can compute, otherwise it is going to be difficult to compute. If I take for example, this Q is equal to 3, this becomes a different situation. So, I am usually restricting to only 2 raise power i kind of situations, which are built that way. The reason being because you optimally use your address space. We are working mostly with binary systems and easily there is a wire, if it is on and on, it gives 0 and 1 and for through multiple buses, multiple wires in a bus, I am trying to generate addresses. Each port has to be addressed for controlling. So, you will never build up a 3 by 3 switch usually, you will always make 4 by 4, 3 by 3 also requires 2 control lines and 4 by 4 also require 2 control lines, 5, 6, 7 does not matter, next is 8 actually, it requires 3 control lines. So, control space you are always trying to optimize. So, that is the reason why 2 raise power i, 2 raise power n actually is used, but I am further putting up these restrictions in this case, because I have to do square root, because of that this has been done. So, what will happen is now, the first element I can write this is 2 raise power. So, number of this switches are q. So, q will be now n is this, you take the square root 2 raise power n minus 1, n by 2. How many middle stress switches are there? 2 into n by 2 multiplied by 2 minus 1, this is also equal to p, number of middle stress switches are q, which is going to be, because 2 q this has to be 2 q minus 1, first non-blocking configuration. And what is the size of this middle stress switch? p by p. So, switches of size 2 raise power n by 2 by 2 raise power n by 2. So, I know that the middle stress configuration here, I am just going to replace by this number. So, there are this number of switches is 2 2 raise power, these 9 number of switches 2 raise power n by 2 by 2 raise power n by 2 is the switch dimension in the middle stage, input stage. You have these many, 2 raise power n by 2 as the input ports, number of switches are also 2 raise power n by 2, outgoing ports here has to be this much. This is not an optimum value, but I am estimating around, I can take anything, actual estimate will always be lower than this, in terms of cross point. But this is very close to optimum. So, we are considering under root 1, under root n, why because we are. We can easily compute. Computer is recursively constructed. Recursive construction also is possible. See, I have not just told how it will be recursively constructed, there is a problem here. There is a minus 1 sitting, how you will construct a switch, this switch, how you will construct recursively. So, I will make an assumption here, because I am estimating around, I will estimate slightly higher. This minus 1 I will forget actually, in the number of switches here. Here also I will forget, then I will prove that each one of these switches switching elements can be done by 2 raise power n by 2 by 2 raise power n by 2. So, I know that 2 raise power n by 2 raise power n by 2 raise power n. So, idea is 2 raise power n by 2 raise power n switch. Can you make with some number of 2 raise power n by 2 by 2 raise power n by 2 switch? How many number? This is what we need to find out. So, I have gone from this switch to this switch and this is recursion. So, I can put this thing here, I can find out 2 raise power n by 4 by 2 raise power n by 4. I can keep on doing it till I get 2 by 2 and 2 by 2, I know the complexity is 4 or number of cross points is 4. Just put all those values, do the solution and you will get the complexity expression. That o n log 2 n to raise power point 2.58, that value will come from there actually. So, similarly on this side, this value is 2 raise power n by 2. So, for this, it is clear that how many switches are there, these many switches are there, 2 raise power n by 2 by 2 raise power n by 2 switch. Here, I do not know. So, what we will do is, we have to make an, I can forget this minus 1 actually. Let my output be larger, how does it matter? I can make, I can use 2 raise power n by 2 by, I can use this switch also. Does not matter and so far, it is strictly non-blocking, it is fine with me. Now, how to build up this kind of strictly non-blocking switch? Usually, you will try to see that, let me make a cross bar whose output ports are more. I can do something smarter actually, the number of inputs are 2 raise power n by 2. I can just duplicate each one of these wires, use one switching element 2 raise power n by 2 by 2 raise power n by 2, take another switching element of same size. Is this strictly non-blocking switch? I can take any input, these are strictly non-blocking. So far, an output port is free, input port is free, I can always set up a connection. Each element is strictly non-blocking and that is a parallel configuration. So, each one of these blocks can be implemented by this configuration. So, this actually means, how many switches will be required in the first stage? How many 2 raise power n by 2 by 2 raise power n by 2 switches will be required in first stage? 2 for implementing each switch. So, you require 2 into first stage, these many switches will be required. Second stage, this minus 1 again I am doing away with, I am using one higher number actually, that is what I did here. So, this also minus 1 has to go. So, second stage also required 2 raise power n by 2 into 2, whatever I did for first stage, I do inversion of that. Third stage also required these same. So, how many require is 6 into 2 raise power n by 2 switches of size 2 raise power n by 2 and this can be used to create this much size of a strictly non-blocking switch. So, I can now write the recursive relation actually from here. So, I call it F. So, F which is the cross point for this is nothing but 6 into 2 raise power n by 2, sorry this is 2 raise power n. F is a function which gives you the cross points, number of cross points. So, number of cross points is a bound on the cross points, number of cross points actually. So, I can recursively now solve it, I have got a recursive relation. So, the cross points which are required for 2 raise power n, say it is than the minimum, more than the minimum required, because I have added one more. You see, it is not 2 into q minus 1, it is actually 2 q which I have been using. So, I can go with the recursion with this and then solve it. So, I think I will stop now because you have to actually go for another class. So, I will take up from here, you can try on your own now. Anyway, it is also given in the notes, but I still feel that you should try on your own and try to get the expression. So, next lecture we will actually solve it and then we will go for still better switch, because this is not the exact value I can get even better bound. I can still get a spin on blocking switch with a different configuration which is going to have lower cross point complexity, that is the counter network. So, this is where I am leaving now. There is no rearrangement required. It is a strictly non-blocking configuration. Only thing is that important thing is to get this recursive relation. You should appreciate and understand this. See, it is important consecutive to understand how you arrive at this expression. Solving it after this is all, then it is kind of a normal routine Can you explain this point? How do you get duplication of… Actually, I have to create a switch which is having to restore n by 2 inputs, q into 2 q minus 1. So, instead of 2 q minus 1, I put 2 q. That is okay, sir. But then how to create it was the issue. I want to convert everything to to restore n by 2 by to restore n by 2. Everything I am trying to break down. So, if I take this configuration, I am able to create this matrix. Two of them I put together. Any input you take, I should be able to connect to every output. This whole box is giving you this simulation. It is acting like this. This is the basic building box. But this is the trick. Usually people will get stuck only at this point. Once you know this, you can do it. What you are getting is 4 times, not 2 times. No, no. What is this output? Number of ports here. 2 is power n by 2. 2 is power n by 2. So, 2 times 1 and 2. So, I can, in general, I can actually create a cascade. I can take all these parallel lines and I can create 2 n by 2 by some number i into 2 is power n by 2 is possible. You require i such switches. All inputs are parallel connected to all of them. Only your bus size or wires required will be higher. Basically, we are answering that we have to implement q into 2 q. That is why we are doing a duplication. So, that is why you required 2 q elements in the second stage. You also required 2 q elements also in the first stage, as well as in third stage also. It becomes 6 times because of that. And because number of switching elements is this, 6 into this. And that is what actually now follows further from here. Thank you.