Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)

Similar presentations


Presentation on theme: "COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)"— Presentation transcript:

1 COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)

2 COMP680E by M. Hamdi 2 Exam Format 5 questions –One general question (True or False) – or short questions. –4 Calculation-type questions Targeted towards topics that are extremely important in the area of networkingTargeted towards topics that are extremely important in the area of networking

3 COMP680E by M. Hamdi 3 Question 2: Memory Bandwidth Limitations 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?

4 COMP680E by M. Hamdi 4 Question 3: 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

5 COMP680E by M. Hamdi 5 Example: A Comparison Memory speeds for 32x32 switch Cell size = 64 bytes Line RateMemory BW Access Time Per cell Memory BW Access Time Shared-Memory Input-queued 100 Mb/s6.4 Gb/s80 ns200 Mb/s2.56  s 1 Gb/s64 Gb/s8 ns2 Gb/s256 ns 2.5 Gb/s160 Gb/s3.2 ns5 Gb/s102.4 ns 10 Gb/s640 Gb/s 0.8 ns 20 Gb/s25.6 ns

6 COMP680E by M. Hamdi 6 Question 3: 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

7 COMP680E by M. Hamdi 7 Question 4: 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

8 COMP680E by M. Hamdi 8 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 g i 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.

9 COMP680E by M. Hamdi 9 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 a i 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.

10 COMP680E by M. Hamdi 10 RRM Maximal Matching Algorithm (1) 0 1 2 3 0 1 2 3 Step 1: Request

11 COMP680E by M. Hamdi 11 RRM Maximal Matching Algorithm (2) 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1

12 COMP680E by M. Hamdi 12 RRM Maximal Matching Algorithm (2) 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1

13 COMP680E by M. Hamdi 13 RRM Maximal Matching Algorithm (2) 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1

14 COMP680E by M. Hamdi 14 RRM Maximal Matching Algorithm (2) 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1

15 COMP680E by M. Hamdi 15 RRM Maximal Matching Algorithm (3) 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1

16 COMP680E by M. Hamdi 16 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 g i 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).

17 COMP680E by M. Hamdi 17 1 2 3 4 1 2 3 4 Step 2: Grant 1 2 3 4 1 2 3 4 Step 3: Accept iSlip: 1 st Iteration 4 1 3 2 4 1 3 2 1 2 3 4 1 2 3 4 Step 1: Request 1 4 2 3 4 1 3 2 Original pointer Selected one Updated pointer iSLIP Maximum Size Matching Algorithm

18 COMP680E by M. Hamdi 18 1 2 3 4 1 2 3 4 Step 2: Grant 1 2 3 4 1 2 3 4 Step 3: Accept iSlip: 2 nd Iteration 4 1 3 2 1 2 3 4 1 2 3 4 Step 1: Request 1 4 2 3 4 1 3 2 No change Original pointer Selected one Updated pointer iSLIP Maximum Size Matching Algorithm

19 COMP680E by M. Hamdi 19 Simple Iterative Algorithms: iSlip 0 1 2 3 0 1 2 3 Step 1: Request

20 COMP680E by M. Hamdi 20 Simple Iterative Algorithms: iSlip 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1

21 COMP680E by M. Hamdi 21 0 1 2 3 0 1 2 3 Step 2: Grant 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip

22 COMP680E by M. Hamdi 22 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip

23 COMP680E by M. Hamdi 23 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip

24 COMP680E by M. Hamdi 24 Simple Iterative Algorithms: iSlip 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1

25 COMP680E by M. Hamdi 25 Simple Iterative Algorithms: iSlip 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1

26 COMP680E by M. Hamdi 26 Simple Iterative Algorithms: iSlip 0 3 1 2 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1

27 COMP680E by M. Hamdi 27 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.

28 COMP680E by M. Hamdi 28 0 1 2 3 0 1 2 3 Step 3: Accept 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: FIRM

29 COMP680E by M. Hamdi 29 Differences between RRM, iSlip & FIRM RRMiSlipFIRM Input Aribiters No grantunchanged Grantedone location beyond the accepted one Output Arbiters No requestunchanged Grant accepted one location beyond the granted one Grant not accepted one location beyond the previously granted one unchangedthe granted one

30 COMP680E by M. Hamdi 30 Question 4 Example You will be given the status of the VOQs, and the position of the pointers, find the scheduling using iSLIP, FIRM or RRM in 2 to 3 time slots

31 COMP680E by M. Hamdi 31 Question 5: Output Scheduling Algorithms for QoS We looked at output scheduling algorithms for per flow queueing Understand the notion of fairness as defined by max- min fairness Understand Weighted Fair Queueing (WFQ) which is the most famous algorithm for fair queueing –Bit-by-bit WFQ

32 COMP680E by M. Hamdi 32 Max-Min Fairness A 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.

33 COMP680E by M. Hamdi 33 1 W(f 1 ) = 0.1 W(f 3 ) = 10 R1R1 C W(f 4 ) = 5 W(f 2 ) = 0.5 Question 5 Example: Max-Min Fairness Round 1: Set R(f 1 ) = 0.1 Round 2: Set R(f 2 ) = 0.9/3 = 0.3 Round 3: Set R(f 4 ) = 0.6/2 = 0.3 Round 4: Set R(f 3 ) = 0.3/1 = 0.3

34 COMP680E by M. Hamdi 34 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. 1 R(f 1 ) = 0.1 R(f 3 ) = 0.3 R1R1 C R(f 4 ) = 0.3 R(f 2 ) = 0.3 Order of service for the four queues: … f 1, f 2, f 2, f 2, f 3, f 3, f 3, f 4, f 4, f 4, f 1,…

35 COMP680E by M. Hamdi 35 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 = 1C1 = 1 Time 3 2 2 1 6 5 4 3 2 1 0 B1 = 3 A1 = 4 D2 = 2 D1 = 1 C2 = 1C1 = 1 A1 B1 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 = 1C1 = 1 A1 B1 A2 = 2 C3 = 2 D1, C2, C1 Depart at R=1 Time B1C1C2D1 Weights : 3:2:2:1 Round 1

36 COMP680E by M. Hamdi 36 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 = 1C1 = 1 A2 = 2 C3 = 2 B1, A2 A1 Depart at R=2 Time A1 B1 C1C2D1A1A2 B1 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 = 1C1 = 1 A2 = 2 C3 = 2 D2, C3 Depart at R=2 Time A1 B1 C1C2D1A1A2 B1C3 D2 Round 1Round 2 3

37 COMP680E by M. Hamdi 37 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.

38 COMP680E by M. Hamdi 38 RED (Random Early Detection) FIFO scheduling Buffer management: –Probabilistically discard packets –Probability is computed as a function of average queue length Discard Probability Average Queue Length 0 1 min_thmax_th queue_len

39 COMP680E by M. Hamdi 39 Question 5: Random Early Detection (RED)

40 COMP680E by M. Hamdi 40 RED operation Min thresh Max thresh Average queue length minthreshmaxthresh MaxP 1.0 Avg length P(drop)

41 COMP680E by M. Hamdi 41 Define Two Threshold Values RED (Random Early Detection) FIFO scheduling Min thresh Max thresh Average queue length Make Use of Average Queue Length Case 1: Average Queue Length < Min. Thresh Value Admit the New Packet

42 COMP680E by M. Hamdi 42 RED (Cont’d) Min thresh Max thresh Average queue length Case 2: Average Queue Length between Min. and Max. Threshold Value p 1-p Admit the New Packet With Probability p … p 1-p Or Drop the New Packet With Probability 1-p

43 COMP680E by M. Hamdi 43 Random Early Detection Algorithm ave = (1 – w q )ave + w q q P = max_P*(avg_len – min_th)/(max_th – min_th) for each packet arrival: calculate the average queue size ave if ave ≤ min th do nothing else if min th ≤ ave ≤ max th calculate drop probability p drop arriving packet with probability p else if max th ≤ ave arriving packetd drop the arriving packetd

44 COMP680E by M. Hamdi 44 Question 5 Example You are given the status of a queue using RED, and all needed parameter (Max. threshold, Min. threshold, average queue length, etc.) For an arriving packet, determine whether the packet will accepted, dropped, or accepted with a certain probability.


Download ppt "COMP680E by M. Hamdi 1 Course Exam: Review April 17 (in-Class)"

Similar presentations


Ads by Google