19
A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at Berkeley *FastForward Networks, Inc. San Francisco, CA Srinivasan Seshan IBM T.J. Watson Research Labs Hawthorne, NY

A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

A Network Measurement Architecture for Adaptive Networked Applications

Mark Stemm*Randy H. Katz

Computer Science DivisionUniversity of California at Berkeley

*FastForward Networks, Inc.San Francisco, CA

Srinivasan Seshan

IBM T.J. Watson Research LabsHawthorne, NY

Page 2: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

The Problem

• Predict in advance network performance (e.g., available bandwidth, latency, packet loss probability) to distant network sites

Internet???

Page 3: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Why Does It Matter?• Apps that could use this:

– Mirror site selection• (Harvest, Mirrored FTP/Web

sites)

– Fidelity adaptation• (CMU Odyssey, UCB TranSend,

Low graphics WWW sites)

– Network statefeedback

?

vs.

Click here or here to download

Page 4: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Internet

SPAND (Shared Passive Network Performance Discovery)

Client

Client

Performance Server

• Shared: clients use past knowledge of nearby clients

• Passive, App-Specific: app-to-app traffic used to measure performance

GatewayLocal AdminDomain

Data

Perf. Reports

Perf Query/Response

Page 5: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Advantages of SPAND

• Shared Measurements– Clients pool individual measurements to

obtain more up-to-date information

• Passive Measurements– No new measurement traffic introduced into

network

• Application-Specific Measurements– More likely to measure what the client really

cares about than network-level measurements

Page 6: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

Page 7: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture• (Modified) Clients:

– Make Performance Reports to Performance Servers– Send Performance Requests to Performance Servers

• Performance Servers: – Receive reports from clients,– Aggregate/post-process reports – Respond to requests with Performance Responses

• Packet Capture Host: – Snoops on local traffic, – Makes Performance Reports on behalf of unmodified clients

Page 8: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

Page 9: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

SPAND Architecture

Page 10: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

Page 11: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

Page 12: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

SPAND Architecture

Client

PacketCapture Host

Client

Data

Perf. Reports

Perf Query/Response

Internet

PerformanceServer

Page 13: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

LookingGlass: Web Mirror Selection

• 3 Sub-Problems:– Mechanisms for Mirror Advertisement

• How does client discover the mirrors?

– Metrics for Mirror Ranking• How does client determine “best” mirror?

– Algorithm for Mirror Selection• Given a ranking, how does client choose mirror?

?

• Problem:– Client choose among

mirror locations replicating same content

Page 14: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Current Solution and Its Problems

• Mechanisms for Mirror Advertisements:– Manually created list of sites on web page– Admin must update list every time mirror is

added/deleted

• Metrics for Mirror Ranking:– Usually none, perhaps hints such as geographic

location

• Algorithm for Mirror Selection:– Currently made by user (pick “best”)– Often leads to hotspots (pick first in list)

Page 15: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Our Solution: LookingGlass• Mechanisms for Mirror Advertisements:

– Transparent way to notify clients of mirrors– Distributed algorithm to disseminate mirror

information between mirror sites

• Metrics for Mirror Ranking:– SPAND’s Web Page download metric used to rank

mirrors

• Algorithm for Mirror Selection:– Randomly select with weights in proportion to

ranking

Page 16: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Experimental Methodology

• Trace analysis and implementation• CMU Trace consists of series of rounds

– In each, client downloads identical web object from Mars Rover mirror sites

M1

M2

Mn

3 sec

4 sec

5 sec

.

.

.

Page 17: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Experimental MethodologyRound M1 M2 …Mn Ratio

1 3 4 5 1

2 2 7 1 7

3 8 4 10 2.5

4 3 6 4 1.33

M1

M2

Mn

3 sec

4 sec

5 sec

.

.

.

Best Possible

LookingGlass

• For each round, compare (via ratio) min download time with download time for:– What LookingGlass would pick– Hop count “closest”-to-client mirror– Two hosts in same general geographic area as client– Randomly selected mirror– Primary mirror site (“select first in list”)

Page 18: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Results

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 2 4 6 8 10Ratio Actual/Minimum

Cu

mu

lati

ve

Pro

ba

bilit

y

LookingGlassRandomGeographic BestGeographic WorstClosest (# Hops)Primary Mirror

Page 19: A Network Measurement Architecture for Adaptive Networked Applications Mark Stemm* Randy H. Katz Computer Science Division University of California at

Conclusions

• SPAND: an architecture that facilitates adaptive networked applications

• Advantages/challenges of design choices in SPAND

• LookingGlass: Web Mirror Selection tool that uses SPAND

• SPAND source code available:– http://www.cs.berkeley.edu/~stemm/spand/