Science fiction is usually couched in fact, and it’s fun to look at an iconic computer like HAL 9000 and trace the origins of this artificial intelligence gone wrong. You might be surprised to find that you can trace HAL’s origins to a computer built for the US Army in 1952.
If you are a fan of the novel and movie 2001: A Space Oddessy, you may recall that the HAL 9000 computer was “born” in Urbana, Illinois. Why pick such an odd location? Urbana is hardly a household name unless you know the Chicago area well. But Urbana has a place in real-life computer history. As the home of the University of Illinois at Urbana–Champaign, Urbana was known for producing a line of computers known as ILLIAC, several of which had historical significance. In particular, the ILLIAC IV was a dream of a supercomputer that — while not entirely successful — pointed the way for later supercomputers. Sometimes you learn more from failure than you do successes and at least one of the ILLIAC series is the poster child for that.
The Urbana story starts in the early 1950s. This was a time when the 1945 book “First Draft of a Report on the EDVAC” was sweeping through the country from its Princeton origins. This book outlined the design and construction of the Army computer that succeeded ENIAC. In it, Von Neumann proposed changes to EDVAC that would make it a stored program computer — that is, a computer that treats data and instructions the same.
Popularity of Von Neumann Designs
Maurice Wilke’s EDSAC and the Manchester Baby were the first to build a computer based on Von Neumann’s new design, but they wouldn’t be the last. In all, there were probably at least 18 machines based on this paper’s architecture including MANIAC, Johnniac, and SILLIAC. The exact number is hard to pin down since many machines reused older machines, but however you count, there were at least a dozen. These machines are often known as “IAS machines” after the Princeton lab that published the EDVAC report.
With this wave of computer research, the Army wanted to have a stored program machine and turned to the University of Illinois to build ORDVAC. The Army took delivery of the new machine in 1952. It used over 2,000 vacuum tubes (mostly 6J6s and 5687s) and had 1K of 40-bit words using Williams tubes. As part of the contract, the Army agreed to fund the construction of an identical machine for the University to keep. That machine was the ILLIAC — later known as ILLIAC I.
Twins, Compute-by-Phone, and other Oddities
ILLIAC I started operation in late 1952. At that point, ILLIAC and ORDVAC were quite possibly the only two identical computers in existence. Programs written on one could be run on the other. That seems like no big deal today, but in 1952 there were these machines were so large and expensive that only one of each was built. Even though many computers of this era used the same basic design, none had compatible instruction sets except for ILLIAC and ORDVAC. In addition, ORDVAC could be used by telephone from the University at night when the Army wasn’t using it. This made it one of the first, if not the first, computer to be operated remotely.
The computers weighed in between 3,000 and 5,000 pounds and used hexadecimal. However, the numbers above 9 used KSNJFL instead of our more familiar ABCDEF. This made some kind of sense based on the teleprinters used, apparently. The letters don’t appear to line up in Baudot or Murray codes, so perhaps it was a different style of teleprinter than I’m familiar with. As far as I can tell, the use of A-F was made popular by the IBM System/360 years later. Other systems, used other letters, apparently depending on what was handy for their hardware.
One of the most interesting design features of ILLIAC, though, is it was asynchronous. Usually, CPUs have a master clock that each circuit obeys. But the ILLIAC and ORDVAC used units that were in a daisy-chain. So one unit would finish its work and signal the next unit to start. This has certain advantages and disadvantages and there have been similar CPU designs over the years including the recent IBM SyNAPSE.
ILLIAC was the first music composition aided by a computer (Illiac Suite) and the first version of PLATO for computer-based education. This early version of PLATO serviced a single user, although version two could accommodate two simultaneous users.
Errors Were Common
Thinking of HAL as a computer mind that went wrong is a proposition very different today than it would have been at the time. Our modern hardware has unbelievably low error rates. But errors and hardware failures were particularly common in the 1950s and had to be worked around by the computer operators.
The tubes of the ILLIAC were prone to failure and there was no built-in error checking. Periodic tests under stress conditions would identify flaws, hopefully before they affected normal operations. A speaker at a conference from the day noted that the average time between errors on the Williams tube memory was “now up to 30 hours.”
Input/output speed was another problem. The punched tape readers took 40 minutes to fill the machine’s memory. A later project sped the readers up to reduce that number to under 8 minutes. Keep in mind, this was about 40K bits of data, so imagine what it would take to fill up a modern flash drive.
Enhancements and Copies
The ILLIAC spawned its own clones including ORACLE, CYCLONE, and MISTIC from Michigan State which used transistors instead of tubes and had core replacing the Williams tube memory. Just as we tinker with our machines, these computers often grew, and one reference reports that by 1962 when ILLIAC retired, it had 5,000 words of memory along with storage on a magnetic drum, pictured below.
It was a far cry from a copy, but a definite enhancement was ILLIAC’s successor ILLIAC II. The design for this machine started in 1958 and it came online in 1962. This was a transistorized machine with 8K words of core memory. The word size was 52 bits. This machine used asynchronous modules and pipelining to get a form of parallel execution. It also used cache memory for I/O devices.
Thanks to these enhancements, the machine was about 100 times faster than earlier machines of the day. It wasn’t the speed champion, though — that honor belonged to the IBM 7030 Stretch computer which was fast, despite not being as fast as promised — although apparently, the University disputes that. IBM sold the machine as a 4 MIPS machine, but only managed about 1.2 MIPS and it is considered one of the biggest IBM failures up until the PC Jr.
ILLIAC IV: HAL’s Grandfather
ILLIAC IV was an ambitious — perhaps too ambitious — attempt to build a large-scale parallel computer. The machine would have 4 quadrants and each quadrant would have a CPU (a control unit) and 256 processing elements (PEs). When complete, the 4 CPUs would have the ability to each operate on 64 pieces of data at one time. But the project was plagued by problems from the start.
Texas Instruments was set to fabricate the PEs in an IC but backed out which led to a major redesign. The new design had to use off-the-shelf ICs leading to much larger cards with more cooling and power requirements. This led to more additional costs.
Another cost problem occurred when they realized the control unit used positive logic and the processing elements used negative logic. Finally, one quadrant was operational and because there were demonstrations about the possible military use of the computer, the government directed Burroughs — the company manufacturing the machine — to deliver it to NASA’s Ames Research Center instead of the University in 1972.
Despite its problems — and frequent downtime due to power supply problems, the machine was still 13 times faster than other machines in 1972. In 1975, it was connected to the ARPANet — the predecessor of the Internet — and became the first network-accessible supercomputer.
ILIAC IV Design Was the Computer of the Future
ILLIAC IV might have tried too much too fast. The use of large-scale ECL integrated circuits, thin-film memory, and specialized disk drives that held a whopping 80 megabytes on a 36-inch disk, were all risky items for their day. It even had plans for a write-once laser memory system that could store a terabit of data on a drum carrying a piece of polyester.
Keep in mind that — at the time — 20 logic gates in a package was considered large-scale. Conventional ECL ICs had perhaps a half dozen gates in a 16-pin package. TI’s devices would have 64 pins and contain 20 gates, as is shown here. However, TI was unable to get crosstalk under control and asked for about a year’s worth of schedule relief. The ILLIAC team didn’t want to wait and redesigned the device to use conventional ECL ICs. This slowed the clock speed from 25 MHz to 16 MHz, pushed the project over budget and ran the schedule out 2 years. What was going to be a one inch square PCB (perfect for our contest), turned into a 6×10 board. Hindsight, of course, is 20/20. TI successfully produced the chips a year later and sold them commercially, but by that time the team was too far down the redesign path.
The board size increase took up the room slated for the thin film memory. So you make the cabinets bigger, right? That caused problems with signal propagation and distribution. So the team changed to newfangled semiconductor memories.
An Ambitious Project Cut Down to Size
By 1969, running massively over budget and schedule, they decided to only do one quadrant. That cut the potential speed of the machine significantly. By the time Ames got all the hardware in 1972, it was years late and instead of the original 8 million dollar price tag, the bill was up to $31 million. Don’t forget, too, that the 8 million was for a four-quadrant machine, so there was 1/4th of the machine for nearly 4 times the price!
Operationally, the machine was a nightmare to bring up. PCBs were cracked, wirewrap terminals would short, card contacts were prone to oxidation, and the card socket plastic softened over time. The ICs were very sensitive to humidity, and there were many other issues. By 1973 the computer could run programs, but the results were not always correct. In 1975, Ames started a 4-month effort to fix things. They replaced over 100,000 resistors, rewired long propagation delay lines, cleaned up the power supplies, and reduced the clock speed from 16 MHz to 13 MHz, only half the speed of the original 25 MHz design. Now the machine was able to do its work reliably at least some of the time. Ames also replaced the original Burroughs control computer with a PDP-10.
The operating technique reflected the need to avoid hardware errors. One user described the process in place when they billed you for your computer time on the ILLIAC IV. They’d run diagnostics first. If they passed, they would run your job. Once complete, they’d run the diagnostics again. If the diagnostics passed, you got the results of your job and the bill for your time.
The performance was lackluster at first, although a custom version of Fortran helped programmers take better advantage of the hardware. On problems that were amenable to parallel execution, the machine was the fastest in the world until 1981. Keep in mind that even high-speed in those days is nothing we’d look twice at now. From the Burroughs manual on the ILLIAC IV, for example, they talk about doing a 4,096 point discrete Fourier Transform on 64-bit data in only 0.73 milliseconds (730 microseconds). According to the same source, an IBM 7094 would need nearly 3 seconds for the same task.
If you noticed, I didn’t mention ILLIAC III — it had a short life from 1966 to 1968 when it was destroyed in a fire. ILLIACs V and above are more modern multi-node computing clusters. While they are interesting in their own right, they don’t really share much with the ILLIAC IV save the name.
ILLIAC in Retrospect
The ILLIAC IV was, in a way, ahead of its time. Semiconductor memory was the way of the future. So was large-scale IC integration. The larger boards required more grounding and pushed the team to 15-layer boards which would be easy now, but were difficult to produce in those days. Even mass storage using write-once laser media was something that would become important years later.
Considering 75% of the machine was never built and the clock speed was reduced by nearly half, it is impressive that it was still the fastest computer in the world for many problems. If you want more hardcore technical details about ILLIAC IV, a book edited by Gordon Bell from the 1970’s has a pretty good overview. If you’d rather see it from a user view, here’s a NASA paper from 1977 with code listings. Or you can dig into the gory details.
I often tell students that you usually learn more from failing than you do from succeeding, and the ILLIAC IV was a great example of that. It is largely considered a failure but it was useful and it did lead the way in a number of important technologies. Interestingly, the earlier IBM 7030 Stretch — a contemporary of the ILLIAC II — had similar problems. It also overpromised and under delivered. Yet it spawned technology that would later drive one of IBM’s most successful computers, the IBM System/360.
Arthur C Clark released his novel in 1968, sixteen years after the ILLIAC projects were under way. His imagining of the most sophisticated computer of the 1990’s was HAL 9000, built into a space ship, comprised of hardware cards plugged into a bus system, and subject to malfunction. What’s fun to think about is how many engineers were inspired by HAL — that would be life imitating art imitating life, wouldn’t it?