170 likes | 349 Views
BCSQ: Bin-based Core Stateless Queueing for Scalable Support of Guaranteed Services. Zhenhai Duan Karthik Parsha Department of Computer Science Florida State University. Agenda. Core stateless networks for per-flow guaranteed services Introduction and motivation
E N D
BCSQ: Bin-based Core Stateless Queueing for Scalable Support of Guaranteed Services Zhenhai Duan Karthik Parsha Department of Computer Science Florida State University Zhenhai Duan
Agenda • Core stateless networks for per-flow guaranteed services • Introduction and motivation • BCSQ: Bin-based Core Stateless Queueing • Performance analyses and simulation studies • Summary Zhenhai Duan
Core Stateless Networks for Per-Flow GS Zhenhai Duan
How Core Stateless Networks Work? • Many core stateless systems • Core Jitter Virtual Clock (CJVC) • Virtual Time Reference System (VTRS) • Core stateless virtual clock (CSVC) • Core stateless earliest deadline first (CS-EDF) • Core Stateless Guaranteed Rate (CSGR) • Coordinated Network Scheduling (CNS) • All work by emulating corresponding stateful scheduler • Scheduling packets based on virtual finish times Zhenhai Duan
Why Core Stateless? • In stateful networks (GPS, WFQ, …), routers • Maintain per-flow state for scheduling/admission control • Perform per-flow packet classification • Perform per-flow queueing • Perform per-flow scheduling • Core stateless networks • Eliminate needs for per-flow operations and state • Decouple control plane from data plane • Routers focusing on data forwarding • Sophisticated admission control on bandwidth brokers Zhenhai Duan
1 2 3 4 5 6 7 8 Core stateless scheduling still expensive • Sort incoming packets based on virtual finish times • Where N is number of packets in scheduler • How to overcome this problem? • Coarser grained packet sorting • Using bins to queue packets with close virtual finish times • Conceptually simple, however • Core stateless schedulers emulate stateful ones • Can we still emulate them using bins? • Goal is to provide per-flow GS • Can we still achieve this goal using bins? • Management issues of bins • How many bins should we have to avoid overflow? Zhenhai Duan
BCSQ: Bin-based Core Stateless Queueing • pkt put in a bin if virtual finish time falls in its range • bins scheduled according to ranges they represent • pkts in a bin served in FIFO order • assuming infinite number of bins for time being Zhenhai Duan
BCSQ Network • (dynamic) packet state • Reservation rate • Virtual time stamp • Virtual time adjustment term • Edge routers • Maintain per-flow state • Perform per-flow operations • Initialize packet state • Core routers • Schedule pkts based on pkt state • Update pkt state • Admission control • For example, bandwidth brokers • For each router • sum(reservation rate) <= link capacity Zhenhai Duan
Edge Routers • Maintaining per-flow state • Flow reservation rate • Inserting packet state • Reservation rate • Virtual time stamp (= departure time at edge) • Virtual time adjustment term • Edge conditioner: traffic shaping • Traffic releasing rate <= flow’s reservation rate Zhenhai Duan
Core Routers • Upon receiving pkt, computing per-flow virtual delay • Adjustment term: removing inter-pkt dependence, computed at edge • Assigning virtual finish time • Virtual arrival time = virtual time stamp • Packet scheduling • Pkt put in bin m if virtual finish time falls in its range • Bins served according to their ranges • Pkts in a bin served in FIFO order • Assuming each scheduler has infinite bins for time being Virtual finish time = virtual arrival time + virtual delay Zhenhai Duan
Core Routers (Cont’d) • Upon departure, virtual time stamp updated appropriately • Reality check condition • Virtual spacing property • They are critical for bounded edge-to-edge delays • Error term: bound on departure time of pkts Virtual Time Stamp(k) >= real arrival time(k) VTS(k+1) – VTS(k) >= pkt_length(k+1)/reveration_rate Real departure time <= virtual finish time + error term Virtual time stamp = virtual finish time + error term + prop daley Zhenhai Duan
Error Term & E2E Delay Bounds • Error term of BCSQ • Intuition: pkts served ahead of pkt p with larger virtual finish time • Edge-to-edge delay bound for H hops Error term = max pkt length of all flows / link capacity + length of bin Zhenhai Duan
1 2 3 4 5 6 7 8 Finite Number of Bins • How many bins scheduler needs to avoid pkt overflow? • Assuming each bin has enough buffer • Virtual time window of a scheduler • Time window that bins can collectively represent • No packet overflow if the following condition holds • BCSQ with (sufficiently large) finite number of bins • Rotating bins when VFT does not fit in current window Virtual time window = number of bins * length of bin Virtual time window >= 2 * worst case e2e delay Zhenhai Duan
Simulation Settings • Network topology • S0, S1, S2, edge routers • Link • capacity: 10Mbps • Propagation delay: 10ms • Traffic • 6 CBR flows from S0 to R0 (1Mbps – 0.5Mbps) • 6 Exponential on/off flows from S1 to R1, from S2 to R2 • Target network utilization level 90% • Pkt size: 210B • Schedulers compared • BCSQ, FIFO, and CSVC • Traffic shaped at edge for all, reservation rate = average rate • Simulated with other settings, similar observations • End-to-end delay of pkts: • Delay between N1 and R0 Zhenhai Duan
FIFO vs. CSVC FIFO CSVC • Flow differentiation • all flows receive similar service for FIFO • flows with higher reservation rate get better service for CSVC Zhenhai Duan
BCSQ • Controlling flow differentiation by changing bin length • When bin length sufficient large, BCSQ -> FIFO • When bin length sufficient small, BCSQ -> CSVC Zhenhai Duan
Summary • Proposed and analyzed BCSQ • A bin-based core stateless queueing mechanism • Provides per-flow guaranteed service • Flexibly control GS level by changing bin length • Trade-off between complexity and GS level • Derived the end-to-end delay bounds • Analyzed relationship between number of bins, bin length and worst-case end-to-end delay to ensure no pkt overflow • Performed simulation studies Thank you very much! Zhenhai Duan