A question about syzygy 6 men and partial use.

Discussion of chess software programming and technical issues.

Moderator: Ras

acconcio
Posts: 22
Joined: Tue Feb 04, 2014 9:52 pm
Location: Italy Milan

A question about syzygy 6 men and partial use.

Post by acconcio »

Hello, I have two problems, I can not download the entire database 6men, but I would like to experiment with wdl files. I would understand if it is useful, to devote about 5G of ram 6men, the most common used by stockfish. And understand if a partial database mounted on the ram of the most widely used endgames, increase or decrease the number of nodes processed.
So what are the final favorite stockfish with syzygy? The expense is worth the venture? Someone has tried it?

ciaoo and thank you!
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: A question about syzygy 6 men and partial use.

Post by velmarin »

You can see this thread is similar:

http://open-chess.org/viewtopic.php?f=3 ... ca8fee9e2b

I do not have the full Syzygy dtz 6 tables installed, not just use it,
and I do not create any problem.

In other systems I've tried,(robbobases,Nalimov,ect) the bad is not having any table not installed,
the trouble is that some corrupt, when the engine access it can be blocked,
the lack of a table is simply ignored.

Remember, you have the cheksums files to check the integrity of the tables.
syzygy
Posts: 5774
Joined: Tue Feb 28, 2012 11:56 pm

Re: A question about syzygy 6 men and partial use.

Post by syzygy »

acconcio wrote:Hello, I have two problems, I can not download the entire database 6men, but I would like to experiment with wdl files. I would understand if it is useful, to devote about 5G of ram 6men, the most common used by stockfish. And understand if a partial database mounted on the ram of the most widely used endgames, increase or decrease the number of nodes processed.
There is no point in copying the tables to a RAM-disk or anything like that. The OS takes care of caching the most relevant parts of the tables in RAM. The more RAM as RAM-disk, the less remains for caching.

Especially if the RAM-disk is not extremely well integrated into the virtual memory system of the OS, it will really hurt. You would have the tables once in RAM disk, from where they will have to be "cached into" the RAM page cache. They'll take up twice the space.

Even if the RAM-disk is very well integrated so that the RAM disk is effectively part of the page cache (I don't know how typical RAM disks work on Windows, but I doubt they work this well), the net gain will be small unless you have too much RAM in the first place. If you don't, it's better to let the OS figure out the parts that are most useful to have in RAM.

If you want to "preload" tables, just run an md5sum program on them before starting the engine. That should bring those tables into the page cache.

Regarding partial sets of tablebase files:
- unless you don't have 150GB of disk space, I see no reason to leave out anything;
- leaving out DTZ tables won't hurt a lot and at least SF should not have problems to cope with missing DTZ tables;
- for WDL there is really no point in leaving out any of the 5-piece tables. They don't take up much space. It would create complications that would not be worth my time to explain;
- leaving out 6-piece WDL files is possible but at your own risk. I do not guarantee that SF will promote its pawn if the WDL file for the resulting position is missing;
- there is no point in have a DTZ file without the corresponding WDL file. The DTZ file will simply not be use (and not be usable).