Implementing Dynamic Arrays: A Challenge for High-Performance Machines,
Abstract
There is an increasing need for high-performance AI machines. What is unusual about AI is that its programs are typically dynamic in the way their execution unfolds and in the data structures they use. AI therefore needs machines that are late-binding. Multiprocessors are often held out as the answer to AI's computing requirements. However, most success with multiprocessing has come from exploiting numerical computations' basic data structure-the static array (as in FORTRAN). A static array's structure does not change, so its elements (and the processing on them) may be readily distributed. In AI, the ability to change and manipulate the structure of data is paramount; hence, the pre-eminence of the LISP list. Unfortunately, the traditional pointer-based list has serious drawbacks for distributed processing. The dynamic array is a data structure that allows random access to its elements (like static arrays) yet whose structure-size and dimensions-can be easily changed, i.e., bound and re-bound at run-time. It combines the flexibility that AI requires with the potential for high performance through parallel operation. A machine's implementation of dynamic arrays gives a good insight into its potential usefulness for AI applications. Therefore, the authors outline the implementation of dynamic arrays on a machine that we are developing.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jan 01, 1986
- Accession Number
- ADA188142
Entities
People
- Gyula Mago
- Will Partain
Organizations
- University of North Carolina at Chapel Hill