Carnegie Mellon and the Andrew Project

Planning

At Carnegie Mellon, the initiative came from the top. The president, Richard Cyert, summarized the university's strategy as "a campus saturated with computing." He saw that state-of-the-art computing could benefit every aspect of the university, including all academic departments, the library, and the administration. He saw research opportunities in every field and the potential to transform education. As a canny businessman he rightly anticipated that an aggressive computing strategy would receive financial support from corporations, government agencies, and private foundations. In his keynote address to the 1986 EDUCOM Conference, Herbert Simon aptly described the strategy as "computing by immersion." Provide faculty and students with a great array of computing and they will use it creatively.

The timing of the plan was based on a deep understanding of trends in computing. In 1979, Allen Newell published a report known as the Spice Report. This report extrapolated hardware trends to predict the spectacular advances in large personal computers that took place during the 1980s. It would soon be possible to build a computer on a single chip that would be as powerful as the super-minicomputers. These large personal computers were often called workstations.

The Preliminary Report on the Future of Computing at Carnegie-Mellon University

Newell later chaired the Task Force for the Future of Computing, which articulated how Carnegie Mellon could use these advances. The Xerox Palo Alto Research Center had already demonstrated how workstations could be linked by a high speed network to form a new model of computing, but this was used by only a small number of well-funded computer scientists. The vision was to recognize that this style of computing was appropriate for an entire university and that declining hardware costs would make it affordable. Carnegie Mellon set out to build such a system.

To achieve the ambition, Carnegie Mellon needed an industrial sponsor and they found it in Lewis Branscomb, the chief scientist of IBM. With his support IBM gave the university a five year grant, later renewed, to build an advanced campus computing environment known as Andrew. The grant was huge. It included an R&D center, the Information Technology Center (ITC) with thirty computer scientists and engineers, very large donations of equipment, support for educational computing initiatives, and social science studies of the impact. A separate grant helped build the campus network.

People

In writing about the Andrew project it is important to stress that this was a university-wide initiative. The various groups that contributed are too numerous to list, but two were so important that their leaders had university titles. Howard Wactlar, Vice Provost for Research Computing, was responsible for the extensive computing facilities in the Computer Science. He had exceptional insight into the boundary between research and practice, and how to create partnerships with industry. Michael Levine, a physicist, was one of the founding directors of the Pittsburgh Supercomputing Center. He had the title Associate Provost for Scientific Computing and was a vigorous advocate for those researchers who needed computing facilities beyond those that a Unix-based project could provide.

My predecessor, Doug Van Howeling, was a key person in creating the strong relationship with IBM and recruited Jim Morris to be the first director of the ITC. They were ably supported by John Howard, the senior IBMer on campus. While the ITC created the prototype system and was a catalyst for the rest of the university, components were contributed by many departments, by other universities, and by several manufacturers.

In conjunction with the Andrew project, Carnegie Mellon created the Center for the Design of Educational Computing, under the leadership first of Jill Larkin and later Preston Covey. Year after year, the center received at least one of the annual EDUCOM awards for excellence in educational software.

As the project moved past the prototype stage, responsibility moved  to the university computing center. Two people transferred from the ITC to lead this effort, Bob Cosgrove who had responsibility for the servers and the centrally run systems, and John Leong who built the campus network. Without their efforts we would never have overcome the myriad of technical challenges that lie between a research project and a stable production environment. Later, when Cosgrove left and the IBM funding expired, Leong became the overall technical director.

The  Andrew  project

In 1982 Carnegie Mellon was already a leader in computer science and campus computing.   At the time of the Newell report, 7,800 faculty, students, and staff had 1,090 terminals connected to a variety of timeshared  computers. The computing center ran six large Dec 20 computers and Computer Science had several more. Numerous departmental centers ran VAXes. Several departments and the computing center operated a large Ethernet using Decnet protocols. The business school became the domain of the IBM PC. The nucleus of a modern workstation environment existed in Computer Science, where 18 Xerox Altos, 44 Perqs and a Dover laser printer were connected  over an experimental 3 Mbit/sec Ethernet. The challenge was to transform this nucleus, so that it would have a major impact on research, on the administration of the university, and especially on students.

When the ITC began work, none of the components that are now considered fundamental to distributed computing existed, except in research laboratories, yet the ITC's aim was to support thousands of personal computers.  Ethernet was still experimental; workstations such as the Sun 1 were expensive, slow, and unreliable; Unix was considered impossible to support without an army of system programmers; and the Apple Lisa and Macintosh computers had not yet shown the advantages of a graphical user interface. Nobody had experience of large scale distributed computing.

The members of the ITC had to work in all these fields and more.  They developed a campus-wide file system, a window manager and applications toolkit, and did much of the work in creating the campus network.  Morris and his colleagues also recognized  that building the technical framework was only part of their task.  They had to help people to use it.  For this purpose, they supported a number of faculty initiatives, and wrote an excellent mail and messaging system.

The ITC was funded by IBM, but its work was not restricted to IBM equipment and software. The Andrew software was based on BSD Unix and ran on IBM, Sun, and Digital workstations. The port to the Sun 3 had an interesting bug. The Sun 3 was generally very reliable, but it crashed when running the Andrew window manager. A member of the ITC traced the problem to a memory boundary problem with a specific sequence of instructions that Sun's software never used. He reverse engineered the paging firmware, made a minor hardware modification and fixed the problem. Unfortunately while doing this he was being paid from the IBM grant. IBM was not amused.

Network services

The Andrew File System

The photograph shows the Andrew File System in 1987. The servers are Sun 2s. Each server has three Fujitsu Eagle disk drives, each with a capacity of more than 400 MBytes.

By themselves, personal computers could not replace timesharing.  Timeshared computers shared much more than the central processor. Their central file systems allowed users to store programs and data, to share printers and other peripherals, and to communicate with each other.  One of the tasks of the Andrew project was to provide this sharing through network services. The Andrew File System consisted of a number of server computers each with several large disks. A Unix workstation on the network saw one large file system in which there was no distinction amongst the servers, nor between files stored locally on the workstation and files stored on the file system. In fall 1989, the main campus file system had 15 server computers  and more than 30 gigabytes of storage.  It was used by 5,000 users every month.  In addition to the central file system, which was available to the entire campus, there were several operated by departments.

The Andrew message system supported  electronic mail and bulletin  boards. It was created by the ITC and extended by the computing center. The mail delivery used small post office computers and the user interface ran on personal computers.  Mail between users of the Andrew File System was deposited directly into personal mail boxes.  Mail to other mail services, including the Internet and Bitnet, was handled by the post office computers. The software had good algorithms for resolving ambiguous or duplicate names, and for handling  difficulties. There were separate user interfaces for different types of personal computer. The interface for Unix workstations supported structured text, bit mapped images, and other formats. Other interfaces were tailored for IBM PCs, Macintoshes, and simple ASCII terminals. Carnegie Mellon was an early advocate of the IMAP mail protocol.

The applications gap

These were tremendous achievements, but there was a gap. It was the same gap that eventually doomed timesharing at Dartmouth. Unix was undoubtedly the right choice for the systems infrastructure that the Andrew project built, but Unix has always been weak on applications.

Many academic  units were opposed to the emphasis on Unix workstations and many who supported the overall vision held back from using the new software until it had proved itself.  People refused to commit to Andrew-Unix because the best applications in their areas ran on other computers. Macintoshes and IBM PCs were everywhere; the School of Industrial Administration, and the School of Urban and Public Affairs selected PCs; the new School of Computer Science and the department of Electrical and Computer Engineering used Unix but not the Andrew window manger and tool kit; humanities and social sciences chose Macintoshes; engineering and science departments had a combination of Unix and VMS workstations.

My major contribution to the Andrew project was to recognize this gap and refocus the resources of the computing center to tackle it. To their credit, the IBMers on campus also recognized the situation and were supportive. If today you search the web for Andrew you will find a narrow description of the Unix software that the ITC developed, but a 1986 brochure from IBM's Academic Information Systems is much broader. Naturally it emphasizes what IBM contributed, but its focus is on networking, and the importance of interoperating with many types of computer and with other universities. In the brochure, I am quoted as saying, "...the plans assumed that there would be nothing else on campus except Andrew. [The concept] was comparable to building an expressway across Wyoming, working with virgin territory, when in fact we were talking about running one through something like Chicago. The unavoidable interrelationship with other computer systems on campus was not foreseen."

Andrew Plus

This is a diagram that I used to describe Carnegie Mellon computing in the late 1980s. The top row shows the supported types of personal computers and workstations. The bottom row shows some of the services that these personal computers could connect to over the network. It does not show the departmental computing centers. Unix computers could connect directly to the networked services. IBM PCs and Macintoshes connected via proxy servers.

When  personal computers were first developed, most people expected that they would supplement timesharing, not replace it.  A common question was what balance would emerge, but when the central Dec 20 computers were withdrawn in 1988, they were not replaced.

Although personal computers and networked servers dominated the environment, several large computers remained. The largest was the Cray computer at the Pittsburgh  Supercomputing Center, operated jointly with the University of Pittsburgh. The library, under the leadership of Thomas Michalak, was a leader in building online information systems. Taking advantage of a lightly used IBM mainframe, the library provided a single user interface to the library's catalog, secondary information services, reference materials, and university information such as the staff directory. Most administrative data processing continued to be done on VAX computers.

Deployment

To build this environment we had to create a new type of organization. Originally, the Andrew initiative had by-passed the computing center and the staff were naturally dispirited. One of my first actions was to reverse the decision to build a separate team to deploy the new environment and to give the responsibility to the computing center.

The transition from timesharing to personal computing was an enormous wrench.  The mature and well loved Dec 20 systems received little attention while the new environment was developed.  In 1988, when they were withdrawn, the distributed environment was far from complete.  Many components were rough and ready, some were incomplete or temporary, performance was erratic, and many skilled people were needed to carry out tasks that later were routine. In a 1989 survey, students ranked computing well ahead of all other student services at the university, yet several faculty reports were disappointed at the impact on education. Carnegie Mellon was probably the most computer intensive university in the world, yet shortage of resources was a constant complaint.

The planning papers rightly forecast the enormous demand for personal computers and gave high priority to ensuring that everybody had access to one.  In 1981 there was one terminal on campus for every eight people.  In 1990 there were as many computers as faculty, students, and staff combined.  Amongst faculty, computer usage was almost universal.

As the Andrew project gathered momentum, many of us wanted to require all students to own a computer. The idea was discussed on several occasions, but the university was never prepared to add the cost of a personal computer to the high cost of tuition.  Many students, however, had their own computers and the percentage grew year by year.  A survey of freshmen in fall 1989 found that 55 percent either owned a computer or were planning to buy one.  In addition, the university operated public computing laboratories with almost 700 personal computers for the students.  Half were maintained centrally and half by departments.  The 1989 survey found 210 Unix workstations, 269 Macintoshes  (including 46 large Mac IIs), and 210 IBM personal computers in public laboratories. For personal ownership, the most popular computer was the Macintosh, and every year the university sold about 1,200 Macintosh computers through the campus store. People turned to the Macintosh and the IBM PC as a straightforward way to get their work done, and were delighted by the stream of innovative software developed by the commercial market.

Reflections

The announcement of the Andrew project generated a wave of publicity in both the press and television. In the hyperbole, Carnegie Mellon forgot to manage expectations. Impossible predictions were made about the transformation of education that would come out of this project and how the technology would sweep the market. Years later a colleague at Cornell asked me if Andrew was a success. I was too close to the project to give an impartial answer but here is an attempt.

The 1980s were a good decade for Carnegie Mellon by almost every measure: quality of students, research volume, financial strength, and so on. They all improved dramatically and the emphasis on computing was a major contributor. This strength is seen today everywhere on campus.

If the early planning papers are contrasted with what was achieved, the picture which emerges is that the overall strategy advocated in 1982 was remarkably accurate. The forecasts of the tactical steps which would be taken were less accurate. The biggest area not anticipated was the impact of commercial software running on small personal computers. The Andrew Network, the Andrew File System, the message system, and other servers were technical triumphs. For the first time, a major organization ran its computing services without a large central computer. There were also disappointments. The Andrew tool kit and user interface were never widely used, though they had impacts on other projects, and IBM never developed the commercial products that we hoped would emerge from our joint efforts.

At the time we were often swamped by the challenges, both technical and organizational. Now, with the distance of time, it is clear that the strategy of saturating the campus with computing worked brilliantly. Everybody involved can be proud of the outcome.