The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.
Seymour Cray (1925–1996) is a legendary 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. How does this story start?
After his 2-years service in the US Army during WWII, Seymour Cray, a native of Chippewa Falls, a small town in Wisconsin, returned to the United States in 1945 and enrolled at the University of Minnesota, where he graduated in 1949 with a Bachelor’s degree 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 a gamut of computer technologies, ranging from vacuum tubes and magnetic amplifiers to transistors. It was here that he 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 below).
ERA 1103 used electrostatic main storage (the 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 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 an impressive performance for its price range. Then Cray designed the new 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 and 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 nearby 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 September 1964, was quite expensive for the time (base model price $2370000) and was the first computer designed in the new Chippewa Falls laboratory, in the hometown of Cray.
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 establish his own company. Using the support of the CDC, as well as 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 it would need to develop a new machine.
In 1975 the 80 MHz Cray-1 was announced, while the first box machine was 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 serial number 3 went to the National Center for Atmospheric Research in 1977 (the machine was decommissioned in 1989), paying US$8.9 million ($7.9 million plus $1 million for the disks).
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 which 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-around 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 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 a 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.
The vector system was implemented by eight 64-element by 64-bit vector (V) registers. Integer and floating point arithmetic were supported. Twelve input and output channels are provided. A comprehensive description of Cray-1 can be seen in the Reference Manual.
Seymour Cray is universally known as the father of supercomputing because he was a builder of quite a few supercomputers:
• 1958 CDC 1604, an early “supercomputer”
• 1964 CDC 6600, the first supercomputer (1 MFLOP)
• 1969 CDC 7600 (RISC, 30 MFLOP)
• 1972 Cray-1 (vector processor, 160 MFLOP)
• 1982 Cray-XMP (parallel v-p, 800 MFLOP)
• 1985 Cray-2 (multi-CPU, 1.9 GFLOP)
• 1996 Cray 3 (GaAs, 16 GFLOP)
Biography of Seymour Cray
Seymour Roger Cray was born on 28 September 1925 in Chippewa Falls, a small town situated in the heart of Wisconsin’s dairy farm country, to Seymour Ruesink Cray (1900-1996), a civil engineer, and Lillian Grace Scholer Cray (1898-1992), a homemaker. After Seymour, the family had a daughter, Carol Jane Cray Kersten (1930–2009).
Seymour Cray Sr., the son of Seymour Romeo Cray (1866-1944) and Alice Eliza Beavington (1884-1967), was a good engineer who fostered his son’s interest in science and engineering. The basement of the family home was given over to the young Cray as a “laboratory”, to tinker with chemistry sets and radio gear. As early as the age of ten he was able to build a device out of Erector Set components that converted punched paper tape into Morse code signals.
Cray graduated from Chippewa Falls High School in 1943. While attending Chippewa Falls High School, Cray sometimes taught the physics class in his teacher’s absence. During his senior year, he received the Bausch & Lomb Science Award for meritorious achievement in science. Immediately after graduation, he was drafted for World War II as a radio operator. He saw action in Europe and then moved to the Pacific theatre where he worked on breaking Japanese naval codes. On his return to the United States, Cray earned a B.Sc. in electrical engineering at the University of Minnesota, graduating in 1949, followed by an M.Sc. in applied mathematics in 1951.
Cray began his career in 1950 at Engineering Research Associates (ERA), a leading digital computer company, to design computers for the Navy in a converted glider factory in St. Paul, Minn. While at ERA, he met John von Neumann. Company founder William Norris spotted Cray’s talents, and the young man blossomed under his mentoring. When in the mid-1950s ERA came under the control of the vast Sperry Rand Co., Norris and Cray set off on their own and formed Control Data Co. In 1976, Cray and Control Data parted ways when Norris, the company’s chief executive, placed a new computer on hold. Cray launched Cray Research Inc. and again set to work building supercomputers. In 1989, he started a new company, Cray Computer, but it went into bankruptcy in 1995.
Seymour Cray went down in history as one of the founding fathers of the computer industry. In 1972, he was awarded the Harry Goode Memorial Award for “outstanding achievement in the field of information processing.” The IEEE Computer Society’s Seymour Cray Computer Engineering Award, established in late 1997, recognizes innovative contributions to high-performance computing systems exemplifying Cray’s creative spirit.
Cray was not an ordinary man at all, even in the world of computer geniuses, where he belongs. His boss once asked him to develop a five-year plan. What he received in return was a short note that said Cray’s five-year plan was “to build the biggest computer in the world,” and his one-year plan was “to achieve one-fifth of the above.” And another time, when expected to write a multi-page detailed status report for the company executives, Cray’s two-sentence report read: “Activity is progressing satisfactorily as outlined under the June plan. There have been no significant changes or deviations from the June plan.” An avid sailor, Cray built a new sailboat each winter for several years. He also enjoyed skiing, windsurfing, tennis, and other sports. Another favorite pastime was digging a tunnel under his home; he attributed the secret of his success to “visits by elves” while he worked in the tunnel: “While I’m digging in the tunnel, the elves will often come to me with solutions to my problem.”
Cray married Verene Alice Voll (1926-2017) in 1947. They had known each other since childhood. She was the daughter of Obert Voll, a Methodist minister, just as was Cray’s mother, and Verene had a degree in home economics and nutrition. They had two daughters and a son—Susan Ruth (1949-), Stephen Ronald (1951-), and Carolyn Ann (1952-), but divorced in 1975. In 1980 Cray married Geri Martha Harrand (1936-).
The genius inventor Seymour Cray died in his Colorado Springs home, on 5 October 1996, two weeks after his automobile was struck on the highway and rolled several times, causing severe head and neck injuries.