\section{Introduction}

An important goal toward making parallel computers more useable for
practical computations is to provide compiling technology that is
able to convert algorithms expressed directly and simply in a high
level language into efficient machine code.
The parallelism implicit in the expression of the algorithm
must be identified and exploited by the compiler.
Complex signal processing problems are naturally
described by compositions of program modules that
process streams of data. We use an example to illustrate
how such compositions may be analyzed and mapped
onto multiprocessor computers using extensions of methods
used in the Paradigm compiler designed and implemented by the
author \cite{Dennis89}.

We begin by discussing how the mapping of compositions of
stream-processing modules differs from the application
of data parallel principles in mapping scientific
computations onto massively parallel computers. In the
domain of high performance signal and image processing, applications
can exploit  massively parallel computation, but the form of parallelism
present is not the data parallel form encountered in scientific
computations: (1) Program modules often work together in producer/consumer
relationships, allowing concurrent operation;
and (2) All modules of the program are continuously active
processing streams of data. The use of stream data types plays a central role
in expressing such computation in a high level form that
permits automatic analysis. We illustrate an approach to
mapping such computation by analyzing a typical processing
computation for image data arriving from a sensor array.
We indicate how the computation (when
expressed in the Sisal functional programming language)
may be analyzed and its structure represented in a {\em program
description tree}, and used to guide the
construction of code for a target multiprocessor.
We discuss the problem of finding an optimal mapping,
and discuss the structure and
performance of constructed code for two choices
of multiprocessor architecture.

