[comp.graphics] PS300 Function Networks

cme@cloud9.Stratus.COM (Carl Ellison) (04/10/89)

In article <7710@batcomputer.tn.cornell.edu>, garry@batcomputer.tn.cornell.edu (Garry Wiegand as guest) writes:
> (For those who don't know: a function network is a directed graph
> of arithmetic functions. Data flows in one end, for example from a
> mouse, follows the connections, is transformed in arbitrary ways, 
> and flows out the other end, for example to affect a screen display. 
> The data flow happens *continuously*.  (Carl, did I say it right?))

Yes, that's an excellent short description.

I'd add only that the graph of arithmetic functions was built by the user
(or user's programmer) to fit the application and that nearly every
element in the hierarchical display data structure doubled as a function --
could be connected up as a data sinks in these graphs, so that the
display structure became part of the function net graph.  The values
received by display structure nodes were used as rotations, scales,
ink vectors, rubber band vectors, ..., depending on the type of display node.



Almost by accident, by the way, we discovered that the function nets provided
a good junction box for communications.  There was one PS300 in our lab
which was connected to both a VAX and an IBM mainframe.  Those two computers
couldn't talk together -- so one of our developers typed in a 2 connection
function network and, within a few minutes, the two hosts were
transferring files -- at 56Kb -- allowing the developer to use the VAX
for editing his IBM subroutine package -- a case of a painful editor
being the mother of invention.  He would probably never have tried it
otherwise.

--Carl Ellison                      UUCP::  cme@cloud9.Stratus.COM
SNail:: Stratus Computer; 55 Fairbanks Blvd.; Marlborough MA 01752
Disclaimer::  (of course)

munck@linus.UUCP (Robert Munck) (04/12/89)

In article <7710@batcomputer.tn.cornell.edu>, garry@batcomputer.tn.cornell.edu (Garry Wiegand as guest) writes:
> (For those who don't know: a function network is a directed graph
> of arithmetic functions. Data flows in one end, for example from a
> mouse, follows the connections, is transformed in arbitrary ways, 
> and flows out the other end, for example to affect a screen display. 
> The data flow happens *continuously*.  (Carl, did I say it right?))


I recently saw a new Navy processor called the AN/UYS-2 that was designed
to work that way.  It has eight or so arithmetic engines each capable of
about 5 Megaflops, a billion or so bytes of memory, and various other
wonders.  It's intended for signal processing, and you program it by
drawing dataflow diagrams on a workstation.  You can also write Ada programs
that control the topology of the graph while it's running.  A real data-
chewer; I'd love to see it used for graphics.  Size is that of a large 
suitcase, cost is ... if you have to ask, you can't afford it.

BTW, I believe that the first mention of functionnetworks or data-flow
architectures was by Jorge Rodriquez in his MIT thesis in the mid 1960's.
                     -- Bob Munck, MITRE