This page describes the ASsociative Computing (ASC) research at Kent State University. One goal of this research is to develop a parallel programming paradigm that is simple enough to be taught to high school students, suitable for a wide range of applications, efficient to write and execute and that can be used on a wide range of computing engines from PCs and workstations to parallel computers. The ASC paradigm uses massively parallel searching and processing of unordered data.
This approach to associative computing originated with the bit serial SIMDs of the 1970's when computers were quite expensive and unordered searching was only feasible on massively parallel bit serial machines. The continuing trend toward lower hardware prices and higher software costs suggests that some of this increase in hardware productivity should be used to improve programming productivity by using associative techniques even on conventional sequential as well as parallel machines.
Associative computing uses two dimensional tables as the basic data structure. It has an efficient, dynamic memory allocation mechanism which is associative not address based. Pointers are not needed or used. The ASC language incorporates data parallelism at the base level, relieving programmers of the responsibility to specify low level auxiliary operations such as sorting, looping and parallelization.
Associative computing supports all of the standard data parallel and massively parallel computing algorithms. Associative computing combines numerical computation such as convolution, matrix multiplication, and graphics with non-numerical computing such as compilation, graph algorithms, rule based systems, and language interpreters.
The Associative Computing book below describes the rational for associative programming and the ASC programming language in detail. ASC is a traditional style structured language. Anglish (Associative English) is a more intutive, "natural language" style language. An interactive story problem sovling tutorial using Anglish in an Associate Computing Environment (ACE) is available. Copies of the ASC and ACE/Anglish compilers and emulators are available for PCs from the author at the email address below.
Please send commments about this page to Jerry Potter.