Author: Robert Hyatt
Date: 15:03:58 11/12/02
Go up one level in this thread
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... > >>>>> >>>> >>>>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.