I have a 4-core CPU machine and usually 3 tournaments go on at the same time. I thought that was OK, I still have a free core to do other things.
But I have experienced much more time losses, even using Fischer time control, than my fellow testers. Not with all engines, some seem more sensitive than the others. And it mostly occurs under Arena.
And then this idea came to my mind. Many times I use the free core for playing some logic game which measures elapsed time while I am playing. Can it be that this time measurement corrupts the time management of some engines?
I am on Windows 10 Home Edition, my CPU is an Intel i5-4690K.
Time forfeits because of too few cores?
Moderator: Ras
-
Gabor Szots
- Posts: 1477
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Time forfeits because of too few cores?
Gabor Szots
CCRL testing group
CCRL testing group
-
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?
It could be that you're overloading the computer, but Arena could be the problem as well, with certain engines. If you have an engine in the mix that sends a lot of data to Arena, the program will stall during processing of this information for display in the GUI. Communication with the engine will stop temporarily. When it resumes, it'll discover that the engine's time has elapsed, and it'll log a forfeit.
-
Gabor Szots
- Posts: 1477
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: Time forfeits because of too few cores?
Thanks Marcel. I'm trying to use the free core less and see what impact that has. Maybe the ongoing Roland Garros will make it easier.
Gabor Szots
CCRL testing group
CCRL testing group
-
amanjpro
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: Time forfeits because of too few cores?
On my setup, I give each core/cpu-threads an engine. That means with my 8 threads I run 3 games simultaneously, and leave two cores for me (ab)using the laptop
-
phhnguyen
- Posts: 1525
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: Time forfeits because of too few cores?
If your computer has two screens, use one for your work/game, the other screen for chess and task manager, thus you can monitor everything, from CPU, memory, disk io... Look like your computer is not too impressive, any hard thing can make the whole system and engines be lag and lost by time: run out of CPU, memory, disk space, read/write disk too much...
Note that if you use all 4 cores, whenever the system reads/writes caches your computer may lag too since it is out of computing power. You should let at least 1 thread/core for the system and use a maximum of 3 threads/cores for your games. It means if you want to play logic games, chess can use 2 cores only. If your logic games are heavy computing, it is better to turn your chess off and resume later.
Note that if you use all 4 cores, whenever the system reads/writes caches your computer may lag too since it is out of computing power. You should let at least 1 thread/core for the system and use a maximum of 3 threads/cores for your games. It means if you want to play logic games, chess can use 2 cores only. If your logic games are heavy computing, it is better to turn your chess off and resume later.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
Gabor Szots
- Posts: 1477
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: Time forfeits because of too few cores?
Thanks for the advice Pham.phhnguyen wrote: ↑Tue Jun 01, 2021 4:53 pm Note that if you use all 4 cores, whenever the system reads/writes caches your computer may lag too since it is out of computing power. You should let at least 1 thread/core for the system and use a maximum of 3 threads/cores for your games. It means if you want to play logic games, chess can use 2 cores only. If your logic games are heavy computing, it is better to turn your chess off and resume later.
Gabor Szots
CCRL testing group
CCRL testing group
-
Modern Times
- Posts: 3756
- Joined: Thu Jun 07, 2012 11:02 pm
Re: Time forfeits because of too few cores?
You'd be surprised how much CPU even web browsing can consume. In the past when I'd use a machine for other things at the same time as chess testing I'd leave two cores free minimum. Of course it helped that I had 8 cores and not 4 on that machine.
-
ydebilloez
- Posts: 186
- Joined: Tue Jun 27, 2017 11:01 pm
- Location: Lubumbashi
- Full name: Yves De Billoëz
Re: Time forfeits because of too few cores?
I noticed the following. On a 10 core machine under linux, when the machine is idle or when the machine is under load (20% CPU or more), the benchmark results are different. When the machine is at 100% load - eg when running a cutechess or banksiagui tournament with 10 parallel engines - the benchmark results are even more impacted. Tested with mint/5.10 kernel or fedora 34/5.11 kernel. I noticed the same on a 12 core ESXi Virtual machine, but here the hypervisor scheduler could interfere as well.
Normally, if the programs are not logging and there is some core affinity to a process, I would expect no impact as long a a core is idle. From the report, I understand there is impact.
So questions are:
- is any of the engines or arena/cutechess/banksia creating heavy io
- is there core affinity on windows, if not, how to achieve
- is there core affinity on linux, if not how to achieve
Normally, if the programs are not logging and there is some core affinity to a process, I would expect no impact as long a a core is idle. From the report, I understand there is impact.
So questions are:
- is any of the engines or arena/cutechess/banksia creating heavy io
- is there core affinity on windows, if not, how to achieve
- is there core affinity on linux, if not how to achieve
Yves De Billoëz @ macchess belofte chess
Once owner of a Mephisto I, II, challenger, ... chess computer.
Once owner of a Mephisto I, II, challenger, ... chess computer.
-
Jakob Progsch
- Posts: 40
- Joined: Fri Apr 16, 2021 4:44 pm
- Full name: Jakob Progsch
Re: Time forfeits because of too few cores?
More running threads impacting performance system wide is expected. The cores of a CPU aren't isolated from each other. Their clock speeds will adjust to fit a power target for example (less active cores -> higher clock speeds on those cores).
More importantly they compete for memory bandwidth and cache. A single core of a modern CPU can usually consume the entire available memory bandwidth by itself. I would expect multiple instances of chess engines are particularly affected by having to share L2 and L3 caches.
More importantly they compete for memory bandwidth and cache. A single core of a modern CPU can usually consume the entire available memory bandwidth by itself. I would expect multiple instances of chess engines are particularly affected by having to share L2 and L3 caches.
-
Ras
- Posts: 2703
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Time forfeits because of too few cores?
It's likely Arena consuming too much time for the GUI updates, and Arena is pretty inefficient at that. With a command line based tool instead of Arena, that would probably be better.
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.
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.
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net