Time forfeits because of too few cores?

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: Time forfeits because of too few cores?

Post by mvanthoor »

Ras wrote: Wed Jun 02, 2021 9:37 pm My quadcore has hyperthreading, so I run 8 games in parallel (total CPU load 100%) using c-chess-cli. All while browsing the web, listing to music, and watching videos. No problems, neither with the engines, nor even any lags in the browser.
Are the engines that are running on the logical cores not degraded in performance; or are you going by the premise that the operating system will probably switch them around (possibly even during gameplay), and that they all get the same amount of degradation (= running time on a logical core) during the tournament?

I could start running 6-8 matches at once on my old 6700K, but I have never felt comfortable running more stuff than I have real cores, if speed actually counts.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
Ras
Posts: 2703
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Time forfeits because of too few cores?

Post by Ras »

mvanthoor wrote: Wed Jun 02, 2021 9:52 pmAre the engines that are running on the logical cores not degraded in performance
They are because the computing time for browsing and videos has to come from somewhere.
or are you going by the premise that the operating system will probably switch them around (possibly even during gameplay), and that they all get the same amount of degradation (= running time on a logical core) during the tournament?
Yes - I'm running several 10k games, and the impact will be equal for all engines.
I could start running 6-8 matches at once on my old 6700K, but I have never felt comfortable running more stuff than I have real cores, if speed actually counts.
I've benchmarked a hyperthreaded core with two workers to be worth 1.5 physical cores. This means that compared to running only 4 games on that quad, each engine will only see 75% of the performance, but since the performance penalty is the same for all engines, that levels itself out again.

The issue with hyperthreading and engines can be different if you want to do analysis using a multi-threaded engine. You get 50% more total nodes, but split up across twice as many threads. Whether that is a good thing depends on how the analysis engine scales with the thread count. It may well happen that going from 16 threads on 16 real cores up to 32 hyperthreaded threads on 16 real cores is a net loss of strength.
Rasmus Althoff
https://www.ct800.net
Modern Times
Posts: 3756
Joined: Thu Jun 07, 2012 11:02 pm

Re: Time forfeits because of too few cores?

Post by Modern Times »

Ras wrote: Wed Jun 02, 2021 10:06 pm
or are you going by the premise that the operating system will probably switch them around (possibly even during gameplay), and that they all get the same amount of degradation (= running time on a logical core) during the tournament?
Yes - I'm running several 10k games, and the impact will be equal for all engines.
Stefan Pohl says the same, he uses 20 threads on his Ryzen 3900X (12 cores, 24 threads) for his ratings list. (20 instances of engines using 1 thread)

I am still reluctant to do that, I currently don't run any more threads than I have real cores.