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 CA RA Node C 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 Network On-Chip SpaceWire Interconnection of Computers
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
Finite (small) buffers A General Phenomenon Round Robin Exhaustive Round Robin Strict Priority General Processor Sharing Arrivals: Periodic, Poisson… Finite (small) buffers 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 (a) CA=1 (b) CA=2 A1 B1 A2 B2 A3 B3 A1 A2 A3 B1 (1) B1 (2) Assume A has priority: Node A Router CA=2 CA=1 1 [pkt/T] Node C CR=2 Node B CB=1 1 [pkt/T] Buffer of 1 bit 2T Share of CR 2 T 1 3T (a) A1 B1 A2 B2 A3 B3 (a) CA=1 2T Share of CR 2 T 1 3T (b) A1 A2 A3 (b) CA=2 B1 (1) B1 (2) B2 (1) T/2 3T/2 5T/2 8
What are the conditions for stability? Necessary conditions: Node A Node C Node B CR is constant RA = RB
Case #1: Buffers in the router hold no more than one data unitn ? Queue A Buffer A CA Node C 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] 3 2 CB [Kf/s] 1 CA [Kf/s]
Example #1 – Capacity Allocations 2 4 3 2 Stable UnStable Stable Case #3 Case #2 Case #1 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) 2 4 RA = RB = 100[Kf/s] 3 2 1
Example #2 – Wormhole Routing Exhaustive Round Robin Round-Robin GPS 1000 [flits/pckt], Buffer Size: 16 Flits, RA = 500kf/s, RB = 100kf/s
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
Thank you.