A general-purpose computer can do anything, which is exactly why it is rarely the fastest way to do any one thing. When the National Security Agency needed to attack codes on an industrial scale, IBM did not hand it a faster general computer. It built a machine specialized for the work, and that machine, Harvest, is one of the earliest examples of a habit that now dominates computing: bolting purpose-built hardware onto a general processor to speed up a specific job.
The idea
Special-purpose hardware acceleration: when a workload matters enough, build hardware shaped like the workload rather than making a general computer grind through it instruction by instruction.
Stretch, plus Harvest
Harvest, formally the IBM 7950, was a one-of-a-kind attachment to IBM’s Stretch computer, the 7030, installed at the NSA. Harvest could not run on its own. It added a small set of instructions to Stretch and, more importantly, a separate unit, the IBM 7951 stream coprocessor, that did the heavy lifting.
Streaming for cryptanalysis
The stream coprocessor was built for exactly one shape of work: pouring enormous volumes of data through pattern-matching and statistical operations, which is the core of cryptanalysis. Rather than make the general processor grind through that work instruction by instruction, Harvest streamed the data through hardware designed for it. This is special-purpose hardware acceleration, and on its intended workload it was far faster than a general machine of the era.
In service, and the pattern it set
Harvest was delivered in 1962 and ran at the NSA until 1976, fourteen years of service on a machine built for a single agency and a single kind of problem. The idea outlived the hardware completely. A modern graphics processor accelerating matrix math, or a dedicated chip accelerating neural networks, is the same move Harvest made: when a workload matters enough, build hardware shaped like the workload.
Related Notes
- Cryptography, Codebreaking, and the NSA, the mission Harvest served
- Von Neumann Architecture, the general model Harvest accelerated past
- Surveillance and Privacy, the policy weight of NSA computing power
- Computing and the U.S. Military, the cluster index
Sources
- “IBM 7950 Harvest,” Wikipedia. https://en.wikipedia.org/wiki/IBM_7950_Harvest . Supports Harvest as a one-of-a-kind adjunct to the Stretch (7030) computer at the NSA, its inability to operate independently, the IBM 7951 stream coprocessor, its design for cryptanalysis, and its service from 1962 to 1976.