The IBM 7030 (The Stretch)
IBM's 7030, or Stretch, is something of a paradox. It introduced new technologies, many of which are still in use today, and was the fastest computer in the world for three years after it was introduced. However, it was considered a failure to such an extent that IBM reduced its price before discontinuing it very quickly with a loss of around $20 million. How could this be?
In 1956, Los Alamos Scientific Laboratory awarded IBM a contract to build a supercomputer. The goal of this computer was to offer a hundred-fold improvement over the IBM 704's performance. This was a very ambitious goal indeed. And in fact, the 7030 outperformed the 704 by a factor of up to 38 when it was released in 1961. Due to this "disappointing" performance, IBM was forced to lower the price of the machine from $13.7 million to a paltry $7.78 million, which meant IBM lost money on every machine. This being the case, after meeting its contractual obligations, IBM withdrew the 7030 from the market, which was a major disappointment and failure. Or was it?
Not only was the performance of this machine far ahead of its time (0.5 MIPS), but the technologies it introduced read like a who's who list of modern computing. Does instruction prefetching sound familiar? Operand prefetching? How about parallel arithmetic processing? There was also a 7619 unit that channeled data from the core memory to external units, like magnetic tapes, console printers, card punches, and card readers. This is an expensive version of the DMA functionality we use today, although mainframe channels were actual processors themselves and far more capable than DMA. It also added interrupts, memory protection, memory interleaving, memory write buffers, result forwarding, and even speculative execution. The computer even offered a limited form of out-of-order execution called instruction pre-execution. You probably already surmised that the processor was pipelined.
The applications are almost equally impressive. The 7030 was used for nuclear bomb development, meteorology, national security, and the development of the Apollo missions. This became feasible only with the Stretch due to the enormous amount of memory (256,000 64-bit words) and incredible processing speed. In fact, it could perform over 650,000 floating point adds in a second and over 350,000 multiplications. Up to six instructions could be in flight within the indexing unit and up to five instructions could be in flight within the look-ahead and parallel arithmetic unit. Thus, up to 11 instructions could be in some stage of execution within Stretch at any one time. Even compared to the excellent 7090 released at that time, the 7030 was anywhere from .8 to 10 times the speed, depending upon the instruction stream.
So, while the 7030 had a short, but very useful life, its technology is still with us today, and had a very important impact on the legendary System/360 family. This could easily be the most important computer in the history of mainframes. Yet, it was a failure. Who says life makes sense?