co conc ncer erto to cooperative network wide telemetry
play

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


  1. Co Conc ncer erto to: Cooperative Network-Wide Telemetry with Controllable Error Rate Yiran Li Kevin Gao Xin Jin Wei Xu

  2. Net etwork rk Tel elem emet etry ry Provide ides s Us Usef eful ul Status tus Knowle wledge dge Query Interface DDoS Det. New TCP Port Scan Expressive & High Fidelity Operators Telemetry System Core Operates Packets Switch Config Telemetry Tuples of Whole Network in Real-Time Switch 2

  3. Exe xecuti uting ng Lo Location ion: : Stream eam Proces essor sor vs. s. PISA A Swit itch ch Task Assignment DDoS Det. SP vs. PISA Switch Executing at SP: √ General Processing × Scalability Problem Executing at PISA Switch √ Real-Time Processing × Limited Stages & Memory Stage 1 Stage 2 Deparser Parser Traffic Traffic Mem. ALU Mem. ALU Protocol Independent Switch Architecture Network Telemetry System 3

  4. Di Differe rent nt Swi witche ches s Pla lay y Di Differe rent nt Role les Telemetry Systems Big Data Frameworks Driver Program Query Cluster Manager Core SP Dynamically Assign Statically Assign to vs. to Available Executor Specific Switch S 3 Worker Worker Worker S 1 Executor Executor Executor Executor Executor Executor Executor Executor Executor Executor Executor Executor S 2 Switches with Different Roles Identical Workers, Executors 4

  5. Usi sing g Swi witche ches s In Inde depe pendent dently ly Is Is In Insu suffic fficient ient Splitting Query Between SP 4 .map ((_, dip ) => (dip ,1)) & Edge Switch Dynamically 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 )) SP Unused 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) SRC DST 5 .scan (( dip ,_) => dip , sum ) Edge 6 .filter (( dip , count ) => count ==T) SRC 7 .map (( dip , count ) => dip ) S 3 Edge DDoS Detection Query Unused S 1 1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) S 2 3 .distinct (( sip , dip ) => (sip , dip )) 5

  6. Usi sing g Swi witche ches s In Inde depe pendent dently ly Is Is In Insu suffic fficient ient (Cont.) t.) Static Splitting & Using 4 .map ((_, dip ) => (dip ,1)) Switches Independently 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip ) Wasted 1 packetStream Duplicated 2 .map (p => (p.ip.sip ,p.ip. dip )) SP 3 .distinct (( sip , dip ) => (sip , dip )) 4 .map ((_, dip ) => (dip ,1)) SRC DST 5 .scan (( dip ,_) => dip , sum ) Edge Unused 6 .filter (( dip , count ) => count ==T) SRC 7 .map (( dip , count ) => dip ) S 3 Edge DDoS Detection Query S 1 S 2 1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 3 .distinct (( sip , dip ) => (sip , dip )) 6

  7. Concert erto: o: 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 Q Q Q Query • Splitting query to multiple PISA switches Result 1 2 3 • Each switch processes tuples locally Stream SP Concerto Core • Various operations on different switches Processor Config • Best-effort tuple processing Intermediate Tuples Switch Config • Automatic query placement • Analyzing query restrictions from AST • Formulating query placement as MIP Switch • Result • Reduce the stream processor’s workload by up to 19 × • Achieve 10 4 × lower error rate with the same workload 7

  8. Coope perativ ative Query y Executi ution on Mo Mode del 6 .filter (( dip , count ) => count ==T) 7 .map (( dip , count ) => dip ) 1 packetStream 2 .map (p => (p.ip.sip ,p.ip. dip )) 5→7 4→7 3 .distinct (( sip , dip ) => (sip , dip )) Phase 7 Phase 4 S 3 SP 1 →3 5 .scan (( dip ,_) => dip , sum ) 6 .filter (( dip , count ) => count ==T) S 1 7 .map (( dip , count ) => dip ) S 2 3→5 4 .map ((_, dip ) => (dip ,1)) 5 .scan (( dip ,_) => dip , sum ) 8

  9. Query y Executi ution on on Swi witche hes Stage Like Bloom Filter Subquery 1: 05:scan Subquery 2: 06:filter 07:map Mem. ALU S 1 05 06 07 07 PHV PHV Pkt Pkt 04 05 05 05 05 S 2 Stage 1 Stage 2 Stage 3 Stage 4 Parser Deparser Four-Stage PISA Switch Only Based on Phase 9

  10. Concerto rto Puts s Mo More Op Operati tions ons on S Swi witche ches 1 packetStream 2333 4 - - - 5556 f 1 : S 1 → S 6 2 .map (p => (p.ip.sip ,p.ip. dip )) 3333 7 3 .distinct (( sip , dip ) => (sip , dip )) S 1 S 4 S 6 Result 4 .map ((_, dip ) => (dip ,1)) Tuples f 2 : S 2 → S 6 4 - - - 2 - - - 555 6 5 .scan (( dip ,_) => dip , sum ) S 3 Stream f 3 : S 2 → S 7 6 .filter (( dip , count ) => count ==T) Processor 7 .map (( dip , count ) => dip ) S 5 S 2 S 7 • Switch hardware # Tuples # Stages Flow t1, t2 t3, t4 t5 t6, t7 d3 d5 • 4 stages f1 442628 50034 1033 25 3 3 • 0.5 Mb of registers at each stage f2 1383594 113584 1739 36 4 3 • Results f3 307941 8874 2194 25 3 3 f1+f2 1826222 163618 2772 61 5 3 • Stateless filtering: 2.1 × 10 6 f2+f3 1691535 122458 3933 61 4 4 • Independent stateful: 1.4 × 10 6 f1+f2+f3 2134163 172492 4966 86 5 4 • Concerto: 86 10

  11. Eval aluat uatio ion n Setup up • Questions: workload reduction, error rate guarantee, scalability • Topology ATT North America Topology # Sites # Links Claranet 15 018 ATT North America 25 056 Cesnet-10 52 063 OTEGlobe 93 103 • 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

  12. Concerto Reduces SP’s Workload on Various Queries Stateless EdgeAll AnyAggre Concerto 10 8 10 6 #Tuples 10 4 10 2 Log- Better SSpreader New TCP Port Scan DDoS In. Flows SSH Brute Slowloris Scaled Single-Query Performance on Various Queries 12

  13. Concerto rto Ac Achie ieve ves s Mu Much Lowe wer Error Rate Stateless EdgeAll AnyAggre Concerto 10 8 10 7 10 7 #Tuples 10 6 10 6 10 4 10 5 10 5 10 4 10 4 10 1 10 -1 10 -3 10 1 10 0 10 -5 10 -1 Error Rate (%) Error Rate (%) One Query Four Queries Error Rate Requirement 13

  14. Concerto rto Scal ales s Well ll Stateless EdgeAll AnyAggre Concerto Similar Similar Similar Normalized #Tuples 10 4 10 4 10 3 10 2 10 2 10 0 10 0 10 0 Different Different One Query Two Queries Four Queries Normalized To Concerto Normalized Workloads on Various Topologies 14

  15. Conclusi lusion on • 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 10 4 times lower than state-of-the-art systems 15

  16. Th Thanks! anks! Q& Q&A

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend