23
Submitting: Eli Cohen 032076515 Barak Pinhas 037584042 Hana Sender 034366666

Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

Embed Size (px)

Citation preview

Page 1: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

Submitting:Eli Cohen 032076515Barak Pinhas 037584042Hana Sender 034366666

Page 2: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

Crossbar-based SwitchesIn 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

Page 3: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

Matching Algorithms

Each algo. is evaluated by four parameters:1. Latency.2. Starvation free.3. Fast.4. Implementation.

3. iSLIP – Iterative Serial-Line IP2. RRM – Round-Robin Matching1. PIM - Parallel Iterative Matching

We will discuss three different matching algo.:

Page 4: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

When no new matching can be found, the algorithm stops.

3. Accept - If an input receives a grant, it accepts one by selecting an output randomly among those that granted to this output..

2. Grant - If an unmatched output receives any requests, it grants to one by randomly selecting a request uniformly over all requests.

1. Request - Each unmatched input sends a request to every output for which it has a queued cell.

PIM - Parallel Iterative Matching

The basic matching algorithm. Each iteration of the algorithm follows these three steps:

Page 5: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

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.

1. Request - Each unmatched input sends a request to every output for which it has a queued cell.

g2

g4

g1a1

a3

a4

1

23

4

1

23

4

1

23

41

23

4

1

23

4

1

23

4

Page 6: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

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.

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.

1. Request - Each unmatched input sends a request to every output for which it has a queued cell.

a1

a3

a4

1

23

4

1

23

4

1

23

41

23

4

1

23

4

1

23

4

g2

g4

g1

Page 7: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

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.

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.

1. Request - Each unmatched input sends a request to every output for which it has a queued cell.

a1

a3

a4

1

23

4

1

23

4

1

23

41

23

4

1

23

4

1

23

4

g2

g4

g1

Page 8: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

First cycle

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.

Page 9: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

First cycle

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.

Page 10: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

First cycle

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.

Page 11: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

First cycle

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.

Page 12: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

First cycle

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.

Page 13: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

Second cycle

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.

Page 14: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin Matching

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

Second cycle

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.

Page 15: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

RRM – Round-Robin MatchingThe 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.

g2

g3

g1

a1

a2

a3

12

3

12

3

12

312

3

12

3

12

3

Second cycle

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.

Page 16: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

iSLIP – Iterative Serial-Line IP2. 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.

g2

g4

g1a1

a3

a4

1

23

4

1

23

4

1

23

41

23

4

1

23

4

1

23

4

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.

Page 17: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

iSLIP – Iterative Serial-Line IP

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.

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.

g2

g4

g1

1

23

4

1

23

4

1

23

41

23

4

1

23

4

1

23

4

a1

a3

a4

Page 18: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

iSLIP – Iterative Serial-Line IPThe 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.

Page 19: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

And now...

Page 20: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666
Page 21: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

Latency

The differences between the RRM and the iSlip are minor, although the standard deviation is in favor for the iSlip algorithm.

The PIM is clearly the worst of the three when latency is discussed.

Starvation Free

The RRM is not completely starvation free, although the starvation is very rare.The iSlip is starvation free.

The PIM is not starvation free, since both input and output controls select the matching randomly.

Page 22: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666

fast

The RRM and the iSlip have queues to manage, which makes the matching a little slower although the difference is minor

The fastness of the PIM depends upon the random function only.

Implementation

The RRM and the iSlip are a little harder to implement, but the difference (once more) is minor.

The PIM is allegedly the easiest to implement, but sometimes a good random function is hard to implement.

Page 23: Submitting: Eli Cohen032076515 Barak Pinhas037584042 Hana Sender034366666