View
0
Download
0
Category
Preview:
Citation preview
Mario A. Sánchez John S. Otto Zachary S. Bischof Fabián E. Bustamante Northwestern U.
David R. Choffnes U. of Washington
Balachander Krishnamurthy Walter Willinger AT&T Labs-Research
NSDI’13 Sánchez et al. 2 Pushing Experiments to the Internet’s Edge!
The Internet edge is exploding
0 1 2 3 4 5 6 7 8 9 10
0
50
100
150
200
% P
enet
ratio
n
Num
ber o
f cou
ntrie
s
Fixed broadband countries Fixed broadband penetration
34% of global population uses the Internet 5x growth in the past 12 years
2
NSDI’13 Sánchez et al. 3 Pushing Experiments to the Internet’s Edge!
The view from the edge
Many of our systems run at the edge Lack platforms to experiment at or even characterize the edge
3
NSDI’13 Sánchez et al. 4 Pushing Experiments to the Internet’s Edge!
The view from the edge
Con
trol
Scale
4
NSDI’13 Sánchez et al. 5 Pushing Experiments to the Internet’s Edge!
The view from the edge
Con
trol
Scale
4
NSDI’13 Sánchez et al. 6 Pushing Experiments to the Internet’s Edge!
The view from the edge
Con
trol
Scale
4
NSDI’13 Sánchez et al. 7 Pushing Experiments to the Internet’s Edge!
The view from the edge
Con
trol
Scale
4
NSDI’13 Sánchez et al. 8 Pushing Experiments to the Internet’s Edge!
The view from the edge
A flexible experimentation platform hosted by end users
4
NSDI’13 Sánchez et al. 9 Pushing Experiments to the Internet’s Edge!
Hosted by end users, at scale …
Guarantees safety of participants Controls impact of experiments on underlying network and systems
Shares platform resources among concurrent experiments
Our work
5
NSDI’13 Sánchez et al. 10 Pushing Experiments to the Internet’s Edge!
Dasu
A platform prototype
Software-based (BitTorrent ext., for now)
Hosted at the network’s edge
Broadband characterization as incentive for adoption
6
NSDI’13 Sánchez et al. 11 Pushing Experiments to the Internet’s Edge!
Dasu
Two purposes by design – Characterize users’ broadband services – Support experimentation from the edge
Aligns objectives of end-users and experimenters
7
NSDI’13 Sánchez et al. 12 Pushing Experiments to the Internet’s Edge!
Dasu
Two purposes by design – Characterize users’ broadband services – Support experimentation from the edge
Aligns objectives of end-users and experimenters End-user Experimenter
Coverage Availability At the edge Extensibility
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
7
NSDI’13 Sánchez et al. 13 Pushing Experiments to the Internet’s Edge!
End-user based platform – Challenges
No dedicated resources – We cannot run arbitrary experiments – Safety of volunteer nodes is key
Large-scale platform è large-scale impact
Highly volatile nodes – We cannot run at arbitrary times – We cannot run at arbitrary locations
8
NSDI’13 Sánchez et al. 14 Pushing Experiments to the Internet’s Edge!
Roadmap
Motivation Design and implementation Challenges A unique perspective
9
NSDI’13 Sánchez et al. 15 Pushing Experiments to the Internet’s Edge!
Dasu: Current status
An extension to BitTorrent – Soon standalone and in a DNS resolver
Could be hosted by other long-running networked app. (e.g. Skype, IPTV) Over 90,000 users (>150 countries) with almost no advertisement
10
NSDI’13 Sánchez et al. 16 Pushing Experiments to the Internet’s Edge!
Guiding goals…
Programmable platform – To run general measurement experiments
Reduce effort needed to develop/deploy large-scale measurements
11
NSDI’13 Sánchez et al. 17 Pushing Experiments to the Internet’s Edge!
Design: System components
Configuration
Registration
Configuration
Experiment Task
Coordination
Measurement Activity
Experiment Lease
Experiment Report
Data Service
Experiment Administration
12
NSDI’13 Sánchez et al. 18 Pushing Experiments to the Internet’s Edge!
dialect "java”!package edu.northwestern.dasu.drools!!import edu.northwestern.dasu.drools.*;!!global FactHalt halt;!!declare TestResult! taskId : String! todoList : List! pingList : List!end!!function void ping(String ip, int taskId) {!! AMCoordinator.addProbeTask(! taskId, ip, ProbeType.PING);!!}!!!
Design: Experiment specification package package-name Imports variable declaration - global - local functions rules
13
NSDI’13 Sánchez et al. 19 Pushing Experiments to the Internet’s Edge!
dialect "java”!package edu.northwestern.dasu.drools!!import edu.northwestern.dasu.drools.*;!!global FactHalt halt;!!declare TestResult! taskId : String! todoList : List! pingList : List!end!!function void ping(String ip, int taskId) {!! AMCoordinator.addProbeTask(! taskId, ip, ProbeType.PING);!!}!!!
Design: Experiment specification package package-name Imports variable declaration - global - local functions rules
13
NSDI’13 Sánchez et al. 20 Pushing Experiments to the Internet’s Edge!
dialect "java”!package edu.northwestern.dasu.drools!!import edu.northwestern.dasu.drools.*;!!global FactHalt halt;!!declare TestResult! taskId : String! todoList : List! pingList : List!end!!function void ping(String ip, int taskId) {!! AMCoordinator.addProbeTask(! taskId, ip, ProbeType.PING);!!}!!!
Design: Experiment specification package package-name Imports variable declaration - global - local functions rules
13
NSDI’13 Sánchez et al. 21 Pushing Experiments to the Internet’s Edge!
dialect "java”!package edu.northwestern.dasu.drools!!import edu.northwestern.dasu.drools.*;!!global FactHalt halt;!!declare TestResult! taskId : String! todoList : List! pingList : List!end!!function void ping(String ip, int taskId) {!! AMCoordinator.addProbeTask(! taskId, ip, ProbeType.PING);!!}!!!
Design: Experiment specification package package-name Imports variable declaration - global - local functions rules rule "name” when … then … end
rule “Process Probes”!! when!
$tr : TestResult(); !! $ping : FactProbePingResult();! then! $tr.getPingList().add($ping);! retract($ping);!!
if($tr.getTodoList().size() == 0) {! AMCoordinator.commitResult(! “Experiment Name”, $tr);! halt.setHalt(true);! } else {! ping($tr.getTodoList().remove(0),!
$tr.getTaskId());! }!end!
13
NSDI’13 Sánchez et al. 22 Pushing Experiments to the Internet’s Edge!
Design: Rule-based programming
Experiment as a combination of rules Rules drive execution and flow of experiments Benefits of a declarative model
– Clear and concise – Easy to check – Easy to extend
14
NSDI’13 Sánchez et al. 23 Pushing Experiments to the Internet’s Edge!
Design: Dasu client
Probe Modules
Traceroute Ping NDT …
Experiment
Rule Engine
Working Memory
Coordinator
Results
15
NSDI’13 Sánchez et al. 24 Pushing Experiments to the Internet’s Edge!
Challenges: No dedicated resources
Protecting volunteer nodes " Sandboxed
– Import restrictions avoid arbitrary code execution
– Resource profiler / watchdog timer " Secure communication of configuration and
experiments
16
NSDI’13 Sánchez et al. 25 Pushing Experiments to the Internet’s Edge!
Challenges: No dedicated resources
Limit resource consumption Minimize impact on user’s performance:
– Pre-defined probe rates – Restrict aggregate bandwidth consumption – Limit probes to low-utilization periods
17
NSDI’13 Sánchez et al. 26 Pushing Experiments to the Internet’s Edge!
Scaling measurement coordination across participants
– Experiment leases – Elastic budgets
Challenges: Impact
Experiment Administration
Coordination
Measurement Activity
Experiment Lease
Aggregated Measurement Activity
Experiment Lease
18
NSDI’13 Sánchez et al. 27 Pushing Experiments to the Internet’s Edge!
Challenges: Availability and churn
19
NSDI’13 Sánchez et al. 28 Pushing Experiments to the Internet’s Edge!
Challenges: Availability and churn
Median session time ~3 hours
19
NSDI’13 Sánchez et al. 29 Pushing Experiments to the Internet’s Edge!
Challenges: Availability and churn
Median session time ~3 hours
50% PlanetLab slices < 3 hours
19
NSDI’13 Sánchez et al. 30 Pushing Experiments to the Internet’s Edge!
47%
44%
41%
38%
35%
32%
29%
26%
23%
Aver
age
fract
ion
Challenges: Availability and churn
Peers online per hour
20
NSDI’13 Sánchez et al. 31 Pushing Experiments to the Internet’s Edge!
47%
44%
41%
38%
35%
32%
29%
26%
23%
Aver
age
fract
ion
Challenges: Availability and churn
39-43% of day’s total
Peers online per hour
20
NSDI’13 Sánchez et al. 32 Pushing Experiments to the Internet’s Edge!
47%
44%
41%
38%
35%
32%
29%
26%
23%
Aver
age
fract
ion
Challenges: Availability and churn
39-43% of day’s total
Peers online per hour
52-63% of day’s ASes
20
NSDI’13 Sánchez et al. 33 Pushing Experiments to the Internet’s Edge!
Challenges: Load-control on experiments
80% download utilization 80% upload utilization
Delayed probes per peer
21
NSDI’13 Sánchez et al. 34 Pushing Experiments to the Internet’s Edge!
Challenges: Load-control on experiments
80% download utilization 80% upload utilization
For 85% of peers, scheduled probes can be launched immediately
Delayed probes per peer
21
NSDI’13 Sánchez et al. 35 Pushing Experiments to the Internet’s Edge!
Illustrating its unique perspective
Revisiting past experiments: Routing asymmetry, King
Questioning old assumptions: AS-level connectivity
Performing novel experiments: Evaluating a recently-proposed DNS extension
22
NSDI’13 Sánchez et al. 36 Pushing Experiments to the Internet’s Edge!
CDNs and DNS-based localization
Content Origin
End Host
23
NSDI’13 Sánchez et al. 37 Pushing Experiments to the Internet’s Edge!
CDNs and DNS-based localization
CDN Replica
Content Origin
CDN Replica
End Host
23
NSDI’13 Sánchez et al. 38 Pushing Experiments to the Internet’s Edge!
CDNs and DNS-based localization
CDN Replica
Content Origin
CDN Replica
End Host
Google DNS
23
NSDI’13 Sánchez et al. 39 Pushing Experiments to the Internet’s Edge!
CDNs and DNS-based localization
CDN Replica
Content Origin
CDN Replica
End Host
Google DNS
23
NSDI’13 Sánchez et al. 40 Pushing Experiments to the Internet’s Edge!
DNS extension approach
Idea: Avoid impact of remote DNS usage by directly providing client location A EDNS0 extension “edns-client-subnet” Resolver adds client’s IP prefix to request
Is it effective?
24
NSDI’13 Sánchez et al. 41 Pushing Experiments to the Internet’s Edge!
Understanding performance benefits
Access to large set of vantage points
Vantage points located around the world
Interrelated measurement probes
Flexible
25
NSDI’13 Sánchez et al. 42 Pushing Experiments to the Internet’s Edge!
Evaluating EDNS
Oceania (4.4%) N. America (41.9%) W. Europe (37.6)
Higher savings in North America
26
NSDI’13 Sánchez et al. 43 Pushing Experiments to the Internet’s Edge!
Evaluating EDNS
Oceania (4.4%) N. America (41.9%) W. Europe (37.6)
ECS savings in Oceania 70–90%
Higher savings in North America
26
NSDI’13 Sánchez et al. 44 Pushing Experiments to the Internet’s Edge!
Dasu’s first child namehelp
… more than just better CDN performance
– Faster lookups with proactive caching – Automatic, personalized server selection – Graceful handling of DNS outages …
http://aqualab.cs.northwestern.edu/projects/namehelp
As of this morning – 52,800 users over 147 countries!
27
NSDI’13 Sánchez et al. 45 Pushing Experiments to the Internet’s Edge!
Summary
Experimental platform for the network edge
Relies on a direct incentive model for adoption – Rather than relying on the kindness of strangers
Participants collectively offer
– Broad network coverage – High availability – Fine-grained control
Contact us to play with it
28
Recommended