1 / 39

Networking Exam Review: Memory Bandwidth Limitations & VOQ Switch Scheduling

This course exam review covers key topics in networking, including memory bandwidth limitations and VOQ switch scheduling. Learn about queue placement, switch fabrics, memory speeds, and scheduling algorithms.

nbrockway
Download Presentation

Networking Exam Review: Memory Bandwidth Limitations & VOQ Switch Scheduling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Course Exam: ReviewApril 7/8 (in-Class)

  2. Exam Format • 5 questions • One general question (True or False) – Common sense questions. • 4 Problem-type questions • Targeted towards topics that are extremely important in the area of networking

  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. 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

  5. 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 Example: A ComparisonMemory speeds for 32x32 switchPacket size = 64 bytes Input-queued Shared-Memory Line Rate Memory BW Access Time Per cell Memory BW Access Time 100 Mb/s 6.4 Gb/s 80 ns 200 Mb/s 2.56 s

  6. 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

  7. 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

  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 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.

  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 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.

  10. 0 0 1 1 2 2 3 3 RRM Maximal Matching Algorithm (1) Step 1: Request

  11. 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 RRM Maximal Matching Algorithm (2) Step 2: Grant

  12. Step 2: Grant 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 RRM Maximal Matching Algorithm (2)

  13. Step 2: Grant 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 RRM Maximal Matching Algorithm (2)

  14. Step 2: Grant 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 RRM Maximal Matching Algorithm (2)

  15. Step 3: Accept 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 RRM Maximal Matching Algorithm (3) 0 3 1 2

  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 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) .

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

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

  19. 0 0 1 1 2 2 3 3 Simple Iterative Algorithms: iSlip Step 1: Request

  20. 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 Simple Iterative Algorithms: iSlip Step 2: Grant

  21. Step 2: Grant 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 Simple Iterative Algorithms: iSlip

  22. 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip Step 3: Accept 0 0 1 1 0 3 1 2 2 2 3 3

  23. 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip Step 3: Accept 0 0 1 1 0 3 1 2 2 2 3 3

  24. Step 3: Accept 3 0 2 1 0 0 1 1 0 3 1 2 2 2 3 0 2 1 3 3 Simple Iterative Algorithms: iSlip

  25. 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip Step 3: Accept 0 0 1 1 0 3 1 2 2 2 3 3

  26. 3 0 2 1 3 0 2 1 Simple Iterative Algorithms: iSlip Step 3: Accept 0 0 1 1 0 3 1 2 2 2 3 3

  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. 3 0 2 1 0 0 1 1 2 2 3 0 2 1 3 3 Simple Iterative Algorithms: FIRM Step 3: Accept

  29. Differences between RRM, iSlip & FIRM

  30. 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

  31. 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

  32. 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). • Pick the flow, f, with the smallest requested rate. • If W(f) < C/N, then set R(f) = W(f). • If W(f) > C/N, then set R(f) = C/N. • Set N = N – 1. C = C – R(f). • If N>0 goto 1.

  33. 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 W(f1) = 0.1 1 W(f2) = 0.5 C R1 W(f3) = 10 W(f4) = 5

  34. R(f1) = 0.1 1 R(f2) = 0.3 C R1 R(f3) = 0.3 R(f4) = 0.3 Order of service for the four queues: … f1, f2, f2, f2, f3, f3, f3, f4, f4, f4, f1,… 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.

  35. 6 5 4 3 2 1 0 Time A1 = 4 3 3 3 2 2 2 2 2 2 1 1 1 B1 = 3 C2 = 1 C1 = 1 D1 = 1 D2 = 2 Weights : 3:2:2:1 6 5 4 3 2 1 0 Time A2 = 2 A1 = 4 B1 A1 A1 A1 B1 = 3 C3 = 2 C2 = 1 C1 = 1 Round 1 D1 = 1 D2 = 2 Weights : 3:2:2:1 6 5 4 3 2 1 0 Time D1, C2, C1 Depart at R=1 A2 = 2 A1 = 4 D1 C2 C1 B1 B1 A1 A1 A1 B1 = 3 C3 = 2 C2 = 1 C1 = 1 Round 1 D1 = 1 D2 = 2 Weights : 3:2:2:1 Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1

  36. 6 5 4 3 2 1 0 Time B1, A2 A1 Depart at R=2 A2 = 2 A1 = 4 3 3 2 2 2 2 1 1 B1 A2 A2 A1 D1 C2 C1 B1 B1 A1 A1 A1 B1 = 3 C3 = 2 C2 = 1 C1 = 1 D1 = 1 D2 = 2 Weights : 3:2:2:1 6 5 4 3 2 1 0 D2, C3 Depart at R=2 Time A2 = 2 A1 = 4 D2 D2 C3 C3 B1 A2 A2 A1 D1 C2 C1 B1 B1 A1 A1 A1 B1 = 3 C3 = 2 C2 = 1 C1 = 1 3 Round 2 Round 1 D1 = 1 D2 = 2 Weights : 3:2:2:1 Understanding bit by bit WFQ 4 queues, sharing 4 bits/sec of bandwidth, Weights 3:2:2:1 Round 2 Round 1

  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. 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 38

  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 Leaky bucket depth, the token regeneration rate and the input traffic, you should be able to calculate the maximum burst duration 39

More Related