Author: Robert Hyatt
Date: 17:33:37 03/08/00
Go up one level in this thread
On March 08, 2000 at 15:27:03, Bruce Ramsey wrote: >Hi - A couple of (Windows flavor) multi-processor chess questions, please. >Apologies if these have all been belabored before, just point me to the faq if >so, please... > >1) So far I've spotted Deep Junior and Crafty as presently supporting multiple >processors for Windows NT/2000. What others, if any, presently exist? > >2) What others, if any, are known to have plans for multiple processor support >in the (hopefully not-too-distant) future? > >3) As an NT/Win2k user, I'd like a little control over who is hogging how much >of which processors. Do Deep Junior/Crafty allow the end-user control over the >priority of the engine threads running on the different processors? I don't see how a program can control this. IE in unix, I can self-nice my process to a lower priority, but I am not aware of such facilities on other systems, as it is normally done by a sysadmin-type decision. With Crafty, you can choose the number of processors to use. IE if you run on a quad, you can use 1,2,3 or 4 cpus... 3 leaves one for normal stuff. :) > >Reason for 3) is that if the developer simply A) counts available cpu's, then B) >spawns that many engine threads, then C) jacks all engine threads to >real-time-critical-highest thread priority, well then, lots of chess >calculations will happen, but nothing else will. This typically isn't possible, except for an admin-type account. IE in Unix, I can _lower_ my priority, but I can't even raise it back to 'normal' once I do, only super-user can do that. > For example, if connected to a >chess server, there will be no cpu cycles avialable to receive/send moves >from/to the chess server. I can't imagine an O/S that bad in scheduling. An I/O bound process, namely one running the chess server interface to your engine, would easily have a priority high enough to get the few cycles needed to do the I/O. > >For example on a 2-CPU system, I'd hope to be able to do something like set the >thread priority of one engine thread to real-time-critical-highest, but leave >the priority of the other engine thread at normal priority. And I'd like the >user interface for the chess program to be on its own thread, which I'd also set >at normal priority. Then it's up to me as the operator to use the >mouse/keyboard as little as possible so as to rob as little as possible from the >engine thread running at normal priority. I don't understand why you would want 'real-time priority' for _any_ chess thread. Let the engine run normally and suck up all available cycles. On ICC, I run on my normal quad xeon that is in my office. Where I am compiling linux kernels, doing testing on crafty, etc, all while crafty is playing on the server... Let the O/S handle the scheduling... it can do it better than you or I can. > >Have I stopped making sense yet? :-) > >thanks, Bruce
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.