ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

info about zappa on 512 cores ?
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
Daniel Shawul



Joined: 14 Mar 2006
Posts: 2187
Location: Ethiopia

PostPost subject: Re: transposition tables    Posted: Wed Jun 27, 2012 11:17 pm Reply to topic Reply with quote

I found an interesting bug in the distributed tt a couple of days ago and the above post I made examplifies it. Here is the bug just in case someone finds it interesting too. I used a modulo on the hash key to find which processor has the section of the TT, but then I used the same hash key to do the probing as well. This effectively throws away most of the hash tables when many processors are used! about 90% of TT with 8 threads, 75% of TT with 4 threads are useless...The problem is that using a modulo of the hash_key to select which processor is going to store that position effectively makes processor 1 to store hash_keys ending in 1, processor 2 in 2, processor 3 in 3 etc... So only 1/N of the TT is used with N processors. To avoid that a division by N should be applied before the key is used for probing. It may not be necessarily a division that is applied. In code:
Code:

processor[hash_key % N]
hash_key = hash_key / N
...

And then I do another operation to determine for each individual TT using the regular method that has 2^M entries. That ofcourse helps since it avoids division. Now this all sounds a bit redundant and I am not sure if it is the only way it can be done. And I wonder if there are efficient methods because I can already feel the nps slow down with the current method (not much but it is there). So I will rewind and rephrase a question just in case someone has a better idea.
--------------------------------------------------------------------------------
Give N small hash tables of the same size with K entries, how do you hash a position with zobrist hash hash_key ? Assume the small hash tables are physically separate (on different processor if you will).
--------------------------------------------------------------------------------
cheers
_________________
https://sites.google.com/site/dshawul/
https://github.com/dshawul
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Display posts from previous:   
Subject Author Date/Time
info about zappa on 512 cores ? Daniel Shawul Sat Jun 23, 2012 2:05 pm
      numa scaling Daniel Shawul Sun Jun 24, 2012 10:20 am
            Re: numa scaling Robert Hyatt Sun Jun 24, 2012 5:01 pm
                  Re: numa scaling Daniel Shawul Sun Jun 24, 2012 5:41 pm
                        Re: numa scaling Robert Hyatt Mon Jun 25, 2012 12:37 am
                              Re: numa scaling Daniel Shawul Mon Jun 25, 2012 1:23 am
                                    Re: numa scaling Robert Hyatt Mon Jun 25, 2012 10:05 am
                                          Re: numa scaling Daniel Shawul Mon Jun 25, 2012 4:00 pm
                                                Re: numa scaling Daniel Shawul Mon Jun 25, 2012 5:21 pm
                                                Re: numa scaling Daniel Shawul Mon Jun 25, 2012 8:09 pm
                                                      Re: numa scaling Robert Hyatt Mon Jun 25, 2012 8:38 pm
                                                            Re: numa scaling Daniel Shawul Mon Jun 25, 2012 8:53 pm
                                                                  Re: numa scaling Robert Hyatt Mon Jun 25, 2012 9:17 pm
                                                                        Re: numa scaling Daniel Shawul Mon Jun 25, 2012 9:46 pm
                                                                              Re: numa scaling Robert Hyatt Tue Jun 26, 2012 3:34 am
                                                                                    Re: numa scaling Daniel Shawul Tue Jun 26, 2012 11:06 am
                                                      Re: numa scaling Daniel Shawul Tue Jun 26, 2012 12:55 am
            transposition tables Daniel Shawul Sun Jun 24, 2012 5:53 pm
                  Re: transposition tables Daniel Shawul Wed Jun 27, 2012 11:17 pm
                        Re: transposition tables Ronald de Man Fri Jun 29, 2012 11:47 pm
                              Re: transposition tables Daniel Shawul Sat Jun 30, 2012 12:40 am
      Re: info about zappa on 512 cores ? Vincent Diepeveen Fri Jun 29, 2012 11:07 pm
            Re: info about zappa on 512 cores ? Daniel Shawul Sat Jun 30, 2012 12:32 am
                  Re: info about zappa on 512 cores ? Daniel Shawul Sat Jun 30, 2012 10:50 am
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads