> I don't think they are much use just at the root, it's going to be pure
> luck then if the engine ends up in a won TB position.
Sounds reasonable. Interestingly, tests show, that TBs, even when probed in the tree, don't help much. Some tests seem to indicate, they hurt. Nevertheless, the times I was at the PB tournament, all the authors installed TBs. So, is it stupid, that they do? Perhaps. Also, it would be rather frustrating, when the engine loses some half point, because it misplays a difficult TB position.
> About the OS swapping them out, that's fine as long as they aren't
> needed but what happens when suddenly they are needed...
In the case, that only at the root is probed, not much will happen. One memory page or the other will get swapped in again (perhaps one for each move, 40 moves * 4 kB is not much). Instead of using one m?lli second to end the game, the engine may use one second. Also note, that the memory is available now for certain, because you won't access the hash tables anymore.
When probing inside the tree, things are of course more complicated. The Nalimov code loads all available decompression indices into RAM. For example on my computer, when enabling 6-men TBs (I have a very few on disk), this is about 40 MB of RAM. From my observation, of those 40MB, only very few will be really accessed even in positions with heave TB-probing, so most of it can stay swapped out. After all, modern operating systems do give virtual memory to applications for a good reason, it is not bad to use it. (I am of course aware, that using it for normal hash tables makes no sense).
>I still maintain that it's not completely clear if the TBs are worth it if the
> engine is limited to a (small) total amount of memory.
If only probing at root - yes, it must be worth it. Only resource really needed is disk space. So they should be able to help (in those rare cases, where a difficult TB position is on the board).
>I hope Eugene will make some memory efficient 5-6 man bitbases at
> one point, perhaps after the 6-man set is complete?
Bitbases alone will not help at all. Uncompressed they will be about as big as compressed TBs. Compressed, they will need some sort of decompression indices. Or 2 disk accesses per probe (which could be avoided by a more sophisticated caching scheme). But this could be done with normal TBs already. Of course compressed bitbases will save disk space. But you will need the real TBs on disk anyway, because otherwise in many cases the engine will not be able to make progress in a won position.
Bitbases used in RAM should be a considerable advantage (at least in some cases), but they really cost resources, and 6-men bitbases in RAM will need an expensive computer ...
Regards,
Dieter