JFS: Note that there are no
locks on the "tuple spaces" called the Semantic Web. People
just hope that the thing at the pointy end of a URL stays the same while they
process it.
RC: Perhaps a better approach would be to use two URLs as
a quadrature semaphore, like the cable protocols can do. At least that
would be free of switching noise for any period not around the nearest
tick. Clients sampling the two URLs would have to be done in less than
one tick of course. So that sets the design of safe throughput for the whole
plurality of agents that need access to the associated resource.
The FMF makes no assumptions
about what any agent does. If updates are critical, an agent can call
Oracle or DB2. However, most AI systems for NLP and informal reasoning
make do with any data they get.
Agreed - there are many data wrangling tools.
Embedding one or more dbmss makes great sense also, even very local dbmss that
are only shared among a LAN's users for security reasons.
If time is critical, an agent
can make a decision based on whatever info it has when the deadline hits.
That's what people do -- and they're smarter than any current AI system.
Agreed there also!
John
-----Original Message-----
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx
[mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of John F Sowa
Sent: Wednesday, May 27, 2015 11:44 AM
To: ontolog-forum@xxxxxxxxxxxxxxxx
Subject: Re: [ontolog-forum] Architecture of Intelligent
Systems - Flexible Modular Framework
Michael and Rich,
MB
> As the most simple systems are Turing complete, I'd
say what a system
> *can* do is not relevant, only what it actually does
Yes indeed. "The proof is in the
pudding." The first point I'd cite is the evidence for Linda (which
was one of the inspirations for the FMF). Following is an article (from
1992) about the way
14 workstations connected by Linda outperformed a Cray
supercomputer:
http://www.nytimes.com/1992/01/19/business/david-gelernter-s-romance-with-linda.html
Bill Joy was sufficiently inspired by Linda, that he used
it as the basis for Jini and Java spaces. At VivoMind, the FMF has proved
to be a highly flexible system for rapidly implementing custom designs for
special purpose software. For some examples, see
http://www.jfsowa.com/talks/goal6.pdf
http://www.jfsowa.com/talks/goal7.pdf
As for performance, the space overhead for one agent is
about 1K bytes (plus whatever space the application uses). In one test,
the FMF used thousands of agents to process 14 terabytes of data on a machine
with
8 CPUs in 15 minutes. When 7 CPUs were turned off,
it took almost
2 hours. That's almost linear scaling. (The
data was provided by the client, and the VivoMind system generated better
results in less time than the previous software that the client had been
using.)
RC
> Re the blackboard with lotsa agents reading and
writing, how do you
> handle lock and deadlock issues?
Very simple. There are no locks. Hence, no
deadlocks. For that example above, the data was read-only. So locks
were unnecessary.
If you need a strategy for serializing something, you can
implement an agent that owns a critical resource and uses its own policy to
restrict access. You also take a commercial DB (or any system of any
size), put an FMF wrapper around it to make it look like an FMF agent.
Besides Jini for Java spaces, Linda also inspired other
versions of "tuple spaces". But many people criticized them
because the blackboard becomes a centralized point of contention. But the
FMF allows you to have any number of blackboards. It also allows you to
send messages directly if you know the id of the agent you want to invoke.
RC
> If you only let one agent perform a complete
activity at one time,
> that would avoid both lock and deadlock, but would
waste the
> opportunity to use many cpus in the process.
Note that there are no locks on the "tuple
spaces" called the Semantic Web. People just hope that the thing at
the pointy end of a URL stays the same while they process it.
The FMF makes no assumptions about what any agent
does. If updates are critical, an agent can call Oracle or DB2.
However, most AI systems for NLP and informal reasoning make do with any data
they get.
If time is critical, an agent can make a decision based
on whatever info it has when the deadline hits. That's what people do --
and they're smarter than any current AI system.
John