JAY@USC-ECLC@sri-unix.UUCP (07/28/83)
From: Jay <JAY@USC-ECLC> (more speculation) There has been some developement of computers suited to certain high level languages, includeing the LISP machines. There has also been some research into non-Von Neuman machines. One such machine is the Data Flow Machine. The data flow machine differs from the conventional computer in that ALL instructions are initiated when the program starts. Each instruction waits for the calculations yeilding its arguments to finish before it finishes. This machine seems, to me, to be ideally suited to Production Systems/Expert Systems. Each rule would be represented as a few instructions (the IF part of the production) and the THEN part would be represented by the completion of the rule. For example, the rule (Month-is-june AND Sun-is-up) -> (Temperature-is-high) would be coded as: Temperature-is-high: AND / \ / \ / \ (Month-is-june) (Sun-is-up) Where (Month-is-june) and (Sun-is-up) are represented as either other rules, or as data (which I assume completes instantly). j'
pollack@uicsl.UUCP (08/16/83)
#R:sri-arpa:-360300:uicsl:15500002:000:954 uicsl!pollack Aug 15 19:27:00 1983 The nodes in a data-flow machine, in order to compute efficiently, must be able to do a local computation. This is why arithmetic or logical operations are O.K. to distribute. Your scheme, however, seems to require that the database of propositions be available to each node, so that the known facts can be deduced "instantaneously". This would cause severe problems with the whole idea of concurrency, because either the database would have to be replicated and passed through the network, or an elaborate system of memory locks would need to be established. The Hearsay system from CMU was one of the early PS's with claims to a concurrent implementation. There is a paper I remember in IEEE ToC (75 or 76) which discussed the problems of speedup and locks. Also, I think John Holland (of Michigan?) is currently working on a parallel PS machine (but doesn't call it that!) Jordan Pollack University of Illinois ...!pur-ee!uiucdcs!uicsl!pollack
sts@ssc-vax.UUCP (Stanley T Shebs) (08/17/83)
A concurrent PS is not too impossible, 'cause I've got one (specialized for NL processing and not actually implemented concurrently, but certainly capable). It is true that the working memory would have to be carefully organized, but that's a matter of sufficiently clever design; there's no fundamental theoretical problems. Traditional approaches won't work, because two concurrently operating rules may come to contradictory conclusions, both of which may be valid. You need a way to store both of these and use them. stan the leprechaun hacker ssc-vax!sts (soon utah-cs)