<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Beowulf users,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2> The information posted to this
list concerning the proper mechanism</FONT></DIV>
<DIV><FONT face=Arial size=2>for running Iozone in parallel across the nodes is
incorrect. You do</FONT></DIV>
<DIV><FONT face=Arial size=2>NOT use dsh or any other parallel tool. It is NOT
needed. Iozone</FONT></DIV>
<DIV><FONT face=Arial size=2>already knows how to go parallel across nodes. See
-+m option.</FONT></DIV>
<DIV><FONT face=Arial size=2> If you follow this person's
suggestion you will get wrong answers,</FONT></DIV>
<DIV><FONT face=Arial size=2>and prove that you have never read the manual, nor
the man page,</FONT></DIV>
<DIV><FONT face=Arial size=2>nor even the help screen. </FONT></DIV>
<DIV><FONT face=Arial size=2> If you use the -+m option then
Iozone will eliminate the </FONT></DIV>
<DIV><FONT face=Arial size=2>straggler effect (some finish early, others finish
late) and </FONT></DIV>
<DIV><FONT face=Arial size=2>be able to obtain accurate throughput
results.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Below is the mis-information that was posted. ( It
is wrong, please</FONT></DIV>
<DIV><FONT face=Arial size=2>ignore this mis-information)</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Enjoy,</FONT></DIV>
<DIV><FONT face=Arial size=2>Don Capps</FONT></DIV>
<DIV><FONT face=Arial size=2><A
href="mailto:capps@iozone.org">capps@iozone.org</A></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>-----------</FONT></DIV>
<DIV><STRONG>Egan Ford</STRONG> <A title="[Beowulf] Iozone on a Cluster"
href="mailto:beowulf%40beowulf.org?Subject=%5BBeowulf%5D%20Iozone%20on%20a%20Cluster&In-Reply-To=F2184A862AE25E46BC7B1367E5771901498477%40brwsmxsusr01.pharma.aventis.com">egan
at sense.net </A><BR><I>Thu Jan 5 15:54:00 PST 2006</I>
<P>
<UL>
<LI>Previous message: <A
href="http://www.beowulf.org/archive/2006-January/014574.html">[Beowulf]
Iozone on a Cluster </A>
<LI>Next message: <A
href="http://www.beowulf.org/archive/2006-January/014567.html">[Beowulf]
Newbie </A>
<LI><B>Messages sorted by:</B> <A
href="http://www.beowulf.org/archive/2006-January/date.html#14581">[ date
]</A> <A
href="http://www.beowulf.org/archive/2006-January/thread.html#14581">[ thread
]</A> <A
href="http://www.beowulf.org/archive/2006-January/subject.html#14581">[
subject ]</A> <A
href="http://www.beowulf.org/archive/2006-January/author.html#14581">[ author
]</A> </LI></UL>
<HR>
<!--beginarticle--><PRE>Find a parallel shell (e.g. pdsh), then write a script to run iozone,
something like:
echo ready
while [ ! -r /other/nfs/fs/go ]
do
sleep .1
done
cd /nas/fs
iozone option option option ... >/other/nfs/fs/iozone.$(hostname -s).out
exit 0
Use pdsh or other to run the script on all nodes, e.g.:
date >foo;pdsh ...;date >>foo
Poor man parallel shell example:
date >foo;for i in node1 node2 node3 ...
do
ssh $i script &
done;wait;date >>foo
then type:
touch /other/nfs/fs/go
I do not recommend summing the output of iozone when running in parallel.
If you have a lot of clients they will not all start at the same time, some
may block on I/O for some period of time before starting inflating the
performance. It is better to do the math yourself by using the timestamps
in the foo file.
A better solution to all of this is to use iometer. With iometer you launch
a daemon on each node, then startup a iometer GUI (on Windows). The GUI can
contact all the daemons and coordinate a benchmark in parallel, isolating
read from write. With iozone in parallel you may get read and write
overlap. You will need to patch iometer to use a directory instead of the
root of the FS or all daemons will try to read/write the same name. I have
a patch somewhere to use a shell variable.
Another solution would be to use an MPIIO benchmark.
Normally I only use iozone for testing individual drive performance on nodes
and then check for a normal distribution. I use MPIIO benchmarks and
iometer for testing SAN, NAS, and Parallel file systems.
</PRE></DIV></BODY></HTML>