# CS 176C: Measuring Broadband Internet Performance (2) [Slides](https://hackmd.io/@arpitgupta/Hk-7YYJcL?type=slide#/) --- ## Learning Objectives - PowerBoost - What is powerboost? How is it used in real world? - Speed tests - What are the best pactices, challenges, and solutions? --- # PowerBoost --- ## What is PowerBoost? - Marketing term for traffic shaping - Types - Uncapped - simple token bucket - Capped - token (burst) >> - leaky bucket (data rate) --- ## Powerboost: Terms ### Terms - PBS: Powerboost bucket size - MSTR: Maximum sustained data rate - R: capped/uncapped data rate --- ## Powerboost: Performance Metrics - Powerboost duration: - D = $\frac{PBS}{R-MSRT}$ - Powerboost bytes - B = $R.D$ - Refill time: - RT = $\frac{PBS}{MSRT}$ --- ## Powerboost: Example - Given `R = 15 Mbps`, `MSTR = 12 Mbps`, `PBS = 12MB` - Duration of powerboost? (32 seconds) - Number of bytes sent at higher rate?(60 MB) - Refill time?(8 seconds) --- ## Impact on Throughput (1) ![](https://i.imgur.com/byI5zDm.png =400x) Different modems see powerboost differently - D-LINK modem - 21 Mbps for 3 seconds - 18.5 Mbps for 14s seconds - 12.5 Mbps for remainder duration Can we infer traffic shaping for D-LINK? --- ## Impact on Throughput (2) - D-LINK has two token buckets - B1 $\rightarrow$ B1 - Link capacity: 21 Mbps - Buckets: - (18.5 Mbps, D=3 s) - (12.5 Mbps, D=14s) --- ## Impact on Throughput (2) - Computing PBS - $PBS=D.(R-MSRT)$ - PBS1 = $\frac{3.(2.5)}{8}\sim 1$ MB - PBS2 = $\frac{14.(6)}{8}\sim 10$ MB --- ## Impact on Latency (Under Load) ![](https://i.imgur.com/F0OuCg1.png) Lower latency during powerboost --- # Speed Tests --- ## Best Practices - Active measurement - introduce `probe traffic` - Measure bottleneck link - wireless, HFC, border, etc. - Use TCP - multi-threaded, long durations (why?) --- ## Inherent Variability ![](https://i.imgur.com/jXUCFvG.png) Speed test measurement are highly variable. --- ## Limitations ![](https://i.imgur.com/1ItxvaF.png =400x) - Home wireless network - At high speeds, WiFi is often the bottleneck --- ## Limitations ![](https://i.imgur.com/G8dqGuE.png =350x) Newer devices support higher speeds - Measurement devices - available resources --- ## Limitations (3) - Cross traffic - competing traffic from other senders - routers can account for cross traffic --- ## Provisioning Test Infrastructure - MBA uses Google's M-Lab - Measurement servers can be bottleneck - limited connectivity - competing measurements - Ookla - tracks measurement server's performance over time --- ## Server Placement & Selection - Ookla (8k+), FAST (1K+) - Why is it important? - latency (?), workload - How to select measurement servers (out of 8K+ candidates)? - Geolocate client - Probe nearby servers - Select sever (latency, workload, etc.) --- ## Design Space (1) - Parallel connections - robust to slow start and random losses - Test duration - too short: slow start dominates, powerboost - too long: too much data transfer - Ookla 15s fixed, FAST dynamic --- ## Design Space (2) - Throughput calculation - divide time into slices - Ookla 20 slices - ignore few samples - Ookla: bottom 5 and top 2 - report average - FAST only reports 2 second average --- ## Deep Dive: Fast.com ![](https://i.imgur.com/OzV3SwK.png =550x) OCA hosts 25 MB video file --- ## Server selection (1) - Network distance - Traffic load at OCA - Network structure --- ## Server selection (2) ![](https://i.imgur.com/58RWMyx.png =500x) Server selection steps --- ## Bandwidth Estimation (1) - Data filtering - remove slow start data - Parallel connections - More bandwidth --> more connections Both decisions are dynamic! --- ## Bandwidth Estimation (2) ![](https://i.imgur.com/86LnZkd.png =350x) - Moving window (2s) - Stop when: $S_{max}-S_{min}=3\%.S_{avg}$ - Report $S_{avg}$ --- ## Measurement Windows (1) ![](https://i.imgur.com/0sMmUHX.png =550x) Low latency connections --- ## Measurement Windows (2) ![](https://i.imgur.com/HR0smEJ.png =550x) High latency connections --- ## Measurement Windows (3) ![](https://i.imgur.com/d4KNbG8.png =550x) Dynamic environment connections <!-- --- ## Examples (XFINITY) - Establishes `18` parallel HTTP connections (`same server`) for 12 seconds - Estimates throughput every 100 ms - Reports average across `all` 120 samples --> --- ## Problem 1 - Different tools estimate speed differently - How can we compare/contrast their performance? - What performance metrics to consider? (data usage, accuracy, consistency?) --- ## Problem 2 - Cable network - 1000 clients, each with 100 Mbps plan and 6 GB daily cap - Server placed near CMTS, 10 Gbps link - How many tests can we run per client per day? - How to schedule these tests? --- ## Summary - We learned - Powerboost - Speed tests - Next - Measurement systems for CDNs
{"metaMigratedAt":"2023-06-15T07:45:57.770Z","metaMigratedFrom":"YAML","title":"Measuring Broadband Internet Performance (2)","breaks":true,"description":"View the slide with \"Slide Mode\".","contributors":"[{\"id\":\"146fbaf9-ce29-4e56-80ea-3c668b75e985\",\"add\":6417,\"del\":1147}]"}
    597 views