Time-Stamp Aging Problem

Download Report

Transcript Time-Stamp Aging Problem

Design of Packet-Fair Queuing Schedulers
Using a RAM-Based Searching Engine
IEEE JSAC, Vol.17, No 6, June 1999
H. Jonathan Chao 외
이융
[email protected]
Contents
• PFQ
• 기존 연구 및 일반적인 구현 기법
• General Shaper-Scheduler
– Slotted Updates
– Implementation Architecture
– Time-Stamp Aging Problem
• Conclusion
PFQ(Packet Fair Queuing)
• PFQ 알고리즘의 전개 방향
– GPS(General Processor Sharing)
– WFQ(PGPS)
• GPS보다 Lmax이상 뒤쳐지지 않는다.
– SCFQ, STFQ : Implementation Cost의 decrease
– WF2Q : WFQ의 단점 보완.
•
•
•
•
GPS에 가장 가까운 모델.
WFI Metric 이용
S(t) < = V(t) check
GPS 보다 WF2Q는 한 패킷 이상 앞서지 않는다는 점까지 추가
– WF2Q+
• WF2Q의 Implementation Cost의 decrease
• 본 논문의 주요 고려 대상
Time Computation(1/2)
Virtual Start Time
Si (t )  max{V (t ), Fi 1 (t )}
Virtual Finish Time
k
Li
Fi (t )  Si (t ) 
i
Virtual Time Implementation of PGPS
V ( 0)  0
V (t j 1   )  V (t j 1 ) 
C
 i
iB j
Where
  t j  t j 1 , j  2,3,...
B j : interval( t  t )에 busy인
j
j 1
session 집합
i
: weight for session i
Time Computation(2/2)
• WF2Q+
V (t   )  max{V (t )  W (t , t   ), min{Si(t )}}
iB ( t )
• WF2Q
– emulates the progress of GPS system
• WF2Q+
– be computed directly from the packet system
Packet Scheduler
Packet Scheduler
Data Memory
Packets
Packet
header
Packets
Packet in
Packet out
Address
Write/read
Packet Scheduler
CPU
Packet
Search Engine
• PFQ
• 기존 연구 및 일반적인 구현 기법
• General Shaper-Scheduler
– Slotted Updates
– Implementation Architecture
– Time-Stamp Aging Problem
• Conclusion
Existing Implementation Researches
• PFQ’s Implementation depends on
– system virtual time computation
– relative ordering via finish time in a priority queue
• Efficient hardware-based priority queue
– binary tree of comparators
– sequencer chip(ASIC)
• Search-Based version
– This paper
– new ASIC(PCAM : priority content addressable memory)
• Author
– off-chip memory, hierarchical searching
– RSE(RAM-based Search Engine)
– commercial memory and FPGA chips
Conceptual Framework(1/2)
V(t)
Start
Time
• W = max {start time}
• N : Total number of sessions in the system
A
B
Conceptual Framework(2/2)
Logical queue per session
• Head-pointer memory : 각 Queue의 Header pointer 저장
• Tail-pointer memory : 각 Queue의 Tail pointer 저장
• Idle queue : Data memory의 Idle space 유지
Design Issue-I(1/3)
• Scheduler Queue
– Search-based approach Vs. Sorting-based approach
Data Structure
Implementation of a scheduler queue
using the RSE
Design Issue-I(2/3)
• Hierarchical searching with a tree structure
– Data structure : Tree of priority encoders & decoders
0
0
0
0
1
0
0
1
0
2
1
0
3
0
0
4
1
5
1
1
1
5
1
6
0
7
Design Issue-I(3/3)
• Output of the m-bit time stamp F in hierarchical searching
(L=3)
1
1
0
1
0
1
5
Design Issue-II
• Shaper Queue
– Eligibility Test : S(t) <= V(t)
– V(t)-> col addr and compare
– move eligible packets to scheduler queue
F
V(t)
S
Time-stamp Overflow Control
• Time-stamp overflow
– Maximum value of F : M-1
Lki
• maximum packet length over minimum allocated BW :
ri
• F: 단조 증가, 한계치(M-1)에 도달 -> Overflow
– CZ(Current zone bit)
• 현재 Service되는 Packet Zone을 가리킴
Time-stamp Overflow Control
• MSB of F does not change more than once when
serving in the current zone -> packet out-ofsequence(x)
• PFQ
• 기존 연구 및 일반적인 구현 기법
• General Shaper-Scheduler
– Slotted Updates
– Implementation Architecture
– Time-Stamp Aging Problem
• Conclusion
Slotted Updates(1/2)
• Scheme
–
–
–
–
–
Variable sized packet -> fixed-length segments
Packet Scheduler : slotted(synchronous) system
T : one slot time -> W(t,t+d) = dT : normalized to one
All times(start, finish, system time) -> integer
Ex) -> next page
• Discussion
– Incomplete segment
• underutilized, non-workconserving.
• limited by one time slot.
– Inaccuracy <- discrete time event(arrival, departure)
Slotted Updates(2/2)
Advantage using Slotted Update
• 일반적인 Shaper Queue
– Maximum N packets are moved to Scheduler Queue
• Fixed Segment Using Slotted Update
–
–
–
–
Researches about ATM cells
Same effect as ATM cell(fixed size)
V(t)(=a)의 값을 가지고 column search
only two packets at most need to be transmitted to the
scheduler queue
• packet with the smallest finish time in column a
• packet with the smallest finish time in column b(b는 현재
전송되고 있거나 막 전송한 패킷의 start time)
Implementation Architecture
Basic Operations
• At every time slot, CPU( using Smin(start time
queue)) -> virtual time update(=a)
• Shaper Queue
– new HOL packet : 이전 패킷의 finish time -> CPU
– start time, finish time 계산 -> Shaper Queue
• Scheduler Queue
– packet(k) selection(minimum finish time) -> 전송
– Fk is stored in the finish time queue( start time : b )
– a 와 b는 2-D RSE에서 eligibility test를 위해서 사용됨
2-D RSE
• W groups at level 0 to index a column
Time-Stamp Overflow(1/2)
• F and S’s overflow
• F=S+D
– F is bounded by max packet length and min alloc bw
– overflow information : 2 bit
F<S
F>S
F<S
F>S
Time-Stamp Aging Problem(1/2)
• Finish time은 다음 패킷의 start time계산을 위해서
값이 저장
• Virtual system time도 overflow할 수 있다.
– 그 때, finish time은 obsolete
– V(t)는 한번에 W-1까지 증가할 수 있다.
• Purging Algorithm
– check each entry and purge all obsolete ones(should
be fast)
– perform many purging operations in a time
slot(difficult)
• Solution
– V(t) can overflow at most once in every time slot
– have to see multiple time slot -> Periodic purging
scheme
Time-Stamp Aging Problem(2/2)
• Check A entries in T time slots
– A >= N-1 -> 2A memory accesses
– 2T memory accesses(read/wrtie)
– T x slot time >= (2T +2A) x memory cycle
• EX)
– 64byte packet segment. 10Gbit(51.2ns)
– memory cycle 10ns, N = 32K
– A = N = 32768 -> T = 21006, A/T = 1.56 purging
operations
• Cv(t) : multibit counter, Time Zone Indicator for
V(t)
• Oi : obsolete bit counter
• Ci : Time Zone Indicator for Fi
Flow chart of purging scheme
Conclusion
• A novel RSE for PFQ
– hierarchical searching
– commercial memory chip, independent of # of session
• 2-D RSE for general shaper-scheduler
– at most two packets to be transferred
• Time-Stamp overflow
– 2bit zone bit
• Time-Stamp Aging Problem
– V(t)’s overflow
– multibit counter variable within a fixed period