Chapter 20
The Illiac IV System1
W. J. Bouknight / Stewart A. Denenberg
David F. McIntyre / J. M. Randall
Amed H. Sameh / Daniel L. Slotnick
Abstract The reasons for the creation of Illiac IV are described and the history of the Illiac IV project is recounted. The architecture or hardware structure of the Illiac IV is discussed-the Illiac IV array is an array processor with a specialized control unit (CU) that can be viewed as a small stand-alone computer. The Illiac IV software strategy is described in terms of current user habits and needs. Brief descriptions are given of the systems software itself, its history, and the major lessons learned during its development. Some ideas for future development are suggested. Applications of Illiac IV are discussed in terms of evaluating the function f(x) simultaneously on up to 64 distinct argument sets x~ Many of the time-consuming problems in scientific computation involve repeated evaluation of the same function on different argument sets. The argument sets which compose the problem data base must be structured in such a fashion that they can be distributed among 64 separate memories. Two matrix applications: Jacobi's algorithm for finding the eigenvalues and eigenvectors of real symmetric matrices, and reducing a real nonsymmetric matrix to the upper-Hessenberg form using Householder's transformations are discussed in detail. The ARPA network, a highly sophisticated and wide ranging experiment in the remote access and sharing of computer resources, is briefly described and its current status discussed. Many researchers located about the country who will use Illiac IV in solving problems will do so via the network. The various systems, hardware, and procedures they will use is discussed.
Introduction
It all began in the early 1950's shortly after EDVAC ["Electronic Computers," 1969] became operational. Hundreds, then thousands of computers were manufactured, and they were generally organized on Von Neumann's concepts, as shown and described in Fig. 1. In the decade between 1950 and 1960, memories became cheaper and faster, and the concept of archival storage was evolved; control-and-arithmetic and logic units became more sophisticated: I/O devices expanded from typewriter to magnetic tape units, disks, drums, and remote terminals. But the four basic components of a conventional computer (control unit (CU), arithmetic-and-logic unit (ALU), memory, and I/O) were all present in one form or another.
The turning away from the conventional organization came in
Fig. 1. Functional relations within a conventional computer. The
CU has the function of fetching instructions which are stored in memory,
decoding or interpreting these instructions, and finally generating the
microsequences of electronic pulses which cause the instruction to be performed.
The performance of the instruction may entail the use or "driving" of one
of the three other components. The CU may also contain a small amount of
memory called registers that can be accessed faster than the main memory.
The ALU contains the electronic circuitry necessary to perform arithmetic
and logical operations. The ALU may also contain register storage. Memory
is the medium by which information (instructions or data) is stored. The
I/O accepts information which is in put to or output from Memory. The I/O
hardware may also take care of converting the information from one coding
scheme to another. The CU and ALU taken together are sometimes called a
CPU.
the middle 1960's, when the law of diminishing returns began to take effect in the effort to increase the operational speed of a computer. Up until this point the approach was simply to speed up the operation of the electronic circuitry which comprised the four major functional components. (See Fig. 1.)
Electronic circuits are ultimately limited in their speed of operation by the speed of light (light travels about one foot in a nanosecond) and many of the circuits were already operating in the nanosecond time range. So, although faster circuits could be made, the amount of money necessary to produce these faster circuits was not justifiable in terms of the small percentage increase of speed.
At this stage of the problem two new approaches evolved.
306