Tuesday, May 11, 2010

Bob Creasy Invented Virtual Machines on the #77 Bus

Don Dodge reveals “How to unlock your creative genius” on his blog this week. “We are all creative but our human experience filters, and conscious mind, block out creative bursts,” writes Don. “We are much more creative while sleeping…artists, song writers, poets, comedians, and entertainers of all kinds have that amazing creative ability while they are awake.

Last week, while driving from Arlington, MA into Cambridge, I was stuck behind the #77 bus (colloquially known as the Mass. Ave. bus).

I recalled that Bob Creasy invented the concept of the virtual machine on this bus. I don’t know if he was awake or asleep at the time, but it was most likely in the morning.

Creasy had been working as a programmer on CTSS when MIT awarded the project MAC (Multics) contract to GE. In contrast, Creasy was impressed with IBM’s new S/360 product line. Creasy had, of course, spotted the most important attribute of the System/360 - that programs written for one model of S/360 would run on any other model.

Since he was disappointed with the direction of MAC, when he heard that Norm Rasmussen, Manager of IBM’s Cambridge Scientific Center, intended to build a time sharing system based on IBM’s System/360 and needed someone to lead the project, Creasy left MIT to join IBM.

Creasy had decided to build what became “CP-40” while riding the Metropolitan Transit Authority. “I launched the effort between Christmas 1964 and year’s end, after making the decision while on an MTA bus from Arlington to Cambridge. It was a Tuesday, I believe,” Creasy said in a later interview with Melinda Varian.

Creasy and a colleague, Les Comeau, spent the last week of the year excitedly brainstorming the design of CP-40, a new kind of operating system, a system that would provide not only virtual memory, but also virtual machines. They had seen that the cleanest way to protect users from one another (and to preserve compatibility as the new System/360 design evolved) was to use the System/360 Principles of Operations manual to describe the user’s interface to the Control Program. Each user would have a complete System/360 virtual machine (which at first was called a “pseudo-machine”).

The idea of a virtual machine system had been kicked around before then, but it had never really been implemented. The idea of a virtual S/360 was new, but what was really important about their concept was that nobody until then had seen how elegantly a virtual machine system could be built, with very minor hardware changes and not much software.

Rasmussen approved the project, but described it to his bosses as a research project to help the troops in Poughkeepsie (home of “Time Sharing System/360,” IBM’s official effort). Specific technical objectives were always emphasized in order to disguise the “counter-strategic” nature of the activity. But the project’s real purpose was to build a time-sharing system superior to TSS and MULTICS. Luckily for IBM, for us, and for Cloud Computing, it succeeded.

The combination of CP-40 and a single user operating system called CMS evolved into CP/CMS which was made available to IBM customers in 1967. In 1972, a revised version was released as IBM’s VM/370 product.

Feeling that his contribution to computing has yet to be fully recognized, I recently added a short biography of Creasy to the Wikipedia.

No comments:

Post a Comment