Scalable multi-core sonar beamforming with Computational Process Networks
This paper evaluates the scalability with respect to processor cores of a three-dimensional sonar beamforming kernel implemented on a multi-core workstation. Beamforming is an example of an extremely parallelizable problem. This implementation is instrumented with OpenMP to exploit multi-core computer systems. However, when executed on a 16-core machine, this kernel scales much less than expected. We implement this beamformer system within the scalable framework of Computational Process Networks to achieve additional performance and processor utilization for a larger number of cores. On our benchmark machine, the implementation with Computational Process Networks obtains a throughput speedup of more than two times over OpenMP with the default settings, and 13% improvement in throughput over OpenMP with optimized settings.