We'd distribute atomic entities, and not share state across distributed entities. Each algorithmic component has an input and produces output irrespective of the previous entity in the pipeline. The payload of all messages (even bidirectional in some cases) is the SDR that's being passed. Those algorithms that operate on the same cells, columns and synapses would have to be contained in one atomic unit - we're not really talking about distributing say a Spatial Pooler here and a Temporal Memory over there. The containment resolution would have to be at the "layer" or "region" level.
On Fri, Feb 6, 2015 at 4:31 AM, Tim Boudreau <[email protected]> wrote: > I'll kick in one bit of 2c here: > > Statefulness is the enemy of distributed systems - it's why all the clever > objects-with-one-foot-on-each-side-of-the-wire frameworks that have come > and gone have gone; it's why distributed databases are hard and choose > different sets of trade-offs in terms of what they do in the case of > different flavors of failure; it's why ntp and clock syncing is terribly > important in those systems. > > Nupic is all about state - state that can't be minimized or reduced > because fundamentally what Nupic *does* is compute that state. > > If you can design something where Machine-A computes something and throws > it over the wall to Machine-B, which will not feed anything back to > Machine-A, that will work. If not, you could easily end up with something > where the amount of bookkeeping and stops for coordination completely > swamps the benefit of distributing the work, or slows work down to some > percentage of the speed of the slowest machine or network connection in the > group. > > I'm not saying don't do it, but think through the parts that would need to > touch each other or wait for each other, or be synchronized with each other > across machines very carefully, up-front, or it's possible to waste a lot > of effort. Scale-out is cooler than scale-up, but not all problems are > amenable to it. > > -Tim > > > > > -- *We find it hard to hear what another is saying because of how loudly "who one is", speaks...*
