Hello,
I have done some tests with LAM 7.0. My programm just sends
large messages to slaves. Each slave returns the message
(unchanged) to the master.
With this little programm I tested the new LAM 7.0
feature to give the RPI with mpirun.
What really surprises me is that TCP seems so be faster
than usysv on my Sun with two processors (SMP).
2 LAM nodes on a 2 CPU Sun, 1.2 GB memory:
1) tcp
> mpirun -c 5 -ssi rpi tcp program
Master sending message of size 100MB to 4 processes.
Master received value from 1
Master received value from 2
Master received value from 3
Master received value from 4
Time: 125.16
top shows that CPU state is about 50% iowait, 10% kernel, 40% idle
2) usysv
> mpirun -c 5 -ssi rpi usysv program
Master sending message of size 100MB to 4 processes.
Master received value from 1
Master received value from 2
Master received value from 3
Master received value from 4
Time: 208.538
top shows that CPU state is about 80% user, 20% kernel, 0% idle
Can anybody explain that? Why is tcp so much faster? Why is
usysv using so much CPU (I just send / receive messages, doing
nothing else which is CPU-bound)?
By the way: what RPI is the default? Having a look at top when
executing 'mpirun -c 5 program' I would say tcp. I haven't
found that info in the mpirun manpage.
Thanks for help,
Charlie
|