V. Messerli, O. Figueiredo, B. Gennart, R.D. Hersch
IEEE Concurrency, Vol. 7, No. 2, April-June 1999, 28-37
We propose a new approach for developing parallel I/O- and compute-intensive applications on distributed memory PC. Using the CAP Computer-Aided Parallelization tool, application programmers create separately the serial program parts and express the parallel behavior of the program at a high level of abstraction. This high-level parallel program description (CAP) is preprocessed into a compilable and executable C++ source parallel program. Low-level parallel file system components can, thanks to the CAP formalism, be combined with processing operations in order to yield efficient pipelined parallel I/O and compute intensive programs. These programs may run on multiple PC servers offering their access and processing services to clients located over the network. The applicability of the CAP tools on a real application is demonstrated with a parallel 3D tomographic image server application enabling clients to specify and access in parallel image slices having any desired position and orientation. The image slices are extracted from a 14 GByte color 3D tomographic image striped over the available set of disks. On a 5 Bi-Pentium Pro PC server comprising 60 disks, the system is able to extract in parallel, resample and visualize 4.8 512x512 colour image slices per second. At the highest load and when file caching is disabled, an aggregate I/O disk bandwidth of 104 MBytes/s has been obtained. When caching is enabled, an I/O throughput of up to 240 MBytes/s is obtained.
Download the full paper: PDF 1.7 MB