Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Some thoughts for those who are considering to buy a Dual processor PC

Author: Robert Hyatt

Date: 07:47:58 03/27/01

Go up one level in this thread


On March 26, 2001 at 18:02:44, Christophe Theron wrote:

>I have seen a lot of messages recently from people who want to buy a dual
>processor computer or motherboard and are asking what is the best around.
>
>Out of curiousity, I sat down in front a sheet of paper, grabbed a calculator
>and started some computations.
>
>I wanted to have a better idea of how much better is a dual processor computer
>for chess, over a single processor one.
>
>Here is the result of my homeworks:
>
>
>
>
>
>HOW MUCH FASTER ?
>-----------------
>
>Experts (Bob included) say that with current parallel algorithms, the SMP
>efficiency ratio for a dual processor computer running a chess program is 1.7.
>
>That means that a biprocessor computer (a "dual") is going to compute
>1.7 times faster than a single processor computer, assuming a SMP chess
>program is running on both and that the processors are identical.
>
>From this we can estimate the ELO difference between the two computers.
>Assuming the generally accepted fact that doubling the speed of a computer
>adds 70 ELO points to its playing strength (and this might actually
>be less when we go to higher and higher frequencies), the formula
>to compute ELO increase from speed increase is:
>
>  ELOdiff = 70 * log( SpeedRatio ) / log(2)
>
>So if SpeedRatio=1.7, we can expect a 53.6 ELO points increase (rounded to
>the first decimal) from a chess program running on a dual machine rather than
>on a single processor one. Keep in mind: assuming same processors and same
>processor frequencies.
>
>
>****************************************************************************
>**  We expect a 53.6 ELO points difference between a single processor     **
>**  and a dual processor computer (both running at the same clock freq.)  **
>****************************************************************************
>
>


But don't stop there.  Imagine a match against a top GM.  Imagine that same
match played on a 21264, which is the fastest processor (for Crafty) I can
get my hands on.  Then imagine that match played on a 16-cpu box.  For my
program, running on a 16-way 21264 is _definitely_ three additional plies.
As that configuration is roughly 50 times faster (for Crafty) than the fastest
Intel box with a single cpu.

Thinking "dual" is ok.  But once you can do "dual" you can do "more".



>
>WHERE CAN I BUY ONE ?
>---------------------
>
>Unfortunately, while it is possible to get the highest available frequencies
>for single processor computers, it seems that it is not possible (at a non-
>astronomic price) to get these frequencies for dual motherboards.
>
>As I understand from discussions on CCC on the topic, while you can easily
>get an AMD ThunderBird 1.2GHz single processor machine for a reasonnable price,
>it seems to be almost impossible to get a dual MB with this processor. Looks
>like you'll get a dual AMD TB 1GHz at best, if you are ready to put your
>money on it (but then forget about the latest and sexiest Nokia, the money
>for it will go into the dual :).
>
>So now we should re-compute the speed ratio to get real world figures.
>
>On one hand you have a 1.2GHz single processor machine, on the other hand you
>have a dual 1GHz one. The dual is much more expensive than the single.
>
>  SpeedRatio = 1.7 * 1 / 1.2 = 1.417 (rounded to 3 decimals)
>
>The corresponding ELO increase is:
>
>  ELOdiff = 70 * log( SpeedRatio ) / log(2) = 35.2 (rounded to first decimal)
>
>
>****************************************************************************
>**    So the expected ELO difference between a single 1.2GHz processor    **
>**    and a dual 1GHz one is about 35 elo points.                         **
>****************************************************************************
>


Don't mix AMD and Intel.  If you take Intel, you can take any CPU they make
and run it dual.  Which means the above is a bit flawed.  Eventually the same
will happen for AMD once the dual MBs come out and the price stabilizes.

I would _always_ count on a factor of 1.7x for a dual since I can always use
the same processor you use on your single.  And note that 1.7x is an average
number on test suites.  In real games, I believe the actual number can be
quite a bit higher in most cases...





>
>
>35 ELO POINTS BETTER, REALLY ?
>------------------------------
>
>There's something else that should be taken into account. Unless your dual
>pet has 2 HD controllers and 2 independant hard disks, your processors are
>actually going to share a single hard disk when they begin to acess endgame
>tablebases.
>
>So in the endgame, you can expect tablebases to be less efficient (twice as
>less efficient) on a dual computer. Experts say that tablebases generally
>increase the strength of a program by 20 to 40 ELO points. From this it is
>possible that you lose 10 ELO points when you are using a dual processor
>computer with only one hard disk.
>
>
>****************************************************************************
>**          So in the end the ELO difference between the fastest          **
>**          single processor PC and the fastest available dual            **
>**          processor PC might be 25 ELO points, maybe less if            **
>**          doubling the speed does not give a 70 ELO increase            **
>**          on nowaday computers.                                         **
>****************************************************************************

That is flawed.  For multiple reasons.  The shared hash table holds _most_ EGTB
results after a single probe.  The EGTB cache is threaded and shares data read
between the two (or more threads).  With the compression scheme Eugene uses,
the reads are kept to a minimum.  I have run extensive tests on my quad with
one single 9-gig SCSI drive servicing 4 threads for EGTB reads.  I don't see
any severe strangulation due to disk backlogs.  most threads are searching
close enough to each other in the tree that they are probing the _same_
tablebases.  The caching Eugene wrote handles this quite well.





>
>
>
>NOW LET'S COUNT OUR BEANS
>-------------------------
>
>What does it mean, 25 ELO points ? What are we talking about exactly ?

First, 25 is wrong.  It is closer to 60.  Second, 60 is a _lower bound_
because once you use a dual for development, you can use a quad for serious
games.  Or go to Compaq and use a 16-way (or more) alpha machine.

But before you can use 4 you have to be able to use 2.





>
>A difference in ELO points in real life turns into a winning percentage.
>That's exactly what ELO means, and how it is computed.
>
>For winning percentages above 20% and under 80%, there is an approximated
>formula that works pretty well:
>
>  ELOdiff = ( WinPercentage - 50 ) * 7
>
>From this you can deduce how to compute WinPercentage if you have the ELOdiff:
>
>  WinPercentage = ELOdiff / 7 + 50
>
>If ELOdiff=25, then WinPercentage = 53.57% (we are between 20% and 80%
>so our above formula applies).
>
>So we are talking about a difference of 3.5 games each time you play 100.
>
>
>****************************************************************************
>**     When you play 100 games with your dual 1GHz against                **
>**     your single 1.2GHz, you can expect the dual to win typically       **
>**     by a 3.5 games margin.                                             **
>****************************************************************************


I would change that to

winpct=60/7+50 which is about 60%.  Out of 100 games that turns into winning
60 and losing 40.  BTW in your above comment you need to double that 3.5.  If
I win 53.5 games out of 100, you win 46.5.  The _difference_ is 7 games.  Not
3.5



>
>
>
>HOW MUCH GAMES SHOULD I PLAY TO DEMONSTRATE THAT MY DUAL IS BETTER ?
>--------------------------------------------------------------------
>
>However, you must also take into account randomness. As you know, a chess
>match has some randomness (some luck is involved, either in the choice of
>the opening, of during the game itself in very unclear positions).
>
>For example, if you want to be 90% sure about the result of your 100 games
>match, it is wise to account for a +/-6.5 percent margin of error. If we take
>the aforementionned match, which is likely to end in a 53.57% win for the dual
>(in a perfect world! :), then it means that you will routinely get results
>between 47% (the dual actually loses!) and 60% (the dual wins clearly).
>
>So obviously, running a 100 games match dual against single is not enough
>to demonstrate the superiority of the expensive dual.
>
>Let's have a look at statistical tables. What we need, obviously, is to have
>a margin of error under 3.57%, so every time we play a match dual against
>single, the dual has the most chances to win (more than 50% chances to
>win).
>
>Here it is: you need to play at least 400 games. For 400 games, the margin of
>error for 90% reliability is 3.34% (for 300 games it is 4.72%, which is still
>too high).
>
>
>****************************************************************************
>**         If you want the dual to win 90% of the matches against         **
>**         the single processor computer, then you need to play           **
>**         400 games matches. If you play shorter matches, the            **
>**         single processor computer actually has significant             **
>**         chances to win the match.                                      **
>****************************************************************************


See above.  the 3.5% number is (IMHO) way too low.



>
>
>
>    Christophe Théron, March 26th, 2001.



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