IBM Advanced Computer Systems project: Difference between revisions

Content deleted Content added
 
(27 intermediate revisions by 5 users not shown)
Line 1:
{{Short description|1960s supercomputer architecture}}
The '''ACS-1''' and '''ACS-360''' are two related [[supercomputer]]s designed by [[IBM]] as part of the '''Advanced Computing Systems''' project from 19611965 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 computing|high-performance computers]] in existence today. Many of the ideas resulting from the project directly influenced the development of the [[IBM System p|IBM RS/6000]] and, more recently, have contributed to the [[Explicitly Parallel Instruction Computing]] (EPIC) computing paradigm used by [[Intel Corporation|Intel]] and [[Hewlett-Packard|HP]] in high-performancethe [[Itanium]] processors.
 
After the ACS project folded, the engineers were given tothe choice to rejoin other divisions of IBM. Many declined as it would require them to return to the east coast from California. ManyA ofnumber these went on to formformed MASCOR, Multi Access System Corp, in 1970. Thisbut 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 [[Emitter-coupled logic|ECL]] designs worked on for ASCACS. [[Amdahl Corporation]]'s 470V/6 were both faster and less expensive than IBM's own high-end designs.
 
==History==
Line 8:
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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=60}}
 
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<ref>{{cite web |url=https://www.computerhistory.org/revolution/supercomputers/10/33/62 |title=Watson Jr. memo about CDC 6600 |website=Computer History Museum}}</ref> asking how it was that this small company could produce machines that outperformed those from IBM.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=60}}
 
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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=60}}
 
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 (computer scientist)|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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=60}}
Line 17:
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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=61}}
 
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 unit]]s (ALUs) that performed most of the mathematics would be [[Pipeline (computing)|pipelined]], as in the 6600, and it would dispatch multiple instructions per cycle. [[Branch (computer science)|Branching]] performance would be improved with a buffer that would begin executing both sides of the branch.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=61}}
 
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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=61}} 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 ASCACS at the invitation of Bob Evans.<ref name=interview>{{cite journal |journal= IEEE Design and Test of Computers |date=April 1997 |title=Interview with Gene Amdahl}}</ref>{{sfn|Smotherman|Sussenguth|Robelen|2016|p=63}}
 
Even at this early meeting, Amdahl made the argument that it would make much more sense to make the ASCACS 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 ahaving sixteen 32-bit word and having 16 registers instead of 32thirty-two 48-bit ones in the new concept, it would offer customers of the Model 92 an upgrade path to much higher performance and leverage all of the software andfor the 360, especially theirthe [[compiler]] technology developed for that machine.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=61}}
 
===Design matures===
In early 1966 the Project Y design was finalized as ASCACS-1, with the only major change being the removal of the 192-bit extended floating-point format. In 1966, a new building with {{convert|38,000|sqft}} 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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=62}}
 
Another concept developed for the ASCACS 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 othersearlier 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 as part of the development of a software simulation of the new system.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=62}}
 
Using the simulator, Conway benchmarked a number of high-performance computing workloads against the [[IBM 7090]], 6000CDC 6600 and [[IBM System/360 Model 91|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.{{sfn|Smotherman|Sussenguth|Robelen|2016|pp=62, 66}}
 
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]].{{sfn|Smotherman|Sussenguth|Robelen|2016|p=63}}
Line 35:
 
===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 ASCACS 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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=63}}
 
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.{{sfn|Aspray|2000|p=26}} Around the same time, another ASCACS 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. Bertram assigned Earle tohad Amdahl,been apparentlybeaten asup a form of punishment. This backfired badly, as Amdahl was able to convince Earle thatin a 360-compatiblefight versionin was possiblePhiladelphia,{{sfn|Aspray|2000|p=26}} and Earlewhen wenthe aheadreturned andfrom designedthe it.hospital TheBertram resultassigned wasEarle theto Amdahl-Earle Computer, or AEC/360. Using many of the concepts in ASC-1 they produced a design that was slightly slower than it, but cost perhaps 75%apparently as much to build, with only 90,000 gates instead of 270,000 (a gate requires about five transistors using the ECL logicform of the era). Much of the reduction was due to the fewer and smaller registers, which accounted for half of the gates in the ASC-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 designpunishment.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=63}}
 
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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=63}}
In December 1967, Kolsky was sent to meet with Amdahl to get a more detailed description of the proposed design.{{sfn|Conway|2011|p=20}} 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 (SSD), the division's vice president [[Erich Bloch]] began to organize an internal review. The ASC 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.{{sfn|Conway|2011|p=27}}
 
In December 1967, Kolsky was sent to meet with Amdahl to get a more detailed description of the proposed design.{{sfn|Conway|2011|p=20}} 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 (SSD)in New York, the division's vice president [[Erich Bloch]] began to organize an internal review. The ASCACS 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.{{sfn|Conway|2011|p=27}}
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 ASC-1, it would be up to 2.5 times slower on floating-point, and the complex branching system of ASC 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 ASC 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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} He also concluded that the AEC would be closer to 108,000 gates, but that was still almost half that of the ASC.{{sfn|Conway|2011|p=27}}
 
ABloch finalselected "review"Carl wasConti performedfrom inIBM April,Poughkeepsie butto thishandle wasthe briefreview, andwhich seeminglyoccurred alreadyin decidedMarch 1968. InAmdahl May,presented IBMperformance announcedestimates thebased ASCon hand-1calculated wouldcycle becounts. cancelledConti andaccepted theAmdahl's AEC/360,arguments tothat beon knowninteger asbenchmarks, the ASC-AEC/360 from that point, would movebe forward.up Althoughto Amdahl'sfive competitiontimes designas hadfast muchas tothe do with thisACS-1, it waswould notbe theup onlyto reason2.5 Amdahltimes hadslower alsoon arguedfloating-point, thatand the $15complex millionbranching wouldsystem betterof beACS spentseemed onto improvingoffer the10 operatingto systems20% onat thebest 360,and whichcould wouldbe improveadapted to the entireAEC lineup,if notdesired. justBut thea AEC.key Butpoint perhapsmade theby mostConti seriouswas blowthat toif the ASCACS system was theso continuedreliant success ofon the S/360.compilers Infor Januaryits 1968performance, [[NASA]]moving hadthat takencode deliveryto ofsome aother 360machine Modelcould 95,result whichin IBMfar describeddifferent asoutcomes "theand fastest,that mostcould powerfulbe computerconsidered nowa in user operationdisadvantage."{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} AlthoughHe thealso ASCconcluded would havethat outperformedwhile the ModelAEC 95would bybe acloser wideto margin108,000 bygates, thisit timewas Watsonstill Jr.half wasas consideringcomplex withdrawing fromas the supercomputer market entirelyACS.{{sfn|Conway|2011|p=2927}}
 
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."{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} 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.{{sfn|Conway|2011|p=29}}
Many of the retrospective articles on the ASC 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."{{sfn|Conway|2011|p=20}} 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.{{sfn|Conway|2011|p=20}} Likewise, Amdahl's claim of an 8 nanosecond cycle was accepted by the Conti review although Mark Smotherman suggests it is not realistic.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}}
 
Many of the retrospective articles on the ASCACS 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."{{sfn|Conway|2011|p=20}} 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 portedmodified to use the new instruction set.{{sfn|Conway|2011|p=20}} Likewise, Amdahl's claim of an 8 nanosecond cycle was accepted by the Conti review although Mark Smotherman suggests it is not realistic.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}}
 
===Cancellation===
Most of the ASCACS 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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} Amdahl calculated that for the series to be profitable, they would have to produce three models. The high-end AEC concept would have only a small number of sales, so it would be matched by a smaller model with {{frac|3}} the performance, and an even smaller version with {{frac|9}}, which would still make it the fastest machine in IBM's lineup.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}}
 
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.{{sfn|Aspray|2000|p=27}} 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 {{frac|3}} the performance, and an even smaller version with {{frac|9}}, which would still make it the fastest machine in IBM's lineup.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} This proposal was rejected.{{sfn|Aspray|2000|p=27}}
In May 1969, IBM upper management instead decided to cancel the entire project.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} 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 ever be worthwhile. 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 ASC/360 would require it to be priced in a way that would force their other machines to be reduced in price.<ref name=interview/>
 
In May 1969, IBM upper management instead decided to cancel the entire project.,{{sfn|Smotherman|Sussenguth|Robelen|2016|p=67}} apparently at Amdahl's suggestion.{{sfn|Aspray|2000|p=27}} 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 everrelease bea worthwhilemachine in the short term. Amdahl later claimed it wasits 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 ASCACS/360 would require it to be priced in a way that would force their other machines to be reduced in price.<ref name=interview/> 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.{{sfn|Aspray|2000|p=27}}
 
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 circuit]]s that made it twice as fast as the [[IBM System/360 Model 85|Model 85]], which at that time was the fastest machine in the lineup. To address the high-end market, a [[Vector processor|vector processing]] task force was started in Poughkeepsie.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=68}}
 
When the ACS 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.{{sfn|Smotherman|Sussenguth|Robelen|2016|p=68}} Amdahl resigned in September 1970 and formed his own company to build the360-compatible system he had outlined with Earlemachines, introducing it as the [[Amdahl 470/6]] in 1975. [[Amdahl Corporation]] would become a major vendor of IBM-compatible systems into the 1980s, whenwith thea mainframe20% or better market beganshare tothrough shrinkthe 1970s and 80s.<ref>{{cite news |newspaper=The New York Times |title=AMDAHL IS STILL GUESSING RIGHT |date=22 May 1981 |first=Thomas |last= Lueck |url=https://www.nytimes.com/1981/05/22/business/amdahl-is-still-guessing-right.html}}</ref>
 
Many of the innovations resulting from the project would eventually find direct realization in the [[IBM RS/6000]] series of machines (later known as the [[IBM System p]] line of workstations and servers), apart from influencing the design of other machines and architectures.
 
==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 [[reduced instruction set computer|RISC]] CPU design techniques that would become fundamental to the design of modern computer architectures and systems:{{sfn|Conway|2011}}
* Aggressive reduction in the number of logic gate levels for pipeline stages to reduce the cycle time
* Tight integration between processor and memory
Line 75 ⟶ 77:
* Air-cooled high-speed LSI circuits
* Advanced simulation tools used in the design process
 
==See also==
* [[IBM Future Systems project]], a contemporary project to develop machines that could directly run [[high-level programming language]]s.
 
==References==
Line 83 ⟶ 88:
* {{cite journal|first1=Mark K. |last1=Smotherman |first2=Edward H. |last2=Sussenguth |first3=Russell J. |last3=Robelen |title=The IBM ACS Project
|journal= IEEE Annals of the History of Computing |volume=38|issue=1|pages=60–74 |year=2016|doi=10.1109/MAHC.2015.50}}
* {{cite encyclopedia |encyclopedia=Dependable and Historic Computing: Essays Dedicated to Brian Randell on the Occasion of his 75th Birthday |title=IBM-ACS: Reminiscences and Lessons Learned from a 1960's Supercomputer Project |first=Lynn |last=Conway |date=2011 |publisher=Springer-Verlag |pages=185-224185–224 |url=http://ai.eecs.umich.edu/people/conway/Memoirs/ACS/Lynn_Conway_ACS_Reminiscences.pdf}}
* {{cite interview
|first=Bill |last=Aspray
|title=Gene Amdahl Oral History
|date=24 September 2000
|url=https://archive.computerhistory.org/resources/access/text/2013/05/102702492-05-01-acc.pdf
}}
 
==External links==