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.