Increase in Elo ..Question For The Experts

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Steve B
Posts: 3697
Joined: Tue Jul 31, 2007 4:26 pm

Increase in Elo ..Question For The Experts

Post by Steve B »

Hi All
If a chess engine is currently rated 2350 running on a 486 at 66 Mhz..
what would the approximate rating increase be if that same exact program runs on a Pentium III at 866 Mhz?
ignore any differences in Ram
a range of 25 Pts would be fine(I.E. an increase of 100-125 for example)
is the increase due entirely to the increased clock speed or do the different processors have any impact on the increase?
(same clock speed but different processors)

Thanks In Advance Regards
Steve
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Increase in Elo ..Question For The Experts

Post by Matthias Gemuh »

50*(log(866/66)/log(2)) = +175

60*(log(866/66)/log(2)) = +222


175 ... 222
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Increase in Elo ..Question For The Experts

Post by bob »

Steve B wrote:Hi All
If a chess engine is currently rated 2350 running on a 486 at 66 Mhz..
what would the approximate rating increase be if that same exact program runs on a Pentium III at 866 Mhz?
ignore any differences in Ram
a range of 25 Pts would be fine(I.E. an increase of 100-125 for example)
is the increase due entirely to the increased clock speed or do the different processors have any impact on the increase?
(same clock speed but different processors)

Thanks In Advance Regards
Steve
Hard to answer, but the general rule would be about 60-70 Elo each time you double the speed of the program. Clock speeds are not always indicative of program speed, thanks to games Intel has played in the past, however...
User avatar
Ajedrecista
Posts: 1966
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Doubt with the formula.

Post by Ajedrecista »

Hello:
Matthias Gemuh wrote:50*(log(866/66)/log(2)) = +175
Wow! Really a quick answer. I have done this math and it is around 185.69, so a little more than 175, but with the uncertainties, yes, it could be a good approximation... but I do not understand that formula: why multiplying by 50 and dividing by log(2)?

I have an Intel Pentium D930 (2999 MHz) at home; I have access to some Intel i5-760 (2793 MHz) at university, but i5 is much faster than D930 running on single core (of course). With your formula:

50·[log(2999/2793)/log(2)] ~ 5.13

But of course a chess engine like Komodo 3 (single core) is not +5 Elo in D930 with respect i5. For example: running Houdini 1.5a w32 in those i5, I reach over 5 MN/s at starting position with 128 MB of hash (and 4 cores); the same engine, same hash and same position on D930 reaches around 850 kN/s (on 2 cores) in the same amount of time, so doubling the cores and reducing a little the frequency grows up the search speed by a factor of more than 5 (I know that i5 microprocessors are far better than D930 ones). So, please explain this formula. Thanks in advance.

Regards from Spain.

Ajedrecista.
Last edited by Ajedrecista on Mon Dec 05, 2011 6:47 pm, edited 1 time in total.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Doubt with the formula.

Post by bob »

Ajedrecista wrote:Hello:
Matthias Gemuh wrote:50*(log(866/66)/log(2)) = +175
Wow! Really a quick answer. I have done this math and it is around 185.69, so a little more than 175, but with the uncertainties, yes, it could be a good apprximation... but I do not understand that formula: why multiplying by 50 and dividing by log(2)?

I have an Intel Pentium D930 (2999 MHz) at home; I have access to some Intel i5-760 (2793 MHz) at university, but i5 is much faster than D930 running on single core (of course). With your formula:

50·[log(2999/2793)/log(2)] ~ 5.13

But of course a chess engine like Komodo 3 (single core) is not +5 Elo in D930 with respect i5. For example: running Houdini 1.5a w32 in those i5, I reach over 5 MN/s at starting position with 128 MB of hash (and 4 cores); the same engine, same hash and same position on D930 reaches around 850 kN/s (on 2 cores) in the same amount of time, so doubling the cores and reducing a little the frequency grows up the search speed by a factor of more than 5 (I know that i5 microprocessors are far better than D930 ones). So, please explain this formula. Thanks in advance.

Regards from Spain.

Ajedrecista.
I'm not sure I buy the constants either, because they are based on clock speeds. There is a significant difference between a 486, a 586 super-scaler, and a 686 and beyond doing out of order execution. At the same clock speed, the OOE processor will be WAY faster than the 486....
Steve B
Posts: 3697
Joined: Tue Jul 31, 2007 4:26 pm

Re: Increase in Elo ..Question For The Experts

Post by Steve B »

bob wrote:
Steve B wrote:Hi All
If a chess engine is currently rated 2350 running on a 486 at 66 Mhz..
what would the approximate rating increase be if that same exact program runs on a Pentium III at 866 Mhz?
ignore any differences in Ram
a range of 25 Pts would be fine(I.E. an increase of 100-125 for example)
is the increase due entirely to the increased clock speed or do the different processors have any impact on the increase?
(same clock speed but different processors)

Thanks In Advance Regards
Steve
Hard to answer, but the general rule would be about 60-70 Elo each time you double the speed of the program. Clock speeds are not always indicative of program speed, thanks to games Intel has played in the past, however...
so from 66 to 866 is about 3.6 doublings
thats 60*3.6 or an increase of about 210?
Matthias formula seems to indicate about 175
a good range then would be 175-200
that seem accurate?
Thanks
Steve
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Doubt with the formula.

Post by Matthias Gemuh »

Ajedrecista wrote:Hello:
Matthias Gemuh wrote:50*(log(866/66)/log(2)) = +175
Wow! Really a quick answer. I have done this math and it is around 185.69, so a little more than 175, but with the uncertainties, yes, it could be a good approximation... but I do not understand that formula: why multiplying by 50 and dividing by log(2)?
The idea is that doubling the speed gives +50 Elo increase on same hardware.
The better processor justifies a greater increase, thus +60.

I know that some people would want to assume +70 or even +80 because of the better processor.

So my estimate is quite pessimistic. :wink:
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Ajedrecista
Posts: 1966
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Doubt with the formula.

Post by Ajedrecista »

Hello Matthias:
Matthias Gemuh wrote:
Ajedrecista wrote:Hello:
Matthias Gemuh wrote:50*(log(866/66)/log(2)) = +175
Wow! Really a quick answer. I have done this math and it is around 185.69, so a little more than 175, but with the uncertainties, yes, it could be a good approximation... but I do not understand that formula: why multiplying by 50 and dividing by log(2)?
The idea is that doubling the speed gives +50 Elo increase on same hardware.
The better processor justifies a greater increase, thus +60.

I know that some people would want to assume +70 or even +80 because of the better processor.

So my estimate is quite pessimistic. :wink:
Now I understand the formula. Thank you. I think I read a while ago in Rybka Forum that doubling the speed worths between +60 and +70... not sure 100%.

But for my experience I say that clock speed is not all in performance gains: also the microprocessors. Running JetChess 1.0.0.0 (a single core, w32 perft counter) in i5 is between 3 and 10 times faster (depends on the positions, maybe is between 3 and 6 or 3 and 7, I do not remember well) than in D930 in spite of have 205 MHz less.

Regards from Spain.

Ajedrecista.
User avatar
Eelco de Groot
Posts: 4561
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Increase in Elo ..Question For The Experts

Post by Eelco de Groot »

Matthias Gemuh wrote:50*(log(866/66)/log(2)) = +175

60*(log(866/66)/log(2)) = +222


175 ... 222
It could be a bit more I think. From the SSDF list there is for instance Chess Genius 3.0 DOS with a rating of 2256
174 Genius 3.0 486/50-66 MHz 2256 24 -24 866 61% 2175
But the same program on a Pentium 90 MHZ was already
158 Genius 3.0 Pentium 90 MHz 2312 25 -24 824 60% 2240
If you'd speed up that Pentium 90 MHz to 866 MHz and assume an optimistic 70 elo increase per doubling (Rybka claims it gets 70 elo per doubling), I get about 228 elo increase over Pentium 90 MHz.

So assuming a Pentium III 866 MHZ is about a ten times faster Pentium 90. That would be an upper limit, but not so unrealistic; if it was a large program that would not fit in the cache of the 486,- I'm not sure, but I don't think the 486 actually had an on board/chip instruction cache?-, and knowing there are Pentium III 866 procesors with 256 kB L2 cache but there were also for instance the Celerons, that were Pentium IIIs but had IIRC only 128 kb L2 cache (I had one of those, 500 MHz Celeron Pentium III), but otherwise these were identical (Of the 866 Pentium III I think the 128 kB version was not called Celeron anymore). If this chessprogram would now fit completely in that 256 kB cache of a real Pentium III, and for an old program I think it might, then that would be beneficial to its execution speed, irrespective of the increased clock speed to 866 MHz. So with some luck I think you would get more than that figure of +222 that you get from just looking at the increased clock speed.

Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
kasinp
Posts: 251
Joined: Sat Dec 02, 2006 10:47 pm
Location: Toronto
Full name: Peter Kasinski

Re: Increase in Elo ..Question For The Experts

Post by kasinp »

Steve,

Please have a look at this resource:

http://tldp.org/HOWTO/BogoMips/bogo-list.html


For the 486 66MHz I think the speed index is around 33.
For P3 866MHz the speed index is ca. 1730.

These numbers give a much bigger difference that the raw clock speed comparison. Bob is absolutely right - once cycle of the 486 is NOT the same as one cycle of the P3.

I used these index values to calibrate DOS Box version of the Genius 3 program to my dedicated Mephisto unit (there are Motorola 68030 speeds here as well). The results were really close to the index predictions.

Regards,
PK