I am attempting force certain processes to run on specific nodes due to the
I/O cards that are attached to the specific CPU motherboards (not all boards
have the same I/O cards). I am using the -bynode and --hostname options to
specify the nodes that I want the processes to run on. There are 4
processors (nodes) per motherboard. I would like to be able to change the
motherboard each processor executes on simply by editing the host file to
change the ordering of the nodes in the host file.

For example:
I want process 0, 1 and 4 to run on node0 and process 2 and 3 to run on
node1.

What I end up with is process 1& 3 running on node0 and process 0,2,4 running
on
node1. I suspect that MPI does not like having the same node multiple times
in the host file. It appears that only the last 2 entries of the host file
are being used and then the processes are being assigned in a round robin
fashion by node. Is what I'm doing legal? Any suggestions to achieve the
intended results (which is to be able to force an arbitary process to run on
an arbitary node)?