scream: sketch resource allocation for software-defined ... · scream: sketch resource allocation...
TRANSCRIPT
![Page 1: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/1.jpg)
SCREAM: Sketch Resource Allocation for Software-defined Measurement
Masoud Moshref, Minlan Yu,
Ramesh Govindan, Amin Vahdat
(CoNEXT’15)
![Page 2: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/2.jpg)
Measurement is Crucial for Network Management
2
AccountingAnomaly Detection
Traffic Engineering
Heavy Hitter detectionHeavy hitter detection (HH)
Change detectionSuper source detection (SSD)
DDoS detection
Anomaly Detection
Traffic Engineering
Network Management on multiple tenants:
Measurement tasks:
Heavy Hitter detectionHierarchical heavy hitter detection (HHH)
Need fine-grained visibility of network traffic
![Page 3: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/3.jpg)
Controller
DREAM [SIGCOMM’14] / SCREAM [CoNEXT’15]
Software Defined Measurement
3
Switch ATask 1 counters
Task 2 counters
Switch BTask 1 counters
Task 2 counters
Collect
Configure
Task 2Task 1
![Page 4: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/4.jpg)
Our Focus: Sketch-based Measurement
4
Summaries of streaming data to approximately answer specific queries E.g., Bitmap for counting unique items
OpenFlow CountersDREAM [SIGCOMM’14]
Sketches
Memory Expensive, power-hungry TCAM
Cheaper SRAM
Counters Volume counters Volume and Connection counters
Flows Selected prefixes All traffic all-the-time
SCREAM [CoNEXT’15]
Sketches use a cheaper memory and are more expressive
![Page 5: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/5.jpg)
Sketch Example: Count-Min Sketch
5
(IP, 1 Kbytes)
h1(IP)
h2(IP)
h3(IP)
What is the traffic size of IP? = row with min collision = Min(3,5,2) = 2
d
At packet arrival:
Provable error bound given traffic properties (e.g., skew)Resource accuracy trade-off:
At query:
2+1=3
4+1=5
1+1=2
![Page 6: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/6.jpg)
Challenges: Limited Counters for Many Tasks
6
Many task instances:• 3 types (Heavy hitter, Hierarchical heavy hitter, Super source)• Different flow aggregates (Rack, App, Src/Dst/Port)• 1000s of tenants
Limited shared resources:• SRAM capacity (e.g., 128 MB)• Shared with other functions (e.g., routing)
Too many resources to guarantee accuracy:1 MB-32 MB per task• Less than 4-128 tasks in SRAM
![Page 7: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/7.jpg)
Goal: Many Accurate Sketch-based Measurements
7
Users dynamically instantiate a variety of measurement tasks
SCREAM supports the largest number of measurement tasks while maintaining measurement accuracy
![Page 8: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/8.jpg)
Approach: Dynamic Resource Allocation
8
Resource accuracy trade-off depends on traffic
Dynamic allocation for current traffic
Worst-case uses >10x counters than average
Count Min: Provable error bound given traffic propertiesEx: Skew of traffic from each IP
Skew
Req
uir
ed m
emo
ry
![Page 9: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/9.jpg)
Opportunity: Temporal Multiplexing
9
Task 1
Task 2R
equ
ired
Mem
ory
Time
Multiplex memory among tasks over time
Memory requirement varies over time
![Page 10: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/10.jpg)
Opportunity: Spatial Multiplexing
10
Req
uir
ed M
emo
ry
Switch A Switch B
Memory requirement varies across switches
Multiplex memory among tasks across switches
Task 1
Task 2
![Page 11: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/11.jpg)
Key Insight
11
Leverage spatial and temporal multiplexing
and dynamically allocate switch memory per task
to achieve sufficient accuracy for many tasks
• DREAM has the same insight• SCREAM applies it for sketches
![Page 12: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/12.jpg)
SCREAM Contributions
12
Heavy hitter (HH) tasks
Super Source(SSD) tasks
Dynamic resource allocator
Hierarchical heavy hitter (HHH) tasks
Allocation
1- Supports 3 sketch-based task types
2- Allocate memory among sketch-based task instances across switches while maintaining sufficient accuracy
SCREAM
• Anomaly detection• Traffic engineering• DDoS detection
![Page 13: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/13.jpg)
SCREAM Iterative Workflow
13
Estimate accuracy
Allocate resources
Collect & report
Counters from many switches
Accuracy
Memory size
![Page 14: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/14.jpg)
SCREAM Iterative Workflow
14
0 20 40 600
20
40
60
80
100
Time (s)
Task 1
Task 2
0 20 40 6010
20
30
40
50
Time (s)
Allo
ca
ted
Me
mo
ry (
KB
)
Task 1
Task 2
Task 1
Task 2
Task 1
Task 2
Task1 accuracy <80%
Give more memory to task1
Estimate accuracy
Allocate resources
Collect & report
Acc
ura
cy
![Page 15: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/15.jpg)
SCREAM Iterative Workflow
15
0 20 40 600
20
40
60
80
100
Time (s)
Pre
cis
ion
Task 1
Task 2
0 20 40 6010
20
30
40
50
Time (s)
Allo
ca
ted
Me
mo
ry (
KB
)
Task 1
Task 2
Task 1
Task 2
Estimate accuracy
Allocate resources
Collect & report
Skew of traffic for task2 changesTask2 accuracy <80%
Give more memory to task2
Acc
ura
cyMerge counters from switches
![Page 16: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/16.jpg)
SCREAM Challenges
Estimate accuracy
Allocate resources
Collect & report
Network-wide task implementation using sketches
Accuracy estimation without the ground-truth
Fast & Stable allocation in DREAM [SIGCOMM’14]
![Page 17: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/17.jpg)
Switch BSwitch A
Challenge: Merge Sketches of Different Sizes
17
Network-wide Task
Heavy hitter (HH)
d d
w1 w2
Source IPs sending > 10Mbps
10 15
25
![Page 18: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/18.jpg)
≥
SCREAM Solution to Merge Sketches for HH Detection
18
10
30
70
40
50
20
10 40 30 50 70 20
50
10 4030 5070 20
30
+
Previous work: Min of sums SCREAM: Sum of mins
Min 10 20
Min Min50 80 90
+ ++
Switch BSwitch A10 15
25
Both over-approximate smaller is more accurate
![Page 19: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/19.jpg)
SCREAM Solutions
Estimate accuracy
Allocate resources
Collect & report
Accuracy estimation without the ground-truth
• Merge sketches of different sizes for HH, HHH, SSD• SSD algorithm with higher and more stable accuracy
Network-wide task implementation using sketches
Fast & Stable allocation in DREAM [SIGCOMM’14]
![Page 20: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/20.jpg)
Precision Estimation for Heavy Hitter Detection
20
Threshold
True HH False HH
Estimated
Real
Error Estimate-ThresholdEstimate-Threshold
= Sum(P[Detected HH is true])
= 1 - P[Error ≥ Estimate-Threshold]
True detected HHDetected HHs
Precision =
Insight: Relate probability to Error on counters of detected HHs
P[Detected HH is true]
![Page 21: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/21.jpg)
Precision Estimation Step 1: Find a Bound on The Error
21
Idea 1: Use average Error in Markov’s inequality to bound it
Idea 1
= 1 - P[Error ≥ Estimate-Threshold]
Insight: Relate probability to Error on counters of detected HHs
P[Detected HH is true]
![Page 22: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/22.jpg)
A row in Count-Min:
Precision Estimation Step 2: Improve The Bound
22
Insight:• Average Error = heavy items collision + small items collision• Counter indices of detected HHs show heavy collisions
Idea 2: Markov’s inequality only for small items
Idea 1Idea 2
![Page 23: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/23.jpg)
SCREAM Solutions
Estimate accuracy
Allocate resources
Collect & report
Accuracy estimation without the ground-truth
• Merge sketches of different sizes for HH, HHH, SSD• SSD algorithm with higher and more stable accuracy
Network-wide task implementation using sketches
Precision estimators for HH, HHH and SSD tasks
Fast & Stable allocation in DREAM [SIGCOMM’14]
![Page 24: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/24.jpg)
Evaluation
24
Metrics:
• Satisfaction of a task: Fraction of task’s lifetime with sufficient accuracy
• % of rejected tasks
Alternatives:• OpenSketch: Allocate for bounded error for worst-case
traffic at task instantiation (test with different bounds)• Oracle: Knows required resource for a task in each
switch in advance
![Page 25: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/25.jpg)
Evaluation Setting
25
Simulation for 8 switches:• 256 task instances (HH, HHH, SSD, combination)• Accuracy bound = 80%• 5 min tasks arriving in 20 minutes• 2 hours CAIDA trace
![Page 26: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/26.jpg)
128 256 384 5120
20
40
60
80
100
Switch capacity (KB)R
eje
cte
d ta
sks (
%)
OS_10
OS_50
OS_90
SCREAM
128 256 384 5120
20
40
60
80
100
Switch capacity (KB)
Ave
rag
e S
atis
factio
n
OS_10
OS_50
OS_90
SCREAM
SCREAM Provides High Accuracy for More Tasks
26
SCREAM: High satisfaction and low reject
OpenSketch:
Loose bound Under provision low satisfactionTight bound Over provision high reject
![Page 27: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/27.jpg)
SCREAM’s Performance Is Close to An Oracle
27
128 256 384 5120
20
40
60
80
100
Switch capacity (KB)
Re
jecte
d ta
sks (
%)
Oracle
SCREAM
128 256 384 5120
20
40
60
80
100
Switch capacity (KB)
Ave
rag
e S
atis
factio
n
Oracle
SCREAM
SCREAM performance is close to an oracle, its satisfaction is a bit lower because:• Iterative allocation takes time• Accuracy estimation has error
![Page 28: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/28.jpg)
Other Evaluations
28
SCREAM accuracy estimation has 5% error in averageAccuracy estimation error
Changing traffic skewSCREAM supports more accurate tasks than OpenSketch
Other accuracy metricsTasks in SCREAM have high recall (low false negative)
![Page 29: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/29.jpg)
Conclusion
29
Practical sketch-based SDM by dynamic memory allocation• Implementing network-wide tasks using sketches• Estimating accuracy for 3 types of tasks
SCREAM is available at github.com/USC-NSL/SCREAM
Measurement is crucial for SDN managementin a resource-constrained environment
![Page 30: SCREAM: Sketch Resource Allocation for Software-defined ... · SCREAM: Sketch Resource Allocation for Software-defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan, Amin](https://reader030.vdocuments.us/reader030/viewer/2022040910/5e848add62048d543d50f8de/html5/thumbnails/30.jpg)
Thanks!Questions?
30