[Mono-list] Fwd: Threading and IO problem
Yanko Hernández Álvarez
yhdezalvarez at gmail.com
Fri Mar 7 07:33:40 EST 2008
I sent this yesterday with the wrong sender address. Sorry
> > It is a Dell PowerEdge 2900 (2 xeon 5050, dual core, each core hyperthreaded)
> That's only 4 real execution units. You're getting the extra smidgeon
> of performance that HT gives in the best case, but there just aren't 8
> cores there. Getting real quad core chips (Harpertown) will likely
> mean you can get to full 8 core usage.
Yes, I know I won't get the same processing power of 8 real
processors. Nevertheless the OS should occupy the 8 logical processors
to the full extent with no idle time. That isn't happening when I run
this program. But it does happen when I do some other stuff, e.g. when
I'm compiling the kernel with "make -j8 ...". The problem seems to be
that the threads (for a reason I don't know yet) block for little
periods of time. There are no other runnable process interfering here,
because there is idle time left.
There is no IOWAIT either, so the HDs are not the bottleneck (3 disks
raid5 10Krpm). The file is cached on memory completely so there is no
HD access (visually confirmed -the HDD LEDs almost doesn't blink
during the program run-, besides the stats posted earlier showed it
too).
Besides, the example I posted is not equivalent of the original
program I'm developing. That program uses a shared object that feeds
the threads 10k lines at a time. With that scheme, the processor usage
was around 75-80%. This is another reason that makes me think the GC
is involved.
Tomorrow (It's almost 5pm here in Cuba) I will try a different
approach (instead of using threads, I will use processes to isolate
the GC effect to one thread)
> If you turn off HT in the BIOS (if such a thing is possible on a Dell)
it is.
see ya tomorrow. and thanks to all ;-)
More information about the Mono-list
mailing list