PERSISTENT DROPPING: An Efficient Control of Traffic Aggregates Hani JamjoomKang G. Shin Electrical...
-
Upload
rodger-richards -
Category
Documents
-
view
213 -
download
0
Transcript of PERSISTENT DROPPING: An Efficient Control of Traffic Aggregates Hani JamjoomKang G. Shin Electrical...
PERSISTENT DROPPING:PERSISTENT DROPPING:An Efficient Control of Traffic AggregatesAn Efficient Control of Traffic Aggregates
Hani JamjoomHani Jamjoom Kang G. ShinKang G. Shin
Electrical Engineering & Computer ScienceElectrical Engineering & Computer ScienceUNIVERSITY OF MICHIGAN, Ann ArborUNIVERSITY OF MICHIGAN, Ann Arbor
Main FocusMain Focus
Controllability of new connection requests during server Controllability of new connection requests during server overloadoverload
High arrival rate of High arrival rate of legitimatelegitimate SYN packets is a main ingredient SYN packets is a main ingredient in Flash Crowd Eventsin Flash Crowd Events
Persistence of new connection requests: Persistence of new connection requests: Changes the arrival behavior of incoming trafficChanges the arrival behavior of incoming traffic Reduces the accuracy of rate-based flow controlReduces the accuracy of rate-based flow control
Designing an effective AQM mechanism Designing an effective AQM mechanism Better controls persistence in underlying trafficBetter controls persistence in underlying traffic Reduces the mean client-perceived delayReduces the mean client-perceived delay
DynamicsDynamics of Aggregate Traffic of Aggregate Traffic
New ConnectionRequests
Queue
Packetdrop
Detect loss
Retransmit
Persistent behavior
AQMControl Point:End-server/Router
independent
What is Persistence?What is Persistence?
Persistence is the repeated attempts of Persistence is the repeated attempts of accessing a service even after network accessing a service even after network congestion or server overload is detected.congestion or server overload is detected.
Examples:Examples: User Persistence: User Persistence: Real users pressing reload button Real users pressing reload button
when servers are too slowwhen servers are too slow
Client Persistence: Client Persistence: TCP retransmission upon timeout TCP retransmission upon timeout
Basic mechanism to recover from network errorsBasic mechanism to recover from network errors
Factors Affecting Client PersistenceFactors Affecting Client Persistence
Browser Parallelism
CLIENTSERVER
ROUTER
Congestion Control(loss recovery)
HTML Content
Connection Processing
Queue Management
Drops cause more traffic, which can cause more dropsDrops increase client-perceived delay, which can causea new set of parallel connections
Persistence Changes Arrival BehaviorPersistence Changes Arrival Behavior
Mimic a Flash Mimic a Flash Crowd event to a Crowd event to a Web server Web server
Drop-tail queueDrop-tail queue
Non-persistent Non-persistent (open-loop) (open-loop) arrival is arrival is unaffected by unaffected by packet droppacket drop
Persistence Persistence increases increases burstiness and burstiness and amount of amount of aggregate trafficaggregate traffic
Persistence Affects ControllabilityPersistence Affects Controllability
network pipe
Network Queue
drop prob. = 0.5
Increase of Aggregate TrafficIncrease of Aggregate TrafficIncoming requests are independent Incoming requests are independent Uniform dropping with probability Uniform dropping with probability “p”“n” retransmission attempts before timing out retransmission attempts before timing outEffective aggregate arrival rate:Effective aggregate arrival rate:
+ p + p2 + … + pn = (1-pn+1) / (1-p)
Only pn+1 requests time out
Define the effective timeout probability (p*) as the true impact of applied control
Estimation of Connect DelayEstimation of Connect Delay
Split incoming streams into Split incoming streams into n+1n+1 transmission classes transmission classesAssign each transmission class Assign each transmission class k k a drop probabilitya drop probability p pkk
Let Let TTkk be the retransmission time of class be the retransmission time of class kk
Rewrite the aggregate arrival rate:Rewrite the aggregate arrival rate:
+ p+ p00 + p+ p00 p p11 + … + p + … + p00……ppn-1n-1
will incurno delay
will incurT1 delay
will incurT2 delay p0
…pn will time out& incur Tabort
delay
Expected connection-establishment latencyExpected connection-establishment latency
ELELhh = (1- p = (1- p00……ppnn) RTT ) RTT
+ p+ p00 (1-p (1-p11) T) T11 + p + p00 p p1 1 (1-p(1-p22) T) T2 2 + …+ …
(p(p00……ppnn) T) Tabortabort
OptimizationOptimization
Connection-establishment latencyConnection-establishment latency
ELELhh = (1- p = (1- p00……ppnn) RTT ) RTT
+ p+ p00 (1-p (1-p11) T) T11 + p + p00 p p1 1 (1-p(1-p22) T) T2 2 + …+ …
(p(p00……ppnn) T) Tabortabort
Minimize ELMinimize ELhh under the constraint p* = p under the constraint p* = pn+1n+1
Set pSet p00 = p* and p = p* and p11 = p = p22 = … = 1 = … = 1 Delay is minimizedDelay is minimized
ELELhh = (1- p*) RTT + (p*) T = (1- p*) RTT + (p*) Tabortabort
Same timeout probabilitySame timeout probability
Persistent Dropping (PD)Persistent Dropping (PD)
Randomly choose (p*Randomly choose (p*) requests and keep ) requests and keep dropping them on every retransmission attemptdropping them on every retransmission attempt
Advantages:Advantages: Minimizes delayMinimizes delay Minimizes aggregate trafficMinimizes aggregate traffic Reduces correlation between current and future Reduces correlation between current and future
arrivalsarrivals Decouples control from connection-establishment Decouples control from connection-establishment
delaydelay
Implementing PDImplementing PD
Must distinguish between new and retransmitted requestsMust distinguish between new and retransmitted requests
How to choose connections to dropHow to choose connections to drop IP source and destination addresses & TCP source and destination IP source and destination addresses & TCP source and destination
ports ports
Using hashing to improve performanceUsing hashing to improve performance
h(xh(x11,x,x22, …, x, …, xkk) = x) = x11 x x22 … … x xkk K(t) mod R K(t) mod R
Use prime multiplier, K(t), to minimize hash collisions Use prime multiplier, K(t), to minimize hash collisions
Mapping:Mapping: Stateless (efficient but may be unfair) Stateless (efficient but may be unfair) State-based (accurate but requires more computing resources)State-based (accurate but requires more computing resources)
State-based ImplementationState-based Implementation
Hash
0
1
allow
drop
Incomingpacket
p*
used
used
drop table
U
update
each entry holdsthe first drop timeof an incoming request
State-based ImplementationState-based Implementation
Hash
0
1
allow
drop
retransmittedpacket
p*
used
used
drop table
U
update
• Minimize state representation• Detect hashing collisions• Monitor dropping accuracy
used
Evaluation SetupEvaluation Setup
Focus on how control affects connection-Focus on how control affects connection-establishment latencyestablishment latency
CLIENT SERVER
ROUTER
Apache 1.3Evemimicking typicaluser behavior
Implementdifferent drop
policies
Observed Behavior
Emulating Persistent ClientsEmulating Persistent Clientsuser think time
syncpoint
syncpoint
ON period OFF period
New clientsarrive independently
Mean Request DelayMean Request Delay
Rate-Based Dropping 56% of
requests will timeout 10% and will have 100% longer delays
than PD
Connectiontimeout dominatesdelay
ConclusionsConclusions
Client persistence mattersClient persistence matters It affects controllability and underlying trafficIt affects controllability and underlying traffic Traditional control mechanisms are not designed to Traditional control mechanisms are not designed to
deal with client persistencedeal with client persistence
PD provides effective control under sustained PD provides effective control under sustained overload scenariosoverload scenarios Controls the traffic more accuratelyControls the traffic more accurately Minimizes the delay for successful requestsMinimizes the delay for successful requests
PD can be efficiently implemented using hash-PD can be efficiently implemented using hash-based flow selectionbased flow selection
Future DirectionsFuture Directions
Model the persistence of real usersModel the persistence of real users Simple trace playback is not enoughSimple trace playback is not enough Must account for demographyMust account for demography Persistence changes based on importance of Persistence changes based on importance of
informationinformation
Study effects of persistence on other Study effects of persistence on other network environmentsnetwork environments