Computer Chess Club Archives


Search

Terms

Messages

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

Author: Robert Hyatt

Date: 16:57:50 11/12/02

Go up one level in this thread


On November 12, 2002 at 18:08:02, Bob Durrett wrote:

>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.

I'm not sure.  IE if something just "sits" in memory, it won't hurt a chess
engine
at all, if it is not running.  But if you are running a program that actually
does
something, such as disk reads/writes and real computation, that is definitely
going
to affect the engine, and the O/S won't be able to do anything about this no
matter
whether it is unix, windows or anything else...


>>
>>>
>>>>>>>
>>>>>>
>>>>>>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.