Edge-distributed Stream Processing for Video Analytics in Smart City Applications
Smart Cities, Edge Computing, Intelligent Video Analytics, Information Fusion, Stream Processing.
Emerging IoT applications based on distributed sensors and machine intelligence, especially in the context of smart cities, present many challenges for network and processing infrastructure. For example, a single system with a few dozen monitoring cameras is sufficient to saturate the city’s backbone. Such a system generates massive data streamsfor event-based applications that require rapid processing for immediate actions. Finding a missing person using facial recognition technology is one of those applications that require immediate action at the location where that person is since this location is perishable information. An encouraging plan to support the computational demand for widely geographically distributed systems is to integrate edge computing with machine intelligence tointerpret massive data near the sensor and reduce end-to-end latency in event processing. However, due to the limited capacity and heterogeneity of the edge devices, distributed processing is not trivial, especially when applications have different QoS requirements.This work presents an edge-distributed system framework that supports stream processingfor video analytics. Our approach encompasses an architecture, methods, and algorithms to (i) divide the heavy processing of large-scale video streams into various machine learning tasks; (ii) implementing these tasks as a data processing workflow on edge devices equipped with hardware accelerators for neural networks; (iii) allocate a set of nodes with sufficient processing capacity to perform the workflow, minimizing the operational costrelated to latency and energy and maximizing availability. We also propose to reuse nodes by performing tasks shared by various applications, such as facial recognition, thus optimizing the nodes’ throughput. We also present simulations to show that the distribution of processing across multiple edge nodes reduces latency and energy consumption and further improves availability compared to processing in the cloud.