Author: Robert Hyatt
Date: 08:10:36 09/04/03
Go up one level in this thread
On September 04, 2003 at 04:54:53, Tony Werten wrote: >On September 03, 2003 at 10:44:11, Sune Fischer wrote: > >>On September 03, 2003 at 10:35:11, Gian-Carlo Pascutto wrote: >> >>>On September 03, 2003 at 10:26:19, Sune Fischer wrote: >>> >>>>>What is your point? >>>> >>>>Heh :) >>>> >>>>You said (remote) checking for fail_high conditions at every node was required, >>>>and I disagree. >>> >>>I never say 'at every node'. >> >>You said constantly, then I don't know what you mean by that. >> >>>Each time you get a subtree score, you must send out the score update to >>>all processors, or store it locally and rely on remote processors to check >>>it in your memory. >>> >>>Either way, you need remote accesses. >>> >>>Got it now? >> >>This is an entirely different matter, you don't get subtree scores "constantly". >> >>And I still say you only have to access when there is something to communicate. >> >>If you just quietly exit the subtree on a fail low, I see no need for >>communication. > >I suddenly see the point you're missing. What you describe works correct on a >dual machine only. > >Think about a 4 processor machine. > >processor 1 and 2 are running. > >processor 3 runs and starts a new thread on proc. 4 > >Now proc 4 is done, proc 3 get's this (ie he get's a done message, with score ) > >But how are proc 1 and 2 going to know that 4 is available ? > >Tony Lock(); idle++; Unlock(); and that does it. _everybody_ can see "idle" (which is zero 99.9999% of the time since processors are not idle that often). The value is in local cache, it costs nothing to test frequently, until a cache snoop discovers the valueeeee has been changed. The lock can be eliminated if desired, by using a somewhat different meaning for "idle". > >> >>-S. >>>-- >>>GCP
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.