A Personal History of Computer Science at UNC-Chapel Hill
Early DaysInitially we had a love-hate relationship with the UNC-CH Computation Center (now subsumed in the Office of Information Technology). We depended on them and, through them, on the Triangle Universities Computation Center (which had become operational in March 1966) for mainframe computing and for interactive time-sharing. As our needs grew, they exceeded in sophistication and in quantity what the Center was called on to provide for the rest of the campus. They also differed in orientation, because we were perhaps the only organization using the Center in the late 1970s that preferred the Unix operating system to those then supported by IBM. More and more we turned to creating our own computing service, which grew to be larger than the Center and indeed larger than any other academic computing service in the state.
Jan Hermans and Dino Ferro using the GRIP system in 1977. (Photo: Mike Pique, © Department of Computer Science, UNC-Chapel Hill)
Our first computer terminals were the Teletype 35 ASR and then the Datel, which was based on the IBM Selectric typewriter. In 1969-70 we began to install cathode-ray tube terminals, starting with Computer Communications Incorporated monochrome CC-30 terminals. After a year we traded them for the first prototypes of their four-color model. Early records are inconsistent, but I believe that by 1972-73 we had perhaps 10 typewriter-based and 19 display-based terminals. The principal software was CHAT (Chapel Hill Alphanumeric Terminal system), an operating system built by graduate student Gary Schultz. CHAT supported the Occam text editor built by graduate student Jim Sneeringer and the CAI manager built by graduate student Craig Mudge. The most prevalent application was document preparation. We had the good sense to make terminals available first to secretaries, then to graduate students, and last to faculty.
Our first minicomputer was an Interdata 3 acquired in 1969-70 to support research in kinesthetic display, for which we also obtained in that year the loan of two remote manipulator arms from the Argonne National Laboratory.
Later we advanced to Hewlett-Packard terminals, which supported program development and, once Unix became available, electronic mail. Later yet we progressed to workstations. By 1982 we had a few Sun I computers, and progressed rapidly through the Sun II and on through various models of Sun and Digital Equipment Corporation (DEC) workstations, later adding machines by IBM and Silicon Graphics. A faculty/staff committee chaired by Rick Snodgrass reported in April 1985 that by 1990 we would need at least 85 workstations, 4 DEC 8600-class machines, 95 terminals, 15 assorted micros, 2 color printers, 3 high-quality laser printers, 20 inexpensive laser printers, 4 line printers, substantial communications equipment, 21 GB of disk storage, and 16 tape drives.
They stated as policy that ". . . it is necessary to place a workstation on everyone's desk. Unfortunately, it is infeasible to support such a configuration within five years." In fact, it took until Fall 1992 to reach that goal. Operation DECstorm in summer 1991 replaced 53 aging computer systems with 60 state-of-the-art DEC workstations. Operation DESKtop in summer 1992 brought us 54 new Macintosh systems and 31 more DEC workstations. By 1993-94 we had 25 workstations on an FDDI (100Mb/s) network, possibly the first such installation in the state. For the approximately 210 occupants of Sitterson Hall, we now have nearly 500 computer systems from eight vendors, all networked together in a "truly fully distributed and fully integrated computing environment," to use the purple prose of our annual report.
Mainstays of the Department for several years were the Seven Dwarves, our collection of DEC PDP-11 computers. As the PDP-11s were replaced by VAX- 11s, the names moved to the new machines. Occasionally we had a Snow White to keep them company, although we never used that name. Our first dwarf was Sleepy, a PDP-11/45.
Arrival of UnixOur first Unix operating system was installed by the famous organization christened by Fred the Unix Trucking and Transport Company (UTT), active in 1978-80. UTT was four graduate students: Steve Bellovin (the guru), Lee Nackman (the manager), Mike Pique, and Tom Williams.
By late 1978, when we were ready to give Unix a try, we had only the PDP- 11/45, which had a 0.5-MB fixed-head disk. Not only was that woefully inadequate; the machine did not have a tape drive, always assumed at that time for Unix sites. The GRIP project had bought for it, however, a DEC RK-06 disk drive with a 14-MB removable disk pack. The computer was connected to the Computation Center's IBM System/360 by a channel connection. With support from Henry Fuchs, UTT was able to "take over" the 360 on some nights and early mornings.
The big challenge was how to get started. Graduate student Tom Truscott at Duke Computer Science had Unix running on their PDP/11-60 and offered to help us get Unix onto our machine. He and Bellovin worked out the following scheme. Someone obtained a paper listing of an RK-06 device driver, which was typed in at Duke and compiled on their system. Then Truscott built a disk image of an entire bootable Unix file system for the RK- 06 (thanks to Duke having a new not-yet-used disk). There was, of course, no way to test it at Duke since they didn't have an RK-06. Truscott wrote a tape of the disk image, byte for byte, and UTT drove it over from Duke (hence the UTT name). Someone wrote a program to read the tape over the channel connection to the 360 and write the contents onto the RK-06.
The first night, the team booted the system and nothing happened. They could look at the system only by using the console lights. Truscott had left them the listing of the driver source. Pique and Williams somehow realized that the literal constant representing the disk device address had been typed in without the leading zero required in the C programming language--which none of them had programmed in before--to make it octal rather than decimal. Pique, with Nackman looking over his shoulder (Bellovin and Williams had by this time gone home), patched the system using the console switches, tried again, and it printed the system prompt.
That got the basic system up. After further clean-up, Nackman reported to a faculty meeting on 9 January 1979 that "Unix is up, running, and viable." To make Unix more widely available, Bellovin borrowed an obsolete, but supported, 4-port terminal card from Duke, and persuaded the Computation Center to allocate some ports for it on their Gandalf PACX. That gave us multi-user access from New West.
Later DevelopmentsUndergraduate Teaching continued to rely on the batch computing services of the Computation Center. Over the years we migrated from PL/I to PL/C to Pascal (Fall 1980), as well as from punched cards to terminals, and in the mid-1980s finally received access to enough personal computers to accommodate the scale required by our courses.
For our own computing, we had graduated from PDP-11 to VAX-11 computers and later a Data General MV-10000 (named Napoleon, for the general). The Unix installation on the VAX was done by Tim Seaver at UNC- CH, with Nackman and Williams doing much of the work at N.C. State, taking over State's VMS VAX for Unix and again building a disk image on tape, which was copied up the 360 channel to the PDP-11. From there it went onto a 256-MB Systems Industries (SI) CDC disk, then the SI drive was recabled to an identical controller in the VAX and booted from.
Increasingly powerful workstations later became available, and we moved to a decentralized collection of print servers, file servers, and compute servers, communicating over networks with users' principal workstations. We finally retired the last minicomputer in August 1991. Reliable data on the computer population are available back only to 1983; they are reproduced in Figure 5 and Figure 6. The leap in MIPS (million instructions per second) growth in 1990 was due to the installation in January of that year of a MasPar MP-1 parallel computer.
In addition to using general-purpose computers and workstations, we have designed, built, and deployed our own special-purpose computers. Most notable among these are the computer graphics engines of the Pixel-Planes series, characterized by a high degree of parallelism (one processor per pixel), and capable of rendering complex scenes faster than contemporary commercial designs.
We had been using computer communications for interactive time-sharing since the establishment of the Department. Electronic mail, Usenet, central minicomputers, and workstations all increased our dependence on communication. So did our expansion into six physical locations. We began with wires out the New West windows (easier to flout the building codes than to route conduit through 14 inches of masonry). We continued with underground cable between our buildings. In early 1984, our first ethernet (also the first on campus) was deployed in Evergreen House to connect Bashful (an MCNC-provided VAX-11/750) and Happy (a VAX-11/751 we bought).
As the move to Sitterson Hall approached, we realized that we had a superb opportunity to meet our communication needs. Around this time, we were joined by Norm Vogel. Norm had retired from IBM after a distinguished technical career that included the development of the company's first magnetic disk system and the management of its Poughkeepsie development laboratory. He presided over the design and installation of the advanced communication plant in the new building, personally shaving fiber optic cables to balance their transmission characteristics. The present installation is a far cry from the 1970s and 80s, when we often had to disconnect our communication lines during thunderstorms to avoid damage from nearby lightning strikes.
Large computer and communication facilities for a diverse collection of sophisticated users don't just run by themselves. In March 1971, we took our first step in reducing reliance on the Computation Center and on vendors by hiring a full-time electronics technician. We had used some part-time student help earlier. Slowly we added other hardware and software technicians and professionals as we built a major computing service within and for the Department. Gradually we were able to send personnel for manufacturers' training in a variety of hardware and software systems. This enabled us to have maintenance performed without having to pay high hourly rates (sometimes including travel time from out-of-state) or to wait for maintenance personnel to arrive.
As the computer support staff grew, it became increasingly clear that we needed to manage it as a unitary organization, and in August 1983 we engaged Bill Howell, formerly of DEC, to take over. On 1 April 1984 Bill opened the Telephone Support Center, which users could call for help, and introduced a problem reporting and tracking system. Some of us thought that his announcements were part of an elaborate April Fool's Day hoax, but TSC is alive and well and the problem system has now logged more than 60,000 problems.