IBM Advanced Computer Systems project

Last updated

The ACS-1 and ACS-360 are two related supercomputers designed by IBM as part of the Advanced Computing Systems project from 1961 to 1969. Although the designs were never finished and no models ever went into production, the project spawned a number of organizational techniques and architectural innovations that have since become incorporated into nearly all high-performance computers in existence today. Many of the ideas resulting from the project directly influenced the development of the IBM RS/6000 and, more recently, have contributed to the Explicitly Parallel Instruction Computing (EPIC) computing paradigm used by Intel and HP in the Itanium processors.

Contents

After the ACS project folded, the engineers were given to choice to rejoin other divisions of IBM. Many declined as it would require them to return to the east coast from California. A number formed MASCOR in 1970 but this was short-lived as they were unable to raise capital. Gene Amdahl took the opportunity to start his own company, building IBM-compatible mainframe computers using the ECL designs worked on for ACS. Amdahl Corporation's 470V/6 were both faster and less expensive than IBM's own high-end designs.

History

IBM and CDC

IBM introduced its first supercomputer, the IBM 7030 Stretch, in May 1961. They had to withdraw it from the market when tests at the launch customer, Los Alamos Scientific Laboratory, demonstrated it had very poor real-world performance. Almost immediately, IBM organized two development projects, Project X at the IBM Poughkeepsie Laboratory and Project Y at the IBM Thomas J. Watson Research Center. Project X was tasked with designing a machine that would run 10 to 20 times as fast as Stretch, while Y was to be 100 times faster. [1]

In the spring of 1962, Control Data Corporation (CDC) announced that they had installed two computers at Lawrence Radiation Laboratory and had received a contract for a third, a much more powerful design. That new machine was officially announced in August 1963 as the CDC 6600, causing IBM CEO Thomas J. Watson Jr. to write a now-famous memo [2] asking how it was that this small company could produce machines that outperformed those from IBM. [1]

At a meeting in September 1963, IBM decided to shore up the high-end of what was then known as the New Product Line, or NPL. Project X was directed to implement the NPL instruction set, becoming a high-end machine in that lineup. When NPL was launched in 1964 as the System/360, Project X became the Model 92, later renamed Model 91. Eventually, about a dozen machines in the Model 90 series would be sold. [1]

Project Y was never directed to use NPL, as it was a longer-term project aimed purely at the scientific market. Development was assigned to Jack Bertram and his Experimental Computers and Programming Group and started in earnest in late 1963. Bertram brought in John Cocke, Frances Allen, Brian Randell, Herb Schorr, and Edward H. Sussenguth, among others. Schorr developed the initial instruction set and recruited his former student, Lynn Conway, to work on a system simulator. [1]

Move to California

The System/360 was an immediate runaway success, but production line problems plagued deliveries and much of the company was dedicated to fixing them. Meanwhile, CDC announced they would be introducing a new machine that was 10 times the performance of the 6600. Watson was convinced that the 360 instruction set would not be suitable for the new design and was worried that development would be slowed by the turmoil at the labs due to the 360 problems. In the spring of 1965, he approved the creation of a new division in California that would be closer to their customers at the weapons labs. A building in Sunnyvale, California was purchased in 1965 and set up as the IBM Advanced Computing Systems. Max Paley would be the lab director. [3]

At a steering meeting in August 1965, Paley, Bertram, and Schorr gave presentations on the design so far. The machine would use a 48-bit word length, as that was the standard for scientific computing. The machine would have a clock cycle time of 10 nanoseconds, about 10 times faster than the 6600, with six or seven internal cycles per clock. The arithmetic logic units (ALUs) that performed most of the mathematics would be pipelined, as in the 6600, and it would dispatch multiple instructions per cycle. Branching performance would be improved with a buffer that would begin executing both sides of the branch. [3]

Harwood Kolsky gave a presentation on the various competing designs, while Gene Amdahl and Chen Tze-chiang talked about their work on the high-end 360 Model 92. Kolsky had worked at Los Alamos for seven years before joining the Stretch project, while Amdahl had left IBM after being passed over to lead Stretch development but returned to IBM Research in 1960 and joined the Project X effort. [3] In late 1964, Amdahl took a teaching position at Stanford University, wanting to return to the west coast. In January 1965 he was named an IBM Fellow for his work on the Model 92. As a Fellow, Amdahl was entitled to work at any IBM facility of his choosing and decided to join ACS at the invitation of Bob Evans. [4] [5]

Even at this early meeting, Amdahl made the argument that it would make much more sense to make the ACS compatible with the 360, as had been the case with Project X. While it might run marginally slower than the ACS, due largely to it using a 32-bit word and having 16 registers instead of 32 48-bit ones, it would offer customers of the Model 92 an upgrade path to much higher performance and leverage all of the software and especially their compiler technology developed for that machine. [3]

Design matures

In early 1966 the Project Y design was finalized as ACS-1, with the only major change being the removal of the 192-bit extended floating-point format. In 1966, a new building with 38,000 square feet (3,500 m2) was built at 2800 Sand Hill Road in Menlo Park, California, near the Stanford Linear Accelerator and the project moved there late in the year. A significant change to the design occurred during this period. Originally, the compiler was responsible for moving instructions out of a large core memory or thin film memory store into a smaller cache of static RAM (although that term was not in use at the time) inside the CPU. Reviewing the system, Schorr and Dick Arnold concluded it would not work, and decided to reimplement it as a single-level with hardware caching of 32 or 64 kWords. [6]

Another concept developed for the ACS was dynamic instruction scheduling, or DIS. The ALU and indexing units, which calculated addresses, both had six-slot buffers from which it could select two instructions to execute out-of-order. This allowed the system to execute queued instructions while earlier instructions were waiting for data from memory or previous calculations. The outputs from these calculations being executed out of order would then be placed back in memory at the correct time, giving the illusion that everything had been executed in the order it was found in the machine code. Lynn Conway, who had been hired to develop a software simulation of the ACS, developed a system that used a bit-matrix to track which instructions were ready to be executed and which were waiting. [6]

Using the simulator, Conway benchmarked a number of high-performance computing workloads against the IBM 7090, 6000 and S/360 Model 91. In comparison to the 7090, IBM's older scientific offering, ACS-1 would perform the Lagrangian Hydrodynamics Calculation (LHC) 2,500 times faster. On the more complex Neutron Diffusion (ND) code, it outperformed the 7090 by almost 1,300 times, and was about 60 times as fast as the 6600. [7]

Allen, Cocke, and Jim Beatty led the development of the compilers for the machine. This represented a significant effort as the system was to be highly advanced and aggressively optimize code. Among its features was the ability to unwind loops, schedule instructions around the basic block concept, and separate those optimizations that were code-based vs. platform-based. The compiler would be used by both a PL/1 front-end as well as an expanded version of Fortran IV. [5]

In a November 1967 project review, Herb Schorr outlined a delivery plan that would ship the first machine in 1971. [8] The plan estimated that over 100,000 lines of Fortran and assembly code would be needed for the operating system and nearly 70,000 lines for the compilers, assembler, and library routines. He estimated the cost of development to be $15 million ($137 million in 2023) for the software alone. [5]

Design "shootout"

Amdahl continued to agitate for a 360-compatible version of the machine. In January 1967, Ralph L. Palmer asked John Backus, Robert Creasy, and Harwood Kolsky to review the project and Amdahl's concept. Kolsky concluded that the 360-compatible version would be too difficult, and pointed out that the ACS was aimed at the CDC 6600 market, not the 360's, so if the customer was interested in compatibility, 6600 compatibility would seem more useful. The next month, Amdahl once again argued for 360 compatibility for marketing reasons. [5]

Amdahl's continued arguments for 360 compatibility placed him increasingly at odds with Bertram. Bertram responded by "quarantining" him and making sure that no one was allowed to talk to him. Whenever someone would visit, within minutes someone else would arrive and call the first visitor into a meeting. [9] Around the same time, another ACS team member, circuit designer John Earle, was being removed from the main team due to his working style which was causing friction in the team. Earle had been beaten up in a fight in Philadelphia, [9] and when he returned from the hospital Bertram assigned Earle to Amdahl, apparently as a form of punishment. [5]

This backfired badly, as over the next month Amdahl was able to convince Earle that a 360-compatible version was possible, and Earle went ahead and designed it. The result was the Amdahl-Earle Computer, or AEC/360. Using many of the concepts in ACS-1 they produced a design that was slightly slower than it, but cost perhaps 75% as much to build, with only 90,000 gates instead of 270,000 (a gate requires about five transistors using the ECL logic of the era). Much of the reduction was due to the fewer and smaller registers, which accounted for half of the gates in the ACS-1. The loss of performance due to fewer registers was to be made up by a faster 8 nanosecond clock, possible due to a streamlined internal design. [5]

In December 1967, Kolsky was sent to meet with Amdahl to get a more detailed description of the proposed design. [8] Around the same time, Amdahl began calling people within IBM to tell them about the new design. As word of the concept spread around the System Development Division in New York, the division's vice president Erich Bloch began to organize an internal review. The ACS team responded with a "frantic" redesign that reduced the number of gates from 270,000 to 200,000 with little effect on performance, which strongly suggested it was overdesigned. [10]

Bloch selected Carl Conti from IBM Poughkeepsie to handle the review, which occurred in March 1968. Amdahl presented performance estimates based on hand-calculated cycle counts. Conti accepted Amdahl's arguments that on integer benchmarks, the AEC/360 would be up to five times as fast as the ACS-1, it would be up to 2.5 times slower on floating-point, and the complex branching system of ACS seemed to offer 10 to 20% at best and could be adapted to the AEC if desired. But a key point made by Conti was that if the ACS system was so reliant on the compilers for its performance, moving that code to some other machine could result in far different outcomes and that could be considered a disadvantage. [11] He also concluded that while the AEC would be closer to 108,000 gates, it was still half as complex as the ACS. [10]

A final review was performed in April, but this was brief and seemingly already decided. In May, IBM announced the ACS-1 would be cancelled and the AEC/360, to be known as the ACS-360 from that point, would move forward. Although Amdahl's competing design had much to do with this, it was not the only reason. Amdahl had also argued that the $15 million would better be spent on improving the operating systems on the 360, which would improve the entire lineup, not just the AEC. But perhaps the most serious blow to the ACS was the continued success of the 360. In January 1968, NASA had taken delivery of a 360 Model 95, which IBM described as "the fastest, most powerful computer now in user operation." [11] Although the ACS would have outperformed the Model 95 by a wide margin, by this time Watson Jr. was considering withdrawing from the supercomputer market entirely. [12]

Many of the retrospective articles on the ACS project note that the original machine would have been a world leader. Conway notes that "In hindsight, it is now recognized that had the ACS-1 been successfully built, it would have been the premier supercomputer of the era." [8] The decision to cancel the original design rested mostly on the cycle counts which had not been tested as the simulator she had developed had not been ported. [8] Likewise, Amdahl's claim of an 8 nanosecond cycle was accepted by the Conti review although Mark Smotherman suggests it is not realistic. [11]

Cancellation

Most of the ACS upper management team left, and Amdahl was placed in command. The AEC/360 continued development along the proposed lines, with the only major change being the introduction of generalized register renaming as part of the out-of-order system and changes to the branch prediction system to work with the 360 instruction set. [11]

While calculating the cost of the machine, Amdahl concluded that there was no way its sales could turn a profit. This was a serious risk to the company, as introducing a high-end machine that was guaranteed to lose money could be seen as anti-competitive behaviour, an attempt to take the market away from companies like CDC. IBM faced a similar problem with Stretch, but over time it was shown that the R&D in that project had been widely used in the company and if it was billed out then it was slightly positive. [13] To allow ACS/360 to more clearly turn a profit, Amdahl suggested producing three models of the same basic system, the original ACS/360, a smaller model with 13 the performance, and an even smaller version with 19, which would still make it the fastest machine in IBM's lineup. [11] This proposal was rejected. [13]

In May 1969, IBM upper management instead decided to cancel the entire project, [11] apparently at Amdahl's suggestion. [13] What had initially been intended to be a project to compete with the fast-moving CDC had now stretched on for the better part of a decade and showed little evidence that it would release a machine in the short term. Amdahl later claimed it was cancellation was due primarily to it upsetting IBM's carefully planned pricing structure. The company as a whole had an understanding that machines above a certain performance level would always lose money and that introducing a machine that was as fast as the ACS/360 would require it to be priced in a way that would force their other machines to be reduced in price. [4] He has also claimed to have heard rumors that it had been deliberately set up to fail so that the technology could be used in other projects and the R&D cost written off on taxes. [13]

Shortly after the announcement of the project's cancellation, in August 1969, IBM announced the IBM System/360 Model 195, a re-implementation of the Model 91 using integrated circuits that made it twice as fast as the Model 85, which at that time was the fastest machine in the lineup. To address the high-end market, a vector processing task force was started in Poughkeepsie. [14]

When the project was cancelled, many of the engineers were not interested in returning to the main IBM research campus in New York. and wished to remain in California. Some ended up at IBM's hard drive research facility in San Jose, California, while many others left to form a new company, Multi Access System Corp, or MASCOR. This failed to raise capital and folded after only a few months. [14] Amdahl resigned in September 1970 and formed his own company to build 360-compatible machines, introducing the Amdahl 470/6 in 1975. Amdahl Corporation would become a major vendor of IBM-compatible systems into the 1980s, with a 20% or better market share through the 1970s and 80s. [15]

Influence

Although neither the ACS-1 nor the ACS-360 was ever manufactured, the IBM Advanced Computing Systems group responsible for their design developed architectural innovations and pioneered a number of RISC CPU design techniques that would become fundamental to the design of modern computer architectures and systems: [16]

See also

Related Research Articles

<span class="mw-page-title-main">Mainframe computer</span> Large computer

A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise resource planning, and large-scale transaction processing. A mainframe computer is large but not as large as a supercomputer and has more processing power than some other classes of computers, such as minicomputers, servers, workstations, and personal computers. Most large-scale computer-system architectures were established in the 1960s, but they continue to evolve. Mainframe computers are often used as servers.

<span class="mw-page-title-main">Reduced instruction set computer</span> Processor executing one instruction in minimal clock cycles

In electronics and computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set computer (CISC), a RISC computer might require more instructions in order to accomplish a task because the individual instructions are written in simpler code. The goal is to offset the need to process more instructions by increasing the speed of each instruction, in particular by implementing an instruction pipeline, which may be simpler to achieve given simpler instructions.

<span class="mw-page-title-main">Seymour Cray</span> Supercomputer architect and engineer (1925–1996)

Seymour Roger Cray was an American electrical engineer and supercomputer architect who designed a series of computers that were the fastest in the world for decades, and founded Cray Research which built many of these machines. Called "the father of supercomputing", Cray has been credited with creating the supercomputer industry. Joel S. Birnbaum, then chief technology officer of Hewlett-Packard, said of him: "It seems impossible to exaggerate the effect he had on the industry; many of the things that high performance computers now do routinely were at the farthest edge of credibility when Seymour envisioned them." Larry Smarr, then director of the National Center for Supercomputing Applications at the University of Illinois said that Cray is "the Thomas Edison of the supercomputing industry."

<span class="mw-page-title-main">IBM System/360</span> IBM mainframe computer family (1964–1977)

The IBM System/360 (S/360) is a family of mainframe computer systems that was announced by IBM on April 7, 1964, and delivered between 1965 and 1978. It was the first family of computers designed to cover both commercial and scientific applications and a complete range of applications from small to large. The design distinguished between architecture and implementation, allowing IBM to release a suite of compatible designs at different prices. All but the only partially compatible Model 44 and the most expensive systems use microcode to implement the instruction set, featuring 8-bit byte addressing and fixed point binary, fixed point decimal and hexadecimal floating-point calculations.

<span class="mw-page-title-main">Cray-1</span> Supercomputer manufactured by Cray Research

The Cray-1 was a supercomputer designed, manufactured and marketed by Cray Research. Announced in 1975, the first Cray-1 system was installed at Los Alamos National Laboratory in 1976. Eventually, eighty Cray-1s were sold, making it one of the most successful supercomputers in history. It is perhaps best known for its unique shape, a relatively small C-shaped cabinet with a ring of benches around the outside covering the power supplies and the cooling system.

Control Data Corporation (CDC) was a mainframe and supercomputer company that in the 1960s was one of the nine major U.S. computer companies, which group included IBM, the Burroughs Corporation, and the Digital Equipment Corporation (DEC), the NCR Corporation (NCR), General Electric, and Honeywell, RCA and UNIVAC. For most of the 1960s, the strength of CDC was the work of the electrical engineer Seymour Cray who developed a series of fast computers, then considered the fastest computing machines in the world; in the 1970s, Cray left the Control Data Corporation and founded Cray Research (CRI) to design and make supercomputers. In 1988, after much financial loss, the Control Data Corporation began withdrawing from making computers and sold the affiliated companies of CDC; in 1992, Cray established Control Data Systems, Inc. The remaining affiliate companies of CDC currently do business as the software company Ceridian.

<span class="mw-page-title-main">CDC 6600</span> Mainframe computer by Control Data

The CDC 6600 was the flagship of the 6000 series of mainframe computer systems manufactured by Control Data Corporation. Generally considered to be the first successful supercomputer, it outperformed the industry's prior recordholder, the IBM 7030 Stretch, by a factor of three. With performance of up to three megaFLOPS, the CDC 6600 was the world's fastest computer from 1964 to 1969, when it relinquished that status to its successor, the CDC 7600.

<span class="mw-page-title-main">IBM 7030 Stretch</span> First IBM supercomputer using dedicated transistors

The IBM 7030, also known as Stretch, was IBM's first transistorized supercomputer. It was the fastest computer in the world from 1961 until the first CDC 6600 became operational in 1964.

William Charles Norris was an American business executive. He was the CEO of Control Data Corporation, at one time one of the most powerful and respected computer companies in the world. He is famous for taking on IBM in a head-on fight and winning, as well as being a social activist who used Control Data's expansion in the late 1960s to bring jobs and training to inner cities and disadvantaged communities.

<span class="mw-page-title-main">Gene Amdahl</span> American computer architect and high-tech entrepreneur

Gene Myron Amdahl was an American computer architect and high-tech entrepreneur, chiefly known for his work on mainframe computers at IBM and later his own companies, especially Amdahl Corporation. He formulated Amdahl's law, which states a fundamental limitation of parallel computing.

<span class="mw-page-title-main">Amdahl Corporation</span> American mainframe computer manufacturer

Amdahl Corporation was an information technology company which specialized in IBM mainframe-compatible computer products, some of which were regarded as supercomputers competing with those from Cray Research. Founded in 1970 by Gene Amdahl, a former IBM computer engineer best known as chief architect of System/360, it has been a wholly owned subsidiary of Fujitsu since 1997. The company was located in Sunnyvale, California.

<span class="mw-page-title-main">CDC 7600</span> 1967 supercomputer

The CDC 7600 was designed by Seymour Cray to be the successor to the CDC 6600, extending Control Data's dominance of the supercomputer field into the 1970s. The 7600 ran at 36.4 MHz and had a 65 Kword primary memory using magnetic core and variable-size secondary memory. It was generally about ten times as fast as the CDC 6600 and could deliver about 10 MFLOPS on hand-compiled code, with a peak of 36 MFLOPS. In addition, in benchmark tests in early 1970 it was shown to be slightly faster than its IBM rival, the IBM System/360, Model 195. When the system was released in 1967, it sold for around $5 million in base configurations, and considerably more as options and features were added.

<span class="mw-page-title-main">Lynn Conway</span> American computer scientist and electrical engineer (1938–2024)

Lynn Ann Conway was an American computer scientist, electrical engineer, and transgender activist.

<span class="mw-page-title-main">CDC Cyber</span> Range of mainframe-class supercomputers

The CDC Cyber range of mainframe-class supercomputers were the primary products of Control Data Corporation (CDC) during the 1970s and 1980s. In their day, they were the computer architecture of choice for scientific and mathematically intensive computing. They were used for modeling fluid flow, material science stress analysis, electrochemical machining analysis, probabilistic analysis, energy and academic computing, radiation shielding modeling, and other applications. The lineup also included the Cyber 18 and Cyber 1000 minicomputers. Like their predecessor, the CDC 6600, they were unusual in using the ones' complement binary representation.

In computer engineering, out-of-order execution is a paradigm used in high-performance central processing units to make use of instruction cycles that would otherwise be wasted. In this paradigm, a processor executes instructions in an order governed by the availability of input data and execution units, rather than by their original order in a program. In doing so, the processor can avoid being idle while waiting for the preceding instruction to complete and can, in the meantime, process the next instructions that are able to run immediately and independently.

Plug compatible refers to "hardware that is designed to perform exactly like another vendor's product." The term PCM was originally applied to manufacturers who made replacements for IBM peripherals. Later this term was used to refer to IBM-compatible computers.

<span class="mw-page-title-main">CDC 3000 series</span>

The CDC 3000 series are a family of mainframe computers from Control Data Corporation (CDC). The first member, the CDC 3600, was a 48-bit system introduced in 1963. The same basic design led to the cut-down CDC 3400 of 1964, and then the 24-bit CDC 3300, 3200 and 3100 introduced between 1964 and 1965. The 3000 series replaced the earlier CDC 1604 and CDC 924 systems.

<span class="mw-page-title-main">CDC 6000 series</span> Family of 1960s mainframe computers

The CDC 6000 series is a discontinued family of mainframe computers manufactured by Control Data Corporation in the 1960s. It consisted of the CDC 6200, CDC 6300, CDC 6400, CDC 6500, CDC 6600 and CDC 6700 computers, which were all extremely rapid and efficient for their time. Each is a large, solid-state, general-purpose, digital computer that performs scientific and business data processing as well as multiprogramming, multiprocessing, Remote Job Entry, time-sharing, and data management tasks under the control of the operating system called SCOPE. By 1970 there also was a time-sharing oriented operating system named KRONOS. They were part of the first generation of supercomputers. The 6600 was the flagship of Control Data's 6000 series.

<span class="mw-page-title-main">History of supercomputing</span>

The history of supercomputing goes back to the 1960s when a series of computers at Control Data Corporation (CDC) were designed by Seymour Cray to use innovative designs and parallelism to achieve superior computational peak performance. The CDC 6600, released in 1964, is generally considered the first supercomputer. However, some earlier computers were considered supercomputers for their day such as the 1954 IBM NORC in the 1950s, and in the early 1960s, the UNIVAC LARC (1960), the IBM 7030 Stretch (1962), and the Manchester Atlas (1962), all of which were of comparable power.

Edward H. Sussenguth Jr. was an American engineer and former IBM employee, known best for his work on Systems Network Architecture (SNA). He was also a contributor to the architecture of IBM's Advanced Computer System (ACS).

References

Citations

  1. 1 2 3 4 Smotherman, Sussenguth & Robelen 2016, p. 60.
  2. "Watson Jr. memo about CDC 6600". Computer History Museum.
  3. 1 2 3 4 Smotherman, Sussenguth & Robelen 2016, p. 61.
  4. 1 2 "Interview with Gene Amdahl". IEEE Design and Test of Computers. April 1997.
  5. 1 2 3 4 5 6 Smotherman, Sussenguth & Robelen 2016, p. 63.
  6. 1 2 Smotherman, Sussenguth & Robelen 2016, p. 62.
  7. Smotherman, Sussenguth & Robelen 2016, pp. 62, 66.
  8. 1 2 3 4 Conway 2011, p. 20.
  9. 1 2 Aspray 2000, p. 26.
  10. 1 2 Conway 2011, p. 27.
  11. 1 2 3 4 5 6 Smotherman, Sussenguth & Robelen 2016, p. 67.
  12. Conway 2011, p. 29.
  13. 1 2 3 4 Aspray 2000, p. 27.
  14. 1 2 Smotherman, Sussenguth & Robelen 2016, p. 68.
  15. Lueck, Thomas (22 May 1981). "AMDAHL IS STILL GUESSING RIGHT". The New York Times.
  16. Conway 2011.

Bibliography