Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How is it Possible for a Chess Engine to Lose on the Clock?

Author: Jon Dart

Date: 12:33:59 10/28/02

Go up one level in this thread


On October 28, 2002 at 10:43:04, Bob Durrett wrote:

>Why, then, do chess engines lose on the clock?

Interesting you should mention it. I've had some complaints about my engine
losing on time when using "tournament" time controls (e.g. 40 moves/5 minutes).
So far I only see this behavior when two engines are running on the same machine
with pondering on. It looks to me like the cause is a time lag between the time
Winboard sends a move to the engine and the time the engine receives and
processes it.

So by the time the program receives the "time" command, indicating how much time
is left on its clock, that information is out of date, because the clock has
actually advanced further than the time command indicates. The amount of lag
seems highly variable: I've seen it anywhere from 10 milliseconds or less, up to
  several seconds. If this happens regularly, a program can easily mess up its
time allocation and run out of time.

This could be caused by the engine not polling often enough for input, but I
don't think that's happening. I tried setting the polling interval to once every
5000 nodes (a fast rate), and that didn't help.

Maybe under heavy load (like two engines trying to run at once) Windows is
inefficient about task switching, so it takes this extra time to get the engine
to execute a time slice and read the input .. that's my theory, anyway.

I'm working on a fix in the engine, but maybe Winboard should require
confirmation of receipt of the "time" command before starting the clock.

--Jon



This page took 0 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.