Seymour Cray

The Cray computers of Seymour Cray

Seymour Cray (1925–1996) is a USA engineer and supercomputer architect who designed a series of computers, that were the fastest in the world for decades. Sometimes recognized as the father of supercomputing, Cray has been credited with creating the supercomputer industry.

Seymour Roger Cray was born in 1925 in Chippewa Falls, a small town in Wisconsin, in the family of Seymour and Lillian Cray. Seymour the senior was a civil engineer, who fostered his son's initial interest in science and engineering. As early as the age of ten the young Seymour was able to build a device out of Erector Set components, that converted punched paper tape into Morse code signals. The basement of the family home was given over to the young Cray as a lab. In high school the young Cray preferred to be in the electrical engineering laboratory as much as possible.

Following graduation from Chippewa Falls High School in 1943, Seymour joined the US Army in Europe, serving in an infantry communications platoon as a radio operator. Then he moved to the Pacific military theatre in the Philippine Islands, where he worked on breaking Japanese codes. On his return to the United States in 1945 he enrolled at the University of Minnesota, where he graduated in 1949 as a Bachelor in Electrical Engineering, followed by a Masters degree in Applied Mathematics in 1951.

Still in the University, in 1950, Cray joined a new local company—Engineering Research Associates (ERA) in Saint Paul, Minnesota, which built specialized cryptographic equipment for the US Navy. While in ERA, he worked with the gamut of computer technologies, ranging from vacuum tubes and magnetic amplifiers to transistors. It was here that he had quickly came to be regarded as an expert on digital computer technology, especially following his design work on the ERA 1103 (known as UNIVAC 1103)—the first commercially successful scientific computer (see the photo bellow).

UNIVAC 1103

The Input/Output section and the console of ERA 1103 (UNIVAC 1103) computer

ERA 1103 used electrostatic main storage (first commercial computer to use RAM—random access memory), consisting of 36 Williams tubes (each was five inches in diameter) with a capacity of 1024 bits each, giving a total memory of 1024 words (36 bits each). It had a magnetic drum memory with 16384 words and a magnetic tape storage, four Raytheon or Potter units. The instruction set was 41 arithmetic and logical operations. The standard input and output equipment was a paper tape reader, a typewriter, and a paper tape punch, while optional can include a line printer, oscilloscope display unit, teletype, etc.

In 1958 Cray left ERA, to join to the new Control Data Corporation (CDC), just established by his colleagues from ERA. By 1960 he had completed the design of the CDC 1604, an improved low-cost version of ERA 1103, that had impressive performance for its price range. Then Cray designed the new the CDC 6600, the first commercial supercomputer, outperforming everything then available by a wide margin. Although in terms of hardware the 6600 was not truly advanced, Cray invested considerable effort into the design of the computer, in an attempt to enable it to run as fast as possible. Unlike most high-end projects of the time, Cray realized that there was considerably more to performance than simple processor speed, that I/O bandwidth had to be maximized as well in order to avoid "starving" the processor of data to crunch.

The CDC 6600 (see the lower photo) was a large-scale, solid-state, general-purpose computing system. It had a distributed architecture (central scientific processor supported by ten very fast peripheral machines) and was a reduced instruction set (RISC) machine many years before such a term was invented. CDC 6600, announced in 1964, was quite expensive for the time (base model price $6891300) and was the first computer designed in the new Chippewa Falls laboratory, in the hometown of Cray.

CDC 6600

CDC 6600

Input to the computer was by punch cards or digital magnetic tape, while output was two line printers, a card punch, a photographic plotter, and standard magnetic tape. Operator input was via a keyboard. An interactive display console allowed users to view graphical results as data were being processed. The computer had 65000 60-bit words of memory and was equipped with a large disk storage device and six high-speed drums as storage intermediate in speed and accessibility between the central core storage and magnetic tapes. The computer supported the FORTRAN 66 compiler and a program library. The still ubiquitous programming language Pascal was created on the CDC 6000 series computers at ETH Zurich.

After successful 6600, Cray worked on 2 other computers while in CDC—7600 and 8600. In 1972 he decided to left and to establish his own company. Using the support of CDC, as well as and a group of former CDC employees, Cray founded Cray Research, using the same lab in Chippewa Falls and establishing a new production facility.

At first it did not seem that there would be any way for Cray Research to afford to develop a new supercomputer, given that the now-large CDC had been unable to support more than one. But when Cray approached Wall Street to look for seed capital, he was surprised to find that his reputation was very well known. It seems, the financial world was more than willing to provide Cray with all the money they would need to develop a new machine.

In 1975 the 80 MHz Cray-1 was announced, while the first box machine delivered in 1976. Its theoretical performance was 160 MIPS (80 MHz x 2 instructions per cycle), although there were a few limitations that made floating point performance generally about 136 MFLOPS. Surprisingly, excitement was so high that something like a bidding war for the first system broke out between Lawrence Livermore National Laboratory and Los Alamos National Laboratory, the latter eventually winning and receiving serial number 1 in 1976 for a six-month trial. Cray-1 with the serial number 3 went to the National Center for Atmospheric Research in 1977 (machine was decommissioned in 1989), paying US$8.9 million ($7.9 million plus $1 million for the disks).

Seymour Roger Cray and Cray-1

Seymour Cray and Cray-1 in 1976

Cray Research expected to sell perhaps a dozen of the machines, and set the selling price accordingly, but over eighty Cray-1s of all types were sold, priced from $5M to $8M. The machine made Cray a celebrity and the company a success, lasting until the supercomputer crash in the early 1990s.

When it was released it easily beat almost every machine in terms of speed, including the STAR-100 that had beaten the 8600 for funding. The only machine able to perform on the same sort of level was the ILLIAC IV, a specialized one-off machine that rarely operated near its maximum performance except on very specific tasks. In general, the Cray-1 beat anything on the market by a wide margin.

Designing the CDC supercomputers, Cray was able to look at the failure of the CDC STAR computer and learn from it. For Cray-1, he decided that in addition to fast vector processing, his design would also require excellent all-round scalar performance. That's why Cray-1 has scalar and vector processing modes, that way when the machine switched modes, it would still be the fastest out there. Additionally they noticed that the workloads could be dramatically improved in most cases through the use of registers. Cray implemented also his concept of chaining, as it allowed programmers to chain together several instructions and extract higher performance. Cray spent a considerable time on the mechanical and electrical design of the system, improving performance through shortened cycle times.

The Cray-1 was a 64-bit system, with 12.5 nanosecond clock period. Addressing was 24-bit, for a maximum of 1048576 72 bit words (64 data bits and 8 error correction bits) of main memory. Memory was spread across 16 banks, each with a 50 ns cycle time, allowing up to four words to be read per cycle. The main register set consisted of eight 64-bit scalar (S) registers and eight 24-bit address (A) registers, backed by a set of sixty-four registers each for S and A temporary storage known as T and B respectively, which could not be seen by the functional units.

Cray-1 schema

Cray-1 schema

The vector system was implemented by eight 64-element by 64-bit vector (V) registers. Integer and floating point arithmetic was supported. Twelve input and output channels are provided. A comprehensive description of Cray-1 can be seen in the Reference Manual.

Seymour Cray continued to make supercomputers until his death in 1996, as a result of a car accident.