Bill Moran <[EMAIL PROTECTED]> writes:
Just for an additional viewpoint. I'm finishing up a project based on FreeBSD and PostgreSQL. The target server is a Dual 2.4G Intel machine. I have tested the application with hyperthreading enabled and disabled. To all appearances, enabling hyperthreading makes the box act like a quad, with the expected increase in processing capability - _for_this_application_.
I have also heard the claims and seen the tests that show hyperthreading occasionally decreasing performance. I think in the end, you just have to test your particular application to see how it reacts.
My understanding is that the case where HT hurts is precisely your case. When you have two real processors with HT the kernel will sometimes schedule two jobs on the two virtual processors on the same real processor leaving the two virtual processors on the other real processor idle.
Yup, that's why I tested it.
While more testing is probably in order, I could find no disadvantages to running with HTT enabled. And when I ran many background jobs (which is likely to happen during batch processing on this sytem) the system seemed to perform as if it really had 4 processors.
Perhaps this is an indication of the quality of the FreeBSD scheduler (maybe it's HTT aware and makes decisions accordingly?), but I'm not involved enough in that level of development to do any more than speculate.
Again, this is pure speculation ... can anyone with a more technical insight comment on whether my guess is correct, or whether I'm not testing enough?
-- Bill Moran Potential Technologies http://www.potentialtech.com
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?