Towards Executing Computer Vision Functionality on Programmable Network Devices

By offering the possibility to already perform processing as packets traverse the network, programmable data planes open up new perspectives for applications suffering from strict latency and high bandwidth requirements. Real-time Computer Vision (CV), with its high data rates and often mission- and safety-critical roles in the control of autonomous vehicles and industrial machinery, could particularly benefit from executing parts of its logic within network elements. In this paper, we thus explore what it takes to bring CV to the network. We present our work-in-progress efforts of implementing a line-following algorithm based on convolution filters on a P4-programmable NIC. We find that by appropriately identifying regions of interest in the image data and by diligently distributing the necessary calculations among the various match/action stages of the ingress- and egress pipelines of the NIC, our prototypical implementation can achieve over 19 decisions per second on 640x480 px grayscale images with filters large enough to guide a small autonomous car through various courses.

[1]  Miguel Arias-Estrada,et al.  An FPGA 2D-convolution unit based on the CAPH language , 2015, Journal of Real-Time Image Processing.

[2]  Craig Partridge,et al.  Smart packets: applying active networks to network management , 2000, TOCS.

[3]  Jitendra Malik,et al.  The three R's of computer vision: Recognition, reconstruction and reorganization , 2016, Pattern Recognit. Lett..

[4]  Hubert B. Keller,et al.  Progression and Evaluation of a Camera-Based Measurement System for Multifuel Burners Under Industrial Process Conditions , 2019, IEEE Transactions on Industrial Informatics.

[5]  Jacob Scharcanski,et al.  Edge detection of color images using directional operators , 1997, IEEE Trans. Circuits Syst. Video Technol..

[6]  Inkyu Moon,et al.  Color-to-grayscale algorithms effect on edge detection — A comparative study , 2018, 2018 International Conference on Electronics, Information, and Communication (ICEIC).

[7]  Muhamad Risqi U. Saputra,et al.  Visual SLAM and Structure from Motion in Dynamic Environments , 2018, ACM Comput. Surv..

[8]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[9]  Brandon Lucia,et al.  Orbital Edge Computing: Machine Inference in Space , 2019, IEEE Computer Architecture Letters.

[10]  Klaus Wehrle,et al.  A Case for Integrated Data Processing in Large-Scale Cyber-Physical Systems , 2019, HICSS.

[11]  Mira Mezini,et al.  Online Reprogrammable Multi Tenant Switches , 2019, ENCP@CoNEXT.

[12]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[13]  Zhuo Chen,et al.  Bandwidth-Efficient Live Video Analytics for Drones Via Edge Computing , 2018, 2018 IEEE/ACM Symposium on Edge Computing (SEC).

[14]  Eros Comunello,et al.  Passive Vision Region-Based Road Detection , 2019, ACM Comput. Surv..

[15]  Torsten Sattler,et al.  Project AutoVision: Localization and 3D Scene Perception for an Autonomous Vehicle with a Multi-Camera System , 2018, 2019 International Conference on Robotics and Automation (ICRA).

[16]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[17]  J. Zander,et al.  The SOFTNET project: a retrospect , 1988, 8th European Conference on Electrotechnics, Conference Proceedings on Area Communication.

[18]  Jan Rüth,et al.  Towards In-Network Industrial Feedback Control , 2018, NetCompute@SIGCOMM.

[19]  George Varghese,et al.  P4: programming protocol-independent packet processors , 2013, CCRV.

[20]  Nate Foster,et al.  NetCache: Balancing Key-Value Stores with Fast In-Network Caching , 2017, SOSP.

[21]  Philippe Cudré-Mauroux,et al.  The Case for Network Accelerated Query Processing , 2019, CIDR.

[22]  Forrest N. Iandola,et al.  SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <1MB model size , 2016, ArXiv.

[23]  Xin Zhang,et al.  Object class detection: A survey , 2013, CSUR.

[24]  Vassilis P. Plagianakos,et al.  Real time vision-based measurements for quality control of industrial rods on a moving conveyor , 2017, Multimedia Tools and Applications.

[25]  Bo Chen,et al.  MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications , 2017, ArXiv.

[26]  Panos Kalnis,et al.  In-Network Computation is a Dumb Idea Whose Time Has Come , 2017, HotNets.

[27]  Jialin Li,et al.  Just Say NO to Paxos Overhead: Replacing Consensus with Network Ordering , 2016, OSDI.

[28]  Fernando Gehm Moraes,et al.  A FPGA Parameterizable Multi-Layer Architecture for CNNs , 2019, 2019 32nd Symposium on Integrated Circuits and Systems Design (SBCCI).

[29]  S. Muthukrishnan,et al.  Heavy-Hitter Detection Entirely in the Data Plane , 2016 .

[30]  Minlan Yu,et al.  SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs , 2017, SIGCOMM.

[31]  Panos Kalnis,et al.  Scaling Distributed Machine Learning with In-Network Aggregation , 2019, NSDI.

[32]  Luciano Paschoal Gaspary,et al.  Offloading Real-time DDoS Attack Detection to Programmable Data Planes , 2019, 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).