Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How Much Difference Does the OS Make?

Author: Bob Durrett

Date: 15:08:02 11/12/02

Go up one level in this thread


On November 12, 2002 at 18:03:58, Robert Hyatt wrote:

>On November 12, 2002 at 17:41:47, Coxwell Strange wrote:
>
>>On November 11, 2002 at 22:44:48, Robert Hyatt wrote:
>>
>>>On November 11, 2002 at 21:33:24, Bob Durrett wrote:
>>>
>>>>On November 11, 2002 at 21:17:01, Robert Hyatt wrote:
>>>>
>>>>>On November 11, 2002 at 15:41:48, Bob Durrett wrote:
>>>>>>
>>>>>>I am a non-programmer but assume that all professional programmers know all
>>>>>>about optimizers.  Sounds like a good thing to have, anyway. : )
>>>>>>
>>>>>>So far, we have been talking about the case where there is only one big program
>>>>>>running on the computer and that is the chess engine [& GUI maybe].  But many
>>>>>>people [I presume] also run Office or Word and maybe other software.  I almost
>>>>>>always have CB8 running when using Fritz, for example.  Perhaps running several
>>>>>>big programs at once would cause the operating system to be more busy?
>>
>>
>>
>>as a nonputer pro, all i have to contribute to this subject is the consistent
>>observation that a 2 % reduction of puter resources equals a 1 % reduction in
>>speed in a prorams time of search to depth... OS or other programs can therefor
>>iimpact program speed, but how great of a variation in chess strength is
>>doubtful at the current speed of todays puters.
>
>What exactly is a "computer resource"?  Memory?  stealing 2% of available memory
>should not slow a program by 1%.  It shouldn't slow it one iota, in fact...  So
>I am not sure
>what this means unless you are running more than one thing at a time, which will
>slow a
>chess engine anyway...
>
>

I use a "computer resources meter" on my computers because I often run many
programs at once.  It would be possible to load up the computer with running
programs so that the meter showed a pre-chosen reduction in resources.  Then the
chess engine performance could be measured under those circumstances.

Maybe that's what was being suggested.

Bob D.
>
>>
>>>>>>
>>>>>
>>>>>Yes, but the overhead for such is expected and all systems will lose a tiny
>>>>>bit of time doing context switches.  Some worse than others.  But the usage
>>>>>Vincent was describing makes no sense, as he said "one console program".
>>>>>
>>>>
>>>>Not clear.  Like multiple PCs but only one monitor and keyboard?  Or, multiple
>>>>processors with shared memory and shared monitor and keyboard?
>>>
>>>Multiple PCs is a whole different matter.  Operating systems are not
>>>distributed in such a cluster.  Each node in the cluster runs its own unique
>>>operating system copy.  Not so in a SMP box where there is one OS scheduling
>>>all the processors...
>>>
>>>
>>>
>>>>
>>>>Not clear what Vincent was discussing in that case.  Relevance to main question
>>>>unclear.  Could it be that operating systems might have more work to do in that
>>>>case?  If SMP, then communication between processors considered to be an
>>>>operating system function?  If so, how much % of total processor time for that?
>>>>
>>>
>>>Zero basically.  I have no idea what he was talking about either, and I won't
>>>try to speculate.  Other than to say that for a chess program, the O/S is _not_
>>>an issue.  The efficiency of the compiler optimizer and the speed of the
>>>processor are the two overwhelming points of significance...  Windows, unix or
>>>even DOS would make no difference whatever...
>>>
>>>
>>>>Please forgive me if my ignorance regarding operating systems is showing.  : (
>>>>
>>>>>
>>>>>>We have also been assuming that the computer would have ample RAM.  However,
>>>>>>maybe not everybody has an expensive computer with tons of RAM.  There may be
>>>>>>competition for the available RAM, and the OS would be one of the competitors.
>>>>>>
>>>>>>So, can the conclusions reached so far be extended to these cases too?
>>>>>>
>>>>>
>>>>>No system pages efficiently, but that is a totally different issue to
>>>>>operating system overhead in normal usage.
>>>>>
>>>>>
>>>>>>Incidentally, why would the Fritz people write their program in assembly
>>>>>>language, essentially bypassing an "optimizer"?  Does it make enough difference
>>>>>>to go to that much trouble?  [Maybe the Fritz people think only in assembly
>>>>>>language? : ) ]
>>>>>>
>>>>>
>>>>>
>>>>>Because you can do better than the optimizer.  You design the program, so
>>>>>you know more about the internals of the program.  IE if you want to do some-
>>>>>thing like  wtm=!wtm;  the optimizer has to handle cases where wtm can be
>>>>>_any_ legal integer value.  If I know that it is only zero or one, I can
>>>>>change that to a much faster XOR instruction.  Because I know something the
>>>>>compiler doesn't.  Ditto for lots of other common things.  A switch.  I don't
>>>>>have to check for the "out-of-range" values, as I _know_ there will be none.
>>>>>
>>>>>etc...
>>>>>
>>>>>
>>>>
>>>>I may be asking a question no one can answer, but:  "How much difference would
>>>>that make?"  "100 rating points?"
>>>
>>>Unknown.  In the case of Cray Blitz, which I _did_ convert to mostly
>>>assembly language, the CAL version (Cray Assembly Language) version was
>>>about 5x faster than the best the optimizer could do with a pure FORTRAN
>>>code.  5x is more than two doublings, so 100+ rating points is in the right
>>>range...  But the issue would be the actual speedup obtained.  I know the
>>>number for the Cray as Harry Nelson and I wrote the code and did the timing
>>>comparisons.  I haven't done it for the PC so anything I say would be pure
>>>speculation.  I've written a good bit of PC assembly code in the last few
>>>months, but the raw architecture of the PC instruction set is simply not as
>>>powerful as other architectures, the paucity of registers might make speedup
>>>numbers like 5x much more difficult to obtain...  that's why I am afraid to
>>>speculate without anything to back it up...
>>>
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>I'm still looking for a "bottom line" here, such as a conclusion or executive
>>>>summary of findings, or whatever.
>>>>
>>>>Something profound, preferably.  : )
>>>>
>>>>Bob D.
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>P.S. Note that I am trying to use plenty of smileys whenever I intend humor.
>>>>>>
>>>>>>Bob D.
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>>On November 11, 2002 at 13:02:44, Bob Durrett wrote:
>>>>>>>>>
>>>>>>>>>>Would the engine perform significantly better using that dedicated operating
>>>>>>>>>>system?  [As compared to using a commercially available OS]
>>>>>>>>>
>>>>>>>>>You can get an idea of how much time is used by the OS. On my computer I look
>>>>>>>>>under Task Manager and it says:
>>>>>>>>>
>>>>>>>>>Image Name		CPU Time
>>>>>>>>>System Idle Process	6:19:14
>>>>>>>>>IEXPLORE.EXE		0:02:16
>>>>>>>>>msdev.exe		0:01:22
>>>>>>>>>Explorer.exe		0:00:53
>>>>>>>>>System			0:00:22
>>>>>>>>>
>>>>>>>>>And so on. So I have over 6 hours of idle time, and the next biggest chunk of
>>>>>>>>>CPU usage time was by Internet Explorer, of a whole 2 minutes. That means there
>>>>>>>>>is 99.5% of the CPU time that could have been used by a chess program. So the
>>>>>>>>>question is whether or not a 0.5% increase in speed is going to mean
>>>>>>>>>"significantly better" results. I think not.



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.