Stockfish "use sleeping threads" - Redux

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Stockfish "use sleeping threads" - Redux

Post by bob »

mcostalba wrote:
adamh wrote: On the other hand I fail to see any performance gains too.
Modern CPUs have a dynamic clock policy. Speed is throttled back when CPU heats up, so keeping a cooler machine it means to give the opportuninty to the CPU to increase the clock. This could be difficult to prove testing on a single machine where the "other" engine heats up the CPU while thinking and we know thermal behaviour has an inertia longer then the time to move especially at fast TC, but when playing say on a chess server keeping a cooler machine could help. And is proved (at least I see this on my QUAD) that "sleeping/blocking threads" help in this regard, simply looking at task manager's activity it is possible to see that CPU is less loaded than with full threads running.
I am not aware of any current processor that does this. The Intel Nehalem will overclock a single core on a multi-core box, but if you get all 4 (or 8 if it is an 8-core chip) cores running, it will scale back to nominal clock frequency instantly. I don't think that blocking is going to make any gain in speed at all, and will lose some level of performance because it is way more inefficient than simply spinning, where after a pair of instructions you are out of the loop and searching, rather than taking thousands of instructions to unblock and get scheduled to run again...

CPU temp doesn't matter with i7 processors, it is core loading. If you run 'em all, you will run at normal frequency. If you run just one or 2 (out of 4) you might get an extra 133mhz, 266mhz, etc depending on the chip limits of the processor you have. But with all cores busy, you get normal frequency, period... Yes, if it overheats things may get throttled back further. But an i7 won't overheat with all 4 (or 8) cores running at max speed unless you have a fan or environment problem. I have even run an i7 at max overclocking speed (due to a Dell BIOS bug I reported here last year) on all 8 cores and the processor did not overheat and get throttled back...
pawnslinger
Posts: 42
Joined: Thu Jan 06, 2011 9:10 pm
Location: Mesa, AZ USA

Re: Stockfish "use sleeping threads" - Redux

Post by pawnslinger »

I run an i7-920 with medium OC... 3.57ghz at this moment. Normal speed for this chip is around 2.5ghz (it has been so long on the OC, I don't recall the actual base freq of the silly chip). Running all cores at the max, with HT turned on and using all 8 cores (4 real and 4 virtual), my rig usually runs around 70C. And no observed lowering of the OC. The chip does lower the multiplier when not all the processors are being used, say when the OS shows utilization under 10%. But I have never seen a throttle back due to overheat. According to "RealTemp" 3.0 the thremal max of this chip is 100C.

I like to keep my rig running in the mid-60s, because the heat can have long term consequences for other electrical parts, such as caps that get too hot on the motherboard. Because of the structure/composition of the i7, it can withstand higher temps than previous processors. In the system I had before this one, I would have been panic stricken if my temps were even close to what is just normal for the i7.