Dead End: IBM Stretch
Abstract
In November 1956 IBM signed a contract with Los Alamos to build a computer at least 100 times faster than its own 704. The IBM 7030, called Stretch, was IBM’s first transistorized supercomputer and the fastest computer in the world from 1961 until the CDC 6600 arrived in 1964. It still missed its target by more than half. In 1961 IBM cut the price from $13.5 million to $7.78 million and withdrew the machine from sale after nine had been committed, one of them the core of the NSA’s codebreaking system Harvest. The project leader was demoted. Within three years most of what Stretch had pioneered (lookahead, the 8-bit byte, memory protection, general interrupts) was inside the System/360, and in 1966 IBM made him a Fellow.
Losing Livermore
Stretch began with a contract IBM did not win. Early in 1955 Edward Teller’s laboratory at Livermore asked IBM and UNIVAC for a computer for three-dimensional hydrodynamic calculations. A small IBM team in Poughkeepsie, among them Gene Amdahl, had a proposal ready when the engineering executive Ralph Palmer stopped it: it would have been built with point-contact or surface-barrier transistors, and the new diffusion transistors were about to make both obsolete. IBM told Livermore it wanted to build something better, for about another million dollars and another year, and would aim for ten million instructions per second without knowing how to get there. Livermore had already settled on UNIVAC when it turned IBM down in May 1955, and in September it awarded UNIVAC the contract for the machine that became the LARC.
IBM took the improved design to Los Alamos instead. The laboratory issued its request for proposals on 6 January 1956, and IBM answered in February with a design goal of a “speed at least 100 times greater” than existing machines. Stephen Dunwell, who had been chosen in late 1955, led the project; Amdahl had left IBM in December 1955 after a dispute over its leadership. In the summer of 1956 Gerrit Blaauw, Fred Brooks, Werner Buchholz, John Cocke and Jim Pomerene joined. The Los Alamos contract was approved in November 1956, with delivery due 42 months later, in May 1960.
Inside the Machine
The speed was supposed to come from doing several things at once. Stretch’s instruction unit fetched, decoded and indexed instructions ahead of the arithmetic unit and worked as a pipeline of its own; a lookahead unit, refined by Cocke and Harwood Kolsky on a simulator, held up to four levels of pending operations, and up to eleven instructions could be in progress at the same time. The machine guessed that branches would not be taken and executed ahead; when the guess was wrong, or an interrupt or arithmetic exception arrived, it rolled the lookahead back so that the program saw a clean state. Its designers called the lookahead unit a “virtual memory” for the arithmetic unit.
The rest of the architecture was just as ambitious. Words were 64 bits, and the machine could address individual bits and handle fields of variable length, including bytes of one to eight bits. Werner Buchholz coined the word byte for these units in 1956. Stretch had memory protection, with upper and lower boundary registers, a general interrupt system and multiprogramming. The logic used about 169,000 germanium drift transistors on Standard Modular System cards, with gate delays of 10 to 20 nanoseconds, and the core memory sat in oil to keep its temperature stable. The same circuit cards went into the IBM 7090, 7070, 1401 and 1620 (see From Vacuum Tubes to Transistors).
Harvest
The National Security Agency wanted the same processor for different work. IBM published a first Harvest manual of NSA requirements in May 1957, and the NSA accepted IBM’s proposal in May 1958; Buchholz’s memo of July 1956 had argued for 8-bit bytes with the agency in mind. The IBM 7950 Harvest, installed in February 1962, attached to a Stretch a stream coprocessor for character operations, extra core memory and the 7955 Tractor, an automated tape library. Its electronics took up about twice the space of the Stretch itself. With the stream unit it processed about three million characters a second, and in one test it scanned more than seven million decrypted messages for more than 7,000 keywords in under four hours. Frances Allen spent a year at Fort Meade writing its acceptance test.
Harvest ran until 27 February 1976. A custom part of the Tractor had worn out, its maker had gone out of business, and IBM declined to rebuild the system in newer technology; the NSA replaced it with a Cray-1.
The Shortfall
During development the clock rates had to come down, and internal estimates slid from 100 to between 60 and 100 times the 704. In July 1959 IBM still called Stretch “about 100 times faster” than leading computers; in April 1960 Thomas Watson Jr. told shareholders IBM would build Stretch-type computers for sale, and that December the Atomic Energy Commission ordered one for Livermore at $13.5 million. Tests in February and March 1961 showed the machine running four to five times as fast as a 7090, where the contract implied eight. Outside estimates put typical performance at 30 to 35 times a 704.
The first Stretch was shipped from Poughkeepsie to Los Alamos on 16 April 1961 and accepted in May. That spring IBM cut the price of the machines still under negotiation to $7.78 million and withdrew Stretch from further sale. At the Western Joint Computer Conference on 9 May 1961 Watson said: “We’re proud of what Stretch is and sorry it didn’t end up stretching further.”
The machines already committed were delivered. After Los Alamos came Livermore (November 1961), Harvest at the NSA and the Atomic Weapons Research Establishment at Aldermaston (both February 1962), the U.S. Weather Bureau, the Navy’s Dahlgren proving ground and MITRE (all 1962) and the French Commissariat à l’énergie atomique (November 1963); IBM kept one. Livermore’s machine still ran in 1970, when the original team gave Dunwell a plaque calling it “the best computer in the world” for eight years. MITRE’s went to Brigham Young University in 1972 and was used there until 1982. Stretch remained the fastest computer in the world until Control Data’s 6600, designed by Seymour Cray, began working in 1964, prompting Watson’s memo about the “34 people, including the janitor” who had beaten IBM (see The Supercomputer Era).
Dunwell
During the war Stephen Dunwell had helped develop a secret IBM machine for decoding intercepted radio messages, which the company disclosed only in 1992. After the 1961 benchmarks he was moved to a staff position. Mark Smotherman quotes Harwood Kolsky on him: his “real genius was that he saw where [IBM] should be five or ten years hence.” The System/360, announced in April 1964, made the point for him: its architects took over Stretch’s 8-bit byte, its memory protection and its interrupt system. Dunwell received an apology, and in 1966 IBM named him an IBM Fellow, with the freedom to pursue whatever research he chose.
Dead End
Stretch failed as a product because IBM sold a number before it had a machine. The 100-times promise was made in 1956, before the circuits existed, and it stayed in the contract and the advertising after the engineers knew the clock rates would fall. Measured against any computer of 1961 it was fast; measured against its own promise it was a disappointment, and IBM priced it as one.
The ideas did not stay dead. The 8-bit byte, memory protection and general interrupts went into the System/360 and from there into almost every later computer (see Gene Amdahl and the System/360 and The IBM Mainframe Era). The split between instruction and execution units reappeared in the System/360 Models 91 and 195 and in the 3090, and lookahead, prefetching and speculative execution of predicted branches became standard in microprocessors from the 1990s. Cocke carried the lessons into his next attempts at a fast machine, the ACS project and the IBM 801 (see John Cocke and the IBM 801); Brooks went on to manage the System/360 and its operating system.
📚 Sources
- Computer History Museum: “Timeline of the IBM Stretch/Harvest Era (1956–1961)” (Los Alamos RFP 6 January 1956, the 100-times goal, the 1956 team, Buchholz’s July 1956 memo, contract November 1956 with May 1960 delivery, Harvest manual 1957 and contract 1958, the 1959 claim, Watson’s April 1960 statement, the $13.5 million Livermore order, the 1961 tests, the price cut, shipment on 16 April 1961, Watson’s 9 May 1961 quote)
- Mark Smotherman, “IBM Stretch (7030): Aggressive Uniprocessor Parallelism”, Clemson University (Dunwell chosen late 1955, Amdahl’s departure, lookahead levels, eleven instructions in flight, rollback, “virtual memory”, 30 to 35 times the 704, the nine machines, Dunwell’s demotion and 1966 Fellowship, Kolsky’s quote, influence on later IBM designs)
- Wikipedia: IBM 7030 Stretch (the Livermore episode and Palmer’s objection, LARC, price $13.5 million and $7.78 million, 169,100 transistors, SMS cards and circuit delays, oil-cooled memory, installations and dates, BYU until 1982, fastest computer until the CDC 6600, the Dunwell apology)
- Wikipedia: IBM 7950 Harvest (components, three million characters a second, the keyword test, retirement on 27 February 1976 and the Cray-1 replacement) and CHM This Day in History, 27 February
- IBM Archives: Stephen W. Dunwell (archived) (the 1970 plaque, Livermore’s machine still running in 1970, the wartime codebreaking machine disclosed in 1992)
- Wolfgang Saxon, “S. W. Dunwell, 80, Engineer at I.B.M.; Designed Computers”, New York Times (24 March 1994)
- Werner Buchholz (ed.), Planning a Computer System: Project Stretch (McGraw-Hill, 1962)
- Erich Bloch, “The Engineering Design of the Stretch Computer”, Eastern Joint Computer Conference (1959)
- Frederick P. Brooks Jr., “Stretch-ing Is Great Exercise: It Gets You in Shape to Win”, IEEE Annals of the History of Computing 32 (2010)
- Image: IBM Model 7030 “Stretch” console, 1961, Computer History Museum.jpg by The wub (CC BY-SA 4.0), via Wikimedia Commons