IBM Future Systems project
Encyclopedia
The Future Systems project was a research and development project undertaken in IBM
in the early '70s, aiming to develop a revolutionary line of computer products, including new software models which would simplify software development by exploiting modern powerful hardware.
Other manufacturers had started to market compatible hardware, mainly peripherals such as tape and disk drives, at a price significantly lower than IBM, thus shrinking the possible base for recovering the cost of software and services. Early in 1971, after Gene Amdahl
had left IBM to set up his own company offering IBM compatible mainframes, an internal IBM taskforce (project Counterpoint) concluded that the compatible mainframe business was indeed a viable business, and that the basis for charging for software and services as part of the hardware price would quickly vanish.
Another strategic issue was that the cost of computing was steadily going down while the costs of programming and operations, being made of personnel costs, were steadily going up. Therefore, the part of the customer's IT budget available for hardware vendors would be significantly reduced in the coming years, and with it the base for IBM revenue. It was imperative that IBM, by addressing the cost of application development and operations in its future products, would at the same time reduce the total cost of IT to the customers and capture a larger portion of that cost.
At the same time, IBM was under legal attack for its dominant position and its policy of bundling software and services in the hardware price, so that any attempt at "re-bundling" part of its offerings had to be firmly justified on a pure technical basis, so as to withstand any legal challenge.
In May–June 1971, an international task force convened in Armonk under John Opel
, then a vice-president of IBM. Its assignment was to investigate the feasibility of a new line of computers which would take advantage of IBM's technological advantages in order to render obsolete all previous computers - compatible offerings but also IBM's own products. The task force concluded that the project was worth pursuing, but that the key to acceptance in the marketplace was an order of magnitude reduction in the costs of developing, operating and maintaining application software.
The major objectives of the FS project were consequently stated as follows:
It was hoped that a new architecture that took advantage of the cheaper hardware would simplify software development and would make a major reduction in total costs both for IBM and for their customers.
to cover persistent data. Working memory, files, and databases were all accessed in a uniform way by an abstraction of the notion of address.
Therefore, programmers would not have to be concerned whether the object they were trying to access was in memory or on the disk.
This and other planned enhancements were expected to make programming easier and thereby reduce the cost of developing software.
Implementation of that principle required that the addressing mechanism at the heart of the machine would incorporate a complete storage hierarchy management system and major portions of a data base management system, that until then were implemented as add-on software.
. As an example, one of the instructions, CreateEncapsulatedModule, was a complete linkage editor. Other instructions were designed to support the internal data structures and operations of programming languages such as FORTRAN
, COBOL
, and PL/I
. In effect, FS was designed to be the ultimate complex instruction set computer (CISC
).
Another way of presenting the same concept was that the entire collection of functions previously implemented as hardware
, operating system
software, data base software and more would now be considered as making up one integrated system, with each and every elementary function implemented in one of many layers including circuitry, microcode
, and conventional software. More than one layer of microcode and code were contemplated, sometimes referred to as picocode or millicode.
Depending on the people one was talking to, the very notion of a "machine" therefore ranged between those functions which were implemented as circuitry (for the hardware specialists) to the complete set of functions offered to users, irrespective of their implementation (for the systems architects).
The overall design also called for a "universal controller" to handle primarily input-output operations outside of the main processor. That universal controller would have a very limited instruction set, restricted to those operations required for I/O, pioneering the concept of a reduced instruction set computer (RISC).
Meanwhile, John Cocke
, one of the chief designers of early IBM computers, began a research project to design the first reduced instruction set computer (RISC). In the long run, the RISC architecture, which eventually evolved into IBM's Power and PowerPC
architecture, proved to be vastly cheaper to implement and capable of achieving much higher clock rate.
considered a radical redesign of their entire product line to take advantage of the much lower cost of computer circuitry expected in the 1980s.
The IBM Future Systems project (FS) was officially started In September 1971, following the recommendations of a special task force assembled in the second quarter of 1971. In the course of time, several other research projects in various IBM locations merged into the FS project or became associated with it.
In Sowa's memo (see External Links, below) he noted The avowed aim of all this red tape is to prevent anyone from understanding the whole system; this goal has certainly been achieved.
As a consequence, most people working on the project had an extremely limited view of it, restricted to what they needed to know in order to produce their expected contribution. Some teams were even working on FS without knowing. This explains why, when asked to define FS, most people give a very partial answer, limited to the intersection of FS with their field of competence.
, which had responsibility for the mid-range computers; and the smallest model was being designed in Rochester, MN, which had the responsibility for IBM's small business computers.
A continuous range of performance could be offered by varying the number of processors in a system at each of the three implementation levels.
Early 1973, overall project management and the teams responsible for the more "outside" layers common to all implementations were consolidated in the Mohansic ASDD laboratory (half way between the Armonk/White Plains headquarters and Poughkeepsie).
One symptom was the poor performance of its largest implementation, but the project was also marred by protracted internal arguments about various technical aspects, including internal IBM debates about the merits of RISC vs. CISC designs. The complexity of the instruction set was another obstacle, which was considered "incomprehensible" by IBM's own engineers. Moreover, simulations showed that the execution of native FS instructions on the high-end machine was slower than the System/370
emulator
on the same machine.
The FS project was finally terminated when IBM realized that customer acceptance would be much more limited than originally predicted because there was no reasonable application migration path for 360 architecture customers. In order to leave maximum freedom to design a truly revolutionary system, ease of application migration was not one of the primary design goals for the FS project, but was to be addressed by software migration aids taking the new architecture as a given. In the end, it appeared that the cost of migrating the mass of user investments in COBOL and assembler based applications to FS was in many cases likely to be greater than the cost of acquiring a new system.
, which proved to be a good design for ease of programming, but it was woefully underpowered. The AS/400 inherited the same architecture, but with performance improvements. In both machines, the very CISCy instruction set generated by compilers is not interpreted, but translated into a lower-level machine instruction set and executed; the original lower-level instruction set was a CISC instruction set with some similarities to the System/360
instruction set, with an extended version of the PowerPC
instruction set, which evolved from John Cocke's RISC machine, used as the lower-level instruction set in later machines.
Besides System/38 and the AS/400, which inherited much of the FS architecture, bits and pieces of Future Systems technology were incorporated in the following parts of IBM's product line:
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
in the early '70s, aiming to develop a revolutionary line of computer products, including new software models which would simplify software development by exploiting modern powerful hardware.
Background and goals
Until the end of the 1960s, IBM had been making most of its profit on the hardware, bundling support software and services along with its systems. Only hardware boxes carried a price tag, but those prices included an allocation for software and services.Other manufacturers had started to market compatible hardware, mainly peripherals such as tape and disk drives, at a price significantly lower than IBM, thus shrinking the possible base for recovering the cost of software and services. Early in 1971, after Gene Amdahl
Gene Amdahl
Gene Myron Amdahl is a Norwegian-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...
had left IBM to set up his own company offering IBM compatible mainframes, an internal IBM taskforce (project Counterpoint) concluded that the compatible mainframe business was indeed a viable business, and that the basis for charging for software and services as part of the hardware price would quickly vanish.
Another strategic issue was that the cost of computing was steadily going down while the costs of programming and operations, being made of personnel costs, were steadily going up. Therefore, the part of the customer's IT budget available for hardware vendors would be significantly reduced in the coming years, and with it the base for IBM revenue. It was imperative that IBM, by addressing the cost of application development and operations in its future products, would at the same time reduce the total cost of IT to the customers and capture a larger portion of that cost.
At the same time, IBM was under legal attack for its dominant position and its policy of bundling software and services in the hardware price, so that any attempt at "re-bundling" part of its offerings had to be firmly justified on a pure technical basis, so as to withstand any legal challenge.
In May–June 1971, an international task force convened in Armonk under John Opel
John Opel
John Roberts Opel was a U.S. computer businessman. He served as the president of IBM between 1974 and 1985. He then served as the CEO of IBM from 1981 to 1985. Finally he was the chairman of IBM between 1983 and 1986...
, then a vice-president of IBM. Its assignment was to investigate the feasibility of a new line of computers which would take advantage of IBM's technological advantages in order to render obsolete all previous computers - compatible offerings but also IBM's own products. The task force concluded that the project was worth pursuing, but that the key to acceptance in the marketplace was an order of magnitude reduction in the costs of developing, operating and maintaining application software.
The major objectives of the FS project were consequently stated as follows:
- render obsolete all existing computing equipment, including IBM's, by fully exploiting the latest technologies,
- offer a major reduction in the costs and efforts involved in application development and operations,
- provide a technically sound basis for re-bundling as much as possible of IBM's offerings (hardware, software and services)
It was hoped that a new architecture that took advantage of the cheaper hardware would simplify software development and would make a major reduction in total costs both for IBM and for their customers.
Data access
One design principle of FS was a "single-level store" which extended the idea of virtual memoryVirtual memory
In computing, virtual memory is a memory management technique developed for multitasking kernels. This technique virtualizes a computer architecture's various forms of computer data storage , allowing a program to be designed as though there is only one kind of memory, "virtual" memory, which...
to cover persistent data. Working memory, files, and databases were all accessed in a uniform way by an abstraction of the notion of address.
Therefore, programmers would not have to be concerned whether the object they were trying to access was in memory or on the disk.
This and other planned enhancements were expected to make programming easier and thereby reduce the cost of developing software.
Implementation of that principle required that the addressing mechanism at the heart of the machine would incorporate a complete storage hierarchy management system and major portions of a data base management system, that until then were implemented as add-on software.
Processor
Another principle was the use of very high-level complex instructions to be implemented in microcodeMicrocode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...
. As an example, one of the instructions, CreateEncapsulatedModule, was a complete linkage editor. Other instructions were designed to support the internal data structures and operations of programming languages such as FORTRAN
Fortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
, COBOL
COBOL
COBOL is one of the oldest programming languages. Its name is an acronym for COmmon Business-Oriented Language, defining its primary domain in business, finance, and administrative systems for companies and governments....
, and PL/I
PL/I
PL/I is a procedural, imperative computer programming language designed for scientific, engineering, business and systems programming applications...
. In effect, FS was designed to be the ultimate complex instruction set computer (CISC
Complex instruction set computer
A complex instruction set computer , is a computer where single instructions can execute several low-level operations and/or are capable of multi-step operations or addressing modes within single instructions...
).
Another way of presenting the same concept was that the entire collection of functions previously implemented as hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....
, operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
software, data base software and more would now be considered as making up one integrated system, with each and every elementary function implemented in one of many layers including circuitry, microcode
Microcode
Microcode is a layer of hardware-level instructions and/or data structures involved in the implementation of higher level machine code instructions in many computers and other processors; it resides in special high-speed memory and translates machine instructions into sequences of detailed...
, and conventional software. More than one layer of microcode and code were contemplated, sometimes referred to as picocode or millicode.
Depending on the people one was talking to, the very notion of a "machine" therefore ranged between those functions which were implemented as circuitry (for the hardware specialists) to the complete set of functions offered to users, irrespective of their implementation (for the systems architects).
The overall design also called for a "universal controller" to handle primarily input-output operations outside of the main processor. That universal controller would have a very limited instruction set, restricted to those operations required for I/O, pioneering the concept of a reduced instruction set computer (RISC).
Meanwhile, John Cocke
John Cocke
John Cocke was an American computer scientist recognized for his large contribution to computer architecture and optimizing compiler design. He is considered by many to be "the father of RISC architecture."...
, one of the chief designers of early IBM computers, began a research project to design the first reduced instruction set computer (RISC). In the long run, the RISC architecture, which eventually evolved into IBM's Power and PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
architecture, proved to be vastly cheaper to implement and capable of achieving much higher clock rate.
Project start
In the late 1960s and early 1970s, IBMIBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
considered a radical redesign of their entire product line to take advantage of the much lower cost of computer circuitry expected in the 1980s.
The IBM Future Systems project (FS) was officially started In September 1971, following the recommendations of a special task force assembled in the second quarter of 1971. In the course of time, several other research projects in various IBM locations merged into the FS project or became associated with it.
Project management
During its entire life, the FS project was conducted under tight security provisions. The project was broken down into many subprojects assigned to different teams. The documentation was similarly broken down into many pieces, and access to each document was subject to verification of the need-to-know by the project office. Documents were tracked and could be called back at any time.In Sowa's memo (see External Links, below) he noted The avowed aim of all this red tape is to prevent anyone from understanding the whole system; this goal has certainly been achieved.
As a consequence, most people working on the project had an extremely limited view of it, restricted to what they needed to know in order to produce their expected contribution. Some teams were even working on FS without knowing. This explains why, when asked to define FS, most people give a very partial answer, limited to the intersection of FS with their field of competence.
Planned product lines
Three implementations of the FS architecture were planned: the top-of-line model was being designed in Poughkeepsie, NY, where IBM's largest and fastest computers were built; the middle model was being designed in Endicott, NYEndicott, New York
Endicott is a village in Broome County, New York, United States. The population was 13,038 at the 2000 census. It is part of the Binghamton Metropolitan Statistical Area. The village is named after Henry B...
, which had responsibility for the mid-range computers; and the smallest model was being designed in Rochester, MN, which had the responsibility for IBM's small business computers.
A continuous range of performance could be offered by varying the number of processors in a system at each of the three implementation levels.
Early 1973, overall project management and the teams responsible for the more "outside" layers common to all implementations were consolidated in the Mohansic ASDD laboratory (half way between the Armonk/White Plains headquarters and Poughkeepsie).
Project end
The FS project was killed in 1975. The reasons given for killing the project depend on the person asked, who puts forward the issues related to the domain with which he/she was familiar. In reality, the success of the project was dependent on a large number of breakthroughs in all areas from circuit design and manufacturing to marketing and maintenance. Although each single issue, taken in isolation, might have been resolved, the probability that they could all be resolved in time and in mutually compatible ways was practically zero.One symptom was the poor performance of its largest implementation, but the project was also marred by protracted internal arguments about various technical aspects, including internal IBM debates about the merits of RISC vs. CISC designs. The complexity of the instruction set was another obstacle, which was considered "incomprehensible" by IBM's own engineers. Moreover, simulations showed that the execution of native FS instructions on the high-end machine was slower than the System/370
System/370
The IBM System/370 was a model range of IBM mainframes announced on June 30, 1970 as the successors to the System/360 family. The series maintained backward compatibility with the S/360, allowing an easy migration path for customers; this, plus improved performance, were the dominant themes of the...
emulator
Emulator
In computing, an emulator is hardware or software or both that duplicates the functions of a first computer system in a different second computer system, so that the behavior of the second system closely resembles the behavior of the first system...
on the same machine.
The FS project was finally terminated when IBM realized that customer acceptance would be much more limited than originally predicted because there was no reasonable application migration path for 360 architecture customers. In order to leave maximum freedom to design a truly revolutionary system, ease of application migration was not one of the primary design goals for the FS project, but was to be addressed by software migration aids taking the new architecture as a given. In the end, it appeared that the cost of migrating the mass of user investments in COBOL and assembler based applications to FS was in many cases likely to be greater than the cost of acquiring a new system.
Results
Although the FS project as a whole was killed, a simplified version of the architecture for the smallest of the three machines continued to be developed in Rochester. It was finally released as the IBM System/38System/38
The System/38 was a midrange computer server platform manufactured and sold by the IBM Corporation. The system offered a number of innovative features, and was the brainchild of IBM engineer Dr. Frank Soltis...
, which proved to be a good design for ease of programming, but it was woefully underpowered. The AS/400 inherited the same architecture, but with performance improvements. In both machines, the very CISCy instruction set generated by compilers is not interpreted, but translated into a lower-level machine instruction set and executed; the original lower-level instruction set was a CISC instruction set with some similarities to the System/360
System/360
The IBM System/360 was a mainframe computer system family first announced by IBM on April 7, 1964, and sold between 1964 and 1978. It was the first family of computers designed to cover the complete range of applications, from small to large, both commercial and scientific...
instruction set, with an extended version of the PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...
instruction set, which evolved from John Cocke's RISC machine, used as the lower-level instruction set in later machines.
Besides System/38 and the AS/400, which inherited much of the FS architecture, bits and pieces of Future Systems technology were incorporated in the following parts of IBM's product line:
- the IBM 3081IBM 3081The IBM Model 3081 Processor Complex was a mainframe computer which was announced November 12, 1980 and withdrawn August 4, 1987. It introduced the System/370 Extended Architecture. It consisted of a 3081 Processor Unit and supporting units; the 3083 and 3084 were in the same family...
mainframe computer, which was essentially the System/370 emulator designed in Poughkeepsie, but with the FS microcode removed - the 3800 laser printerLaser printerA laser printer is a common type of computer printer that rapidly produces high quality text and graphics on plain paper. As with digital photocopiers and multifunction printers , laser printers employ a xerographic printing process, but differ from analog photocopiers in that the image is produced...
, and some machines that would lead to the IBM 3279IBM 3270The IBM 3270 is a class of block oriented terminals made by IBM since 1972 normally used to communicate with IBM mainframes. As such, it was the successor to the IBM 2260 display terminal. Due to the text colour on the original models, these terminals are informally known as green screen terminals...
terminal and GDDMGDDMGDDM is a computer graphics system for the IBM System/370 which was developed in IBM's Hursley lab, and first released in 1979. GDDM was originally designed to provide programming support for the IBM 3279 colour display terminal and the associated 3287 colour printer... - the IBM 3850IBM 3850The IBM 3850 Mass Storage System was an online tape library used to hold large amounts of infrequently accessed data.- History :Starting in the late-1960s IBM's lab in Boulder, Colorado began development of a low-cost mass storage system based on magnetic tape cartridges...
automatic magnetic library - the IBM 8100IBM 8100See also: IBM 8000 series, canceled in 1961The IBM 8100 was at one time IBM’s principal distributed processing engine, providing local processing capability under two incompatible operating systems and was follow-on to IBM 3790....
mid-range computer, which was based on a CPU called the Universal Controller, which had been intended for FS input/output processing - network enhancements concerning VTAMVTAMVirtual Telecommunications Access Method is IBM's software package that provides communications via telecommunication devices for mainframe environments. It is the implementation of Systems Network Architecture for mainframes...
and NCPIBM Network Control ProgramThe original IBM Network Control Program ran on the 3705 and supported access to older devices by application programs using Virtual Telecommunications Access Method ...
External links
- A review of a book about "what went wrong at IBM", discussing in particular the relation of the Future Systems project to the overall history of IBM
- An internal memo by John F. SowaJohn F. SowaJohn Florian Sowa is the computer scientist who invented conceptual graphs, a graphic notation for logic and natural language, based on the structures in semantic networks and on the existential graphs of Charles S. Peirce. He is currently developing high-level "ontologies" for artificial...
. This outlines the technical and organizational problems of the FS project in late 1974.