Techniques for Real-Time Parallel Processing: Sensor Processing Case Studies

Abstract : The software development process for parallel processors is investigated with a focus on real-time sensor processing applications. Concepts that are relevant to real-time parallel processing are introduced including: a definition of scalable dataflow graphs motivated by the need to meet a fixed throughput constraint for varying problem sizes, an algorithm classification that makes explicit the impact that data dependencies have in real-time implementations, and a real-time implementation strategy that decomposes the most problematic algorithms into compositions of more predictable constituents and then uses scalable dataflow graphs and parallel processing to recover timing predictability by mapping data dependent timing uncertainties into the spatial dimension (processors). Two case studies apply these ideas: an implementation of the Modified Gram-Schmidt (MGS) algorithm on a MasPar MP1 and an implementation of the joint probabilistic data association (JPDA) algorithm on a Thinking Machines CM-2. The JPDA case study includes a SISAL implementation to illustrate the advantages of functional programming for these applications. Parallel processors, Scalable dataflow graphs, Algorithms.