zhichun li the robust and secure systems group at nec research labs northwestern university ...

54

Upload: tyrone-lucas

Post on 26-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Zhichun Li

The Robust and Secure Systems group at NEC Research Labs

Northwestern University

Tsinghua University

2

3

5

Almost everything is related to Web

Web search Web mail Maps Online shopping Online Social network Calendar

Amazon: 100ms extra delay 1% sale loss Google search: 500 ms extra delay reduce

display ads revenues by up to 20%

6

7

8

Example of Yahoo Maps 110 embedded objects Complex object dependencies 670KB JavaScript multiple data‐centers around the world

9

10

A/B test (controlled experiments)

Idea: • Measure through experiments by various

service setting

Problems:• Hard to fully automated• Expensive to set up• Quite slow: brute force

11

Service provider based techniques (WISE SIGCOMM2008)

Idea: • Based on server logs

Problems:• Multiple data sources• Object dependencies• Client side delays, e.g. JavaScript execution

time

12

Regression based techniques (INFOCOM2009)

Idea: • Link Gradients predict E2E RST

Problems:• Independence assumption • Only work for small-scale

13

A tool for automated performance prediction

• Fast prediction on the user perceived performance• Timing perturbation based dependency discovery• Dependency driven page load simulation

14

16

Parent( ) =

Ancestor( ) =

Descendant( ) =

Simple HTML parsing/DOM traversal is not enough

• Object requests generated by JavaScript depend on the corresponding .JS files

• Event triggers: e.g. image A need image B trigger “onload” event

Extensive browser instrumentation is heavy-weight and browser dependent

17

Goal:• Light‐weight black box based approach• Browser independent

Solution: Timing Perturbation based technique

• Inject delay• See how delay propagate• Dependence Graph

18

Regular Objects Regular objects have to be fully loaded

before their descendants

HTML Objects are special HTML is stream objects, allowing

incremental rendering

19

Discovering Descendants:• Inject delay• Descendant of X: delayed together with X

Discovering Parent:• Non-stream parent: Idea: Parent of Z is X? No Y between Z and X

Algorithm:

• Stream Parent: Offset 20

22

PLT of Basic

Scenario

PLT of New

Scenarios

Predict

23

Change Delay Factors: Client, Server, RTT and DNS lookup

24

Challenge: Keep the model simple while accuracy

Solution: Right level abstraction Most fundamental characteristics

25

26

27

Where?

What?

Packet traces (Easy deployable)

Three types of activities:

Additional: infer RTT and # of RT

Response Time = RTT + server delay

28

29

What is Client Delay?Last

Parent is Availabl

e

Browser request

X

Parsing HTMLExecuting JAVAscript

30

How to get Client Delay?

+Client DelayClient Delay

=

31

32

Timing of Basic

Scenario

Basic Timing

from TraceClient Delay= +

Adjusted Timing of

New Scenario

Change Delay Factors: (According to New Scenario)Client, Server, RTT and DNS lookup

Other Factors:

Add DNS lookup time based on DNS cache Add TCP handshaking time for new connections Add TCP waiting time when all connections are not

available

33

One assumption:

# of round-trips involved in loading an object not change

34

35

Timing of New

Scenario

Browser Behavior

+ +

HTTP/1.1

No pipelining• Not been widely supported by proxies• Head of line blocking

Limit of TCP connections (for host, not IP)

36

Browser Behavior

37

38

39

40

41

42

43

45

47

48

Metrics:

Controlled experiments• Baseline: high latency• New Scenario: low latency• Use controlled gateway to inject and remove delays

Planetlab experiments• Baseline: International nodes• New scenario: US nodes• Improve all delay factors to be the same as the

US node. 49

Setup: visit Yahoo Maps from Northwestern

Baseline: inject 100ms RTT to one DC

New Scenario: removing the 100ms RTT

50

Baseline: International node (relative poor performance)

New Scenario: US node (good performance)

51

Web service performance prediction is hard – Modern web services are complicated

– Object dependencies are very important

An automated tool for performance prediction – Dependency discovery by Timing Perturbation

– Dependency (PDG) driven Performance Predication

Evaluation on the accuracy and usefulness

52

Cannot deal with dynamic object dependencies.

Packet loss assumption.

Lack of error warning scheme when it fails.

Mean and Variance of PLT.

Unit Load Time = PLT/PLW.

Ways to reduce simulation times?53