[Insight-users] Clusters and MPI

Luis Ibanez luis . ibanez at kitware . com
Thu, 10 Jul 2003 17:42:37 -0400


Hi Gavin,

ITK's design wasn't intended for clusters.
At this point there are no plans for adding
this support to the toolkit.

You could, however, adapt specific ITK filters
to be executed in a distributed environment.

This will be more of a hand-picked set of
filters, since you will have to make sure that
the algorithmic nature of the filter is well
suited for a distributed environment.

For example, filters requiring the whole input
image in order to compute a region of the output,
will not be appropriate for a distributed
environment.

This basically eliminates most of the registration
methods, as well as the region growing segmentation
methods.

There is some hope for the LevelSet segmentation
methods, but taking into account that the different
processes would have to synchronize their boundaries
at every iteration of the PDE solver.


One interesting option for registration methods
in a distributed environment are those based on
evolutionary algorithms, since we could imagine
multiple processor computing the fitness function
of the different member of the population (e.g.
the image metrics of different combinations of
transform parameters), and then syncrhonizing for
performing the genetic selection and introducing
new variability in the gene pool.

---

Even if support for distributed processing were added
to the toolkit, this could only be used by filters
whose output can be computed from a bounded region
of the input. This is probably only the case for the
low level image processing filters in ITK.

----

Are you interested in a particular application
of medical image processing ?

For a specific task, there may be some alternatives
for taking advantage of your cluster when using ITK.


Regards,


    Luis


---------------------
Gavin Baker wrote:
> Hello all,
> 
> What is the current state of clustering support with ITK?
> 
> A few people have mentioned using ITK in clusters using MPI:
> 
>   http://www . itk . org/pipermail/insight-users/2003-January/002181 . html
>   http://www . itk . org/pipermail/insight-users/2003-October/003633 . html
> 
> Has anyone made any progress with this?  Are there any official plans to add
> MPI support?
> 
> I understand ITK has multi-threading support built in, but does not yet
> support MPI.  I know that VTK has MPI support - how much of this could be
> adapted to ITK?
> 
> Would it be feasible to use MPI to connect pipelines, or would it be better
> to adapt the multi-threading infrastructure to optionally use MPI?
> 
> Thanks for any info,
> 
>   :: Gavin
>