csit5600 by m. hamdi 1 course exam: review april 29/230 (in-class)
Post on 05-Jan-2016
214 Views
Preview:
TRANSCRIPT
CSIT5600 by M. Hamdi 1
Course Exam: ReviewApril 29/230
(in-Class)
CSIT5600 by M. Hamdi 2
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
CSIT5600 by M. Hamdi 3
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?
CSIT5600 by M. Hamdi 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
CSIT5600 by M. Hamdi 5
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
CSIT5600 by M. Hamdi 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
CSIT5600 by M. Hamdi 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
CSIT5600 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 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.
CSIT5600 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 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.
CSIT5600 by M. Hamdi 10
RRM Maximal Matching Algorithm (1)
0
1
2
3
0
1
2
3
Step 1: Request
CSIT5600 by M. Hamdi 11
RRM Maximal Matching Algorithm (2)
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
CSIT5600 by M. Hamdi 12
RRM Maximal Matching Algorithm (2)
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
CSIT5600 by M. Hamdi 13
RRM Maximal Matching Algorithm (2)
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
CSIT5600 by M. Hamdi 14
RRM Maximal Matching Algorithm (2)
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
CSIT5600 by M. Hamdi 15
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
CSIT5600 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 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) .
CSIT5600 by M. Hamdi 17
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
CSIT5600 by M. Hamdi 18
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
CSIT5600 by M. Hamdi 19
Simple Iterative Algorithms: iSlip
0
1
2
3
0
1
2
3
Step 1: Request
CSIT5600 by M. Hamdi 20
Simple Iterative Algorithms: iSlip
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
CSIT5600 by M. Hamdi 21
0
1
2
3
0
1
2
3
Step 2: Grant
3 02 1
3 02 1
Simple Iterative Algorithms: iSlip
CSIT5600 by M. Hamdi 22
0 31 2
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
Simple Iterative Algorithms: iSlip
CSIT5600 by M. Hamdi 23
0 31 2
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
Simple Iterative Algorithms: iSlip
CSIT5600 by M. Hamdi 24
Simple Iterative Algorithms: iSlip
0 31 2
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
CSIT5600 by M. Hamdi 25
Simple Iterative Algorithms: iSlip
0 31 2
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
CSIT5600 by M. Hamdi 26
Simple Iterative Algorithms: iSlip
0 31 2
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
CSIT5600 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.
CSIT5600 by M. Hamdi 28
0
1
2
3
0
1
2
3
Step 3: Accept
3 02 1
3 02 1
Simple Iterative Algorithms: FIRM
CSIT5600 by M. Hamdi 29
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
CSIT5600 by M. Hamdi 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
CSIT5600 by M. Hamdi 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
CSIT5600 by M. Hamdi 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).
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.
CSIT5600 by M. Hamdi 33
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
CSIT5600 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.
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,…
CSIT5600 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 = 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
CSIT5600 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 = 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
CSIT5600 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.
CSIT5600 by M. Hamdi 3838
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
CSIT5600 by M. Hamdi 3939
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
top related