IBM SSEC

The IBM Selective Sequence Electronic Calculator (SSEC) was an electromechanical computer built by IBM. Its design was started in late 1944 and it operated from January 1948 to August 1952. It had many of the features of a stored-program computer, and was the first operational machine able to treat its instructions as data, but it was not fully electronic. Although the SSEC proved useful for several high-profile applications, it soon became obsolete. As the last large electromechanical computer ever built, its greatest success was the publicity it provided for IBM.

History
During World War II, International Business Machines Corporation (IBM) funded and built an Automatic Sequence Controlled Calculator (ASCC) for Howard H. Aiken at Harvard University. The machine, formally dedicated in August 1944, was widely known as the Harvard Mark I. The President of IBM, Thomas J. Watson Sr., did not like Aiken's press release that gave no credit to IBM for its funding and engineering effort. Watson and Aiken decided to go their separate ways, and IBM began work on a project to build their own larger and more visible machine.

Astronomer Wallace John Eckert of Columbia University provided specifications for the new machine; the project budget of almost $1 million was an immense amount for the time. Francis "Frank" E. Hamilton (1898–1972) supervised the construction of both the ASCC and the SSEC. Robert Rex Seeber Jr. was also hired away from the Harvard group, and became known as the chief architect of the new machine. Modules were manufactured in IBM's facility at Endicott, New York, under Director of Engineering John McPherson after the basic design was ready in December 1945.

Construction
The February 1946 announcement of the fully electronic ENIAC energized the project. The new machine, called the IBM Selective Sequence Electronic Calculator (SSEC), was ready to be installed by August 1947. Watson called such machines calculators because computer then referred to humans employed to perform calculations and he ''wanted to convey the message that IBM's machines were not designed to replace people. Rather they were designed to help people, by relieving them of drudgery.''

The SSEC was installed on three sides of a room on the ground floor of a building near IBM's headquarters at 590 Madison Avenue in New York City, behind a large window where it was visible to people passing by on the busy street. The space had formerly been occupied by a women's shoe store. The noisy SSEC was sometimes called Poppa by the viewing pedestrians. It was dedicated and first demonstrated to the public on January 27, 1948. A. Wayne Brooke served as the chief electronic engineer for the machine's operation starting in 1950. Herb Grosch, the second person with a Ph.D. hired by IBM, was one of its first programmers. Another early programmer was Edgar "Ted" Codd. Elizabeth "Betsy" Stewart was chief operator, and often appeared in publicity photos.

The SSEC was an unusual hybrid of vacuum tubes and electromechanical relays. Approximately 12,500 vacuum tubes were used in the arithmetic unit, control, and its eight (relatively high-speed) registers, which had an access time of less than one millisecond. About 21,400 relays were used for control and 150 lower-speed registers, with an access time of 20 milliseconds. The relay technology was similar to the ASCC, based on technology invented by Clair D. Lake (1888–1958). The arithmetic logic unit of the SSEC was a modified IBM 603 electronic multiplier, which had been designed by James W. Bryce. The bulky tubes were military surplus radar technology, which filled one entire wall. The memory was organized as signed 19-digit decimal numbers. Multiplication was computed with 14 digits in each factor. Most of the quoted 400,000 digit capacity was in the form of reels of punched paper tape.

Addition took 285 microseconds and multiplication 20 milliseconds, making arithmetic operations much faster than the Harvard Mark I. Data that had to be retrieved quickly was held in electronic circuits; the remainder was stored in relays and as holes in three continuous card-stock tapes that filled another wall. A chain hoist was needed to lift the heavy reels of paper into place. The machine read instructions or data from 30 paper tape readers connected to three punches, and another a table look-up unit consisted of another 36 paper tape readers. A punched card reader was used to load data, and results were produced on punched cards or high-speed printers. The 19-digit word was stored on the card stock tape or registers in binary-coded decimal, resulting in 76 bits, with two extra bits for indicating positive or negative sign and parity, while the two side rows were used for sprockets. The familiar 80 columns of IBM punched card technology were recorded sideways as one column of the tape.

Using well-tested technology, the SSEC's calculations were accurate and precise for its time, but one early programmer, John Backus, said "you had to be there the entire time the program was running, because it would stop every three minutes, and only the people who had programmed it could see how to get it running again”. ENIAC co-designer J. Presper Eckert (no relation to the IBM Eckert) called it "some big monstrosity over there that I don't think ever worked right".

Seeber had carefully designed the SSEC to treat instructions as data, so they could be modified and stored under program control. IBM filed a patent based on the SSEC on January 19, 1949, which was later upheld as supporting the machine's stored program ability. Each instruction could take input from any source (electronic or mechanical registers or tape readers) store the result in any destination (electronic or mechanical registers, tape or card punch or printer), and gave the address of the next instruction, which could also be any source. This made it powerful in theory. However, in practice instructions were stored usually on paper tape, resulting in an overall rate of only about 50 instructions per second. The serial nature of the paper tape memory made programming the SSEC more like the calculators from the World War II era. For example, "loops" were usually literal loops of paper tape glued together. For each new program, tapes and card decks were literally "loaded" on the readers, and a plugboard changed in the printer to modify output formatting. For these reasons, the SSEC is usually classified as the last of the "programmable calculator" machines instead of the first stored-program computer.

Applications
The first application of the SSEC was calculating the positions of the Moon and planets, known as an ephemeris. Each position of the Moon required about 11,000 additions, 9,000 multiplications, and 2,000 table look-ups, which took the SSEC about seven minutes. This application used the machine for about six months; by then other users were lined up to keep the machine busy.

It has sometimes been said that the SSEC produced the Moon-position tables that were later used for plotting the course of the 1969 Apollo flight to the Moon. Records closer to 1969 suggest, however, that while there was a relationship, it was most likely less immediate. Thus, Mulholland and Devine (1968), working at NASA Jet Propulsion Laboratory, reported that the JPL Ephemeris Tape System was "used for virtually all computations of spacecraft trajectories in the US space program", and that it had, as its current lunar ephemeris, an evaluation of the Improved Lunar Ephemeris incorporating a number of corrections: sources are named as 'The Improved Lunar Ephemeris' (documentation which was the report of the Eckert computations carried out by the SSEC, complete with lunar position results from 1952 to 1971), with corrections as described by Eckert et al. (1966), and in the Supplement to the AE 1968. Taken together, the corrections thus referenced modify practically every individual element of the lunar computations, and thus the space program appears to have been using lunar data generated by a modified and corrected derivative of the computational procedure pioneered using the SSEC, rather than the directly resulting tables themselves.

The first paying customer of the SSEC was General Electric. The SSEC was also used for calculations by the U.S. Atomic Energy Commission for the ANP project to power an airplane with a nuclear reactor. Robert D. Richtmyer of Los Alamos National Laboratory used the SSEC for some of the first large-scale applications of the Monte Carlo method. Llewellyn Thomas solved problems with stability of laminar flow, programmed by Donald A. Quarles Jr. and Phyllis K. Brown. In 1949, Cuthbert Hurd was hired (also after a visit to the SSEC) and started a department of applied science; the operation of SSEC was eventually put into that organization.

Legacy
The SSEC room was one of the first computers to use a raised floor, so visitors would not see unsightly cables or trip over them. The large array of flashing lights and noisy electro-mechanical relays made IBM very visible to the public. The SSEC appeared in the film Walk East on Beacon, which is based on a book by J. Edgar Hoover. It was widely covered positively by the press. The SSEC attracted both customers and new employees. Both Hurd and Backus were hired after seeing demonstrations of the facility.

The 1946 ENIAC had more tubes than the SSEC and was faster in some operations, but was originally less flexible, needing to be rewired for each new problem. At the end of 1948 a new IBM 604 multiplier was announced, which used newer tube technology that already made the bulky tubes of the SSEC obsolete. By May 1949 the Card-Programmed Electronic Calculator was announced, and shipped in September. It was effectively a much scaled-down version of the SSEC technology to allow customers to perform similar calculations. Even by the end of 1948, the limited electronic memory of the SSEC was seen as a problem, and IBM soon licensed the Williams tube technology developed on the Manchester Baby at the Victoria University of Manchester. Subsequent computers would have electronic random access memory, and in fact the ability to execute instructions from processor registers was generally not adopted. The 77-bit wide programming word was also abandoned for fewer bits but much faster operation.

By 1951 the Ferranti Mark I was marketed in the UK as a commercial computer using Williams tube technology, followed by the UNIVAC I using delay-line memory in the US. These memory technologies allowed stored-program features to be more practical. The stored-program concept had been first widely published in 1945 in the First Draft of a Report on the EDVAC and became known as the Von Neumann architecture. The EDVAC (first working in 1949) was the ENIAC successor, designed by the team who then marketed the UNIVAC.

The SSEC ran until August 1952, when it was dismantled, having been made obsolete by fully electronic computers. An IBM 701 computer, known as the Defense Calculator, was installed in the same room for its April 7, 1953, public debut. In July 1953 the much less expensive (and even better selling) IBM 650 was announced, which had been developed by the same Endicott team who developed the SSEC.