SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
WIFI SSID: SparkAISummit | Password: UnifiedAnalytics
Behnam Robatmili, Jongse Park, and Blake Skinner
Bigstream Solutions
SparkWeaver: Accelerating
Real-time DNN
Applications with Spark
and DNNWEAVER
#UnifiedAnalytics #SparkAISummit
A little about Bigstream
3
Cross platform
Cross acceleration hardware
Intelligent, automatic
computation slicing
Zero code change
Dataflow Adaptation Layer
Bigstream Dataflow
Bigstream Hypervisor
HYPER-ACCELERATION
2X to 30X acceleration
BIG DATA PLATFORMS
Many-cores GPU FPGA
Ingest Bottleneck in Big Data
4
Applications with Ingest Bottleneck
● Many big data applications
○ Lots of raw data
○ Video surveillance
■ Industrial camera market is projected to increase 2.3x by 2024
[1]
■ For a 4k camera in 60fps, the amount of data per hour is 5.2
TB (1TB for 10fps)
○ Voice recognition
○ Fraud detection
5
1. https://www.gminsights.com/industry-analysis/ip-camera-market
Traditional Architecture does not Scale
6
Kafka
DNN
HDFS
Spark
Spark Streaming
- Online analytics
- Cross camera
Raw image frames
Batch processing
- Offline Training
- Offline analytics
Image features
1) Ingest stage
2) Data streaming
3) Online analytics
4) Offline analytics
Use Cases
● How many people went from the shoe department
to the jewelry department?
● How many people were observed walking around
the entire building on a given day?
7
Requires cross-camera online and
offline analytics
Traditional Architecture does not Scale
8
Kafka
DNN
HDFS
Spark
Spark
Streaming
Online analytics
Raw image frames
Batch processing
Offline analytics
Image features
Detection, Tracking, Anomaly detection, cross camera
Re-Identification, …
Semantic Compression with DNNs
● DNNs can be used for compression
○ Converting raw data into condensed, semantic data
○ For video analytics, we observed a ~5x
compression rate
9
1. https://www.gminsights.com/industry-analysis/ip-camera-market
Large Scale Image Processing
● Deep learning on traditional big data clusters
presents many challenges
○ Computationally intensive
■ Adds pressure to the entire ETL toolchain
○ Traditional CPUs are not ideal for evaluating DNN models
○ Doing many levels of DL processing on every input frame requires
■ Storing a lot of raw data
■ Storing and managing all interim data
10
DNN Optimized Ingest
11
Kafka Server
HDFS
Online analytics
Image Features
Offline
analytics
Batch
processing
Spark
Spark
Streaming
Datacenter Boundary
Challenges with DNNs
● Computationally expensive
● Require a lot of data and energy
12
DNNs with FPGA
● FPGAs are a good candidate
○ Faster than CPUs
○ More power efficient than GPUs
○ More programmable than ASICs
● Programmability
○ Need HDL
13
Solution: DNN+FPGA for Ingest
● Ingest only the data you need
○ Run DNNs on the edge
○ Condensed, meaningful features instead of raw, largely meaningless data
● Accelerate with FPGAs
○ Power efficient
○ Can be deployed with minimal infrastructure
○ Using DNNWEAVER technology for programmability
■ Compiler and full stack for automatic DNN acceleration
14
DNNWEAVER
15
DNNWEAVER
● Ease DNN Deployment to FPGAs
○ Tensorflow and ONNX
○ No code changes
○ No hardware expertise needed
● Open source implementation based on original paper[1]
● Enterprise version under development by Bigstream
16
1: https://github.com/hsharma35/dnnweaver2
End-to-end DNN acceleration
17
Tensorflow /
ONNX
Translator
Macro
Dataflow
Graph
Design
Planner
Resource
Allocation
Execution
Schedule
Design
Weaver
Hand
Optimized
Templates
Integrator
Memory
Interface
FPGA Binary
Inputs
Compiler Modules
Internal Outputs
Final Output
DNNWEAVER Compute Stack
18
SparkWeaver
19
SparkWeaver Architecture
20
Kafka Server
HDFS
Online analytics
Image Features
Offline
analytics
Batch
processing
FPGA Cluster
Spark
Spark
Streaming
YOLO
Detection and Tracking with YOLO[1]
and Deep SORT[3]
[1] Redmon et al. “You Only Look Once, Unified, Real-Time Object Detection”
[2] https://github.com/thtrieu/darkflow
[3] Wojke et. al. “Simple Online and Real Time Tracking with a Deep Association Metric”
Bounding Boxes
Tagged Bounding
Boxes
[2] [3]
21
Deep SORT
Image sources:
SparkWeaver Architecture
22
Kafka
HDFS
Image Features
Spark
Detection: YOLOv2
Tracking: Deep_SORT, ...
SparkWeaver Architecture
23
Kafka
HDFS
Image
Features
Spark
Detection: YOLOv2
Tracking: Deep_SORT, ...
● Multiple cameras stream video
to an FPGA cluster
● FPGA clusters implement
YOLOv2 with DNNWEAVER
● YOLO’s image features are
streamed to a Kafka server
● Features are aggregated by
Spark and written to HDFS
● Detection performed on the fog
layer, tracking on the cluster
Single Node Max FPS
24
Benchmark FPS
Traditional Architecture 7.3
Detection only 10
Tracking only 12.8
YOLO on DNNWEAVER 13.2
SparkWeaver 12.8
*Dependent on the number of people in a frame
Next Release Max FPS (projected)
25
Benchmark FPS
SparkWeaver 46.1
*Dependent on the number of people in a frame
Single Node Compression Rate
• 5.5x (82%)
– Deep_SORT tracking only needs the pixels within the
bounding boxes, and their locations
26
Demo
27
Streaming and Batch
Analytic Operations
28
Streaming Analysis
● Person Re-Identification[1]
○ Multiple solution (hot area of research)
○ Some solutions use pre-trained DNNs[2]
■ Generate a feature vector and apply similarity check on vectors
● Anomaly Detection[3]
○ Suspicious events/threats
29
1. Zheng et al “Person Re-identification: Past, Present, and Future”
2. Hermans et al “In Defense of the Triplet Loss for Person Re-Identification”
3. https://databricks.com/blog/2018/09/13/identify-suspicious-behavior-in-video-with-databricks-runtime-for-machine-learning.html
Use Case 1
How many people went from department X
to department Y?
30
select * from people_present where camera_id == X as peopleX
select * from people_present where camera_id == Y as peopleY
count(select person_id from peopleX inner join peopleY where
WITHIN_THRESHOLD(peopleX.exit, peopleY.enter))
people_present
person_id: INT,
camera_id: INT,
enter: TIMESTAMP,
exit: TIMESTAMP
Use Case 2
How many people were observed walking around the entire
building on a given day?
31
select id from unique_people where
count(select * from people_present where camera_id == CAMERA1) > 1 and
count(select * from people_present where camera_id == CAMERA2) > 1 and
count(select * from people_present where camera_id == CAMERA3) > 1 and
...
unique_people
id: INT
Conclusion
● DNN-optimized ingest
○ Smart compression
○ Use network resources on dense, highly meaningful data rather than sparse, raw
data
32
Conclusion
● FPGAs are well suited to DNN acceleration edge computing
○ Highly parallel
○ Power efficient
○ Can be deployed with minimal resources
○ DNNWEAVER can compile Tensorflow/ONNX to FPGA
● Not just DNNs, also infrastructure
○ Online and offline analytics
○ Moving data
33
About
the
Authors
34
behnam@bigstream.co jongse@bigstream.co blake@bigstream.co
DON’T FORGET TO RATE
AND REVIEW THE SESSIONS
SEARCH SPARK + AI SUMMIT

Weitere ähnliche Inhalte

Mehr von Databricks

Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringDatabricks
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixDatabricks
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationDatabricks
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchDatabricks
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesDatabricks
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesDatabricks
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsDatabricks
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkDatabricks
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkDatabricks
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesDatabricks
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkDatabricks
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeDatabricks
 
Machine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionMachine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionDatabricks
 
Jeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityJeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityDatabricks
 
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueIntuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueDatabricks
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentDatabricks
 
Improving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesImproving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesDatabricks
 
Importance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowImportance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowDatabricks
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta LakeDatabricks
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IODatabricks
 

Mehr von Databricks (20)

Why APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML MonitoringWhy APM Is Not the Same As ML Monitoring
Why APM Is Not the Same As ML Monitoring
 
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch FixThe Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
 
Stage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI IntegrationStage Level Scheduling Improving Big Data and AI Integration
Stage Level Scheduling Improving Big Data and AI Integration
 
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorchSimplify Data Conversion from Spark to TensorFlow and PyTorch
Simplify Data Conversion from Spark to TensorFlow and PyTorch
 
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on KubernetesScaling your Data Pipelines with Apache Spark on Kubernetes
Scaling your Data Pipelines with Apache Spark on Kubernetes
 
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark PipelinesScaling and Unifying SciKit Learn and Apache Spark Pipelines
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
 
Sawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature AggregationsSawtooth Windows for Feature Aggregations
Sawtooth Windows for Feature Aggregations
 
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen SinkRedis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
 
Re-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and SparkRe-imagine Data Monitoring with whylogs and Spark
Re-imagine Data Monitoring with whylogs and Spark
 
Raven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction QueriesRaven: End-to-end Optimization of ML Prediction Queries
Raven: End-to-end Optimization of ML Prediction Queries
 
Processing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache SparkProcessing Large Datasets for ADAS Applications using Apache Spark
Processing Large Datasets for ADAS Applications using Apache Spark
 
Massive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta LakeMassive Data Processing in Adobe Using Delta Lake
Massive Data Processing in Adobe Using Delta Lake
 
Machine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack DetectionMachine Learning CI/CD for Email Attack Detection
Machine Learning CI/CD for Email Attack Detection
 
Jeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and QualityJeeves Grows Up: An AI Chatbot for Performance and Quality
Jeeves Grows Up: An AI Chatbot for Performance and Quality
 
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + FugueIntuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
Intuitive & Scalable Hyperparameter Tuning with Apache Spark + Fugue
 
Infrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload DeploymentInfrastructure Agnostic Machine Learning Workload Deployment
Infrastructure Agnostic Machine Learning Workload Deployment
 
Improving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot InstancesImproving Apache Spark for Dynamic Allocation and Spot Instances
Improving Apache Spark for Dynamic Allocation and Spot Instances
 
Importance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLowImportance of ML Reproducibility & Applications with MLfLow
Importance of ML Reproducibility & Applications with MLfLow
 
Hyperspace for Delta Lake
Hyperspace for Delta LakeHyperspace for Delta Lake
Hyperspace for Delta Lake
 
How We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IOHow We Optimize Spark SQL Jobs With parallel and sync IO
How We Optimize Spark SQL Jobs With parallel and sync IO
 

Kürzlich hochgeladen

April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998YohFuh
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxolyaivanovalion
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfMarinCaroMartnezBerg
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptxAnupama Kate
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxolyaivanovalion
 

Kürzlich hochgeladen (20)

April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998RA-11058_IRR-COMPRESS Do 198 series of 1998
RA-11058_IRR-COMPRESS Do 198 series of 1998
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service AmravatiVIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
VIP Call Girls in Amravati Aarohi 8250192130 Independent Escort Service Amravati
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx100-Concepts-of-AI by Anupama Kate .pptx
100-Concepts-of-AI by Anupama Kate .pptx
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Carero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptxCarero dropshipping via API with DroFx.pptx
Carero dropshipping via API with DroFx.pptx
 

SparkWeaver: Full-Stack Solution to Accelerate Real-Time DNN Applications on FPGA-Enabled Spark Streaming

  • 1. WIFI SSID: SparkAISummit | Password: UnifiedAnalytics
  • 2. Behnam Robatmili, Jongse Park, and Blake Skinner Bigstream Solutions SparkWeaver: Accelerating Real-time DNN Applications with Spark and DNNWEAVER #UnifiedAnalytics #SparkAISummit
  • 3. A little about Bigstream 3 Cross platform Cross acceleration hardware Intelligent, automatic computation slicing Zero code change Dataflow Adaptation Layer Bigstream Dataflow Bigstream Hypervisor HYPER-ACCELERATION 2X to 30X acceleration BIG DATA PLATFORMS Many-cores GPU FPGA
  • 4. Ingest Bottleneck in Big Data 4
  • 5. Applications with Ingest Bottleneck ● Many big data applications ○ Lots of raw data ○ Video surveillance ■ Industrial camera market is projected to increase 2.3x by 2024 [1] ■ For a 4k camera in 60fps, the amount of data per hour is 5.2 TB (1TB for 10fps) ○ Voice recognition ○ Fraud detection 5 1. https://www.gminsights.com/industry-analysis/ip-camera-market
  • 6. Traditional Architecture does not Scale 6 Kafka DNN HDFS Spark Spark Streaming - Online analytics - Cross camera Raw image frames Batch processing - Offline Training - Offline analytics Image features 1) Ingest stage 2) Data streaming 3) Online analytics 4) Offline analytics
  • 7. Use Cases ● How many people went from the shoe department to the jewelry department? ● How many people were observed walking around the entire building on a given day? 7 Requires cross-camera online and offline analytics
  • 8. Traditional Architecture does not Scale 8 Kafka DNN HDFS Spark Spark Streaming Online analytics Raw image frames Batch processing Offline analytics Image features Detection, Tracking, Anomaly detection, cross camera Re-Identification, …
  • 9. Semantic Compression with DNNs ● DNNs can be used for compression ○ Converting raw data into condensed, semantic data ○ For video analytics, we observed a ~5x compression rate 9 1. https://www.gminsights.com/industry-analysis/ip-camera-market
  • 10. Large Scale Image Processing ● Deep learning on traditional big data clusters presents many challenges ○ Computationally intensive ■ Adds pressure to the entire ETL toolchain ○ Traditional CPUs are not ideal for evaluating DNN models ○ Doing many levels of DL processing on every input frame requires ■ Storing a lot of raw data ■ Storing and managing all interim data 10
  • 11. DNN Optimized Ingest 11 Kafka Server HDFS Online analytics Image Features Offline analytics Batch processing Spark Spark Streaming Datacenter Boundary
  • 12. Challenges with DNNs ● Computationally expensive ● Require a lot of data and energy 12
  • 13. DNNs with FPGA ● FPGAs are a good candidate ○ Faster than CPUs ○ More power efficient than GPUs ○ More programmable than ASICs ● Programmability ○ Need HDL 13
  • 14. Solution: DNN+FPGA for Ingest ● Ingest only the data you need ○ Run DNNs on the edge ○ Condensed, meaningful features instead of raw, largely meaningless data ● Accelerate with FPGAs ○ Power efficient ○ Can be deployed with minimal infrastructure ○ Using DNNWEAVER technology for programmability ■ Compiler and full stack for automatic DNN acceleration 14
  • 16. DNNWEAVER ● Ease DNN Deployment to FPGAs ○ Tensorflow and ONNX ○ No code changes ○ No hardware expertise needed ● Open source implementation based on original paper[1] ● Enterprise version under development by Bigstream 16 1: https://github.com/hsharma35/dnnweaver2
  • 17. End-to-end DNN acceleration 17 Tensorflow / ONNX Translator Macro Dataflow Graph Design Planner Resource Allocation Execution Schedule Design Weaver Hand Optimized Templates Integrator Memory Interface FPGA Binary Inputs Compiler Modules Internal Outputs Final Output
  • 20. SparkWeaver Architecture 20 Kafka Server HDFS Online analytics Image Features Offline analytics Batch processing FPGA Cluster Spark Spark Streaming
  • 21. YOLO Detection and Tracking with YOLO[1] and Deep SORT[3] [1] Redmon et al. “You Only Look Once, Unified, Real-Time Object Detection” [2] https://github.com/thtrieu/darkflow [3] Wojke et. al. “Simple Online and Real Time Tracking with a Deep Association Metric” Bounding Boxes Tagged Bounding Boxes [2] [3] 21 Deep SORT Image sources:
  • 23. SparkWeaver Architecture 23 Kafka HDFS Image Features Spark Detection: YOLOv2 Tracking: Deep_SORT, ... ● Multiple cameras stream video to an FPGA cluster ● FPGA clusters implement YOLOv2 with DNNWEAVER ● YOLO’s image features are streamed to a Kafka server ● Features are aggregated by Spark and written to HDFS ● Detection performed on the fog layer, tracking on the cluster
  • 24. Single Node Max FPS 24 Benchmark FPS Traditional Architecture 7.3 Detection only 10 Tracking only 12.8 YOLO on DNNWEAVER 13.2 SparkWeaver 12.8 *Dependent on the number of people in a frame
  • 25. Next Release Max FPS (projected) 25 Benchmark FPS SparkWeaver 46.1 *Dependent on the number of people in a frame
  • 26. Single Node Compression Rate • 5.5x (82%) – Deep_SORT tracking only needs the pixels within the bounding boxes, and their locations 26
  • 29. Streaming Analysis ● Person Re-Identification[1] ○ Multiple solution (hot area of research) ○ Some solutions use pre-trained DNNs[2] ■ Generate a feature vector and apply similarity check on vectors ● Anomaly Detection[3] ○ Suspicious events/threats 29 1. Zheng et al “Person Re-identification: Past, Present, and Future” 2. Hermans et al “In Defense of the Triplet Loss for Person Re-Identification” 3. https://databricks.com/blog/2018/09/13/identify-suspicious-behavior-in-video-with-databricks-runtime-for-machine-learning.html
  • 30. Use Case 1 How many people went from department X to department Y? 30 select * from people_present where camera_id == X as peopleX select * from people_present where camera_id == Y as peopleY count(select person_id from peopleX inner join peopleY where WITHIN_THRESHOLD(peopleX.exit, peopleY.enter)) people_present person_id: INT, camera_id: INT, enter: TIMESTAMP, exit: TIMESTAMP
  • 31. Use Case 2 How many people were observed walking around the entire building on a given day? 31 select id from unique_people where count(select * from people_present where camera_id == CAMERA1) > 1 and count(select * from people_present where camera_id == CAMERA2) > 1 and count(select * from people_present where camera_id == CAMERA3) > 1 and ... unique_people id: INT
  • 32. Conclusion ● DNN-optimized ingest ○ Smart compression ○ Use network resources on dense, highly meaningful data rather than sparse, raw data 32
  • 33. Conclusion ● FPGAs are well suited to DNN acceleration edge computing ○ Highly parallel ○ Power efficient ○ Can be deployed with minimal resources ○ DNNWEAVER can compile Tensorflow/ONNX to FPGA ● Not just DNNs, also infrastructure ○ Online and offline analytics ○ Moving data 33
  • 35. DON’T FORGET TO RATE AND REVIEW THE SESSIONS SEARCH SPARK + AI SUMMIT