David,

> 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?

We have a single atomic test-and-set instruction to expand a node (add
children)
only once. It is not a blocking mutex. If a thread finds that the node is
not yet expanded but some other thread is already allocating new children,
it simply
goes on, starting a playout at this point.

> Do this impact scaling at some point?

Maybe above 24 cores, but we couldn't measure this. Pachi scales perfectly
up to 24 cores
in single-machine mode. See the reference given by Pasky earlier in this
thread:
Fig. 9 of http://pasky.or.cz/go/pachi-tr.pdf

Jean-loup
_______________________________________________
Computer-go mailing list
[email protected]
http://dvandva.org/cgi-bin/mailman/listinfo/computer-go

Reply via email to