Presentation is loading. Please wait.

Presentation is loading. Please wait.

Crossbar Switch Project

Similar presentations


Presentation on theme: "Crossbar Switch Project"— Presentation transcript:

1 Crossbar Switch Project
Submitting: Eli Cohen Barak Pinhas Hana Sender

2 Crossbar-based Switches
In order to allow a router to receive several packets from different sources to different outputs, a simple design was suggested: Each input (source) will be able to connect to each output (destination). A control mechanism will decide which input will be connected to which output (according to the input’s request). Input Output

3 Matching Algorithms We will discuss three different matching algo.:
1. PIM - Parallel Iterative Matching 3. iSLIP – Iterative Serial-Line IP Each algo. is evaluated by four parameters: 1. Latency. 2. Starvation free. 3. Fast. 4. Implementation. 2. RRM – Round-Robin Matching

4 PIM - Parallel Iterative Matching
The basic matching algorithm. Each iteration of the algorithm follows these three steps: 1. Request - Each unmatched input sends a request to every output for which it has a queued cell. 2. Grant - If an unmatched output receives any requests, it grants to one by randomly selecting a request uniformly over all requests. 3. Accept - If an input receives a grant, it accepts one by selecting an output randomly among those that granted to this output.. When no new matching can be found, the algorithm stops.

5 RRM – Round-Robin Matching
2. Grant - If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. 1. Request - Each unmatched input sends a request to every output for which it has a queued cell. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. a1 a3 a4 g2 g4 g1 1 2 3 4

6 RRM – Round-Robin Matching
1. Request - Each unmatched input sends a request to every output for which it has a queued cell. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. 2. Grant - If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. The pointer ai to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the accepted output. 3. Accept - If an input receives a grant, it accepts the one that appears next in a fixed, round-robin schedule starting from the highest priority element. a1 a3 a4 1 2 3 4 g2 g4 g1

7 RRM – Round-Robin Matching
1. Request - Each unmatched input sends a request to every output for which it has a queued cell. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input. 2. Grant - If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. 3. Accept - If an input receives a grant, it accepts the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The pointer ai to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the accepted output. 1 2 3 4 a1 a3 a4 g2 g4 g1

8 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. a1 g1 1 2 3 1 2 3 a2 g2 First cycle 1 2 3 1 2 3 a3 g3 1 2 3 1 2 3

9 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. a1 1 2 3 1 2 3 a2 First cycle g1 1 2 3 1 2 3 a3 g2 1 2 3 1 2 3 g3

10 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. 1 2 3 1 2 3 a1 First cycle g1 1 2 3 a2 1 2 3 a3 g2 1 2 3 1 2 3 g3

11 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. 1 2 3 1 2 3 a1 First cycle g2 g1 1 2 3 a2 1 2 3 a3 1 2 3 1 2 3 g3

12 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. 1 2 3 1 2 3 a1 First cycle g2 g1 a2 1 2 3 1 2 3 a3 1 2 3 1 2 3 g3

13 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. 1 2 3 1 2 3 a1 Second cycle g2 g1 a2 1 2 3 1 2 3 a3 1 2 3 1 2 3 g3

14 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. 1 2 3 1 2 3 a1 Second cycle g1 a2 1 2 3 1 2 3 g2 a3 1 2 3 1 2 3 g3

15 RRM – Round-Robin Matching
The RRM is not starvation free: In the following example, we assume there are always cells waiting to be transferred. The destination is always the same. a1 1 2 3 1 2 3 Second cycle g1 a2 1 2 3 1 2 3 g2 a3 1 2 3 1 2 3 g3 At this point the sequence of the events will repeat itself: Outputs 1 and 3 will always grant input 1, while output 2 will always grant input 1 at the first iteration of the first cycle, but input 1 will select output 1 indefinitely, leaving output 2 to grant either input 2 or input 3. Thus the cell from input 1 to output 2 will never be granted. In order to solve this starvation the iSlip algorithm was developed.

16 iSLIP – Iterative Serial-Line IP
2. Grant - If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input if and only if the grant is accepted in Step 3 of the first iteration. a1 a3 a4 g2 g4 g1 1 2 3 4

17 iSLIP – Iterative Serial-Line IP
2. Grant - If an output receives any requests, it chooses the one that appears next in a fixed, round-robin schedule starting from the highest priority element. The output notifies each input whether or not its request was granted. The pointer gi to the highest priority element of the round-robin schedule is incremented (modulo N) to one location beyond the granted input if and only if the grant is accepted in Step 3 of the first iteration. 1 2 3 4 g2 g4 g1 a1 a3 a4

18 iSLIP – Iterative Serial-Line IP
The iSlip algorithm prioritizes the requests by not advancing the grant pointer, unless the grant was accepted in the first iteration, thus preventing synchronization of the output arbiters. The outcome of this change is the prevention of the starvation presented before.

19 And now... The Real Thing!! Real The Thing!!

20 Conclusions

21 Latency Starvation Free
The PIM is clearly the worst of the three when latency is discussed. The differences between the RRM and the iSlip are minor, although the standard deviation is in favor for the iSlip algorithm. Starvation Free The PIM is not starvation free, since both input and output controls select the matching randomly. The RRM is not completely starvation free, although the starvation is very rare. The iSlip is starvation free.

22 fast The fastness of the PIM depends upon the random function only. The RRM and the iSlip have queues to manage, which makes the matching a little slower although the difference is minor Implementation The PIM is allegedly the easiest to implement, but sometimes a good random function is hard to implement. The RRM and the iSlip are a little harder to implement, but the difference (once more) is minor.

23 The End


Download ppt "Crossbar Switch Project"

Similar presentations


Ads by Google