Author: Christophe Theron
Date: 09:55:10 03/27/01
Go up one level in this thread
On March 27, 2001 at 10:47:58, Robert Hyatt wrote:
>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".
That's right.
Actually as the title says, the message is directed to people who are
considering to buy a dual.
As far as I know quads are so expensive that it would be ridiculous to buy one
just to play chess.
>>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...
You are always thinking with unlimited resources in mind!
I don't disagree with you here, but in real life there are people wondering if
it's worth it to buy a dual.
And depending on how much money they can put on it, they will have to choose
between a single 1.GHz and a dual 1GHz.
If you can afford to buy a dual 1.2GHz, then you just stop after reading the
first paragraph.
If not, then I think the rest is worth reading...
>>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.
OK, I admit that I have not done any test on this issue, so your input is
appreciated.
If my figures are wrong I will publish an update for this text.
Do you have any measure of the slowdown expected when 2 thread are accesing
intensively the same EGTB files? That would help us to compute the corresponding
ELO loss.
>>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.
I did not try to cover quads in the message because I don't think many people
could afford to buy one.
So far I have seen a number of people on CCC asking for duals, but nobody ever
said he was considering to buy a quad.
>>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
When you win a game, your opponent loses it. I don't count this as 2 games.
>>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.
Real world compromises must be taken into account. I'm trying to translate "two
processors" into chess words.
In chess words, the number of game you are going to win counts. A dual
processors computer looks like a monster at first glance, but in the end you
realize that the difference is small, in chess terms.
So you can decide if it's worth it to buy one with a better understanding of
what you will get.
Christophe
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.