Publication | Closed Access
Making OpenVX Really "Real Time"
32
Citations
43
References
2018
Year
Unknown Venue
Cluster ComputingEngineeringComputer ArchitectureAvailable ParallelismEmbedded SystemsReal-time SystemReal-time Embedded SystemsVirtual RealitySystems EngineeringReal-time ApplicationParallel ComputingComputer EngineeringScheduling (Computing)Computer ScienceReal-time ComputingReal-time AlgorithmComputer VisionEdge ComputingReal-time Multiprocessor SystemReal-time FocusReal-time SystemsParallel ProgrammingReal Time
OpenVX is a recently ratified standard that was expressly proposed to facilitate the design of computer-vision (CV) applications used in real-time embedded systems. Despite its real-time focus, OpenVX presents several challenges when validating real-time constraints. Many of these challenges are rooted in the fact that OpenVX only implicitly defines any notion of a schedulable entity. Under OpenVX, CV applications are specified in the form of processing graphs that are inherently considered to execute monolithically end-to-end. This monolithic execution hinders parallelism and can lead to significant processing-capacity loss. Prior work partially addressed this problem by treating graph nodes as schedulable entities, but under OpenVX, these nodes represent rather coarse-grained CV functions, so the available parallelism that can be obtained in this way is quite limited. In this paper, a much more fine-grained approach for scheduling OpenVX graphs is proposed. This approach was designed to enable additional parallelism and to eliminate schedulability-related processing-capacity loss that arises when programs execute on both CPUs and graphics processing units (GPUs). Response-time analysis for this new approach is presented and its efficacy is evaluated via a case study involving an actual CV application.
| Year | Citations | |
|---|---|---|
Page 1
Page 1