# 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}]"}