Thinking Machines Corporation
Table of Contents
2 Introduction *
2.1 Formulating a Model for Engineering Corporate Revolutions*
2.2 Thinking Machines Corporate Timeline*
2.3 Setting the Stage: A Shift in Company Focus*
3 A New Model of Engineering Corporate Revolution*
3.1 Kuhn's Model of Scientific Revolutions*
3.2 Engineering is not Science*
3.3 The Elements of an Engineering Corporate Revolution*
3.3.2 Normal Engineering*
3.3.5 Extraordinary Engineering*
3.3.6 Adopting a New Paradigm*
4 Thinking Machines Corporation*
4.1 The Artificial Intelligence Paradigm: Building a Thinking Machine*
4.1.1 Artificial Intelligence around the World*
4.1.2 Corporate Vision and Structure*
4.1.3 Engineering Design Choices*
4.2 Normal Engineering*
4.3.1 Technical limitations of the CM-1*
4.3.2 Lack of an Established Artificial Intelligence Market*
4.4.1 Competing Schools of Thought*
4.4.2 Customer Demands*
4.4.3 Increased Competition*
4.4.4 Debate over Business and Design Choices*
4.5 Extraordinary Engineering*
4.5.1 Limitations of Kuhn*
4.5.2 Extraordinary Engineering as a New Way of Thinking*
4.5.3 Moving Towards a Scientific Computing Paradigm*
4.6 A New Paradigm: Scientific Computing*
This paper focuses on the early history of Thinking Machines Corporation, from the company's inception through the release of their fourth major hardware product, the Connection Machine Model 200, or CM-200. Our research shows that Thinking Machines underwent a significant shift in technical and business focus during this time period. By the release of the CM-200, Thinking Machines had all but abandoned their initial artificial intelligence focus, instead positioning their supercomputers as scientific computing machines. We develop our own model of corporate engineering revolution that is inspired by Thomas Kuhn's model described in The Structure of Scientific Revolutions. Our model takes into account the heterogeneity of engineering, the differences in scale of revolutions in engineering and science, and the fact that ideas learned under a particular engineering paradigm continue to be used even after a new paradigm takes hold. We apply this model of engineering revolution to the early years of Thinking Machines Corporation, exploring and analyzing the company's shift from an "artificial intelligence paradigm" to a "scientific computing paradigm."
"Someday, perhaps soon, we will build a machine that will be able to perform the functions of a human mind, a thinking machine." This is the first line in Danny Hillis' 1985 book, The Connection Machine. Danny Hillis, a Ph.D. student at MIT's Artificial Intelligence Lab, envisioned the Connection Machine to be the key to understanding the power of the human brain, and eventually harness that power within a machine. With thousands of small, interconnected processors, the "Connection Machine" would change the face of artificial intelligence. In May 1983 Hillis joined a team to form the Thinking Machines Corporation around this idea. Other key individuals in the company included President Sheryl Handler, Vice-President Richard Clayton, Founding Scientist Marvin Minsky, and Chief of Product Development Marvin Denicoff. See Figure 1 for a table summarizing the positions of several individuals at Thinking Machines that have roles in our story. Charged with the mission of building a machine that "would be proud" of them, the company recruited top researchers and fostered a unique corporate culture aimed to encourage innovation, build a close-knit team, maintain an atmosphere of excitement, and reward employees with lavish perks.
Only a few short years after the company was founded, this initial mission of building an artificially intelligent machine was redefined to attack the scientific computing market. This transition was very significant, involving a change in the company structure, the corporations product line, and its target customers. Many companies undergo transitions similar to the one experienced by Thinking Machines.
Our purpose in this paper is to give structure to this transition, not just to Thinking Machines Corporation, but to engineering corporations in general. We develop our own general model of corporate engineering revolution that is inspired by Thomas Kuhn's model of scientific revolution. Our model takes into account the heterogeneity of engineering, the differences in scale of revolutions in engineering and science, and the fact that ideas learned under a particular engineering paradigm continue to be used even after a new paradigm takes hold. Following our model, a engineering corporate revolution has these elements:
We apply this model of engineering revolution to the early years of Thinking Machines Corporation, exploring and analyzing the company's internal shift from an "artificial intelligence paradigm" to a "scientific computing paradigm."
Specifically, we look at the local paradigm within Thinking Machines its focus and internal design choices -- instead of the more global industry trends. Thinking Machines started out with a clear artificial intelligence paradigm, focusing, in the long term, on building a machine that can think, and in the short term, on applications that used symbolic processing techniques. Around the development of the CM-2, their second major hardware product, the company began to recognize some anomalies in its paradigm, including a lack of an established market and a misunderstanding of the difficulty of artificial intelligence problems. These anomalies brought the company into crisis conditions. During the crisis, engineers' extraordinary engineering attempted to resolve the crisis while still getting products out the door, which is evidenced by the combination of both artificial intelligence and scientific computing technologies in the CM-2. As a result of this period of extraordinary engineering, a new paradigm in scientific computing was born. Around the announcement of the CM-200, Thinking Machines showed clear signs of accepting the scientific computing paradigm and doing normal engineering under this new paradigm.
Before we delve into the specifics of our thesis, we will first present a history of the company.
Thinking Machines' major milestones are summarized in Figure 2. The company announced its first commercial product, the Connection Machine Model 1, or the CM-1, in April 1986. The CM-1 closely followed the architecture described in Hillis' Ph.D. thesis: it supported a maximum of 65,536 1-bit processors arranged in a hypercube, was programmed in *Lisp (pronounced "Star Lisp"), and was capable of 1000 MIPS (Million Instructions Per Second). Thinking Machines announced the second version of the Connection Machine, the CM-2, in April 1987. See Figure 3 for a picture of the CM-2, including the cube of processors, curved storage system, and graphical display. Capable of 2500 MIPS/2500 FLOPS (floating-point instructions per second), the CM-2 had floating point units (FPUs) and a 10 Gigabyte storage system called the DataVault. The CM-2 also supported two new parallel programming languages: C* and CM-FORTRAN. Two minor versions of the CM-2 were subsequently released in 1989: the CM-2a and the CM-200. The CM-2a was simply a smaller version of the CM-2, with fewer processors but the same basic architecture. The CM-200, however, was significantly faster than the CM-2, due to some fundamental changes in the operating system software. In November 1991, Thinking Machines announced its final commercial hardware product, the CM-5. The CM-5 included a completely redesigned internal communications architecturethree separate networks for data, control, and diagnosticsand was capable of "performance in the range of 1 teraflops." The company disbanded in 1994 under Chapter 11, but was later reorganized under new management as a software company specializing in knowledge discovery software and services. Its first product after the reorganization, Darwin, is described as a "high-end data mining software suite."Setting the Stage: A Shift in Company Focus
Thinking Machines experienced a shift in company focus from artificial intelligence towards scientific computing. The shift happened gradually, and was complete around the announcement of the CM-200. We present three indicators of this paradigm shift: rewriting the company mission statement, advertising new example applications, and changing the supported computer languages.
The company's shift towards scientific computing is plainly visible in their mission statements:
|CM-1 advertising materials, ~1986:
"Thinking Machines Corporation is a privately held company devoted to the application of parallel processing and artificial intelligence technologies."
|CM-2a press release, 1989:
"Thinking Machines Corporation was formed to apply parallel processing techniques to the growing number of data-intensive computing applications encountered in business and science."
Thinking Machines started out as a company devoted to artificial intelligence. By the time of the CM-2as release, however, the company's focus had changed. There is no longer any mention of artificial intelligence in the company mission statement. Instead, the company turns to "business and science" applications, and more broadly, to the world of scientific computing. In a recent communication, Hillis underscored the shift towards scientific computing by noting the different customer bases for the CM-1 and CM-2. He described the target customers for the CM-1 as "artificial intelligence researchers," while the CM-2's primary customers were "scientific users and oil companies."
This shift is also visible in their choice of example applications for their advertising brochures. The CM-1 marketing materials describe applications in natural language processing and knowledge representation, clearly artificial intelligence applications pursued with symbolic techniques. The first brochure produced for the CM-2 showcased four sample applications with screen shots, shown in Figure 4: terrain mapping, VLSI simulation, fluid dynamics, and document retrieval. Terrain mapping was primarily a military application demonstrating how to calculate visibility graphs for a particular terrain. The VLSI simulation used parallelism to simulate the parallel movement of electrons through a circuit, which could be used to verify VLSI circuit designs. Cellular automata were used to simulate and visualize fluid dynamics, where each cell represented a tiny bit of the fluid being studied. Finally, document retrieval involved searching massive databases for keywords, based on the keywords found in a chosen model document. Each of these four applications shows a use of predominantly symbolic techniques, still consistent with the companys initial artificial intelligence focus.
In a later advertising package released around the time of the CM-2a, the marketing materials received a whole new look, including a new set of example applications: designing chemical drugs, simulating fluid dynamics, and modeling wave motion through the earth. The descriptions for these sample applications mention chemists, biologists, engineers, meteorologists, geologists and geophysicists as primary users of the Connection Machine supercomputer. Each application has an emphasis on scientists doing some kind of science research; artificial intelligence researchers are not even mentioned as example supercomputer users. The fluid dynamics example is carried over from the previous set of marketing brochures, shown in Figure 5, but this time it is not solved with cellular automata. Instead, more standard techniques that appeal to the scientific computing community are used, such as discretizing the partial differential equations of fluid flow. The example of wave motion through the earth is primarily useful for oil companies, who can predict the underground location of oil based on models of rock layers in the earth. This series of marketing materials placed heavy emphasis on science and business applications, a far reach from the artificial intelligence focus that the company started with.
A third indicator of the companys transformation was its change in computer language support. The CM-1 only had one high-level programming language, *Lisp, a parallelized version of the classic artificial intelligence programming language, Lisp. The CM-2, on the other hand, included two new programming languages: a parallel version of C, C*; as well as a parallel version of FORTRAN, CM-FORTRAN. It was common knowledge at the time that the scientific computing community was firmly entrenched in FORTRAN. To artificial intelligence researchers, however, FORTRAN was a dead language. The only reason to support FORTRAN and front-end machines that would run FORTRAN is to lure the scientific computing community to buy Connection Machine supercomputers.
From this evidence we can clearly see a change in the company focus. To better understand this change we have developed a model that gives structure to the transition.
Our model for engineering corporation revolutions is inspired by Thomas Kuhns model for scientific revolution. First, we review Kuhn's original model for scientific revolutions. Then, we discuss the differences between science and engineering that make Kuhn's model problematic for engineering. Finally, we give our new model of engineering revolution.
In his book The Structure of Scientific Revolutions, Thomas Kuhn described scientific revolutions as cyclical processes, depicted in Figure 6. The cycle begins with an established paradigm for some collection of knowledge. Kuhn defined paradigms as "models from which spring coherent traditions of scientific research" and which include "law, theory, application, and instrumentation together." Paradigms are thus generally accepted by the scientific community as the models that currently best explain recognized scientific phenomena. Normal science is the articulation of the current paradigm. The emergence of anomalies that contradict the paradigm lead to the crisis state. Within the crisis state, which is marked by professional insecurity about the paradigm, the scientists perform extraordinary research to find a new set of theories that explain the anomalies. Sometimes the extraordinary research will lead to a revolution, or the adoption of an entirely new paradigm, thus completing the cycle.Engineering is not Science
Kuhn's model is not directly applicable to engineering revolutions. There are several key differences between scientific and engineering revolutions and the very nature of science and engineering themselves that need to be addressed. First, the scale of engineering revolutions differs from Kuhnian scientific revolutions. Second, engineering, unlike science, is a very heterogeneous practice. Third, engineering work continues during the entire revolution cycle, creating tangible products. Finally, engineers draw upon the information learned during old paradigms, even though they may use that information in a new way under the current paradigm. See Figure 7 for a table that summarizes these key differences between engineering and science.
Kuhns description of scientific revolution calls for revolution on a global scale. His examples of scientific revolutionincluding Newtonian physics, Einsteinian relativity, and Copernican astronomyall depict fundamental paradigm shifts on a massive scale. Our model for an engineering corporate revolution has at its foundation a much smaller unit: the corporation itself. Thus, different paradigms can coexist in a particular industry. From the perspective of a particular corporation, there is a global paradigm and a local paradigm. The global paradigm comprises the general trends and accepted practices within the entire industry, while the local paradigm is understood within the context of one particular company and may be quite different from the global paradigm. Under Kuhn's model, a scientific revolution would involve a change in the global paradigm. Under our model, an engineering corporate revolution can occur within a company without the global paradigm being affected at all. In some cases, a companys local paradigm may start out different from the global paradigm, but then shift towards the global view. From the company's internal perspective, this is a momentous change in the company's mindset, constituting a perfectly valid revolution, or paradigm shift. Thinking Machines experienced such an internal paradigm shift, shifting from the radical artificial intelligence paradigm to the more mainstream paradigm in scientific computing.
Another key difference is that engineering and science are fundamentally different practices. A scientist is chiefly concerned with explaining the behavior of physical and natural phenomena. An engineering corporation, however, is concerned with creating a product and sustaining its business. The engineering corporation performs heterogeneous engineering, which involves not only technical design and development, but also manufacturing, marketing, and finance. Thinking Machines' "engineers" included hardware and software builders and programming language designers as well as managers, marketing groups, and manufacturing engineers. Engineering corporations face pressure from investors and competitors, and must ensure that their products are always meeting customer needs. The heterogeneity of engineering is another important difference between Kuhns scientific revolution model and our engineering corporate revolution model.
A third difference between engineering and science is that engineering work does not stop during the revolution process. The product development process and the revolution process are disjoint; they happen at the same time, each on their own schedules. In science, this is not the case. In a scientific crisis, there is no product to be delivered; the focus is entirely on resolving the crisis. In an engineering crisis, however, the product schedule must be met, even in the face of doubt. Hence, engineering revolutions have the useful side-effect of leaving behind tangible artifacts that reflect the current state of the revolution cycle. The CM-2 is a perfect example of a product built during crisis; its structure reflects engineers' efforts to reconcile the anomalies in the artificial intelligence paradigm.
Finally, engineers freely draw upon theories and problem solving techniques discovered under old paradigms, and use this information in ways that are consistent with the current paradigm. Scientists, on the other hand, generally discard all theories and associated methodologies when they adopt a new paradigm, since the old theories and methodologies are wholly inconsistent with their current world view. In Thinking Machines, engineers working under the scientific computing paradigm made full use of the techniques and architectures they had designed under the artificial intelligence paradigm, but they used this information in new ways in order to reach different overarching goals.
We propose a new model for engineering revolutions that is based on Kuhn's model, but takes into account these unique characteristics of engineering. See Figure 8 for a pictorial representation of our model of engineering revolutions. Note that our model has the same basic structure as Kuhn's model. An engineering corporation experiencing revolution has the following elements: paradigm and normal engineering, recognition of anomalies, crisis and extraordinary engineering, and finally, a shift to a new paradigm.
A companys paradigm is essentially two things: the focus assumed by that companys management and engineers, and the companys fundamental design and manufacturing choices. The company focus includes its primary products, target customers, product and marketing strategies. An outside observer would thus be able to describe the company focus as "Company X manufactures product Y for customer Z." External perception of a companys local paradigm often emphasizes only the company focus. Equally important to the paradigm, however, is the companys internal design and manufacturing choices. In creating a product, the company utilizes certain design and manufacturing techniques that are consistent throughout the product line. Thus, the company focus, often perceived externally, and the design and manufacturing choices, often recognized internally, are both important aspects of the paradigm.Normal Engineering
Normal engineering is design and manufacturing under the current paradigm. The practice usually results in incremental changes to the company's design and manufacturing technologies. Similar to normal science under Kuhn's model, normal engineering seeks to articulate the existing local paradigm for the company. Like the puzzle-solving of normal science, normal engineering can be seen as design and problem solving within the current paradigm. Normal engineering is often characterized by the refinement of prevailing techniques within the company; attempts to gradually expand the customer base; and development of new products that are consistent with the companys current product line and focus. Normal engineering in no way implies substandard or unexceptional engineering; it simply denotes engineering being done under the umbrella of an established paradigm.Anomalies
A company will sometimes encounter anomalies, events or indicators that contradict or discredit the existing engineering paradigm. When an anomaly is not recognized as threatening, the company may cast the issue aside, or try to deal with it superficially under the existing paradigm. The company will continue to practice normal engineering under the existing paradigm until the anomalies are perceived as threats to the company well being. The possible sources of an anomaly are directly related to the heterogeneous nature of engineering. An anomaly can result from four different sources: the entrance of a new competitor or change in the existing competitors; a fundamental technological change that affects the design or manufacturing of the product; a change in the demand of the product; or a change in the supply of parts. Once anomalies are perceived as threatening, the company usually moves into a crisis.Crisis
Crisis is marked by the pervading knowledge that the existing paradigm does not solve the current business and technical problems. During a crisis, the companys management and engineers begin to seriously question the validity of the existing paradigm. Crisis is a period of extreme insecurityengineers question design choices and re-examine the foundations of their business. Similar to the effects of crisis under a Kuhnian model of scientific revolution, crisis for an engineering corporation often results in factions within the company vying for a different company focus, the debate over the fundamental design and manufacturing choices, and the expression of explicit discontent with the current paradigm.Extraordinary Engineering
Crisis conditions set the stage for extraordinary engineering, which is the pursuit of innovative ideas that attempt to answer the questions created by the crisis. These innovative ideas may or may not seem innovative when considering the global paradigmthe salient point is that they are innovative to the local mindset of the company. Extraordinary engineering is marked by engineers' openness to novel problem solutions, their willingness to try anything in order to resolve the current crisis. Typically, extraordinary engineering involves some of the following activities: an investigation into new fundamental design or manufacturing techniques; a review of existing products; the exploration of unique and innovative product ideas; and the utilization of different sales channels and pursuit of different customers.Adopting a New Paradigm
Extraordinary engineering will sometimes produce a viable alternative to the existing paradigm. That is, the extraordinary engineering will provide a solution to the crisis which address the anomalies. The company may embrace this solution as the new paradigm and experience a revolution, or a paradigm shift. The paradigm shift can be either the adoption of an entirely new company focus, or the commitment to use different fundamental design and manufacturing techniques. The paradigm shift will often result in a restructuring of the company, creation of an entirely new product which is inconsistent with the previous product line, or the existence of a new customer base that is different from the customer base under the previous paradigm. With the acceptance of a new local paradigm, the cycle of an engineering corporate revolution is complete.
We now apply our model of engineering corporate revolutions to the early history of Thinking Machines Corporation. We will explore each of the major elements of an engineering revolution in detail: paradigm, normal engineering, anomalies, crisis, extraordinary engineering, and the adoption of a new paradigm.
The Thinking Machines Corporation, with artificial intelligence as its operating paradigm, was founded on the vision of building a machine that could think. Thinking Machines artificial intelligence paradigm had two main components: the company's corporate vision and structure, and its internal engineering design choices. These two aspects combined to form a coherent focus for the company, driving the development of the CM-1 and its applications. Before we elaborate on this artificial intelligence paradigm, we will describe the state of the artificial intelligence world at the time of Thinking Machines inception.
Prior to the Thinking Machines founding in 1983, artificial intelligence research began shifting from pure research to real applications. DARPA, the U.S. Defense Advanced Research Projects Agency, largely drove the shift, since it was the largest funder of artificial intelligence research in the world for "at least a decade and half after 1962 and was a substantial funder thereafter." DARPA was not interested in the entire field of artificial intelligence, though. It was "specifically interested in AI techniques that could contribute to the development of the most capable, flexible, intelligent, and interactive computer systems for use in research and in military systems." Thus, artificial intelligence researchers felt pressure to focus on applications. A 1976 proposal to DARPA from MITs Artificial Intelligence Lab stated: "The Artificial Intelligence Laboratory proposes to work on applications of computer vision with the emphasis shifting from tool building toward solving real problems."
In 1981, DARPA placed even more interest in artificial intelligence when Japan announced the Fifth Generation computer project, intended to lay the groundwork for "intelligent" machines and to make Japan a world leader in computer science research. This announcement spawned fears in the U.S. that Japan may gain an advantage in producing commercially viable intelligent computers. In order to maintain the U.S. lead in computing, DARPA launched the Strategic Computing Program on which it planned to spend $600 million in the first five years. This programs focus on intelligent computing emphasized the use of symbolic processing, the parsing of data represented as symbols rather than as numbers. The Strategic Computing Program encouraged a host of new companies to tap into a new intelligent computing market, a market that Fortune magazine predicted would be worth $500 billion by 1993. The CM-1 and CM-2 were funded, in part, with DARPA grants. "Because of special and long-standing interest in artificial intelligence, expert systems, and man-machine interaction," DARPA explained, "a research focus on symbolic processing has had a high priority."Corporate Vision and Structure
From the beginning, the company was focused on a paradigm of artificial intelligence. In a 1984 memo from Thinking Machines Research Director Howard Resnikoff to John Machado, Resnikoff stated that "The Companys primary area of interest in multiprocessor computer system architecture is applications to symbolic problem domains such as reasoning, knowledge representation, language understanding, signal processing, and machine vision systems." Optimistic about the field of artificial intelligence, Sheryl Handler, president of Thinking Machines, said: "We told them [investors] to give us five years, and that with this group of people we could produce a computer that is significantly better than what's available today. Not 10 or 20 percent better, but a significant step forward."
As Marvin Denicoff, one of the company's founders, observed, Thinking Machines recruited the top artificial intelligence scientists from the most distinguished universities. These scientists were widely recognized as being experts in artificial intelligence, and included David Waltz, the artificial intelligence editor of the prestigious Communications of the Association of Computing Machinery (CACM) and research professor from the University of Illinois; Marvin Minsky, "the father of the artificial intelligence field" from MIT; and Lewis Tucker, a researcher from MIT's Artificial Intelligence Lab. They were attracted and invigorated by Hillis grand vision. As Brewster Kahle, a Thinking Machines engineer, described, they had "tremendous passion for the idea of the CM [Connection Machine] and the company." These top researchers adhered to the "thinking machine" vision and reinforced the artificial intelligence paradigm at Thinking Machines.Engineering Design Choices
From the technical perspective, the CM-1 was clearly a product of the artificial intelligence paradigm. We will give an overview of the machines architecture, and then show how several major design choices in the CM-1 fit the companys artificial intelligence focus.
The CM-1 had two main architectural features: a large number of tiny processors, each with its own memory; and a programmable communications network. The machine was able to support a maximum of 65,536 1-bit processors arranged in a hypercube network. Each 1-bit processor had 4K of memory, with a bit-serial data path connecting the processors. That is, only one bit of data could be pushed into and out of the processors at any given time. The bit processors contained their own memory forming an "active memory" unit, in which the same elements both represent and process the data. The idea of active memory was first touched upon by Scott Fahlman in his NETL project, essentially a semantic network with a very simple computing element permanently assigned to each node and link in the network. The hypercube network limited the number of steps connecting any two processors in an N processor machine to at most log N. In addition, the network could be programmed to connect the processors in an arbitrary pattern, an "active data structure." The CM-1 was controlled externally from a host computer. This computer, a traditional single processor machine, loaded the program and the data to be executed into the CM-1. It also acted as a programming interface to CM-1, providing support for a high-level language, such as Lisp.
Central to many of the CM-1s design decisions was the choice between numeric and symbolic processing. Number crunching computers are optimized primarily for arithmetic operations on large, usually floating point numbers. For symbolic computations, however, the bulk of the processing is spent on memory reference, flow control, and secondary logical and arithmetic operations on small numbers. Symbolic computations also involve complex data structures with many linked pointers. In contrast, numeric computations often involve vectors, or arrays of numbers. The two computation models can be mapped directly onto different types of applications for the CM-1. Symbolic computation was used extensively in artificial intelligence applications, such as semantic networks and cellular automata. Numerical computation was the domain of scientific computing, where large scale simulations required intense number crunching. In the CM-1, design decisions were made in favor of optimizing symbolic rather than numerical computations. This symbolic focus is evident in several key decisions: the choice of programming language, serial versus parallel data paths, and MIMD versus SIMD hardware architecture.
Architects of the CM-1 chose to base the Connection Machine programming language on Lisp, ignoring both FORTRAN and C. According to Hillis, this decision was made based on technical and social reasons. On the technical side, Lisp was "extensible, has dynamic storage allocation, and was generally good superior symbolic manipulation." On the social side, Lisp was chosen because "most members of the artificial intelligence community, for whom the Connection Machine was originally designed, are already familiar with Lisp." Choosing to support only the Lisp programming language showed dedication to artificial intelligence researchers, the target audience for the CM-1.
The CM-1 had bit-serial data paths instead of bit parallel data paths. Bit-serial paths limit the data flow to one bit at a time. Hence, when data is discretized into tiny chunks, it can be pushed in parallel across many one-bit processors. We can see the single-bit data paths in a CM-1 processing element, shown in Figure A of the Appendix. Hillis reasoned that narrow data paths were ideal for symbolic processing, in which most operations are performed on only small data fields. This approach is very inefficient, however, for numerical computations, where the smallest variables tend to be floating point numbers. Floating point values are often difficult to break up into smaller chunks. As a result, 32-bit data paths, which carry a 32-bit word of information at one time, are generally used for high-intensity numerical computations. The fact that bit-serial data paths were chosen for the CM-1 further illustrates the initial emphasis on symbolic computation. The scheme was clearly chosen with artificial intelligence applications in mind.
The choice between MIMD (Multiple Instruction Multiple Data) and SIMD (Single Instruction Multiple Data) hardware architectures depended again, on the intended applications. Because SIMD was better suited to the problems of artificial intelligence, Hillis chose this architecture for the CM-1. All of the processors in a SIMD machine execute the same instruction in lock step, each on its own set of data. Thus, as shown in Figure D of the Appendix, a single instruction stream is broadcast to every processor in the machine. The processors, depending on their internal state, will either execute the instruction or ignore it. Figure E in the Appendix contains a block diagram illustrating the SIMD control logic of the CM-1. In contrast, the processors in an MIMD machine execute based on their own specific stream of instructions. Under the MIMD scheme, an individual processor operates on its own data as well, independent of the other processors in the machine. Hence, MIMD machines have multiple instruction streams, while SIMD machines have only one. According to Hillis, for well-structured problems with regular patterns of control, such as those encountered in artificial intelligence, SIMD machines were better since more of the hardware is devoted to operations on the data itself. Furthermore, the data-parallel programming style divides problems into many small pieces of data that are operated on concurrently. It therefore lends itself nicely to a SIMD architecture, which the CM-1 adopted.
The artificial intelligence paradigm at Thinking Machines dictated many of the choices designers made in building the CM-1. With development of this first-generation Connection Machine, the artificial intelligence paradigm had become firmly entrenched within the company.Normal Engineering
An important characteristic of the Kuhnian model is that a new paradigm must hold promise, that is, it must present possible ways to solve certain problems that were difficult, if not impossible to solve, in the old paradigm. In addition, a new paradigm must present new and interesting problems. Normal engineering ensues when engineers attempt to solve these problems within the new paradigm. Though the ideas of parallel computing and "real" artificial intelligence were radical ideas on a global scale, in the context of our model they fall under Thinking Machine's local paradigm, and hence, are classified as normal engineering under that paradigm.
When the CM-1 was introduced in May of 1985, it held promise for many artificial intelligence problems, and researchers were quick to use the CM-1 for artificial intelligence research. One of the first problems that CM-1 tackled was machine vision, using stereograms to compute the depth of 2-D objects. This demo application was shown at the unveiling of the CM-1. Another common problem was document searching, also a part of the CM-1 suite of demos. When MITs Artificial Intelligence Lab purchased a CM-1, Lewis Tucker used the machine to further investigate stereo vision applications and 2D object recognition. Other applications included semantic networks, integrated VLSI circuit optimization, and fluid flow visualizations using cellular automata. These applications all used symbolic algorithms.
Another example of normal engineering concerns the articulation of structuring primitives for data-parallel programming, especially the discovery of "parallel prefix" operations. Guy Steele listed four of the most important structuring primitives: arrays of variables, broadcasting, reduction, permutation, and parallel prefix. The last of these is the most important: parallel prefix operations are responsible for making computations on an array of length n run in O(lg n) time on the Connection Machine that would have taken O(n) time on a sequential machine. The articulation of these primitives and the term data-parallel programming were crucial pieces of engineering that helped both market the idea of the Connection Machine and explain to programmers the salient ideas behind programming it.Anomalies
With an understanding of Thinking Machines' initial focus, we can analyze the events that contradicted and discredited the company's artificial intelligence paradigm. The anomalies that emerged at Thinking Machines can be split into two major categories. First, while the company focused on artificial intelligence applications, many artificial intelligence researchers were unable to use the CM-1 due to technical limitations. Second, the limited returns from artificial intelligence research made it difficult for the company to prosper. We will examine how both of these factors eroded Thinking Machines' original paradigm.
Many of the intended applications of the CM-1 were unrealizable because of the machine's physical limitations. Since the CM-1 was built as a prototype, many practical features were sacrificed for the sake of achieving a generalized and elegant design. In his book, The Connection Machine, Hillis wrote:
"Speed of operation was not a primary design goal; instead, the emphasis was on flexibility. We were interested in evaluating the architecture, not the quirks of a particular implementation. Many of the functions were implemented in a general elegant form, even at the cost of speed."
Hillis' decision to de-emphasize implementation details had lasting ramifications. The CM-1 had three major technical limitations: limited memory per processor, a slow communications network, and no support for floating point numbers.
The CM-1 contained only 4K bits of memory per processor, severely limiting its value for real applications. In order to take advantage of its massive parallelism, software developers had to partition their data sets into minute portions so that the pieces would fit into processor memory. For applications such as text retrieval, where entire documents needed to be stored in memory in order to conduct a successful keyword search, the CM-1 proved virtually useless. Professor Gerald Salton of Cornell University reported "horrible" results when he attempted to perform text retrieval on the CM-1. The viability of other applications hinged on memory size as well. Hillis argued that the Connection Machine architecture would excel at constructing semantic networks. Used often in artificial intelligence machine learning programs, a semantic network is a graph representing the relationships between different concepts. But if one of these concepts occupied more than 4K bits of memory, the CM-1's advantages were lost.
In addition to the lack of memory, the CM-1's slow communications network made it difficult to obtain desirable results. David Waltz, head of the Thinking Machines knowledge representation and natural language group, wrote that the CM-1 had "very slow I/O" because loading and reading files could only be done through its front-end Lisp machine. Since the designers did not integrate the front-end I/O system into the machine architecture, the actual speed of the CM-1 was often much less than expected.
Craig Stanfill, an engineer in Waltz's group at Thinking Machines, found that using floating-point processors to perform nearest-neighbor calculations aided in memory-based reasoning. But the CM-1 did not support floating-point calculations. Numerical techniques that were not implementable on the CM-1 could yield potentially better solutions to artificial intelligence problems than the symbolic approaches that were currently being employed.
All of these restraints on the way in which artificial intelligence researchers could use the CM-1 ultimately limited its appeal. Gino Del Guercio, a reporter for the World Monitor, declared the first machine "a disaster," and others, even within Thinking Machines, did not look upon it favorably. Waltz said the design of the CM-1 was "half-baked" and "not complete," while Brewster Kahle, a chief architect of the CM-1, admitted the CM-1 had "real fundamental flaws." Craig Stanfill and others concluded that the CM-1 was "a toy" for many of its intended applications. Hence, the design choices made by Thinking Machines as part of its artificial intelligence paradigm were brought into question by the machine's technical limitations.Lack of an Established Artificial Intelligence Market
Thinking Machines' lack of returns from artificial intelligence research cut at the very foundation of the company. The general difficulty in solving artificial intelligence problems created many far-reaching anomalies. There were two markets for artificial intelligence: the intellectual market for artificial intelligence ideas, and the economic market for artificial intelligence applications. Both of these markets were in infancy, and were not able to generate fast returns for Thinking Machines.
From the beginning, Hillis saw the retrieval of common sense knowledge as one of the main motivations for building the Connection Machine. But with no major advancements in the field years after the introduction of the CM-1, Hillis became less optimistic. He conceded that he was "personally naive about how difficult common sense reasoning was." Furthermore, according to Marvin Minsky, most researchers did not see the importance of achieving common sense reasoning, and hence were not as interested in pursuing this research. Ultimately, the company discovered that long-standing artificial intelligence problems required revolutionary algorithms and software, not just the innovative hardware that Thinking Machines provided. Until crucial insights into reasoning and learning were made, progress in the field would remain slow and artificial intelligence would continue to be, as Waltz called it, "a speculative bubble."
The fact that universities conducted much of the research in artificial intelligence became a problem. Sales of the CM-1 to MIT's Artificial Intelligence Laboratory and other university labs were always at significant discounts. As a result, Thinking Machines did not generate a great deal of revenue from these sales. Yet, university work played an important role in the advancement of artificial intelligence, and the focus of this work matched many of the target applications for the Connection Machine. In summary, Thinking Machines' growth and prosperity were jeopardized by the very nature of the artificial intelligence problems they were trying to solve.
The above anomalies led to a contradiction of the original paradigm at Thinking Machines. The company's design choices were at odds with the market they were in, the customers they were targeting, and the technical problems they were trying to solve. Thinking Machines sent engineers along with the CM-1 machine to customer sites to act as "bidirectional spies," both reporting on how that customer is using the Connection Machine, and keeping the customer informed about Thinking Machines' future plans. Rotating engineers through the field brought them face-to-face with the anomalies in the artificial intelligence paradigm. Kahle reports that engineers who spent time at customer sites were changed "in a religious way;" they realized the "fundamental flaws" in the CM-1.
Customers found the CM-1 impractical for its target applications. The fundamental difficulty of artificial intelligence problems constrained development in the market. Finally, the realization that artificial intelligence could produce only limited returns compromised Thinking Machines' goal to make a profit. Thus, the company's design choices, intended market, and business objectives were mutually exclusive. All of these elements, and indeed, Thinking Machines initial artificial intelligence paradigm as a whole, were called into question. The company had reached crisis conditions.
A crisis takes place in an engineering company when the validity of its existing paradigm is challenged by certain key flaws, or anomalies. When Thinking Machines recognized the anomalies in their artificial intelligence paradigm, the company underwent a period of internal scrutiny, epitomizing the crisis conditions defined in our model. Kuhn described crisis as a time of "pronounced professional insecurity." This insecurity existed in Thinking Machines based on the company's competing schools of thought, re-evaluation of their paradigm based on customer demands, increased competition, and conflict over fundamental business and design decisions.
Given the significant anomalies that had emerged in Thinking Machines' original artificial intelligence paradigm, how should the company retarget itself? Individuals within Thinking Machines proposed three options: continue with the current artificial intelligence paradigm, pursue scientific computing, or move into database applications. Many saw the scientific computing market as necessary for survival. David Waltz commented that "vast inertia and momentum in the direction of scientific computing" came from management at Thinking Machines. This market was already well established and lucrative because of its wide array of customers and applications. Jim Bailey, the Director of Marketing at Thinking Machines, pushed the company to pursue scientific computing, arguing that this decision was the only way to sustain the company's desired rate of growth.
Others favored maintaining the company's artificial intelligence focus. Howard Resnikoff felt strongly that they should continue to pursue artificial intelligence solutions. He believed the problems in the design of the CM-1 should not deter the company from its pursuit of artificial intelligence. Brewster Kahle wanted to shift the company more toward software applications in artificial intelligence, thereby avoiding the hardware implementation problems.
The third option, database applications, garnered support from David Waltz and Craig Stanfill. Waltz argued that the Connection Machine had to have commercial appeal in order to attract attention from large businesses. He noted that automatic mining of databases for information would generate this appeal, since this technology was useful for a variety of business applications. Three distinct and competing proposals from within the company sought to guide its future. The fact that all of these proposals were seriously considered illustrates the level of uncertainty that had developed in Thinking Machines' artificial intelligence paradigm.Customer Demands
In his book Inventing Accuracy, Donald Mackenzie metaphorically defined a black box technology as "a technical artifactor, more loosely, any process or programthat is regarded as just performing its function, without any need for, and perhaps, any possibility of, awareness of its internal workings on the parts of users." The CM-1 did not achieve this status in the eyes of its users. Instead, the customers' demand for major technical changes in the CM-1 exacerbated the crisis in Thinking Machines. As mentioned earlier, users demanded more memory in the Connection Machine processors. At the same time, many scientists who found the CM-1's computational power potentially useful could not develop software to make use of it. Artificial intelligence researchers were intimately familiar with Lisp, the foundation of the CM-1's programming language, *Lisp. On the other hand, the scientific community used FORTRAN, and occasionally, C. Because the scientific community was so entrenched in the FORTRAN programming language, they would not even consider using the Connection Machine without support for this language.
Scientists also pushed for the addition of floating-point processors. A group of influential physicists recommended that the machine incorporate floating-point units (FPUs) so that it could be used for cellular automata simulation. Management at Thinking Machines believed that by addressing the demands of users such as these, the company could open itself to a larger set of customers. Sheryl Handler, Thinking Machines' president, emphasized broadening the focus of the company, moving it in a direction that would ensure substantial growth. But with all of these proposed design changes, the users became aware of the CM-1's intricacies. The details of its implementation were constantly being examined and the customers were, at times, "dictating" new specifications. Consequently, despite its physical appearance, the CM-1 was no longer a "black box" in MacKenzie's terms. In Kuhnian terms, there was a "profound awareness" of the anomalies in Thinking Machines' paradigm, both inside and outside the company.Increased Competition
Other supercomputer companies and parallel processing projects influenced Thinking Machines during this period of crisis. Cray, the largest U.S. supercomputer manufacturer, employed a vector architecture that was better suited to "number-crunching" operations, though its machines had a small degree of parallelism. A press article, however, reported that Handler did not see the Connection Machine as a direct competitor to Cray, since the Connection Machine was intended for data-intensive applications and not purely computational work. Hence, while Thinking Machines considered expanding toward the mainstream, it also had to distinguish itself from potential competitors, such as Cray and other, more artificial intelligence-oriented computing ventures. The CM-1's extreme level of concurrency separated it from Cal Tech's Cosmic Cube, Columbia University's Butterfly and other parallel computers receiving DARPA funds. Other competitors included Kendall Square Research's KSR1 and Cray's Y-MP.
The government had a policy of trying out competing supercomputers in their labs, but increased competition in parallel computing meant that each company only got a fraction of their expected revenue from these government lab sales. A departure from the existing architecture could negate any advantages that the Connection Machine held over these competitors. Such a drastic change might cause DARPA to shift its support away from the company. On the other hand, if Thinking Machines continued with its current design methodologies, they might be associated with failed attempts at artificial intelligence. Marvin Denicoff, vice-president of Thinking Machines, recognized that many others were creating artificial intelligence products and "falling on their swords." The company wanted to protect itself from being associated with these failures. When individuals at Thinking Machines looked at their competitors, they saw other ways to guide a supercomputer company or produce a massively parallel artificial intelligence machine and began to question their own methodologies. These challengers further undermined confidence in the existing paradigm, and drove Thinking Machines to consider new approaches.Debate over Business and Design Choices
The debate over business and design choices at Thinking Machines most clearly indicated the company's state of insecurity. Many within the company began re-evaluating the decisions that constituted their paradigm. These decisions included deciding whether or not to include floating point, a new tree-structure for the communications network, or a bypass for the bit-serial hardware, as well as recognizing customers' difficulties in writing parallel software.
Hillis realized that an artificial intelligence market did not exist as Fortune magazine had promised, and that Thinking Machines was going to have to build one up with its own developments. In the meantime, in order to sustain the company, he believed they needed an existing market for financial support. A workshop was held to determine the viability of scientific computing applications for the Connection Machine. At this workshop, management expressed some skepticism over the use of non-numerical techniques to solve problems in science. The optimism they once held for symbolic processing approaches seemed to have vanished in the midst of crisis.
Just as in Kuhn's model, ideas that were considered heretical when they were first presented were reconsidered during this period. Howard Resnikoff believed that the CM-1 architecture should be abandoned altogether, in favor of a tree-structured machine. The suggestion had been made earlier, when the artificial intelligence paradigm prevailed, and was immediately dismissed. These ideas for a tree-structured network resurfaced later on when they would be reconsidered seriously, and were incorporated in the CM-5.
No piece of the CM-1 escaped scrutiny as Thinking Machines moved toward the next model of their machine. Though bit-serial processing was one of the foundational design choices in the CM-1, Craig Stanfill considered ways to bypass the bit-serial hardware in the Connection Machine to get improved floating-point performance.
Management decisions had lasting ramifications on machine usability and marketability. Part of the company wanted to protect the elegance of the existing architecture and the company's overall commitment to artificial intelligence research. Many employees were themselves artificial intelligence researchers and, according to Marvin Denicoff, "didn't give a damn about how this was going to be paid for." Denicoff found problems with the research-driven, elitist image that characterized Thinking Machines. Thinking Machines was comprised of highly educated, brilliant minds and the company promoted its "intellectual resources" as such. Thinking Machines research engineers underestimated the difficulty customers would have in programming the machine.
All of the self-examination described above struck at the core of Thinking Machines' paradigm. We can conclude that crisis in an engineering company is marked by an internal insecurity. Through competing goals, influence from customers and competitors, and disagreement over company choices, crisis magnifies anomalies and constantly questions the current paradigm. This state of corporate doubt gives rise to extraordinary engineering projects that attempt to redefine a company's objectives.Extraordinary Engineering
"Looking into the VAX, West had imagined he saw a diagram of DEC's corporate organization. He felt the VAX was too complicated... He decided that VAX embodied flaws in DEC's corporate organization. The machine expressed that phenomenally successful company's cautious, bureaucratic style. Was this true? West said it didn't matter, it was a useful theory." In the same way that Tom West claimed to see into DEC's corporate organization through the architecture of the VAX, we can see into Thinking Machines Corporation by looking at the CM-2. The CM-2 is, in many ways, a perfect, tangible example of the extraordinary engineering that went on the midst of crisis.
Science rarely produces such a tangible example of activity during the state of crisis. Thomas Kuhn notes that too often in science the state of crisis that gives rise to extraordinary research occurs so quickly that historians only get a glimpse of the process. Engineering work is fundamentally different from science because it naturally leads to tangible manifestations of crises. There is little time for recourse to philosophy. Work does not stop in the face of crisis, nor can work in progress be eliminated in favor of a new proposal. At the same time, expressions of engineer's attempts to resolve the crisis for themselves appear directly in their work. Unlike science in which the "right" theory precludes the previous theory, engineering is not so clear cut. Compromise occurs. Only retrospect, not some set of solved puzzles, determines what the "right" solutions were.
The CM-2 stands as historical evidence of the extraordinary engineering that went on in the face of the crisis within Thinking Machines Corporation. This extraordinary engineering was not, however, limited to just the hardware design. Every group and every "engineer" was involved in one way or another in this extraordinary engineering effort, including the hardware designers, the marketing group, the software applications developers, upper management, the language designers, the leaders in the field who advised the company, the secretaries who all had advanced degrees, and even the renowned French chef.
Extraordinary Engineering as a New Way of Thinking
Many of the design choices that were used under the CM-1 were continued over to the CM-2, such as bit-serial processing and the SIMD architecture. What is different during the crisis is the justification for these choices. During the crisis, the engineers did not renounce the artificial intelligence paradigm entirely, just as scientists "do not renounce the paradigm that has led them into crisis." Craig Stanfill said that during this time, many still believed in artificial intelligence. Within the machine architecture itself you can see the strong similarities with the CM-1; for instance, bit-serial addressing was still used, and the SIMD architecture remained. Applications that were originally developed for the CM-1 were carried over to the CM-2. Document searching applications were further enhanced using the CM-2 architecture. Early marketing literature for the CM-2 continued to emphasize many of the artificial intelligence applications for the machine.
Looking closely, the above examples of CM-2 engineering were not pursued purely as elements of the previous paradigm, but were pursued in a way that was uniquely inspired by the crisis. According to Kuhn, not every scientist pursuing answers during the crisis state will make some extraordinary breakthroughwhat makes the research extraordinary is the way in which it is pursued. Two of the many examples, bit-serial processing and indirect addressing, will illustrate this clearly (Figure 8).
The first example is the choice to continue using bit-serial processors in the CM-2. During the artificial intelligence paradigm, Hillis says the design was based on elegance rather than performance. As described in the section on the artificial intelligence paradigm, bit-serial processing was preferred for symbolic processing and closely matched the concepts set forth in the NETL theory of the mind. During the crisis, the decision to use bit-serial architecture instead of 32-bit or at least slice-wise 32-bit processors was not so clear. In fact, it was a point of contention between Brewster Kahle and Danny Hillis. Hillis argued in favor of the 32-bit architecture. Kahle argued in favor of the bit-serial architecture. These competing articulations can be seen clearly in architecture diagrams in the Appendix. The bit-serial processing module described earlier, Figure A, was the basis for the CM-1. Thinking Machines Corporation proposed a Physical Processor Unit that utilized off-the-shelf microprocessors in their original proposal to DARPA for the CM-2, written soon after the release of the CM-1. These naturally had the capability to be augmented with a math co-processor for floating point calculations, but this was not emphasized in this proposal. Only later would Floating Point Units become key. Instead, the CM-2 architecture shown in Figure B of the Appendix was chosen. Notice the transposer component that acts as the interface between the bit-serial components and the word-oriented processor. This patented technology allowed Thinking Machines to integrate floating-point chips while preserving the perceived advantages of bit-serial processing:
"Bit-serial processors are very simple. A three input ALU that operates on single-bit quantities can only produce eight possible outputs. Therefore, and ALU operation such as an Add or a logical OR may be specified by providing the eight-bit truth tables for the particular function. This means that bit-serial processors can be implemented with minimal instruction decoding. There are no carry chains since only one bit from each operand is available on each cycle. This simplicity makes them fast, compact, and easy to implement . Bit-serial processors also use memory very efficiently because any sized word can be stored without wasting bits".
The argument in favor of bit-serial processors clearly centered on speed, compactness, and simplicity in an attempt to address the crisis. The decision was no longer based on how closely the machine matched the ideas for a memory-based artificially intelligent computer, originally set forth in the NETL project. Whether or not this was the right decision becomes important later. For now, this example is an important indicator of the different way in which engineers approach decisions during the crisis.
The second example is the choice to use indirect addressing in the CM-2. Indirect addressing refers to a mechanism by which an offset is functionally computed based on the address presented. The actual location of a given piece of memory, B, might be addressed using A and computing a function to determine B. Consequently, B = f(A). The original proposal to add special hardware support for the Connection Machine came from Craig Stanfill in the artificial intelligence applications group, who described an algorithm that would improve text retrieval applications. The actual decision to incorporate special hardware support for indirect addressing into the CM-2 was based on the fact that it could speed up the control routing of information. Again, we see ideas that originated in the artificial intelligence paradigm re-evaluated based on different criteria in the crisis state.
These two examples are very important in illustrating the way in which engineering decisions change in light of crisis. Without understanding the model of engineering revolutions, one might easily pass over these important examples as simple decisions made naively without any thought to the crisis. This change in the nature of the engineering that occurs in the presence of crisis is aptly described as extraordinary engineering.Moving Towards a Scientific Computing Paradigm
While not all of the extraordinary engineering that goes on during a crisis leads to the new paradigm, certain elements of that engineering help shape the path to the new paradigm. There are two main examples of this: the incorporation of floating point units in the CM-2 and the addition of scientific programming languages.
The first example is the way in which floating point units were incorporated into the CM-2 architecture as a primary feature of the machine. The original DARPA proposal for the CM-2, clearly written under the artificial intelligence mindset, barely even mentioned the possibility of FPUs. Anomalies that arose from the CM-1 necessitated a solution for numerical processing. The engineers within Thinking Machines Corporation started out attacking this anomaly the same way a scientist would, they "isolate it more precisely and give it structure." The results of a "Scientific Computing/Floating Point Workshop" pointed to the need for standard IEEE floating point units within the machine. Looking again at the machine in the Appendix, Figure C, the way in which the 65,536 bit-serial processors narrow into 2,048 FPUs may seem at first to be inelegant, a "kludge". At the same time, the clean integration performed by Thinking Machines engineers through the patented transposer technology shows the engineers willingness to incorporate very different ideas in order to address the crisis.
At the same time, the development of CM-FORTRAN is a clear example of extraordinary engineering that laid the path to scientific computing. Development of CM-FORTAN was important for Thinking Machines, and for their customers. Internally, many felt that "FORTRAN was old, Lisp was the world" and only wanted to support Lisp. The implementation of a parallel FORTRAN, and the work with the FORTRAN90 standards body was a piece of extraordinary engineering that gave Thinking Machines a big push towards the scientific computing realm. FORTRAN77 was widely used by scientists and engineers because of the active work in optimizing compilers, the availability of numerical processing libraries, and the large base of code in scientific and engineering applications. Thinking Machines Corporation worked with the FORTRAN90 standards body to improve FORTRANs usefulness as a data-parallel language. The engineers were able to implement the array extensions to the draft standard of FORTRAN90 as data parallel operations, while still supporting the large code-base of FORTRAN77 code. Referencing an array object implicitly meant referencing and operating on all the elements in the array, which is convenient for data parallel applications. The FORALL statement was also added as an extension to FORTRAN. This statement allows the compiler to generate code that works on all elements in the array in any order, allowing the compiler to parallelize the instructions across multiple processors. An example FORALL call might be:
a(i) = real(i)
b(i) = sqrt(a(i))
which would perform a square root function on all elements in a and put the results in the array b. The work with the standards bodies and incorporation of key extensions gave scientists and engineers the tools they needed to take advantage of the parallel nature of the CM-2.
These are examples of extraordinary engineering because they exhibit the shift in the way these engineers were approaching their task. They were being innovative by considering many conflicting potential directions, searching out a new focus for the company. Marvin Denicoff stated that during the design of the CM-2 "we were evolving." Everyone worked hard to find ways to address the crisis within their own domain. The CM-2 is a tangible product of the extraordinary engineering that went on during this crisis state.A New Paradigm: Scientific Computing
Kuhn states that "a crisis may end with the emergence of a new candidate for paradigm." Here again, engineering differs because proposed solutions in engineering are neither right nor wrong, both may indeed solve the problem. The end of the crisis is the complete recognition of the success of one paradigm over the other. The new candidate for paradigm may have emerged in response to the crisis, but lacking the formalisms of scientific study to validate the paradigm, the engineer remains in crisis until the candidate paradigm is perceived as the clearly better paradigm to address the anomalies and crisis.
The saying goes that hindsight is 20/20. In engineering, this hindsight validates one or another candidate for a paradigm. Many engineers will tell you that in hindsight, they would have designed their product differently. This is because hindsight, rather than puzzle-solving, is the primary tool which engineers use to validate a design.
Thinking Machines moved out of crisis with the introduction of the CM-200. In these machines, the system software was rewritten nearly from scratch to "get the bit processors out of the way." This software modification gave a three to five time performance increase, which demonstrated unequivocally the importance of the floating point units, and the limitations of bit-serial processing that had helped define the artificial intelligence paradigm in the CM-1. Had everyone recognized the importance of floating point at the time, many believe the CM-2 would have been a completely different machine. At this point, the company transitioned out of the exploratory, often unfocused, world of the crisis state, and refocused on the new paradigm, scientific computing.
The advertising literature describing the CM-200 illustrates this complete recognition of the success of the scientific computing paradigm over the artificial intelligence paradigm. The new advertising literature catered to scientific and engineering requirements and emphasized scientific applications. We see more focus within the corporation on standardizing FORTRAN, and on using the floating point capabilities in applications. We see the company begin to again pursue normal engineering activities toward the goal of building the best scientific computing machine on the market. The machine they ultimately created under this new paradigm was the CM-5. The CM-5 incorporated many ideas that were foreseen before and during the crisis. One example is the fat tree data network and separate control network used in the CM-5, which replaced the hypercube architecture of the CM-2. Another example is the choice to use cheap 32-bit processors instead of custom-built bit-serial processors. When finally released, the CM-5 was deemed the fastest machine in the world, delivering the potential for teraflops performance to scientific and engineering applications.
The new scientific computing paradigm looked promising. There was a huge commercial market in scientific computing, both for the intellectual ideas and for the applications that would pay the company bills. Furthermore, Thinking Machines believed they could compete in that market, especially with plans in the works for a teraflops machine like the CM-5. Engineers recognized interesting scientific problems that could be solved with machines like the Connection Machine, such as modeling geologic formations of the earth and designing large chemical compounds for the pharmaceutical industry. The scientific computing paradigm held promise.Conclusion
In this paper, we began by presenting Kuhn's model of scientific revolutions. We then discussed the fundamental differences between science and engineering, which required us to rework Kuhn's model so that it can be applied to engineering revolutions. Inspired by Kuhn's model, we presented a new model of engineering revolutions that took into account these differences between science and engineering. We applied this model in detail to the early history of Thinking Machines Corporation, exploring Thinking Machines' shift from an artificial intelligence paradigm to a scientific computing paradigm. This analysis revealed a thick and tangled web of reasons for this change, including the fundamental difficulty of artificial intelligence problems, the lack of an established artificial intelligence market, feedback from customers, and pressure from competitors.
We believe that our model of engineering revolutions is extensible to other engineering endeavors like Thinking Machines, and even to corporate engineering revolutions in other engineering fields. It is less likely that our model is applicable to non-corporate engineering projects, such as research in engineering techniques and other more academic pursuits. A salient feature of the Thinking Machines revolution and our model of engineering revolutions is that revolutions happen while products are being developed, which does not typically occur in a non-corporate environment. We invite others to test the bounds of our model by applying it to other engineering revolutions.
It is important to note that this model does not have great predictive power. Like Kuhn's model of scientific revolutions, the model of engineering corporate revolutions is primarily intended as an analytical tool to use when looking back on the past. Our model may not help us substantially in predicting the future, but it will help make sense of the present. An engineer whose company is in the midst of crisis would not be able to use our model to figure out which of the competing schools of thought is the best one to adopt or how long the current crisis stage will last. At best, the engineer will be able to recognize that his company is in crisis, and realize that this is a typical stage on the way to finding and adopting a new paradigm.
A model with analytical power is still beneficial, however. Our model is particularly useful for understanding why engineering companies made certain decisions that may, at first, seem wholly inconsistent with previous ones. An analysis using the model of engineering corporate revolution will likely show that this "sudden" decision was the culmination of a period of internal crisis that was not visible to the external world. For instance, an outsider might look at Thinking Machines' attempts to market the CM-2a to the scientific computing community with confusionwhy would a company so devoted to artificial intelligence suddenly shift their marketing focus in such a drastic way? As this paper shows, however, this shift was not as sudden as it might have seemed from the external world. Rather, an inside view shows that this marketing decision was merely an extremely visible side effect of an extended period of internal crisis. Many events led up to this decision, and many equally important decisions, such as which hardware architecture and which programming languages to support, were being made at the same time.
Furthermore, our model gives order to these paradigm shifts, transforming them from periods of chaos that somehow result in new paradigms into relatively well-structured periods of finding anomalies, crisis, and extraordinary engineering. Understanding the structure of this paradigm shift allows us to learn from the experiences within a company and keeps us from misconstruing its decisions. Ultimately, our model provides this type of structure to fundamental transitions within engineering corporations.
Thinking Machines started off by adopting a paradigm that was very radical compared to the global paradigm of supercomputer applications and to the global paradigm of artificial intelligence. In some ways, they were trying to change the world's perspectives on how artificial intelligence problems were to be solved, and how supercomputers should be used. They wanted to show the world that their new supercomputer architecture would change the way people think about artificial intelligence. When all was said and done, Thinking Machines mind set shifted much closer to the global paradigm they had set out to change.Acknowledgements
We would like to express our deep gratitude to the numerous Thinking Machines engineers of every sort who gladly answered our questions, allowed themselves to be interviewed, and contributed much rich data to this work. A special thanks to Marvin Denicoff, who allowed us to wade through his personal stockpile of Thinking Machines memorabilia. We would also like to thank our professors, Charles Leiserson and David Mindell, for providing insightful feedback throughout this project.
Alexander, Tom, "Reinventing the Computer." Fortune, March 5, 1984.
Berger, Marsha and Jill Mesirov, "Report on Scientific Computing/Floating Point Workshop," Thinking Machines Corporation, Cambridge, MA, spring 1986.
"The Connection Machine Computer: A Natural Fit to Applications Needs," CM-1 marketing materials, Thinking Machines Corporation, Cambridge, MA, approx. 1986.
The CM-5 Technical Summary. November 1992.
CM-2 marketing materials, Thinking Machines Corporation, Cambridge, MA, approx. 1987.
CM-2a marketing materials, Thinking Machines Corporation, Cambridge, MA, 1989.
"Proposal to the Defense Advanced Research Projects Agency of a Very Large Scale Computer System," Thinking Machines Corporation, Cambridge, MA, August 18, 1986.
Del Guercio, Gino, "Supercomputer Showdown," World Monitor, July 1989.
Denicoff, Marvin, (interview), November 24, 1997.
Denicoff, Marvin, "Interview with the National Research Institute (NRI)," October 8, 1986.
Fitzgerald, Karen and Wallich, Paul, "Next-Generation Race Bogs down." IEEE Spectrum, June 1987.
Hillis, W. Daniel, (e-mail to Austina De Bonte), November 22, 1997.
Hillis, W. Daniel. The Connection Machine. MIT Press, Cambridge, MA, 1985.
Kahle, Brewster, (interview), October 30, 1997.
Kahle, et al. U.S. Patent 5,148,547. Thinking Machines Corporation. September 15, 1992.
Kidder, Tracy. The Soul of a New Machine. Avon Books, New York, 1981.
Kuhn, Thomas S. The Structure of Scientific Revolutions. University of Chicago Press, Chicago, IL, 1962.
Leiserson, Charles. Lecture Notes: 6.849J Advanced Parallel and VLSI Computation. March 3, 1987.
Leiserson, Charles E. et al. "The Network Architecture of the Connection Machine CM-5." Thinking Machines Corporation, Cambridge, MA, 1995.
Mackenzie, Donald, Inventing Accuracy: A Historical Sociology of Nuclear Missile Guidance, MIT Press, 1990.
Minsky, Marvin, (e-mail to Ameet Ranadive), October 27, 1997.
Norberg, Arthur L. and ONeill, Judy E. "Transforming Computer Technology." Johns Hopkins University Press, 1996.
"Proposal to the Defense Advanced Research Projects Agency of a Very Large Scale Computer System," Thinking Machines Corporation, Cambridge, MA. August 18, 1986.
Presentation to the National Science Foundation, Thinking Machines Corporation, Cambridge, MA, May 9, 1989.
Resnikoff, Howard, Thinking Machines Corporation memo to John Machado, 1984.
Stanfill, Craig, (interview), November 1997.
Steele, Guy, (interview), November 17, 1997.
Thiel, Tamiko, "The Connection Machine," http://mission.base.com/tamiko/cm/cm-frames.html.
"Thinking Machines Corporation," Marketing materials for CM-1, Thinking Machines Corporation, Cambridge, MA, approx. 1986.
"Thinking Machines Corporation," WWW company home page, http://www.think.com/.
"Thinking Machines Redefines Computing: The Ultimate Parallel Machine for Graphics," Graphics Magazine, August 1987.
Van Atta et al, DARPA Technical Accomplishments, Vol.2, April 1991, page 27.
Van Atta, Richard H. et al., DARPA Technical Accomplishments Volume II, 1991.
Waltz, David L., "AI Applications of Massive Parallelism: An Experience Report," Parallel Processing for Artificial Intelligence 3.
Waltz, David, (interview), November 21, 1997.
Widener, Deborah, (interview), November 5, 1997.
Figure A. Bit-serial processing architecture of the CM-1. Each data path in the processing element carries a single bit of information. Note also the integration of memory (4K static RAM) into the processor unit. The 14-bit truth-table encodes all the possible results for any operations on single bit inputs A and B. (Leiserson, Charles. Lecture Notes: 6.849J Advanced Parallel and VLSI Computation. March 3, 1987.)
Figure B. Proposed architecture for the CM-2 using standard microprocessors with the potential for a math chip. ("Proposal to the Defense Advanced Research Projects Agency of a Very Large Scale Computer System," Thinking Machines Corporation, Cambridge, MA, August 18, 1986. Page 50.)
Figure C. CM-2 style integration of bit-serial processors with word-oriented processors such as Floating-Point Units (FPUs). (Kahle, et al. U.S. Patent 5,148,547. Thinking Machines Corporation. September 15, 1992. Page 2. )
Figure D. A schematic diagram of the SIMD (Single Instruction Multiple Data) architecture. A single instruction stream is broadcast to all processors at once. The processors either ignore the instruction or execute on it, based on their internal state. (CM-1 Press Literature)
Figure E. Block diagram of the SIMD architecture. An instruction is issued by the host and converted by the microcontroller into a simpler instruction stream for the Connection Machine processing cells. The stream is broadcast to all the cells simultaneously. Each cell is thus presented the same instruction sequence, but may "wait out" instructions that are determined to be irrelevant. (Hillis, W. Daniel. The Connection Machine. Page 21.)