Re: benchmarking i/o throughput

Jeroen Demeyer <[email protected]>
Newsgroups gmane.linux.cluster.openmosix.general
Message-ID <[email protected]>
Andreas Schäfer wrote:
> Hi,
> 
> I was curious how good openMosix' 2.6 I/O bandwith is, so I wrote to
> simple programs (see the attachment). The first one writes a
> configurable amount of data to the stdout and measures how long this
> takes. The second one simply reads data into a buffer.
> 
> When I connected both programs with a pipe and migrated only the
> reading process to another node I got a througput of approx. 6.3
> megabytes/s (on fast ethernet, both machine's CPUs loathing), which
> seemed to me pretty much ok.
> 
> The weird thing was that when migrating only the writing process, the
> throughput dropped to 90 kilobyte/s. I've also tried a much simpler C
> program which just printf'ed it's data to the stdout, but still the
> throughput was as low as before.
> 
> BTW: process migration causes the first sleep() in the writing
> program to return immediately, is this an expected behavior?

What happens if you replace
	std::cout.write(buf, BUF_SIZE);
with the syscall
	write(1, buf, BUF_SIZE);
C++ tends to break up writes into small pieces, so this could affect 
performance.


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.