39
1 CSIT560 by M. Hamdi Course Exam: Review April 18/19 (in-Class)

CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

1CSIT560 by M. Hamdi

Course Exam: ReviewApril 18/19 (in-Class)

Page 2: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

2CSIT560 by M. Hamdi

Exam Format

• 5 questions

– One general question (True or False) – Common sense questions.

– 4 Problem-type questions

• Targeted towards topics that are extremely Targeted towards topics that are extremely important in the area of networking, and are important in the area of networking, and are covered in classcovered in class

Page 3: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

3CSIT560 by M. Hamdi

Question 2: Memory Bandwidth Limitations in Switches/Routers

• Understand the memory bandwidth requirement as a function of the queue placement

• Understand the relationship between queue placement and switch fabric speedup – Input-Queued Switches

– Output-Queued Switches

– Shared-Queued Switches

– Combined I/O Queued Switches

• Is a given architecture feasible for given configuration?

Page 4: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

4CSIT560 by M. Hamdi

Question 2: Memory Bandwidth Limitations

• Memory-BW (IQ) = 2 R bits/sec

• Memory-BW (OQ) = (N + 1)xR bits/sec

• Memory-BW (SQ) = 2NR Bits/sec

• Memory-BW (CIOQ) = (S + 1)x R bits/sec

• Access time per packet = Packet size / Memory-BW

Page 5: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

5CSIT560 by M. Hamdi

Example: A Comparison Memory speeds for 32x32 switch

Packet size = 64 bytes

Line Rate MemoryBW

Access TimePer packet

MemoryBW

Access Time

Shared-Memory Input-queued

100 Mb/s 6.4 Gb/s 80 ns 200 Mb/s 2.56 s

1 Gb/s 64 Gb/s 8 ns 2 Gb/s 256 ns

2.5 Gb/s 160 Gb/s 3.2 ns 5 Gb/s 102.4 ns

10 Gb/s 640 Gb/s 0.8 ns 20 Gb/s 25.6 ns

Page 6: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

6CSIT560 by M. Hamdi

Question 2: Example

• Give you the access time using SRAM and DRAM• Give you a line rate• Give you an architecture and size of switch (e.g., OQ

or CIOQ switch of size 128x128)• Give you size of packets• Find the memory bandwidth required, and the access

time per packet• Can this be feasible using current technology

Page 7: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

7CSIT560 by M. Hamdi

Question 3: VOQ Switch Scheduling/Arbitration

• The most practical scheduling algorithms are maximal matching algorithms – try to approximate maximum size matching

• These algorithms are based on Request-Grant-Accept scheme

• The Request-Grant-Accept scheme are based on pointer positions at the input and output arbiters

• Understand how iSLIP, FIRM, and RRM

Page 8: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

8CSIT560 by M. Hamdi

RRM Maximum Size Matching Algorithm: Performance and Properties

• Round Robin Matching (RRM) is easier to implement that PIM (in terms of designing the I/O arbiters).

• The pointers of the arbiters move in straightforward way

• It iterates the following steps until no more requests can be accepted (or for a given number of iterations):

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

• 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 no request is received, the pointer stays unchanged.

Page 9: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

9CSIT560 by M. Hamdi

RRM Maximum Size Matching Algorithm: Performance and Properties

• 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. If no grant is received, the pointer stays unchanged.

Page 10: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

10CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (1)

0

1

2

3

0

1

2

3

Step 1: Request

Page 11: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

11CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (2)

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Page 12: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

12CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (2)

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Page 13: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

13CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (2)

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Page 14: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

14CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (2)

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Page 15: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

15CSIT560 by M. Hamdi

RRM Maximal Matching Algorithm (3)

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Page 16: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

16CSIT560 by M. Hamdi

iSLIP Maximum Size Matching Algorithm: Performance and Properties

• It is a scheduler used in most VOQ switches (e.g., Cisco).

• It is exactly like RRM algorithm with the following change:

• 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 (Accept phase) .

Page 17: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

17CSIT560 by M. Hamdi

1

2

3

4

1

2

3

4

Step 2: Grant

1

2

3

4

1

2

3

4Step 3: Accept

iSlip: 1st Iteration

4 13 2

4 13 2

1

2

3

4

1

2

3

4

Step 1: Request

1 42 3

4 13 2

Original pointerSelected oneUpdated pointer

iSLIP Maximum Size Matching Algorithm

Page 18: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

18CSIT560 by M. Hamdi

1

2

3

4

1

2

3

4

Step 2: Grant

1

2

3

4

1

2

3

4Step 3: Accept

iSlip: 2nd Iteration

4 13 2

1

2

3

4

1

2

3

4

Step 1: Request

1 42 3

4 13 2

No change

Original pointerSelected oneUpdated pointer

iSLIP Maximum Size Matching Algorithm

Page 19: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

19CSIT560 by M. Hamdi

Simple Iterative Algorithms: iSlip

0

1

2

3

0

1

2

3

Step 1: Request

Page 20: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

20CSIT560 by M. Hamdi

Simple Iterative Algorithms: iSlip

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Page 21: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

21CSIT560 by M. Hamdi

0

1

2

3

0

1

2

3

Step 2: Grant

3 02 1

3 02 1

Simple Iterative Algorithms: iSlip

Page 22: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

22CSIT560 by M. Hamdi

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Simple Iterative Algorithms: iSlip

Page 23: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

23CSIT560 by M. Hamdi

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Simple Iterative Algorithms: iSlip

Page 24: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

24CSIT560 by M. Hamdi

Simple Iterative Algorithms: iSlip

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Page 25: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

25CSIT560 by M. Hamdi

Simple Iterative Algorithms: iSlip

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Page 26: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

26CSIT560 by M. Hamdi

Simple Iterative Algorithms: iSlip

0 31 2

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Page 27: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

27CSIT560 by M. Hamdi

FIRM Maximum Size Matching Algorithm: Performance and Properties

• It is exactly like iSLIP with a very small – yet significant modification.

• Grant (outputs): If an unmatched output receives a request, it grants 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 is granted. The pointer to the highest priority element of the round-robin schedule is incremented beyond the granted input. If input does not accept the pointer is set at the granted one.

Page 28: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

28CSIT560 by M. Hamdi

0

1

2

3

0

1

2

3

Step 3: Accept

3 02 1

3 02 1

Simple Iterative Algorithms: FIRM

Page 29: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

29CSIT560 by M. Hamdi

Differences between RRM, iSlip & FIRM

RRM iSlip FIRM

Input Aribiters

No grant unchanged

Granted one location beyond the accepted one

Output

Arbiters

No request unchanged

Grant accepted

one location beyond the granted one

Grant not accepted

one location beyond the previously granted one

unchanged the granted one

Page 30: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

30CSIT560 by M. Hamdi

Question 3 Example

• You will be given the status of the VOQs, and the position of the pointers, find the scheduling (matching between inputs and outputs) using iSLIP, FIRM or RRM in 2 to 3 time slots

Page 31: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

31CSIT560 by M. Hamdi

Question 4: Output Scheduling Algorithms for QoS

• We looked at output scheduling algorithms for per flow queuing

• Understand the notion of fairness as defined by max-min fairness

• Understand Weighted Fair Queuing (WFQ) which is the most famous algorithm for fair queuing

– Bit-by-bit WFQ

Page 32: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

32CSIT560 by M. Hamdi

Max-Min FairnessA common way to allocate flows

N flows share a link of rate C. Flow f wishes to send at rate W(f), and is allocated rate R(f).

1. Pick the flow, f, with the smallest requested rate.

2. If W(f) < C/N, then set R(f) = W(f).

3. If W(f) > C/N, then set R(f) = C/N.

4. Set N = N – 1. C = C – R(f).

5. If N>0 goto 1.

Page 33: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

33CSIT560 by M. Hamdi

1W(f1) = 0.1

W(f3) = 10R1

C

W(f4) = 5

W(f2) = 0.5

Question 4 Example: Max-Min Fairness

Round 1: Set R(f1) = 0.1

Round 2: Set R(f2) = 0.9/3 = 0.3

Round 3: Set R(f4) = 0.6/2 = 0.3

Round 4: Set R(f3) = 0.3/1 = 0.3

Page 34: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

34CSIT560 by M. Hamdi

Weighted Bit-by-Bit Fair Queueing

• Flows can be allocated different rates by servicing a different number of bits for each flow during each round.

1R(f1) = 0.1

R(f3) = 0.3R1

C

R(f4) = 0.3

R(f2) = 0.3

Order of service for the four queues:… f1, f2, f2, f2, f3, f3, f3, f4, f4, f4, f1,…

Page 35: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

35CSIT560 by M. Hamdi

Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1

Weights : 3:2:2:1

3

2

2

1

6 5 4 3 2 1 0

B1 = 3

A1 = 4

D2 = 2 D1 = 1

C2 = 1 C1 = 1

Time

3

2

2

1

6 5 4 3 2 1 0

B1 = 3

A1 = 4

D2 = 2 D1 = 1

C2 = 1 C1 = 1

A1A1A1B1

A2 = 2

C3 = 2

Time

Weights : 3:2:2:1

Round 1

3

2

2

1

6 5 4 3 2 1 0

B1 = 3

A1 = 4

D2 = 2 D1 = 1

C2 = 1 C1 = 1

A1A1A1B1

A2 = 2

C3 = 2

D1, C2, C1 Depart at R=1Time

B1C1C2D1

Weights : 3:2:2:1

Round 1

Page 36: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

36CSIT560 by M. Hamdi

Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1

Weights : 3:2:2:1

3

2

2

1

6 5 4 3 2 1 0

B1 = 3

A1 = 4

D2 = 2 D1 = 1

C2 = 1 C1 = 1

A2 = 2

C3 = 2

B1, A2 A1 Depart at R=2Time

A1A1A1B1B1C1C2D1A1A2A2B1

Round 1Round 2

Weights : 3:2:2:1

3

2

2

1

6 5 4 3 2 1 0

B1 = 3

A1 = 4

D2 = 2 D1 = 1

C2 = 1 C1 = 1

A2 = 2

C3 = 2

D2, C3 Depart at R=2Time

A1A1A1B1B1C1C2D1A1A2A2B1C3C3D2D2

Round 1Round 23

Page 37: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

37CSIT560 by M. Hamdi

Question 4 Example

• You are given a number of flows. What is the rate allocated for each flow using bit-by-bit WFQ.

• You are given packets in each flow. What is the order of the departure of packets using packet-by-packet WFQ.

Page 38: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

38CSIT560 by M. Hamdi 38

Question 5: Congestion Control

• Minimum requirements:

– Understand the principles of preventive congestion control

– Understand the principles of end-to-end congestion control

– Understand the difference between TCP Tahoe and TCP Reno/New Reno

• Slow start

• Congestion Avoidance

• Fast retransmit/Fast Recovery

– Understand the negative impact of UDP traffic on network congestion

– Understand the impact of additive increase multiplicative decrease on congestion control in High Speed networks

Page 39: CSIT560 by M. Hamdi 1 Course Exam: Review April 18/19 (in-Class)

39CSIT560 by M. Hamdi 39

Question 5: Examples

• Given a trace of the TCP window size for a connection, you should be able to identify the different steps of the congestion control algorithm

• Given the token bucket depth, the token regeneration rate and the input traffic, you should be able to calculate the maximum burst duration