Just curious... I understand how you update the counters lock-free, but surely you must have a lock to protect adding a new node to the tree? Do this impact scaling at some point? Are there any other infrequent locks like this?
David > -----Original Message----- > From: [email protected] [mailto:computer-go- > [email protected]] On Behalf Of Petr Baudis > Sent: Friday, August 10, 2012 12:47 PM > To: [email protected] > Subject: Re: [Computer-go] Kas Cup - results and prizes > > On Fri, Aug 10, 2012 at 09:26:31AM -0700, David Fotland wrote: > > Because my current approach seems to work just as well (or maybe > > better), and I haven't had time to code up a shared try and tune it up > > to validate that assumption. Chaslot's paper indicates perhaps that > > not having a shared tree is stronger. My guess is that they are about > > the same, so it's not worth the effort to change. > > In Pachi, having a shared tree makes all the difference when scaling up > to more threads. See the graph (really awful one, sorry, it's old!) at > > http://pachi.or.cz/root-vs-shared.png > > If you have some information sharing near the root, I imagine it might > be similar to Pachi's distributed engine performance (or just slightly > better). But that is still far behind in scaling compared to the shared > tree in our experience. > > P.S.: There are two important things, virtual loss (not necessarily 1 > simulation but possibly more) and mainly lockless updates. The latter > also means that sane code should be really easy to modify to use single > shared tree instead of multiple trees. > > Petr "Pasky" Baudis > _______________________________________________ > Computer-go mailing list > [email protected] > http://dvandva.org/cgi-bin/mailman/listinfo/computer-go _______________________________________________ Computer-go mailing list [email protected] http://dvandva.org/cgi-bin/mailman/listinfo/computer-go
