Mario A. Sánchez David R. Choffnes John S. Otto U. of Washington Zachary S. Bischof Balachander Krishnamurthy Fabián E. Bustamante Walter Willinger AT&T Labs-Research Northwestern U.
The Internet edge is exploding 34% of global population uses the Internet 5x growth in the past 12 years 10 200 9 Number of countries 8 % Penetration 7 150 6 5 100 4 3 50 2 1 0 0 Fixed broadband countries Fixed broadband penetration 2 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 2 �
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. Pushing Experiments to the Internet’s Edge 3 �
The view from the edge Control Scale 4 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 4 �
The view from the edge Control Scale 5 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 4 �
The view from the edge Control Scale 6 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 4 �
The view from the edge Control Scale 7 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 4 �
The view from the edge A flexible experimentation platform hosted by end users 8 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 4 �
Our work 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 9 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 5 �
Dasu A platform prototype Software-based (BitTorrent ext., for now) Hosted at the network’s edge Broadband characterization as incentive for adoption 10 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 6 �
Dasu Two purposes by design – Characterize users’ broadband services – Support experimentation from the edge Aligns objectives of end-users and experimenters 11 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 7 �
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 12 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 7 �
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 13 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 8 �
Roadmap Motivation Design and implementation Challenges A unique perspective 14 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 9 �
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 15 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 10 �
Guiding goals… Programmable platform – To run general measurement experiments Reduce effort needed to develop/deploy large-scale measurements 16 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 11 �
Design: System components Configuration Experiment Administration Experiment Task Registration Configuration Measurement Activity Experiment Lease Experiment Report Coordination Data Service 17 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 12 �
Design: Experiment specification package package-name dialect "java” � Imports package edu.northwestern.dasu.drools � � variable declaration import edu.northwestern.dasu.drools.*; � � - global global FactHalt halt; � � - local declare TestResult � functions taskId : String � todoList : List � rules pingList : List � end � � function void ping(String ip, int taskId) { � � AMCoordinator.addProbeTask( � taskId, ip, ProbeType.PING); � � } � � � 18 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 13 �
Design: Experiment specification package package-name dialect "java” � Imports package edu.northwestern.dasu.drools � � variable declaration import edu.northwestern.dasu.drools.*; � � - global global FactHalt halt; � � - local declare TestResult � functions taskId : String � todoList : List � rules pingList : List � end � � function void ping(String ip, int taskId) { � � AMCoordinator.addProbeTask( � taskId, ip, ProbeType.PING); � � } � � � 19 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 13 �
Design: Experiment specification package package-name dialect "java” � Imports package edu.northwestern.dasu.drools � � variable declaration import edu.northwestern.dasu.drools.*; � � - global global FactHalt halt; � � - local declare TestResult � functions taskId : String � todoList : List � rules pingList : List � end � � function void ping(String ip, int taskId) { � � AMCoordinator.addProbeTask( � taskId, ip, ProbeType.PING); � � } � � � 20 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 13 �
Design: Experiment specification package package-name dialect "java” � rule “ Process Probes ” � Imports package edu.northwestern.dasu.drools � � � when � variable declaration import edu.northwestern.dasu.drools.*; � $tr : TestResult(); �� � $ping : FactProbePingResult(); � - global global FactHalt halt; � then � � - local $tr.getPingList().add($ping); � declare TestResult � retract($ping); � functions taskId : String � � todoList : List � if($tr.getTodoList().size() == 0) { � rules rule "name” pingList : List � AMCoordinator.commitResult( � end � “Experiment Name”, $tr); � when � halt.setHalt(true); � function void ping(String ip, int taskId) … } else { � { � ping($tr.getTodoList().remove(0), � then � $tr.getTaskId()); � AMCoordinator.addProbeTask( � } � … taskId, ip, ProbeType.PING); � end � � end } � � � 21 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 13 �
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 22 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 14 �
Design: Dasu client Experiment Rule Engine Working Memory Coordinator Results Probe Modules … Traceroute NDT Ping 23 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 15 �
Challenges: No dedicated resources Protecting volunteer nodes � Sandboxed – Import restrictions avoid arbitrary code execution – Resource profiler / watchdog timer � Secure communication of configuration and experiments 24 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 16 �
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 25 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 17 �
Challenges: Impact Scaling measurement coordination across participants – Experiment leases – Elastic budgets Measurement Activity Coordination Aggregated Experiment Measurement Experiment Lease Activity Lease Experiment Administration 26 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 18 �
Challenges: Availability and churn 27 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 19 �
Challenges: Availability and churn Median session time ~3 hours 28 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 19 �
Challenges: Availability and churn Median session time ~3 hours 50% PlanetLab slices < 3 hours 29 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 19 �
Challenges: Availability and churn Peers online per hour 47% 44% 41% Average fraction 38% 35% 32% 29% 26% 23% 30 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 20 �
Challenges: Availability and churn Peers online per hour 47% 44% 41% Average fraction 38% 39-43% of day’s total 35% 32% 29% 26% 23% 31 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 20 �
Challenges: Availability and churn Peers online per hour 47% 44% 41% Average fraction 38% 39-43% of day’s total 35% 32% 52-63% of day’s ASes 29% 26% 23% 32 NSDI’13 Sánchez et al. Pushing Experiments to the Internet’s Edge 20 �
Recommend
More recommend