Hi,
I'm (still) trying to implement lazy threading (stockfish alike) in my program (Embla). Sofar it makes it only slower.
I have the feeling that the TT is the culprit. I tried global locking, coarse locking (1 lock every 1024 buckers), fine locking (1 lock per bucket) and no-locking. fine, coarse and no-locking behave somewhat the same. So that's probably fine.
For replacement scheme I use: if the age is different OR the depth of the new data is bigger, then replace entry.
Now I wonder: is that the right schema? Or are things missing?
regards
tt replacement schema for lazy threading
Moderator: Ras
Re: tt replacement schema for lazy threading
I checked when the cutoff happens and with 1 thread this is on average after 1.87 moves but with 2 threads this is after 6.92 moves!
-
- Posts: 411
- Joined: Thu Dec 30, 2010 4:48 am
Re: tt replacement schema for lazy threading
You might need multiple entries per TT cluster to make lazy work right. And if you only have a single entry it needs to be always replace probably otherwise for the vast majority of the search the different threads will be sharing NONE of their work because the TT is filled with 'high' depth stuff that can't be replaced.