SlideShare a Scribd company logo
1 of 31
Download to read offline
SAND: A Fault-Tolerant Streaming
Architecture for Network Traffic Analytics
Qin Liu, John C.S. Lui 1
Cheng He, Lujia Pan, Wei Fan, Yunlong Shi 2
1The Chinese University of Hong Kong
2Huawei Noah’s Ark Lab
1
Introduction
2
Motivation
Network traffic arrives in a streaming fashion, and should be
processed in real-time. For example,
1. Network traffic classification
2. Anomaly detection
3. Policy and charging control in cellular networks
4. Recommendations based on user behaviors
3
Challenges
1. A stream processing system must sustain high-speed
network traffic in cellular core networks
existing systems: S4 [Neumeyer’10], Storm 1 ...
implemented in Java: heavy processing overheads
cannot sustain high-speed network traffic
1
http://storm.incubator.apache.org/
4
Challenges
1. A stream processing system must sustain high-speed
network traffic in cellular core networks
existing systems: S4 [Neumeyer’10], Storm 1 ...
implemented in Java: heavy processing overheads
cannot sustain high-speed network traffic
2. For critical applications, it is necessary to provide
correct results after failure recovery
high hardware cost
cannot provide “correct results” after failure recovery
at-least-once vs. exactly-once
1
http://storm.incubator.apache.org/
4
Contributions
Design and implement SAND in C++:
• high performance on network traffic
• a new fault tolerance scheme
5
Background
6
Background
Continuous operator model:
• Each node runs an operator with in-memory mutable state
• For each input event, state is updated and new events are
sent out
Mutable state is lost if node fails.
7
Example: AppTracker
• AppTracker: traffic classification for cellular network
traffic
• Output traffic distribution in real-time:
Application Distribution
HTTP 15.60%
Sina Weibo 4.13%
QQ 2.56%
DNS 2.34%
HTTP in QQ 2.17%
8
Example: AppTracker
Under the continuous operator model:
• Spout: capture packets from cellular network
• Decoder: extract IP packets from raw packets
• DPI-Engine: perform deep packet inspection on packets
• Tracker: track the distribution of application level
protocols (HTTP, P2P, Skype ...)
9
System Design
10
Architecture of SAND
One coordinator and multiple workers.
Each worker can be seen as an operator.
11
Coordinator
Coordinator is responsible for
• managing worker executions
• detecting worker failures
• relaying control messages among workers
• monitoring performance statistics
Zookeeper cluster provides fault tolerance and reliable
coordination service.
12
Worker
Contain 3 types of processes:
• The dispatcher decodes streams and distributes them to
multiple analyzers
• Each analyzer independently processes the assigned
streams
• The collector aggregates the intermediate results from all
analyzers
The container daemon
• spawns or stops the processes
• communicates with the coordinator
13
Communication Channels
Efficient communication channels:
• Intra-worker: a lock-free shared memory ring buffer
• Inter-worker: ZeroMQ, a socket library optimized for
clustered products
14
Fault-Tolerance
15
Previous Fault-Tolerance Schemes
1. Replication: each operator has a replica
operator [Hwang’05,Shah’04,Balazinska’08]
Data streams are processed twice by two identical nodes
Synchronization protocols ensures exact ordering of
events in both nodes
On failure, the system switches over to the replica nodes
2x hardware cost.
16
Previous Fault-Tolerance Schemes
2. Upstream backup with checkpoint [Fernandez’03,Gu’09]:
Each node maintains backup of the forwarded events
since last checkpoint
On failure, upstream nodes replay the backup events
serially to the failover node to recreate the state
Less hardware cost. It’s hard to provide correct results after
recovery.
17
Why is it hard?
• Stateful continuous operators tightly integrate
“computation” with “mutable state”
• Makes it harder to define clear boundaries when
computation and state can be moved around
18
Checkpointing
• Need to coordinate checkpointing operation on each
worker
• 1985: Chandy-Lamport invented an asynchronous
snapshot algorithm for distributed systems
• A variant algorithm was implemented within SAND
19
Checkpointing Protocol
• Coordinator initiates a global checkpoint by sending
markers to all source workers
• For each worker w,
on receiving a data event E from worker u
if marker from u has arrived, w buffers E
else w processes E normally
on receiving a marker from worker u
if all markers have arrived, w starts checkpointing
operation
20
Checkpointing Operation
On each worker:
• When a checkpoint starts, the worker creates child
processes using fork
• The parent processes then resume with the normal
processing
• The child processes write the internal state to HDFS,
which performs replication for data reliability
21
Output Buffer
Buffer output events for recovery:
• Each worker records output data events in its output
buffer, so as to replay output events during failure
recovery
• When global checkpoint c is finished, data in output
buffers before checkpoint c can be deleted
22
Failure Recovery
F
a
b
c
d
e
f
g
h
DF
PF
• F: failed workers
• DF : downstream workers of F
• F ∪ DF : rolled back to the most recent checkpoint c
• PF : the upstream workers of F ∪ DF
• Workers in PF replay output events after checkpoint c
23
Evaluation
24
Experiment 1
• Testbed: one quad-core machine with 4GB RAM
• Dataset: packet header trace; 331 million packets
accounting for 143GB of traffic
• Application: packet counter
System Packets/s Payload Rate Header Rate
Storm 260K 840Mb/s 81.15Mb/s
Blockmon 2.7M 8.4Gb/s 844.9Mb/s
SAND 9.6M 31.4Gb/s 3031.7Mb/s
• 3.7X and 37.4X compared to Blockmon [Simoncelli’13]
and Storm
25
Experiment 2
• Testbed: three 16-core machines with 94GB RAM
• Dataset: a 2-hour network trace (32GB) collected from a
commercial GPRS core network in China in 2013
• Application: AppTracker
26
Experiment 2
0
200
400
600
800
1000
1200
0 2 4 6 8 10 12
Throughput(Mb/s)
Number of Analyzers
Interval 2s
Interval 5s
Interval 10s
No Fault-Tolerance
• Scale out by running parallel workers on multiple servers
• Negligible overheads
27
Experiment 3
0
200
400
600
800
1000
0 10 20 30 40 50 60
Throughput(Mb/s)
Time (seconds)
Interval 5s
Interval 10s
t1 t2 t3 t4 t5
• Recover in order of seconds
• Recovery time is in proportion to checkpointing interval
28
Conclusion
• Present a new distributed stream processing system for
network analytics
• Propose a novel checkpointing protocol that provides
reliable fault tolerance for stream processing systems
• SAND can operate at core routers level and can recover
from failure in order of seconds
29
Thank you!
Q & A
30

More Related Content

What's hot

Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Daniel Gheorghita
 
NTP Project Presentation
NTP Project PresentationNTP Project Presentation
NTP Project Presentation
Andrew McGarry
 
Network and server infrastructure deployment
Network and server infrastructure deploymentNetwork and server infrastructure deployment
Network and server infrastructure deployment
Esfand Iar
 
Tech talk network - friend or foe
Tech talk   network - friend or foeTech talk   network - friend or foe
Tech talk network - friend or foe
aragozin
 

What's hot (20)

Software development for the COMPASS experiment
Software development for the COMPASS experimentSoftware development for the COMPASS experiment
Software development for the COMPASS experiment
 
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
Design and Implementation of a Load Balancing Algorithm for a Clustered SDN C...
 
Proof-based Verification of Software Defined Networks
Proof-based Verification of Software Defined NetworksProof-based Verification of Software Defined Networks
Proof-based Verification of Software Defined Networks
 
Traffic Engineering in Software-Defined Networks
Traffic Engineering in Software-Defined NetworksTraffic Engineering in Software-Defined Networks
Traffic Engineering in Software-Defined Networks
 
NTP Project Presentation
NTP Project PresentationNTP Project Presentation
NTP Project Presentation
 
Grds conferences icst and icbelsh (9)
Grds conferences icst and icbelsh (9)Grds conferences icst and icbelsh (9)
Grds conferences icst and icbelsh (9)
 
Network Time Synchronization
Network Time SynchronizationNetwork Time Synchronization
Network Time Synchronization
 
SDNs: hot topics, evolution & research opportunities
SDNs: hot topics, evolution & research opportunitiesSDNs: hot topics, evolution & research opportunities
SDNs: hot topics, evolution & research opportunities
 
Network and server infrastructure deployment
Network and server infrastructure deploymentNetwork and server infrastructure deployment
Network and server infrastructure deployment
 
Architecture of the oasis mobile shared virtual memory system
Architecture of the oasis mobile shared virtual memory systemArchitecture of the oasis mobile shared virtual memory system
Architecture of the oasis mobile shared virtual memory system
 
Network time sync solutions for security
Network time sync solutions for securityNetwork time sync solutions for security
Network time sync solutions for security
 
automatic test packet generation
automatic test packet generationautomatic test packet generation
automatic test packet generation
 
IEEE 2014 JAVA NETWORKING PROJECTS Automatic test packet generation
IEEE 2014 JAVA NETWORKING PROJECTS Automatic test packet generationIEEE 2014 JAVA NETWORKING PROJECTS Automatic test packet generation
IEEE 2014 JAVA NETWORKING PROJECTS Automatic test packet generation
 
Real Time Application Interface for Linux
Real Time Application Interface for LinuxReal Time Application Interface for Linux
Real Time Application Interface for Linux
 
Tech talk network - friend or foe
Tech talk   network - friend or foeTech talk   network - friend or foe
Tech talk network - friend or foe
 
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
 
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
 
Global state recording in Distributed Systems
Global state recording in Distributed SystemsGlobal state recording in Distributed Systems
Global state recording in Distributed Systems
 
Raft in details
Raft in detailsRaft in details
Raft in details
 
20210506 meeting2
20210506 meeting220210506 meeting2
20210506 meeting2
 

Viewers also liked

AkaydinStanfordCTRteaSeminar
AkaydinStanfordCTRteaSeminarAkaydinStanfordCTRteaSeminar
AkaydinStanfordCTRteaSeminar
Doğuş Akaydın
 
Design and validation of piezoelectric energy harvesting systems
Design and validation of piezoelectric energy harvesting systemsDesign and validation of piezoelectric energy harvesting systems
Design and validation of piezoelectric energy harvesting systems
Ilyas Caluwé
 
Piezo electric transducer
Piezo electric transducerPiezo electric transducer
Piezo electric transducer
arvind venkat
 

Viewers also liked (8)

AkaydinStanfordCTRteaSeminar
AkaydinStanfordCTRteaSeminarAkaydinStanfordCTRteaSeminar
AkaydinStanfordCTRteaSeminar
 
Rapid prototyping and modelling
Rapid prototyping and modellingRapid prototyping and modelling
Rapid prototyping and modelling
 
Piezoelectric Shunt Damping
Piezoelectric Shunt DampingPiezoelectric Shunt Damping
Piezoelectric Shunt Damping
 
The piezoelectric effect
The piezoelectric effectThe piezoelectric effect
The piezoelectric effect
 
Design and validation of piezoelectric energy harvesting systems
Design and validation of piezoelectric energy harvesting systemsDesign and validation of piezoelectric energy harvesting systems
Design and validation of piezoelectric energy harvesting systems
 
Piezoelectric Materials
Piezoelectric MaterialsPiezoelectric Materials
Piezoelectric Materials
 
Piezo electric transducer
Piezo electric transducerPiezo electric transducer
Piezo electric transducer
 
PIEZOELECTRIC MATERIALS
PIEZOELECTRIC MATERIALSPIEZOELECTRIC MATERIALS
PIEZOELECTRIC MATERIALS
 

Similar to SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics

Cloud data management
Cloud data managementCloud data management
Cloud data management
ambitlick
 
chaos-monkey-increasing (1) (1)
chaos-monkey-increasing (1) (1)chaos-monkey-increasing (1) (1)
chaos-monkey-increasing (1) (1)
Michael Alan Chang
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
Mahmoud Hatem
 
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
balmanme
 

Similar to SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics (20)

2009.08 grid peer-slides
2009.08 grid peer-slides2009.08 grid peer-slides
2009.08 grid peer-slides
 
Intro to Apache Apex - Next Gen Native Hadoop Platform - Hackac
Intro to Apache Apex - Next Gen Native Hadoop Platform - HackacIntro to Apache Apex - Next Gen Native Hadoop Platform - Hackac
Intro to Apache Apex - Next Gen Native Hadoop Platform - Hackac
 
Open programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devicesOpen programmable architecture for java enabled network devices
Open programmable architecture for java enabled network devices
 
Open Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network DevicesOpen Programmable Architecture for Java-enabled Network Devices
Open Programmable Architecture for Java-enabled Network Devices
 
Apache Apex: Stream Processing Architecture and Applications
Apache Apex: Stream Processing Architecture and ApplicationsApache Apex: Stream Processing Architecture and Applications
Apache Apex: Stream Processing Architecture and Applications
 
Apache Apex: Stream Processing Architecture and Applications
Apache Apex: Stream Processing Architecture and Applications Apache Apex: Stream Processing Architecture and Applications
Apache Apex: Stream Processing Architecture and Applications
 
I2C
I2CI2C
I2C
 
Distributed Checkpointing on an Enterprise Desktop Grid
Distributed Checkpointing on an Enterprise Desktop GridDistributed Checkpointing on an Enterprise Desktop Grid
Distributed Checkpointing on an Enterprise Desktop Grid
 
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
 
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data EU 2016: Next Gen Big Data Analytics with Apache Apex
 
Introduction to Apache Apex by Thomas Weise
Introduction to Apache Apex by Thomas WeiseIntroduction to Apache Apex by Thomas Weise
Introduction to Apache Apex by Thomas Weise
 
Cloud data management
Cloud data managementCloud data management
Cloud data management
 
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache ApexHadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
 
chaos-monkey-increasing (1) (1)
chaos-monkey-increasing (1) (1)chaos-monkey-increasing (1) (1)
chaos-monkey-increasing (1) (1)
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
SDN & NFV.pptx
SDN & NFV.pptxSDN & NFV.pptx
SDN & NFV.pptx
 
The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]The power of linux advanced tracer [POUG18]
The power of linux advanced tracer [POUG18]
 
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...Network-aware Data Management for Large Scale Distributed Applications, IBM R...
Network-aware Data Management for Large Scale Distributed Applications, IBM R...
 

Recently uploaded

Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
amitlee9823
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
amitlee9823
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
amitlee9823
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
amitlee9823
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
gajnagarg
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
amitlee9823
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
amitlee9823
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night StandCall Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
amitlee9823
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
gajnagarg
 

Recently uploaded (20)

Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men  🔝Ongole🔝   Escorts S...
➥🔝 7737669865 🔝▻ Ongole Call-girls in Women Seeking Men 🔝Ongole🔝 Escorts S...
 
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men  🔝Sambalpur🔝   Esc...
➥🔝 7737669865 🔝▻ Sambalpur Call-girls in Women Seeking Men 🔝Sambalpur🔝 Esc...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
Just Call Vip call girls Erode Escorts ☎️9352988975 Two shot with one girl (E...
 
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
Thane Call Girls 7091864438 Call Girls in Thane Escort service book now -
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night StandCall Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Attibele ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Begur Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night StandCall Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Shivaji Nagar ☎ 7737669865 🥵 Book Your One night Stand
 
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
5CL-ADBA,5cladba, Chinese supplier, safety is guaranteed
 
Predicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science ProjectPredicting Loan Approval: A Data Science Project
Predicting Loan Approval: A Data Science Project
 
Abortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get CytotecAbortion pills in Jeddah | +966572737505 | Get Cytotec
Abortion pills in Jeddah | +966572737505 | Get Cytotec
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
 
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
Just Call Vip call girls roorkee Escorts ☎️9352988975 Two shot with one girl ...
 

SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics

  • 1. SAND: A Fault-Tolerant Streaming Architecture for Network Traffic Analytics Qin Liu, John C.S. Lui 1 Cheng He, Lujia Pan, Wei Fan, Yunlong Shi 2 1The Chinese University of Hong Kong 2Huawei Noah’s Ark Lab 1
  • 3. Motivation Network traffic arrives in a streaming fashion, and should be processed in real-time. For example, 1. Network traffic classification 2. Anomaly detection 3. Policy and charging control in cellular networks 4. Recommendations based on user behaviors 3
  • 4. Challenges 1. A stream processing system must sustain high-speed network traffic in cellular core networks existing systems: S4 [Neumeyer’10], Storm 1 ... implemented in Java: heavy processing overheads cannot sustain high-speed network traffic 1 http://storm.incubator.apache.org/ 4
  • 5. Challenges 1. A stream processing system must sustain high-speed network traffic in cellular core networks existing systems: S4 [Neumeyer’10], Storm 1 ... implemented in Java: heavy processing overheads cannot sustain high-speed network traffic 2. For critical applications, it is necessary to provide correct results after failure recovery high hardware cost cannot provide “correct results” after failure recovery at-least-once vs. exactly-once 1 http://storm.incubator.apache.org/ 4
  • 6. Contributions Design and implement SAND in C++: • high performance on network traffic • a new fault tolerance scheme 5
  • 8. Background Continuous operator model: • Each node runs an operator with in-memory mutable state • For each input event, state is updated and new events are sent out Mutable state is lost if node fails. 7
  • 9. Example: AppTracker • AppTracker: traffic classification for cellular network traffic • Output traffic distribution in real-time: Application Distribution HTTP 15.60% Sina Weibo 4.13% QQ 2.56% DNS 2.34% HTTP in QQ 2.17% 8
  • 10. Example: AppTracker Under the continuous operator model: • Spout: capture packets from cellular network • Decoder: extract IP packets from raw packets • DPI-Engine: perform deep packet inspection on packets • Tracker: track the distribution of application level protocols (HTTP, P2P, Skype ...) 9
  • 12. Architecture of SAND One coordinator and multiple workers. Each worker can be seen as an operator. 11
  • 13. Coordinator Coordinator is responsible for • managing worker executions • detecting worker failures • relaying control messages among workers • monitoring performance statistics Zookeeper cluster provides fault tolerance and reliable coordination service. 12
  • 14. Worker Contain 3 types of processes: • The dispatcher decodes streams and distributes them to multiple analyzers • Each analyzer independently processes the assigned streams • The collector aggregates the intermediate results from all analyzers The container daemon • spawns or stops the processes • communicates with the coordinator 13
  • 15. Communication Channels Efficient communication channels: • Intra-worker: a lock-free shared memory ring buffer • Inter-worker: ZeroMQ, a socket library optimized for clustered products 14
  • 17. Previous Fault-Tolerance Schemes 1. Replication: each operator has a replica operator [Hwang’05,Shah’04,Balazinska’08] Data streams are processed twice by two identical nodes Synchronization protocols ensures exact ordering of events in both nodes On failure, the system switches over to the replica nodes 2x hardware cost. 16
  • 18. Previous Fault-Tolerance Schemes 2. Upstream backup with checkpoint [Fernandez’03,Gu’09]: Each node maintains backup of the forwarded events since last checkpoint On failure, upstream nodes replay the backup events serially to the failover node to recreate the state Less hardware cost. It’s hard to provide correct results after recovery. 17
  • 19. Why is it hard? • Stateful continuous operators tightly integrate “computation” with “mutable state” • Makes it harder to define clear boundaries when computation and state can be moved around 18
  • 20. Checkpointing • Need to coordinate checkpointing operation on each worker • 1985: Chandy-Lamport invented an asynchronous snapshot algorithm for distributed systems • A variant algorithm was implemented within SAND 19
  • 21. Checkpointing Protocol • Coordinator initiates a global checkpoint by sending markers to all source workers • For each worker w, on receiving a data event E from worker u if marker from u has arrived, w buffers E else w processes E normally on receiving a marker from worker u if all markers have arrived, w starts checkpointing operation 20
  • 22. Checkpointing Operation On each worker: • When a checkpoint starts, the worker creates child processes using fork • The parent processes then resume with the normal processing • The child processes write the internal state to HDFS, which performs replication for data reliability 21
  • 23. Output Buffer Buffer output events for recovery: • Each worker records output data events in its output buffer, so as to replay output events during failure recovery • When global checkpoint c is finished, data in output buffers before checkpoint c can be deleted 22
  • 24. Failure Recovery F a b c d e f g h DF PF • F: failed workers • DF : downstream workers of F • F ∪ DF : rolled back to the most recent checkpoint c • PF : the upstream workers of F ∪ DF • Workers in PF replay output events after checkpoint c 23
  • 26. Experiment 1 • Testbed: one quad-core machine with 4GB RAM • Dataset: packet header trace; 331 million packets accounting for 143GB of traffic • Application: packet counter System Packets/s Payload Rate Header Rate Storm 260K 840Mb/s 81.15Mb/s Blockmon 2.7M 8.4Gb/s 844.9Mb/s SAND 9.6M 31.4Gb/s 3031.7Mb/s • 3.7X and 37.4X compared to Blockmon [Simoncelli’13] and Storm 25
  • 27. Experiment 2 • Testbed: three 16-core machines with 94GB RAM • Dataset: a 2-hour network trace (32GB) collected from a commercial GPRS core network in China in 2013 • Application: AppTracker 26
  • 28. Experiment 2 0 200 400 600 800 1000 1200 0 2 4 6 8 10 12 Throughput(Mb/s) Number of Analyzers Interval 2s Interval 5s Interval 10s No Fault-Tolerance • Scale out by running parallel workers on multiple servers • Negligible overheads 27
  • 29. Experiment 3 0 200 400 600 800 1000 0 10 20 30 40 50 60 Throughput(Mb/s) Time (seconds) Interval 5s Interval 10s t1 t2 t3 t4 t5 • Recover in order of seconds • Recovery time is in proportion to checkpointing interval 28
  • 30. Conclusion • Present a new distributed stream processing system for network analytics • Propose a novel checkpointing protocol that provides reliable fault tolerance for stream processing systems • SAND can operate at core routers level and can recover from failure in order of seconds 29