[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