[vtkusers] paralleliso isnt.

Berk Geveci berk.geveci at kitware.com
Mon Aug 20 10:32:33 EDT 2001


Hi Dave,

> For the program to execute in parallel there would need to be some asynchronous
> update mechanism and I cant seem to find it. Of course it is entirely possible 
> that I am mistaken.

There is already an asynchronous update mechanism. It is one of the passes
in the pipeline execution: TriggerAsynchronousUpdate(). It is between 
PropagateUpdateExtent() and UpdateData(). This is described in detail in
the User's Guide. The code you want to look at is in vtkInputPort. In the implementation of TriggerAsynchronousUpdate(), the input port triggers 
an update in the corresponding output port. Since this is done for all
inputs of the append filter in a loop, all the processes start executing 
roughly at the same time. I have instrumented ParallelIso with MPE and I
am attaching the result. You can see that all the processes start reading
roughly at the same time. 

You can also see that the first process reads and contours only after it 
completes receiving.  This WAS a bug (I fixed it about a month ago; the log
files are from before them). Normally, the process object  sorts it's inputs by
locality and calls Update() on the local inputs first.  The problem was that the
input port was not setting the locality parameter. After fixing that, I observed
that all processes read and contoured in parallel.

When I ran this program in our cluster, I also observed that it scales
very poorly. I think there are two reasons for this:
1) IO: In our setting, the data files are on a shared disk which is mounted
via NFS. All processes start reading from the same disk, sharing the same
network switch. To test whether this is the case, one would have to put a
local copy of the data files to each machine.
2) Balance: This problem is not balanced AT ALL. Some of the processes
do not generate anything when contouring, some others generate a lot. The
situation gets worse as the number of processes is increased.

I hope this answers your questions.

-- 
Berk Geveci, Ph.D.
Kitware, Inc.
VTK-Based Visualization Solutions
469 Clifton Corporate Parkway
Clifton Park, NY 12065 USA
berk.geveci at kitware.com
http://www.kitware.com
Phone (518) 371-3971 x107
Fax   (518) 371-3971




More information about the vtkusers mailing list