Active memory for structure manipulation

One of the perennial problems of parallel computer architectures is how to avoid unnecessary movement of information from one processor to another. The issue of unnecessary data movement is also familiar to the database community, where it manifests itself as the I/O bottleneck for a uniprocessor. Much of the problem in both cases is due to the fact that the point where data is stored is different from the point at which it is processed. The authors examine a concept which has been called active memory, by which a single physical unit is responsible both for storing and manipulating certain kinds of structured data. The applications for which there is a special need for active memory are large knowledge-based systems and related areas where AI techniques are applied (possibly via a declarative language) to symbolic information. This is an area where the performance of conventional computers leaves much to be desired. It is also an area of growing importance, for it includes management information systems, deductive databases and real-time command and control.