next up previous contents
Next: HPF and Procedures Up: Input and Output Previous: Input and Output

 

Print and Read

Parallel input and output is a difficult area. The HPFF addressed this area but in the end decided not to put anything into the specification.

In theory, one disk could be attached to each processor in the grid and the local sections of the arrays could be stored on the local disks. In practise there are a whole host of problems associated with this -- what if the program is recompiled with the distributions of the object changed. Each processor will no longer own the same parts of the arrays as it used to but so the data stored on the local disks will not have changed!

Most HPF compilers only allow I/O via one of the processing nodes. All input is read by this node and the data communicated to the processor that actually owns it. Likewise any output must be sent to this same node where it is then written to disk. The amount of work needed to perform such a task is quite large, first of all, each processor must send its local set to the designated processor. This processor must then reconstruct the whole array in its local memory and finally output to disk. Whilst this is happening, the rest of the processors must generally wait for confirmation that everything has gone smoothly. A badly placed output statement in the middle of a nested loop will totally destroy performance.

Return to corresponding overview page gif


next up previous contents
Next: HPF and Procedures Up: Input and Output Previous: Input and Output

©University of Liverpool, 1997
Wed May 28 20:20:27 BST 1997
Not for commercial use.