Next: Trouble Shooting
Previous: Programming:Debugging
Index: Contents
Programming in Parallel
Restrictions and known bugs
- The program will not terminate, if all spawned tasks stop
responding or have exited during processing. However, as long as one task
is alive, the program will terminate and complete its task successfully.
The [txxxx] EOF message on the console informs the user that a task
has exited.
- The data processing does not begin before the spawning of the tasks is
completed. This can be very time consuming (up to 20
seconds), i.e. if a heavy loaded host is member of the virtual machine.
This circumstance is a property of the pvm library (i.e. pvm_spawn()).
However, the typical time to spawn one task on every host of a cluster of
6 average loaded DECstations is less than a second.
- PVM is known to become very slow if the message sizes (the data fragments)
become too large. However, exact figures are not published yet.
- If a NetCDF application is not given the chance to call
ncabort() or ncclose() because it was aborted
then it may not be possible to reopen the netcdf file or the unlimited
dimension may be set to 0 (so the data is gone).
This circumstance is due to the properties of the NetCDF library (not the
PIPS programs).
It is therefore highly recommended to make copies of precious NetCDF
files prior to processing.
- One task per host is spawned. In order to spawn more tasks on hosts of a
specific architecture, the function pipsTaskManager() has
to be modified.
- Most programs in pips/filters do not process the whole image but leave a
border of 0 values. The reason for this was to avoid exception handling.
Frank Heimes (Dr-Frank.Heimes@epost.de), 31 Jan 1995
Phone: +49 (721) 6091 - 424, FAX: +49 (721) 6091 - 233
http://members.tripod.de/DrFrankHeimes/pips/parRestrictions.html