180 likes | 276 Views
Capacity Allocation Paradox Isaac Keslassy. Joint Work with Asaf Baron and Ran Ginosar EE Department, Technion, Haifa, Israel. The Capacity Allocation Paradox. Node A. Router. C A. Node C. R A. C R. Node B. C B. R B. Finite (small) buffers. Unlimited queues.
E N D
Capacity Allocation ParadoxIsaac Keslassy Joint Work with Asaf Baron and Ran Ginosar EE Department, Technion, Haifa, Israel
The Capacity Allocation Paradox Node A Router CA Node C RA CR Node B CB RB Finite (small) buffers Unlimited queues Capacity Allocation Paradox: Adding Capacity Can Destabilize the Network
Marakana Soccer Stadium UnStable Stable Safety Check Brazillian Line Enter the stadium Fast Security Check Argentinian Line Fast Swipe Ticket Entrance Fast Security Check Slow Security Check
Motivation • Small buffer networks are widely used • When QoS not met: add capacity [Guz et al., ’06] May destabilize the network SpaceWire Interconnection of Computers Network On-Chip
Previous Work: Selfish Routing • Braess’s Paradox (1968) • Difference: We assume fixed routing
Previous Work: Cyclic Dependency • Kumar & Seidman (1990) • Instability even though capacity > data rate • Dai, Hasenbein & Vande Vate (1998) • Adding capacity may destabilize a network • Differences: • No cycles in dependency graph • Single router • Each packet visits router only once • Several simple arbitration policies • Independent of initial conditions • New fundamental reason: Finite buffers
A General Phenomenon Round Robin Exhaustive Round Robin Strict Priority General Processor Sharing Finite (small) buffers Arrivals: Periodic, Poisson… Node A Router CA RA Node C CR Node B CB RB Unlimited queues When buffer is full: Blocking: Wormhole Routing Dropping (with retransmission): Store And Forward
Intuition Assume A has priority: Node A CA=1 Router CR=2 CA=2 1 [pkt/T] Node C Node B CB=1 1 [pkt/T] Buffer of 1 bit Share of CR Share of CR 2 2 A2 A1 A3 (a) CA=1 1 1 B2 B1 B3 3T 3T T T 2T 2T (a) (b) (b) CA=2 A2 A3 A1 B1 (1) B1 (2) B2 (1) T/2 3T/2 5T/2 8
Node B CR is constant RA = RB What are the conditions for stability? • Necessary conditions: Node A Node C
Case #1: • Buffers in the router hold no more than one data unitn ? Queue A Buffer A Node C CA CR Queue B Buffer B CB • Necessary conditions are also sufficient.
Example 1: Analysis Stability Picture CR = 273[Kf/s] (Constant) 2 4 RA = RB = 100[Kf/s] 0 2 3 CB [Kf/s] 1 0 CA [Kf/s]
Example #1 – Capacity Allocations 2 4 3 2 Stable Stable UnStable Case #1 Case #2 Case #3 1 Node A RA = 100 CA=190 CA=300 CA=110 Node C CR=273 Node B RB = 100 CB=150 CB=110 1000 [flits/pckt] Buffer Size: 16 Flits Exhaustive Round Robin, Wormhole
Results – Simulation Stability Regions CR = 273[Kf/s] (Constant) 4 2 RA = RB = 100[Kf/s] 3 2 1
1000 [flits/pckt], Buffer Size: 16 Flits, RA = 500kf/s, RB = 100kf/s Example #2 – Wormhole Routing GPS Exhaustive Round Robin Round-Robin
Example #3 – Store and forward Strict Priority, CR = 2.1[Mbit/s] Exhaustive RR, CR = 2.1[Mbit/s] • Poisson Arrivals with Parameters: lA = 100, lB = 100 • Packet Length 10^4 bit • Buffer Size 3-4 packets
Example #3 – Store and forward RR, CR = 6.1[Mbit/s] Exhaustive RR, CR = 6.1[Mbit/s] • Poisson Arrivals: • lA = 500 • lB = 100 • Packet = 10^4 bit • Buffer 3 packets • All packets • need to arrive • sometime
Summary • Adding capacity may destabilize even a simple network • The scheduling algorithm affects the stability of the network (even if work-conserving) • GPS arbitration: always stable