Page 3 of 3

Re: How Much RAM Is To Much RAM ??

Posted: Sat Jan 26, 2008 10:44 pm
by smirobth
Chess Gator wrote:
Ovyron wrote:
Codeman wrote:diminishing returns mean in this case, that the advantages get smaller, the more ram you add.
so the first GB ram you add brings a higher benefit, than the second GB, or the third.
I think that it gets so diminishing that adding above 2 GB of RAM will add less than 1 ELO in strength.
WOW :shock: that is amazing, I never would have guessed only 2GB is required for max effect! I wonder why?

If increased RAM will not make a significant difference, what would be the most important piece of hardware to upgrade, would u say :?:
CPUs are always, by far, the biggest factor. Get the fastest one(s) you can afford. If using an MP program get as many CPUs as you can afford. Also 64 bit CPUs will help if you have a 64 bit engine and operating system.

Re: How Much RAM Is To Much RAM ??

Posted: Sat Jan 26, 2008 11:26 pm
by Dirt
smirobth wrote:I should mention that there is another cause of diminishing returns, which is that it takes a while for a hash table to even become fully populated with positions. If you had a program that searched 1 millions nodes per second, and used a 128GB hash table, it would take 35 hours before the hash table was even filled with entries! Even a 2GB table would take half an hour to be completely filled.
Hash entries are much more than one byte long, so it's not quite that bad.

I believe Bob Hyatt has explained that excessively large hash tables can be a tad slower for shallow searches because the TLB overflows, but if you search long enough you'll want all the hash you can get.

Re: How Much RAM Is To Much RAM ??

Posted: Sun Jan 27, 2008 7:23 am
by smirobth
Dirt wrote:
smirobth wrote:I should mention that there is another cause of diminishing returns, which is that it takes a while for a hash table to even become fully populated with positions. If you had a program that searched 1 millions nodes per second, and used a 128GB hash table, it would take 35 hours before the hash table was even filled with entries! Even a 2GB table would take half an hour to be completely filled.
Hash entries are much more than one byte long, so it's not quite that bad.

I believe Bob Hyatt has explained that excessively large hash tables can be a tad slower for shallow searches because the TLB overflows, but if you search long enough you'll want all the hash you can get.
Hi Greg,

Very good point about hash entries taking more than one byte each, I forgot to take that into consideration, so all the numbers above would need to be divided by the number of bytes/entry (~10?). But that still means several hours before a 128GB hash table could be even be populated.

And then there is still the issue that the tables will experience a diminishing percentage of hash table hits, resulting in diminishing returns. I believe this effect is significant and that even for deep searches going above a GB would not produce much benefit, except in the endgame. Sure, if you have the RAM use it; theoretically your performance will improve slightly, but I think if someone is trying to build a super fast chess computer they are much better off putting their money into CPUs than into huge amounts of RAM.