The Architectural Features and Implementation Techniques of the Multicell CASSM

Su, Le Huu Nguyen, Emam, Lipovski
1979 IEEE transactions on computers  
The architectural characteristics and the implementation techniques of a context addressed segment sequential memory system called CASSM are described. The system provides hardware support for many database management functions. It offers associative and parallel processing capabilities for the efficient retrieval and manipulation of data in large databases. The hardware is designed mainly to support a hierarchical model for database applications but also contains facilities for supporting a
more » ... for supporting a wide range of data searches and operations useful for other nonnumeric data processing applications. The software development of the assembly language CASAL and its assembler, the high-level nonprocedural language CASDAL and its compiler, the interface to the CASSM-user interface computer, etc., have been carried out for the system. The hardware design and implementation techniques have been verified using a one-cell prototype system and a simulator designed for testing the system in the multicell environment. The emphasis of this paper is in the detailed description of the hardware features and techniques used in the multicell CASSM system. Index Terms-Associative memory, computer architectures, content addressing, database machine, database management, parallel processing. I. INTRODUCTION HERE IS much to be said on the limitations of using conventional Von Neumann processors for nonnumeric applications such as database management. The use ofa single processor, even a high speed one, for searching and manipulating data in large databases of 101o°-10 2 bits is simply too slow to meet the response time requirement of many applications. Software techniques such as data structures, file organization techniques, directories, cross reference pointers, computed addressing, etc., alleviate the speed problem to a certain extent. However, they introduce undesirable side effects such as the excess storage requirement, the problem of updating pointers, index files and directories, data inconsistency, and above all greater software overhead. Recent research efforts toward a high-level data model [7] and data languages further show the limitations ofconventional computers in supporting the high-level user's view of data and processing requirements. The problem of efficiency in the implementation of the relational model exists in several development projects [1], [42] . The reason is quite obvious. A data model or a language which is easier for the user would be more difficult for a machine which was not designed mainly for supporting the high-level Manuscript data model or the language. This is because the high-level model and the language will have to be translated down to the low-level machine structures and codes. Another very serious problem we see in the existing database management systems is that data are not stored at the place where they are processed. To "stage" the data in the main memory for processing is very time consuming. It often ties up the important resources of a computing system such as communication lines, channels, and data buses. Ideally, data should be processed at the place where they are stored to avoid spending time in moving data between the main memory and the secondary memories. There is definitely a need for research and development work in database machines whose main functions are to efficiently carry out search, retrieval, update, insertion, and deletion. Associative memories with context addressing capabilities have been regarded as very desirable for nonnumeric processing. Several systems using associative memories have been designed and some developed for both numeric and nonnumeric applications [4], [10]-[12], [14]-[16], [23], [28], [32], [37], [49]. Early systems allowed relatively unstructured data to be stored and searched in associative memories. More complex data structures and search techniques were later introduced into such memory devices as strings in Lee [21], ordered sets in Gaines et al. [17], a network in Savitt et al. [38] , and sets and trees in Lipovski [26] . The associative memories referenced above were related to semiconductor devices. Each memory word had logic for searching. While such devices were fast, they were too expensive for large databases. Hence, a way of sharing search logic among many words was sought. The use of sequential memory to store words for content search by logic was first proposed by Hollander [19] . Some very fine early work was done by Bird et al. [4] . These ideas, together with the logic-per-track concept, proposed by Slotnick [41], were used in several designs for information storage and retrieval and also character string processing [18] , [31] , [35] , [36] . The same ideas were first applied in database management applications by our group at the
doi:10.1109/tc.1979.1675382 fatcat:tkx6xtuouvel7bhowqzukwl2gq