Dvir Volk wrote:
Something non obious to note about SMT (or "Hyperthreading" as the Intel PR people like to call it to make us all think they invented it :-) -AFAIK, the more you run multithreaded apps, the more performance gain you get, isn't it? On which linux apps should one see more imporvement? I guess servers like apache and mysql can gain a lot - relatively - from hyperthreading, for example.
Unless you're carefull, you'll get *less* performance when running with these 2 sets of 2 virtualized CPUs as opposed to simply running two.
Here is why:
Let's call the real CPUs A and B and the virtual ones 1 and 2 so we end up with : A1 A2 B1 and B2.
Now assume you have 1 proccess running on A1 and now another proccess has become runnable.
Now, what you *want* the schdulers to do is asign the proccess to B1 or B2, but what very well might happen is that the schduler (if it is unaware of SMT) will pick A2 to run the new proccess. Since A2 and A1 are really the same CPU, you're going to end up running the two proccess slightly faster then you would run them on a single CPU but less fast then you would have run them on a true SMP double CPU.
Now, AFAIK Linux does have some scheduler code to handle this right, I just can't seem to remember if it's in 2.4.x or only in 2.5.x
FYI,
Gilad.
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]
