Computational Process Networks is a model and a framework library for real-time high-throughput signal and image processing. The model combines:
- Process Networks [1], a formal, concurrent model for functional parallelism
- Bounded Scheduling [2] for realization in finite memory
- Firing Thresholds from Computation Graphs [3]
Computational Process Networks model algorithms on overlapping continuous streams of data (such as digital filters and overlap-and-save fast Fourier transforms), and provides liveness and determinate execution. Our C++ implementation provides a portable, high-performance, scalable framework using POSIX Threads.
The March 2000 issue of IEEE Transactions on Signal Processing contains a paper [4] which prototypes a 3-D sonar beamfomer using Computational Process Networks. The beamfomer sustains a real-time 4 GFLOPS on a Sun Ultra Enterprise 4000 with 12 336 MHz UltraSPARC-II processors.
The Computational Process Network source code is publicly available, under the GNU GPL.
Original releases of CPN worked only on symmetric multiprocessing workstations. It is available here.
We are in the process of a complete rewrite of the CPN framework, adding the capability for execution on a distributed network of computers, as well as distributed dynamic deadlock detection and resolution (D4R). D4R algorithm examples are available here.
For more information contact: Greg Allen <gallen@arlut.utexas.edu>
$Id: index.html,v 1.3 2006/11/11 22:51:12 gallen Exp $