PERSISTENT DROPPING: An Efficient Control of Traffic Aggregates Hani JamjoomKang G. Shin Electrical...

22
PERSISTENT DROPPING: PERSISTENT DROPPING: An Efficient Control of Traffic An Efficient Control of Traffic Aggregates Aggregates Hani Jamjoom Hani Jamjoom Kang G. Shin Kang G. Shin Electrical Engineering & Computer Science Electrical Engineering & Computer Science UNIVERSITY OF MICHIGAN, Ann Arbor UNIVERSITY OF MICHIGAN, Ann Arbor

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

Example of PDExample of PD

network pipe

Network Queue

drop prob. is0.5 but timeout prob. is 0.125

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

Successful Request DelaySuccessful Request Delay

Delay of Successful VisitsDelay of Successful Visits

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