SlideShare a Scribd company logo
1 of 11
Download to read offline
PLASTER
PYNQ-based abandoned object detection using a
map-reduce approach on a multi-FPGA cluster
Daniele Valentino De Vincenti   danielevalentino.devincenti@mail.polimi.it
Lorenzo Farinelli                                lorenzo.farinelli@mail.polimi.it
Luca Stornaiuolo                     luca.stornaiuolo@polimi.it
Rolando Brondolin                     rolando.brondolin@polimi.it
July 19th 2020
VNGC project presentation
Context
2
Neural networks running on
embedded devices are :
▪ Computationally intensive
▪ Strongly memory bound
▪ Resource hungry
▪ Power consuming
https://www.flaticon.com/authors/freepik
Our solution
3
▪ PYNQ-based multi-FPGA cluster
for the:
○ Flexibility of the infrastructure
○ Reliability and redundancy
○ Portability and ease of setup
(e.g. events)
○ High computational power
○ Heterogeneous design
○ Embedded system
▪ Abandoned object detection
using accelerated YOLO detector
https://www.flaticon.com/authors/eucalyp
▪ C++ node manager for fast
communication
▪ End-user Python libraries for
ease of use
https://www.flaticon.com/free-icon/purchase-summary_1949624
https://github.com/dhm2013724/yolov2_xilinx_fpga
Multi-FPGA cluster
4
▪ Distributed system of accelerators
▪ Self-managed cluster of PYNQ-Z1s
▪ On-the-fly reconfiguration of FPGAs
to start new tasks and jobs
Cluster design
5
Rendering of a 3-PYNQ-Z1s configuration of the cluster, with the boards facing outwards to improve heat dissipation.
A fan will be placed on top, and on the side the cluster will be surrounded by a plexiglass pane to force the airflow to
go from bottom to top. In the central hole a network switch will be hosted, to connect together the boards.
Application
6
▪ Video input is gathered and split
into frames
▪ Frame chunks are sent to multiple
board for classification
▪ Results from the classification stage
are sent to a second analyzing stage
▪ Final results are aggregated and
sent back to the user
User Cluster
Node manager
7
https://creativemarket.com/Becris
▪ Fast underlying communication
layer
▪ Easy reconfigurability of nodes for
different tasks
▪ Simple rearrangement of the cluster
in case of failures
▪ Ease of use through a set of Python
APIs
Python libraries
8
▪ Python APIs to build applications
running on the cluster
▪ Easy configuration and assignment
of bit-streams to the boards
▪ Dedicated functions for the
communication and file exchange
between nodes
▪ Transparent C++ management layer
Results / user APIs
9
UML class diagrams of the base class representing a task of a distributed application and specifying the
APIs provided by the Python library to interact with the cluster and manage the execution of apps.
When developing a distributed application, a user only has to import PlasterTask in the app’s Python
code and implement a concrete subclass to define a custom behavior for the task.
ExecutorWrapper is used to expose methods to let tasks interact with the cluster (e.g. send/receive data)
Results / transfer times
10
File size Plaster transfer time Python transfer time
50 MB 194.094 ms 1.0 s
100 MB 300.680 ms 2.0 s
200 MB 600.392 ms 3.976 s
500 MB 1866.889 ms 9.679 s
Transfer times to move a file of the specified size from one board to another. The values refers to the time between
the 1st
file transfer request (from recipient to owner) and the reception (and disk writing) of the last chunk of the file,
comparing the results obtained by using the communication APIs of the cluster (left) and by explicitly defining a file
transfer function from scratch in Python (right)
Thank you
Lorenzo Farinelli
MSc Computer Science & Engineering
lorenzo.farinelli@mail.polimi.it
11
Luca Stornaiuolo
PhD - Computer Science & Engineering
luca.stornaiuolo@polimi.it
Daniele Valentino De Vincenti
Ba Biomedical Engineering
danielevalentino.devincenti@mail.polimi.it
Project code available at: https://bitbucket.org/necst/pynq-cluster/
Rolando Brondolin
PhD - Information Technology
rolando.brondolin@polimi.it

More Related Content

What's hot

Analysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleAnalysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleJakub Žitný
 
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebularOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebulaNETWAYS
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)ITCamp
 
Software-Defined Networking for Intelligent Data Movement
Software-Defined Networking for Intelligent Data MovementSoftware-Defined Networking for Intelligent Data Movement
Software-Defined Networking for Intelligent Data MovementMinh Nguyen
 
Working with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisWorking with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisRob Emanuele
 

What's hot (7)

Analysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scaleAnalysing NPM and JavaScript at scale
Analysing NPM and JavaScript at scale
 
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebularOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
rOCCI – Providing Interoperability through OCCI 1.1 Support for OpenNebula
 
.NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
 
Software-Defined Networking for Intelligent Data Movement
Software-Defined Networking for Intelligent Data MovementSoftware-Defined Networking for Intelligent Data Movement
Software-Defined Networking for Intelligent Data Movement
 
Fluent Bit
Fluent BitFluent Bit
Fluent Bit
 
Working with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and GeotrellisWorking with OpenStreetMap using Apache Spark and Geotrellis
Working with OpenStreetMap using Apache Spark and Geotrellis
 
Afanasov14flynet slides
Afanasov14flynet slidesAfanasov14flynet slides
Afanasov14flynet slides
 

Similar to Abandoned Object Detection Using PYNQ-Based Multi-FPGA Cluster

ZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsGokhan Boranalp
 
Automatically partitioning packet processing applications for pipelined archi...
Automatically partitioning packet processing applications for pipelined archi...Automatically partitioning packet processing applications for pipelined archi...
Automatically partitioning packet processing applications for pipelined archi...Ashley Carter
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of ThingsMarkku Laine
 
CPaaS.io Y1 Review Meeting - Cloud & Edge Programming
CPaaS.io Y1 Review Meeting - Cloud & Edge ProgrammingCPaaS.io Y1 Review Meeting - Cloud & Edge Programming
CPaaS.io Y1 Review Meeting - Cloud & Edge ProgrammingStephan Haller
 
IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopEleni Trouva
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersMirantis
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Trayan Iliev
 
Hpc Cloud project Overview
Hpc Cloud project OverviewHpc Cloud project Overview
Hpc Cloud project OverviewFloris Sluiter
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific ComputingPeter Bryzgalov
 
FIWARE Global Summit - FogFlow, a new GE for IoT Edge Computing
FIWARE Global Summit - FogFlow, a new GE for IoT Edge ComputingFIWARE Global Summit - FogFlow, a new GE for IoT Edge Computing
FIWARE Global Summit - FogFlow, a new GE for IoT Edge ComputingFIWARE
 
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...NETWAYS
 
From leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_finalFrom leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_finalLukas Ott
 
Archiving data from Durham to RAL using the File Transfer Service (FTS)
Archiving data from Durham to RAL using the File Transfer Service (FTS)Archiving data from Durham to RAL using the File Transfer Service (FTS)
Archiving data from Durham to RAL using the File Transfer Service (FTS)Jisc
 
Edge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisEdge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisNitinder Mohan
 
CENGN - OpenStack MeetUp - March 2017
CENGN - OpenStack MeetUp - March 2017CENGN - OpenStack MeetUp - March 2017
CENGN - OpenStack MeetUp - March 2017Stacy Véronneau
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructureFernando Lopez Aguilar
 

Similar to Abandoned Object Detection Using PYNQ-Based Multi-FPGA Cluster (20)

The Computing Continuum.pdf
The Computing Continuum.pdfThe Computing Continuum.pdf
The Computing Continuum.pdf
 
ZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed SystemsZCloud Consensus on Hardware for Distributed Systems
ZCloud Consensus on Hardware for Distributed Systems
 
Automatically partitioning packet processing applications for pipelined archi...
Automatically partitioning packet processing applications for pipelined archi...Automatically partitioning packet processing applications for pipelined archi...
Automatically partitioning packet processing applications for pipelined archi...
 
Web Services for the Internet of Things
Web Services for the Internet of ThingsWeb Services for the Internet of Things
Web Services for the Internet of Things
 
CPaaS.io Y1 Review Meeting - Cloud & Edge Programming
CPaaS.io Y1 Review Meeting - Cloud & Edge ProgrammingCPaaS.io Y1 Review Meeting - Cloud & Edge Programming
CPaaS.io Y1 Review Meeting - Cloud & Edge Programming
 
IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE Workshop
 
Dice presents-feb2014
Dice presents-feb2014Dice presents-feb2014
Dice presents-feb2014
 
Using Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M usersUsing Kubernetes to make cellular data plans cheaper for 50M users
Using Kubernetes to make cellular data plans cheaper for 50M users
 
Japan's post K Computer
Japan's post K ComputerJapan's post K Computer
Japan's post K Computer
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
Hpc Cloud project Overview
Hpc Cloud project OverviewHpc Cloud project Overview
Hpc Cloud project Overview
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
FIWARE Global Summit - FogFlow, a new GE for IoT Edge Computing
FIWARE Global Summit - FogFlow, a new GE for IoT Edge ComputingFIWARE Global Summit - FogFlow, a new GE for IoT Edge Computing
FIWARE Global Summit - FogFlow, a new GE for IoT Edge Computing
 
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...
stackconf 2021 | Setup Min.io and Open Policy Agent for a multi purpose scien...
 
From leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_finalFrom leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_final
 
Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015Feec telecom-nw-softwarization-aug-2015
Feec telecom-nw-softwarization-aug-2015
 
Archiving data from Durham to RAL using the File Transfer Service (FTS)
Archiving data from Durham to RAL using the File Transfer Service (FTS)Archiving data from Durham to RAL using the File Transfer Service (FTS)
Archiving data from Durham to RAL using the File Transfer Service (FTS)
 
Edge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesisEdge Computing Platforms and Protocols - Ph.D. thesis
Edge Computing Platforms and Protocols - Ph.D. thesis
 
CENGN - OpenStack MeetUp - March 2017
CENGN - OpenStack MeetUp - March 2017CENGN - OpenStack MeetUp - March 2017
CENGN - OpenStack MeetUp - March 2017
 
Monitoring federation open stack infrastructure
Monitoring federation open stack infrastructureMonitoring federation open stack infrastructure
Monitoring federation open stack infrastructure
 

More from NECST Lab @ Politecnico di Milano

Embedding based knowledge graph link prediction for drug repurposing
Embedding based knowledge graph link prediction for drug repurposingEmbedding based knowledge graph link prediction for drug repurposing
Embedding based knowledge graph link prediction for drug repurposingNECST Lab @ Politecnico di Milano
 
EMPhASIS - An EMbedded Public Attention Stress Identification System
 EMPhASIS - An EMbedded Public Attention Stress Identification System EMPhASIS - An EMbedded Public Attention Stress Identification System
EMPhASIS - An EMbedded Public Attention Stress Identification SystemNECST Lab @ Politecnico di Milano
 
Maeve - Fast genome analysis leveraging exact string matching
Maeve - Fast genome analysis leveraging exact string matchingMaeve - Fast genome analysis leveraging exact string matching
Maeve - Fast genome analysis leveraging exact string matchingNECST Lab @ Politecnico di Milano
 

More from NECST Lab @ Politecnico di Milano (20)

Mesticheria Team - WiiReflex
Mesticheria Team - WiiReflexMesticheria Team - WiiReflex
Mesticheria Team - WiiReflex
 
Punto e virgola Team - Stressometro
Punto e virgola Team - StressometroPunto e virgola Team - Stressometro
Punto e virgola Team - Stressometro
 
BitIt Team - Stay.straight
BitIt Team - Stay.straight BitIt Team - Stay.straight
BitIt Team - Stay.straight
 
BabYodini Team - Talking Gloves
BabYodini Team - Talking GlovesBabYodini Team - Talking Gloves
BabYodini Team - Talking Gloves
 
printf("Nome Squadra"); Team - NeoTon
printf("Nome Squadra"); Team - NeoTonprintf("Nome Squadra"); Team - NeoTon
printf("Nome Squadra"); Team - NeoTon
 
BlackBoard Team - Motion Tracking Platform
BlackBoard Team - Motion Tracking PlatformBlackBoard Team - Motion Tracking Platform
BlackBoard Team - Motion Tracking Platform
 
#include<brain.h> Team - HomeBeatHome
#include<brain.h> Team - HomeBeatHome#include<brain.h> Team - HomeBeatHome
#include<brain.h> Team - HomeBeatHome
 
Flipflops Team - Wave U
Flipflops Team - Wave UFlipflops Team - Wave U
Flipflops Team - Wave U
 
Bug(atta) Team - Little Brother
Bug(atta) Team - Little BrotherBug(atta) Team - Little Brother
Bug(atta) Team - Little Brother
 
#NECSTCamp: come partecipare
#NECSTCamp: come partecipare#NECSTCamp: come partecipare
#NECSTCamp: come partecipare
 
NECSTCamp101@2020.10.1
NECSTCamp101@2020.10.1NECSTCamp101@2020.10.1
NECSTCamp101@2020.10.1
 
NECSTLab101 2020.2021
NECSTLab101 2020.2021NECSTLab101 2020.2021
NECSTLab101 2020.2021
 
TreeHouse, nourish your community
TreeHouse, nourish your communityTreeHouse, nourish your community
TreeHouse, nourish your community
 
TiReX: Tiled Regular eXpressionsmatching architecture
TiReX: Tiled Regular eXpressionsmatching architectureTiReX: Tiled Regular eXpressionsmatching architecture
TiReX: Tiled Regular eXpressionsmatching architecture
 
Embedding based knowledge graph link prediction for drug repurposing
Embedding based knowledge graph link prediction for drug repurposingEmbedding based knowledge graph link prediction for drug repurposing
Embedding based knowledge graph link prediction for drug repurposing
 
EMPhASIS - An EMbedded Public Attention Stress Identification System
 EMPhASIS - An EMbedded Public Attention Stress Identification System EMPhASIS - An EMbedded Public Attention Stress Identification System
EMPhASIS - An EMbedded Public Attention Stress Identification System
 
Luns - Automatic lungs segmentation through neural network
Luns - Automatic lungs segmentation through neural networkLuns - Automatic lungs segmentation through neural network
Luns - Automatic lungs segmentation through neural network
 
BlastFunction: How to combine Serverless and FPGAs
BlastFunction: How to combine Serverless and FPGAsBlastFunction: How to combine Serverless and FPGAs
BlastFunction: How to combine Serverless and FPGAs
 
Maeve - Fast genome analysis leveraging exact string matching
Maeve - Fast genome analysis leveraging exact string matchingMaeve - Fast genome analysis leveraging exact string matching
Maeve - Fast genome analysis leveraging exact string matching
 
EMoCy - Emotions Monitoring via wearable Computing System
EMoCy - Emotions Monitoring via wearable Computing SystemEMoCy - Emotions Monitoring via wearable Computing System
EMoCy - Emotions Monitoring via wearable Computing System
 

Recently uploaded

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitterShivangiSharma879191
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Recently uploaded (20)

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter8251 universal synchronous asynchronous receiver transmitter
8251 universal synchronous asynchronous receiver transmitter
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

Abandoned Object Detection Using PYNQ-Based Multi-FPGA Cluster

  • 1. PLASTER PYNQ-based abandoned object detection using a map-reduce approach on a multi-FPGA cluster Daniele Valentino De Vincenti   danielevalentino.devincenti@mail.polimi.it Lorenzo Farinelli                                lorenzo.farinelli@mail.polimi.it Luca Stornaiuolo                     luca.stornaiuolo@polimi.it Rolando Brondolin                     rolando.brondolin@polimi.it July 19th 2020 VNGC project presentation
  • 2. Context 2 Neural networks running on embedded devices are : ▪ Computationally intensive ▪ Strongly memory bound ▪ Resource hungry ▪ Power consuming https://www.flaticon.com/authors/freepik
  • 3. Our solution 3 ▪ PYNQ-based multi-FPGA cluster for the: ○ Flexibility of the infrastructure ○ Reliability and redundancy ○ Portability and ease of setup (e.g. events) ○ High computational power ○ Heterogeneous design ○ Embedded system ▪ Abandoned object detection using accelerated YOLO detector https://www.flaticon.com/authors/eucalyp ▪ C++ node manager for fast communication ▪ End-user Python libraries for ease of use https://www.flaticon.com/free-icon/purchase-summary_1949624 https://github.com/dhm2013724/yolov2_xilinx_fpga
  • 4. Multi-FPGA cluster 4 ▪ Distributed system of accelerators ▪ Self-managed cluster of PYNQ-Z1s ▪ On-the-fly reconfiguration of FPGAs to start new tasks and jobs
  • 5. Cluster design 5 Rendering of a 3-PYNQ-Z1s configuration of the cluster, with the boards facing outwards to improve heat dissipation. A fan will be placed on top, and on the side the cluster will be surrounded by a plexiglass pane to force the airflow to go from bottom to top. In the central hole a network switch will be hosted, to connect together the boards.
  • 6. Application 6 ▪ Video input is gathered and split into frames ▪ Frame chunks are sent to multiple board for classification ▪ Results from the classification stage are sent to a second analyzing stage ▪ Final results are aggregated and sent back to the user User Cluster
  • 7. Node manager 7 https://creativemarket.com/Becris ▪ Fast underlying communication layer ▪ Easy reconfigurability of nodes for different tasks ▪ Simple rearrangement of the cluster in case of failures ▪ Ease of use through a set of Python APIs
  • 8. Python libraries 8 ▪ Python APIs to build applications running on the cluster ▪ Easy configuration and assignment of bit-streams to the boards ▪ Dedicated functions for the communication and file exchange between nodes ▪ Transparent C++ management layer
  • 9. Results / user APIs 9 UML class diagrams of the base class representing a task of a distributed application and specifying the APIs provided by the Python library to interact with the cluster and manage the execution of apps. When developing a distributed application, a user only has to import PlasterTask in the app’s Python code and implement a concrete subclass to define a custom behavior for the task. ExecutorWrapper is used to expose methods to let tasks interact with the cluster (e.g. send/receive data)
  • 10. Results / transfer times 10 File size Plaster transfer time Python transfer time 50 MB 194.094 ms 1.0 s 100 MB 300.680 ms 2.0 s 200 MB 600.392 ms 3.976 s 500 MB 1866.889 ms 9.679 s Transfer times to move a file of the specified size from one board to another. The values refers to the time between the 1st file transfer request (from recipient to owner) and the reception (and disk writing) of the last chunk of the file, comparing the results obtained by using the communication APIs of the cluster (left) and by explicitly defining a file transfer function from scratch in Python (right)
  • 11. Thank you Lorenzo Farinelli MSc Computer Science & Engineering lorenzo.farinelli@mail.polimi.it 11 Luca Stornaiuolo PhD - Computer Science & Engineering luca.stornaiuolo@polimi.it Daniele Valentino De Vincenti Ba Biomedical Engineering danielevalentino.devincenti@mail.polimi.it Project code available at: https://bitbucket.org/necst/pynq-cluster/ Rolando Brondolin PhD - Information Technology rolando.brondolin@polimi.it