Many tasks in computer vision are computationally intensive. Furthermore, when real-time operations are needed, they must be performed at live video rates. To keep up with these demanding computations and capacious data rates in real time, the processing engine must exploit parallelism. The Datacube MaxPCI and Network Of Workstation (NOW) are two examples of popular computing engines for real-time vision applications. Traditionally, a parallel programmer of MaxPCI or NOW must manually schedule an algorithm to the available processors to make efficient use of the processing units. However, this approach is time-consuming and impractical for a vision system that must perform a variety of different algorithms.
To solve this problem, an automatic compile-time scheduler has been developed to schedule input tasks of vision applications with precedence constraints onto available processors. The scheduler exploits both spatial (parallelism) and temporal (pipelining) concurrency to make the best use of machine resources. Two important scheduling problems are addressed. First, given a task graph and a desired throughput, a schedule is constructed to achieve the desired throughput with the minimum number of processors. Second, given a task graph and a finite set of available resources, a schedule is constructed such that the throughput is maximized while meeting the resource constraints.
As a case study, a system has been designed to detect potential obstacles in an aircraft's flight path by analyzing the images captured using an on-board camera in real-time. The system has been implemented on a Datacube MaxPCI machine with several simultaneous pipelined processing units. Using this system, real-time obstacle detection was performed successfully on flight tests conducted at NASA Langley Research Center. The algorithms for obstacle detection have also been implemented on a NOW with the help of the automatic scheduler. A code generator has been developed to generate parallel programs automatically. The execution profiles of the resulting parallel programs demonstrated the feasibility of the scheduler. The results of the implementation show that NOW is a competitive hardware platform for real-time vision applications, and the tools developed in this thesis make it much easier for a programmer to develop vision applications on these high-performance platforms.
Cited By
- Yang M, Kasturi R and Sivasubramaniam A (2003). A Pipeline-Based Approach for Scheduling Video Processing Algorithms on NOW, IEEE Transactions on Parallel and Distributed Systems, 14:2, (119-130), Online publication date: 1-Feb-2003.
- Zhang Y and Sivasubramaniam A Scheduling best-effort and real-time pipelined applications on time-shared clusters Proceedings of the thirteenth annual ACM symposium on Parallel algorithms and architectures, (209-219)
Recommendations
Experimental Evaluation of a Real-Time Scheduler for a Multiprocessor System
A description is given of the design, implementation, and experimental evaluation of a multiprocessor scheduler used with robotics applications and other real-time programs. The scheduler makes decisions concerning both the assignment of processes and ...
ERfair Scheduler with Processor Suspension for Real-Time Multiprocessor Embedded Systems
Proportional fair schedulers with their ability to provide optimal schedulability along with hard timeliness and quality-of-service guarantees on multiprocessors form an attractive alternative in real-time embedded systems that concurrently run a mix of ...
Parallelizing Industrial Hard Real-Time Applications for the parMERASA Multicore
The EC project parMERASA (Multicore Execution of Parallelized Hard Real-Time Applications Supporting Analyzability) investigated timing-analyzable parallel hard real-time applications running on a predictable multicore processor. A pattern-supported ...