[Beowulf] using two separate networks for different data streams

Mark Hahn hahn at physics.mcmaster.ca
Fri Jan 27 08:51:24 PST 2006

>   I've seen architectures with two network switchs, one is used for I/O 
> (writing, reading, so on) and another for message passing (MPI). how is 
> this achieved? I get the idea, from one place, where the applications 
> running must be aware of this but I was thinking that for this to work it 
> must be transparent to the application. How can this be achieved?

in short: you assign a different IP to each interface (as normal).
it's convenient to use one non-low-order in the IP to distinguish,
and also nice to have separate hostnames like node1 and node1-mpi.

I wonder whether anyone has critically evaluated whether this is important.
cluster people I talk to like to say fuzzy things like "separate networks 
make the cluster breathe better".  

as much as I admire car analogies, I observe that when apps are doing IO,
they tend not to be doing MPI.  if your workload is like that, bonding
rather than partitioning would actually improve performance.  I wonder
whether the partitioning approach might actual reflect other constraints, 
such as using half-duplex hubs, or low-bisection networks.

regards, mark hahn.

More information about the Beowulf mailing list