> Ben Goertzel wrote:
>
> > *
> > an easy to use "distributed processing framework" allowing Novamente or
> > other AGI systems to farm out certain types of processing
> across millions of
> > processors, distributed.net / SETI@home style.... Again, such
> tools exist,
> > but when you look at the details none of them are flexible enough to use
> > directly off the shelf for Novamente AGI purposes, or for other
> AGI purposes
> > either I suspect
> >
>
> All of the things you mentioned are very much what I had in mind
> for useful modules that could be developed via OS. This one I
> singled out is one I would be interested in exploring further.
> Please say more, online or off, about what the requirements
> would be that are not satisfiable with current tools.
>
> - samantha

The system I'm thinking of is something we used to call Webworld, back in
the Webmind Inc. days, so I'll call it that here, until a better name
emerges. A fair bit of design work went into Webworld, and a partial
prototype was built & tested at Webmind inc., but is no longer available (as
it's lost in the bizarre legal IP mess that was once Webmind Inc.)

That is a conceptual paper with a few tech details toward the end. It is
focused on Alife rather than AI (as it was presented at the Alife 7
conference), but the Webworld design supports either. The key section is
halfway through or a little more: "Webworld: an internet Alife OS."

Actually we don't need the whole Webworld design for Novamente, but Webworld
was designed to support pretty much any kind of Alife or AI activity, not
just the requirements of one particular Ai system.

In a nutshell, Webworld involves a very generic piece of software, which
runs in the background on a computer a la distributed.net. A Webworld
"location" (the word for a local instance of Webworld) is basically just an
"environment" in which artificial agents can live. Any agent fulfilling a
certain simple API can live in a webworld location, and can send messages to
other agents living in other webworld locations. Distributed
problem-solving is one application of this sort of setup. The various
control objects for Webworld locations are also implemented as particular
kinds of agents, so they can be updated dynamically if this is desired.

The main point is the generality of the agent API, and, the fact that a
variety of distributed processing paradigms are supported. Yeah, you can
use it to dispatch jobs from a central server and collect the results
later -- the easiest paradigm. But you can also use it to run algorithms
that involve P2P interactions -- say, a distributed GP population using an
islands model, where agents migrate from one machine to another within the
same multi-machine evolving population; or, a problem-solving method that is
mostly carried out in the background of a large number of machines around
the world - but, that requires moderately frequent calls into a central DB
for information in the course of problem solving... etc. The Webworld
architecture does not impose narrow restrictions on the style of distributed
processing, which is important for Novamente because Novamente can make use
of a lot of different styles of distributed processing for different
purposes.

Webworld would be very useful for Novamente because procedure learning and
probabilistic logical unification, two of the most difficult and
processing-intensive aspects of Novamente cognition, are very well-suited
for Webworld-style distributed processing.

Webworld as previously designed was intended to run Java agents only. Since
Novamente is in C++, it would be nice if it were possible to use C++ agents
too (could be done with Java wrappers and JNI, of course). Or Webworld could
be done in all C++, forgetting Java... of course there are many
possibilities on this level...

We will implement something like this for Novamente someday, but it's not
high on our priority list because there is still a lot more we can do on our
local network of machines... we have not yet reached the point where
processing power is our main obstacle. However, WebWorld work could be done
in parallel with Novamente work, so that WebWorld will be ready when
Novamente needs it. And there may be other Ai projects that could make use
of it right now. In fact we could use it right now for some of our Biomind
(biology data analysis & database integration) work, quite apart from its
potential applications to deep Novamente cognition....