Co Conc ncer erto to: Cooperative Network-Wide Telemetry with - - PowerPoint PPT Presentation
Co Conc ncer erto to: Cooperative Network-Wide Telemetry with - - PowerPoint PPT Presentation
Co Conc ncer erto to: Cooperative Network-Wide Telemetry with Controllable Error Rate Yiran Li Kevin Gao Xin Jin Wei Xu Net etwork rk Tel elem emet etry ry Provide ides s Us Usef eful ul Status tus Knowle wledge dge Query
Net etwork rk Tel elem emet etry ry Provide ides s Us Usef eful ul Status tus Knowle wledge dge
2
Query Interface
Telemetry System Core
Switch Config Telemetry Tuples
Switch DDoS Det. New TCP Port Scan
Expressive & High Fidelity Operators Operates Packets
- f Whole Network
in Real-Time
Traffic Traffic Executing at SP: √General Processing × Scalability Problem Executing at PISA Switch √Real-Time Processing × Limited Stages & Memory
Exe xecuti uting ng Lo Location ion: : Stream eam Proces essor sor vs.
- s. PISA
A Swit itch ch
3
Protocol Independent Switch Architecture
Parser Deparser Stage 1
- Mem. ALU
Stage 2
- Mem. ALU
DDoS Det. Network Telemetry System
Task Assignment SP vs. PISA Switch
Di Differe rent nt Swi witche ches s Pla lay y Di Differe rent nt Role les
4
Cluster Manager
Driver Program
Worker Executor Executor Executor Executor Worker Executor Executor Executor Executor Worker Executor Executor Executor Executor
Big Data Frameworks
Dynamically Assign to Available Executor Identical Workers, Executors
S1 S2 S3
SP
Query Switches with Different Roles Statically Assign to Specific Switch
Telemetry Systems
vs.
Core
Usi sing g Swi witche ches s In Inde depe pendent dently ly Is Is In Insu suffic fficient ient
5
S1 S2 S3
SRC Edge DST Edge
SP
SRC
1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip ) 1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
DDoS Detection Query Unused Unused Splitting Query Between SP & Edge Switch Dynamically
Usi sing g Swi witche ches s In Inde depe pendent dently ly Is Is In Insu suffic fficient ient (Cont.) t.)
6
S1 S2 S3
SRC Edge DST Edge
SP
SRC
1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
Static Splitting & Using Switches Independently Duplicated Unused Wasted
1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
DDoS Detection Query
Concert erto:
- : Cooper
erative ative Net etwork rk-Wide Wide Te Telem emet etry ry
- Challenge
- Splitting queries among switches while meeting resource & network constraints
- Cooperative query execution model
- Splitting query to multiple PISA switches
- Each switch processes tuples locally
- Various operations on different switches
- Best-effort tuple processing
- Automatic query placement
- Analyzing query restrictions from AST
- Formulating query placement as MIP
- Result
- Reduce the stream processor’s workload by up to 19 ×
- Achieve 104 × lower error rate with the same workload
7 SP Config
Stream Processor
Query
Concerto Core Q
1
Q
3
Q
2
Switch Config Intermediate Tuples Result
Switch
Coope perativ ative Query y Executi ution
- n Mo
Mode del
8
S1
1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
1→3 3→5 5→7 S2 S3
Phase 7 Phase 4
SP 4→7
5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
Query y Executi ution
- n on Swi
witche hes
9
S1 S2
Stage 1 06 07 05 05 05 05 04 Parser 07 05 Deparser PHV PHV Pkt Pkt
Four-Stage PISA Switch 07:map 06:filter 05:scan Subquery 1: Subquery 2:
- Mem. ALU
Stage
Stage 2 Stage 3 Stage 4 Like Bloom Filter Only Based on Phase
Concerto rto Puts s Mo More Op Operati tions
- ns on S
Swi witche ches
- Switch hardware
- 4 stages
- 0.5 Mb of registers at each stage
- Results
- Stateless filtering: 2.1 × 106
- Independent stateful: 1.4 × 106
- Concerto: 86
10
1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip )
f1: S1 → S6 S1
2333
S2
2 - - -
S6
5556
S7
5556
S3
3333
S5
4 - - -
f2: S2 → S6 f3: S2 → S7
Stream Processor
7
Result Tuples
S4
4 - - -
Flow # Tuples # Stages t1, t2 t3, t4 t5 t6, t7 d3 d5 f1 442628 50034 1033 25 3 3 f2 1383594 113584 1739 36 4 3 f3 307941 8874 2194 25 3 3 f1+f2 1826222 163618 2772 61 5 3 f2+f3 1691535 122458 3933 61 4 4 f1+f2+f3 2134163 172492 4966 86 5 4
Eval aluat uatio ion n Setup up
- Questions: workload reduction, error rate guarantee, scalability
- Topology
- CAIDA trace: captured at a backbone ISP link from New York to San Paulo
- Compared systems
- Stateless: Everflow, DREAM
- EdgeAll: Sonata
- AnyAggre: OpenSketch, UnivMon, Marple
- Metric: # tuples to the stream processor (same as Sonata)
11
Topology # Sites # Links Claranet 15 018 ATT North America 25 056 Cesnet-10 52 063 OTEGlobe 93 103 ATT North America
Concerto Reduces SP’s Workload on Various Queries
12
SSpreader New TCP Port Scan DDoS In. Flows SSH Brute Slowloris 108 106 104 102 #Tuples
Single-Query Performance on Various Queries
Stateless EdgeAll AnyAggre Concerto
Better Log- Scaled
Concerto rto Ac Achie ieve ves s Mu Much Lowe wer Error Rate
13
Error Rate Requirement
107 106 105 104
#Tuples
101 10-1 10-3 10-5
Error Rate (%) One Query
108 107 106 105 104 101 100 10-1
Error Rate (%) Four Queries Stateless EdgeAll AnyAggre Concerto 104
Concerto rto Scal ales s Well ll
14
One Query
104 102 100
Normalized #Tuples
Normalized Workloads on Various Topologies
Four Queries
104 102 100
Two Queries
103 100
Stateless EdgeAll AnyAggre Concerto
Similar Similar Similar Different Different Normalized To Concerto
Conclusi lusion
- n
- We propose a cooperative query execution model
- Mimics network routing, each switch processes tuples locally
- Independent of the underlying routing method
- Applies to arbitrary topology
- We provide a method to automatically compile queries to PISA switches
- Analyzes the query placement requirement from AST
- Formulates and optimizes query placement on switches using MIP
- We show that the cooperative query execution of Concerto is effective
- Reduces the stream processor’s workload by as much as 19 times
- Achieves an error rate of 104 times lower than state-of-the-art systems
15