Author: Tom Kerrigan
Date: 18:40:59 10/04/03
Go up one level in this thread
On October 04, 2003 at 21:09:05, Gian-Carlo Pascutto wrote: >On October 04, 2003 at 21:00:34, Tom Kerrigan wrote: > >>The odd part is that hyperthreading DOES slow down my program when running 2 >>threads. > >This is caused by the schedulers not knowing the difference between the >real and virtual cpus. You're only running on 1 cpu instead of 2 about >1/3 of the time. > >Win2k3 is the only OS that has this reportedly solved. I do not think this is the case. (Quick aside: very shortly after HT first came out, a patch for Linux was released to "support" HT--the purpose was not to allow you to use the extra logical processors (because they're transparent to the OS) but to solve exactly the problem you mention. I assume Microsoft also made a similar fix and I don't know which versions of Windows have it, but I am running a version of Windows that would.) First, I know that OSs have processor affinity for processes, i.e., unless something odd happens, a process will stay on the same processor (for obvious reasons). So I doubt my program is using the "extra" processor for only a fraction of the time. Given that, HT would have to be providing a 50% speedup for my program if it were only running on one processor, which seems unrealistically high, and that also means my program should run 100% faster with 4 threads (vs. 2) but in reality it only runs 15% faster. -Tom
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.