VideoEdge: Processing Camera Streams using Hierarchical Clusters
- Chien-Chun Hung ,
- Ganesh Ananthanarayanan ,
- Peter Bodík ,
- Leana Golubchik ,
- Minlan Yu ,
- Victor Bahl ,
- Matthai Philipose
ACM/IEEE Symposium on Edge Computing (SEC) |
Organizations deploy a hierarchy of clusters – cameras, private clusters, public clouds – for analyzing live video feeds from their cameras. Video analytics queries have many implementation options which impact their resource demands and accuracy of outputs. Our objective is to select the “query plan” – implementations (and their knobs) – and place it across the hierarchy of clusters, and merge common components across queries to maximize the average query accuracy. This is a challenging task, because we have to consider multi-resource (network and compute) demands and constraints in the hierarchical cluster and search in an exponentially large search space for plans, placements, and merging. We propose VideoEdge, a system that introduces dominant demand to identify the best tradeoff between multiple resources and accuracy, and narrows the search space by identifying a “Pareto band” of promising configurations. VideoEdge also balances the resource benefits and accuracy penalty of merging queries. Deployment results show that VideoEdge improves accuracy by 25.4 times and 5.4 times compared to fair allocation of resources and a recent solution for video query planning (VideoStorm), respectively, and is within 6% of optimum.