x'14' (20): Early designation for the S/360-67: 64 vs. 65M, 66, 66M, and 67M

posted Dec 14, 2014, 11:34 PM by Jeff Ogden   [ updated Dec 15, 2014, 1:58 AM ]
Before the IBM System/360 Model 67 became an officially supported product it was known by several different designations, but after the passage of over 48 years, people's memories differ about exactly what those early designations were.

From the IBM System/360 Model 67 article in the English version of Wikipedia:
  • After a year of negotiations and design studies, IBM agreed to make a one-of-a-kind version of its S/360-65 mainframe computer for the University of Michigan. The S/360-65M would include dynamic address translation (DAT) features that would support virtual memory and allow support for time-sharing.
  • As other organizations heard about the project they were intrigued by the time-sharing idea and expressed interest in ordering the modified IBM S/360 series machines. With this demonstrated interest IBM changed the computer's model number to S/360-67 and made it a supported product.
  • IBM announced the S/360-67 in its August 16, 1965 "blue letters" (a standard mechanism used by IBM to make product announcements).
  • The first S/360-67 was shipped in May 1966. The S/360-67 was withdrawn on March 15, 1977.
From the Talk page for the IBM System/360 Model 67 in the English version of Wikipedia:

Early designation

There's something wrong here in the early history. The first-announced 360s with virtual memory were designated Model 64 and Model 66, virtual-memory versions of the Model 60 and Model 62. Only a few weeks later, IBM withdrew the 60 completely and replaced the 62 and 70 with the higher-spec'ed 65 and 75; at the same time, the 64 was dropped and the 66 replaced by the 67. This is inconsistent with the story that the 67 was first introduced as a "65M" modification to the 65. It is possible, of course, that "65M" was an early designation for what was announced as the 64 or 66. —Preceding unsigned comment added by John W. Kennedy (talkcontribs) 16:48, 12 October 2010 (UTC)

I think the wrongness is the belief that there were models 64 and 66 with virtual memory. I have seen no authoritative evidence for the announcement of models 64 or 66, and no reference to them having virtual memory. The best list of System/360 models I have seen is this one: IBM System/360 Dates and characteristics which does not mention the models 64 or 66 at all. John Sauter (talk) 04:05, 13 October 2010 (UTC)
There is a question if the early designation for the "one off" system for the University of Michigan was 65M, 66, or 66M. See these references:
Jeff Ogden (talk) 22:12, 13 October 2010 (UTC)
The model 66 is mentioned in footnote 21 on page 8 of http://www.princeton.edu/~melinda/25paper.pdf :
“Lincoln [Labs] had a role in the design of the time-sharing machine. I have a copy of IBM’s response to Lincoln’s Request for Quotation, which specified a Model 66. This machine was later to become the 360/67, but I don’t know why the model number changed. A group of six sites (Lincoln Lab, University of Michigan, Carnegie University, Bell Labs, General Motors, and Union Carbide, I believe) had a non-disclosure agreement for the development of the 360/66. This group was called the ‘Inner Six’. At one meeting in Yorktown Heights, we met with IBM people to discuss relocation hardware. We discussed whether an address should be 31 or 32 bits. We eventually voted and recommended 31 bits. We also discussed the design of the relocation register and had some heated discussions with the IBM team. The Inner Six met with IBM representatives behind closed doors at a SHARE meeting. We six sites discussed various features of TSS and made recommendations to IBM. This was the beginning of the SHARE TSS Project.” (J.M. Winett, private communication, 1990.)
Jeff Ogden (talk) 22:31, 13 October 2010 (UTC)
I just looked at a copy of IBM's 360 and Early 370 Systems by Pugh, et. al. and didn't see anything about a Model 64 or 66 listed in "Appendix A: System Introduction Dates 1964-1977" or "Appendix B: Computer Improvements 1953-19679" or in the index. Models 60 and 62 are listed as announced, but never shipped. And of course Models 65 and 67 are listed. Jeff Ogden (talk) 11:56, 17 October 2010 (UTC)
User Chatul found this record of IBM's announcement of the models 64 and 66: DIGITAL COMPUTER hpefthnuitr-: Digital Computer Newsletter, Office of Naval Research, Mathematical Sciences Division, July 1965--pages 5-6: IBM System/360 time-sharing computers. Apparently, the announcement was never “official” because it does not appear in the official history. I speculate that it was written just before the April 22, 1965, substitution of the model 65 for models 60 and 62, and so was withdrawn until August 16, 1965, when the model 67 was announced instead. John Sauter (talk) 12:31, 17 October 2010 (UTC)
I added a mention of models 64 and 66 using words taken more or less directly from the main S/360 article. I left the mention of the one-off model 65M as it was. Jeff Ogden (talk) 02:30, 22 October 2010 (UTC)

From "A Faster Cratchit - The History of Computing at Michigan", U-M Research News, January 1976, Vol. XXVII, No. 1, page 14:

IBM had at first apparently not planned to include the machine selected by the Computing Center in its line of marketable computers. This computer, labeled the System/360 Model 66M (the M in 66M standing for Michigan), was to be one of a kind built to University of Michigan specifications. Fortunately, the tide of interest in equipment that would allow for efficient time-sharing was on the rise. IBM quickly found that the computer proposed to the University of Michigan in accordance with U-M specifications was attractive to other buyers too. Within months the hardware innovations that were unique to the 360/66M were to become standard features in the newly announced System/360 Model 67 computer.

From Atsushi Akera's 2006 Oral History Interview with Bernie Galler, pages 61-66:

AKERA: So it’s possible that the initial conversations took place a little more in the abstract as opposed to in the context of the 360 series. But eventually you knew that it would be, in fact, the 360 model, 66M.

GALLER: Yes, that’s right. We never really knew whether “M” was “Modified” or “Michigan.” [chuckles]

From Computing at the University of Michigan: The Early Years through the 1960s, Norman R. Scott, Computer Science and Engineering, UM College of Engineering, 2008:

Ultimately, IBM’s Model 360/67 was installed at NUBS in January of 1967. Close cooperation between IBM people and the Computing Center staff produced modifications of this design, which became then the IBM 360/67M, the “M” standing for “Michigan.” The two Computing Center people who were the primary developers of all the details of MTS were Mike Alexander and Don Boettner. One measure of their success is the fact that within a year of the installation of this first IBM360/67M, IBM had orders for forty more.

The use of the designation 67M in the above brochure is incorrect. Here is an e-mail exchange with Mike Alexander fromm 2011 that talks about this:

--On January 12, 2011 10:02:46 PM -0500 Jeff Ogden wrote:

p. 12: "Close cooperation between IBM people
and the Computing Center staff produced modifications of this
design, which became then the IBM 360/67M, the “M” standing
for “Michigan.”"

There is a good deal of confusion about the designation used for the
modified S/360-65 with virtual memory support, but I don't think it
was ever a S/360-67M. It may have been a S/360-65M, or S/360-66, or
S/360-66M. When the machine was made "official" by IBM the
designation S/360-67 replaced all of the older one-off designations.

--On January 12, 2011 11:39:07 PM EST Mike Alexander replied:

Right, there was no such thing as 360-67M.

An e-mail exchange between Mike Alexander, Bruce Arden, Scott Gerstenberger, and Jeff Ogden (me) in 2010:

--On June 22, 2010 12:57:02 AM -0400 Jeff Ogden wrote:

Take a look at this section in the Wikipedia article on the IBM 360/67:

http://en.wikipedia.org/wiki/IBM_System/360_Model_67#Virtual_memory

The S/360-67 design included a radical new component for
implementing virtual memory, referred to as the "Blaauw Box" after
its designer Gerry Blaauw. This device was originally designed
during the main S/360 project, but had been excluded from the S/360
design; it was revived for IBM's failed proposal to Project MAC, for
a customized S/360, and finally came to fruition in the S/360-67.
The "Blaauw Box" used a somewhat different approach from that
implemented later in the S/370 series in the "DAT box".

From what you two [Scott Gerstenberger and Mike Alexander] were telling me the other evening, I think this is wrong and should probably be corrected.

   -Jeff

--On June 22, 2010, at 1:31 AM, Mike Alexander wrote:

This is almost completely wrong.  Bruce clearly knows a lot more about this than I do, since he was a major player in it and this all happened just as I joined the Computing Center in 1965, and I've CCed him so he can correct my mistakes.  However here's what I think happened.

There were several universities and research centers (UM, MIT, GM Research, NASA Lewis (?), and others?) who were interested in getting a machine for time sharing.  They proposed an address translation system along the lines described in the paper "Program and Addressing Structure in a Time-Sharing Environment" by Arden, Galler, O'Brien, and Westervelt.  This described a two level address translation architecture much like what is still used today.  IBM didn't go for this idea and instead proposed the Blaauw Box which implemented a single level address translation.  They totally missed the idea of using the two level translation to control sharing of memory among processes.

IBM went back and forth with the consortium and things were getting nowhere.  On the other hand GE was happy to implement something like what the consortium wanted.  Eventually MIT gave up and ordered a GE machine (which is why Multics was written for GE architecture instead of IBM).  UM was very close to following their lead.  At that time the university/research market was still important to IBM and they were so worried about losing it all to GE that the agreed to implement the architecture the consortium wanted.  The result was the 360/66M (or maybe /65M), a special order machine for the remaining members of the consortium.  After IBM discovered that there was wider demand for this machine, they renumbered it as the 360/67 and made it part of the product line.

The DAT box on the 360/67 did not implement the Blaauw box.  It implemented the architecture described in the paper mentioned above.

Someone should fix the Wikipedia article, although I suspect we'll get some pushback from folks who want to rewrite history.  It would be best to have proper documentation to back up what we say.  I imagine there are documents in the Bentley that cover this period in the Computing Center history.

      Mike

--On June 23, 2010, at 12:34 PM, Bruce Arden wrote:

Mike,

The following is a part of my memoirs regarding the Model 67. I don't remember any external Consortium but there were several universities and corporations (e.g. GM) interested in dynamic multiprogramming on a mainframe however. A high level UM committee (I don't remember the members) did authorize the exploration of possibilities.

Regarding the Blaauw Box, I don't have the details here in Maine and probably not in Ann Arbor either. Bentley may have them in Bernie's contribution to their collection. However, I think you are right, Mike. The B-Box was a scheme for the operating system to monitor the setting of base registers with programs assigned to contiguous blocks of virtual memory. This would have some similarities to VMS with the same kind of program transition overhead.

Bruce

In 1964 The University of Michigan formed a widely representative ad hoc committee to propose means to satisfy the exploding demand for computational service in science and engineering. They recommended that strategies to exploit the multiprogramming use of large mainframe computers, the only way to provide high speed computing at that time, be explored as soon as possible. The introduction of phone-connected terminals as input/output devices, in conjunction with a large multiprogramming capability, would make interactive check-out, or debugging, of new programs possible. University teaching and research activities mean that a large number of new programs are always under development. The interest in facilitating interactive computing existed in many universities at that time.

Michigan had a small head start in developing the related, complex operating systems for academic use. Also in 1964, a mid-size System 360 (model 50) was acquired  by the Computing Center, and, by the subsequent enhancement of a primitive operating system from Lincoln Laboratory, a limited, interactive multiprogramming capability was created. A small, talented group of programmers, led by Michael Alexander, were the architects of this system. This was the beginning of a long sequence of improvements ultimately designated UMMPS (UM MultiProgramming System). The dominant component, to manage interactive programs, developed under the title MTS (Michigan Terminal System).

About the same time a few Computing Center staff members prepared requests for proposals from three mainframe manufacturers - IBM, GE, and Burroughs. These requests, sent in December 1964, described how these companies could retrofit their machines to include another level of address indirection.  GE, then responding to a similar request from MIT, was interested, but the other two were hesitant about such an undertaking. They were unconvinced about the market for such a complex augmentation. IBM’s initial disinterest was discouraging because the System 360 base registers could easily be increased from 24 bits to a full word of 32 bits, and they had experience in the implementation of indirect addressing by base registers. Increasing the address size would greatly expand the virtual address space. (232 = 4,294,967,296)

GE responded to our proposal in March 1965 with a high level description of what had been planned in their collaboration with MIT and Bell Labs. Shortly after our proposal was sent to GE, Michigan was invited to join that collaboration. Our response to the invitation was not enthusiastic. MIT and Bell Labs had written the specifications for the modifications of the GE model 635, an older design with eighteen bit absolute addresses much like the IBM 709. Michigan would be a latecomer to the collaboration without much input to the already existing specifications. Besides, we still believed that the newer IBM System 360 was more amenable to modification. Nonetheless, we were willing to consider joining the GE consortium if there were no other alternative. It was not surprising that IBM was concerned by the loss of MIT and Bell Labs as influential customers, and the prospect of also losing Michigan persuaded them to reconsider our proposal.

The three principle designers of the System 360, Amdahl, Brooks and Blaauw, initially thought that additional indirect addressing was unnecessary clutter on their relatively new design. They generated a counterproposal, nicknamed the Blaauw box, which localized the additional circuitry required but greatly restricted the desired dynamic relocation capability. This proposal was rejected and shortly thereafter IBM agreed in principle to the System 360 augmentation we had suggested. There was still a lack of corporate enthusiasm, however. Apparently IBM believed that the size of the market for such a specialized machine was about one. The augmentation of the System 360 model 65 for Michigan was to be called 65M or alternatively 66. IBM would do no system programming for this unique model, which would not be generally available on the market. But almost immediately requests for this machine began to arrive at IBM from other universities without the system programming experience of Michigan. IBM decided to support the Model 65M for a wider market and it was renamed the Model 67.

The Computing Center began immediately to adapt the prototypical multiprogramming system MTS to the forthcoming Model 67 with its large virtual memory and system-controlled address indirection. IBM simultaneously embarked on a major programming effort to produce TSS (Time Sharing System) in about a year. If this could be done Michigan need not duplicate the effort, and so we collaborated with IBM on TSS design and implementation. There followed almost two years of trips, conferences and study papers. We began to have some reservations about the possibility of completing this huge, complex software project in a timely manner. The specter of having the model 67 delivered without working system programs convinced us to continue some back-up efforts. The UMMPS implementers at Michigan continued with their efforts to incorporate the dynamic relocation capability of the forthcoming Model 67 in their multiprogramming system.

As it turned out, TSS was an enormous undertaking that was not close to completion in its scheduled time, even though IBM assigned hundreds of programmers to the task. It seems that there is an inherent sequentiality in the creation of any complex structure having many interacting parts. The old truism, “Nine pregnant women cannot produce a baby in one month.” seemed to apply.

In January 1967 a single processor Model 67 was delivered. UMMPS and the embedded MTS were rapidly adapted for this larger computer.  But the difficult incorporation of the virtual memory features (dynamic address translation via indirect addressing) was implemented on a testbed basis only until November  1967, when the Model 67 and its controlling programs became fully operational. The productivity improvement was dramatic. Before the new hardware, about five interactive programs could be simultaneously executed. Afterwards fifty could be accommodated with one or more batch programs at the same time. The mix was controlled to keep the processor and the  input/output channels as busy as possible. About nine months later a dual Processor Model 67 was installed, more than doubling the throughput. At that point the controlling programs managed both multiprogramming and multiprocessing, too much for one acronym. Participating in such unbridled innovation was a heady experience, though exhausting. There was still room for individual creativity, unlike building large, complex physical systems such as jet engines.

--On August 2, 2010, at 1:54 PM, Scott Gerstenberger wrote:

Jeff,

My recollection of the model number stories is that originally the 67 was
called a 66M and subsequently (before delivery) changed to a 67 when
IBM realized that other customers besides Michigan, albeit a small number,
were interested in ordering one.

Scott

--On August 2, 2010, at 6:22 PM, Mike Alexander wrote:

There was a lot of back and forth about the exact features to be included on the machine for Michigan.  During this process various model numbers were used, sometimes more as internal code names than serious proposals.  I definitely remember a 65M and I think 66.  I don't recall a 64 (or 60 or 62, for that matter).  Perhaps some of these were Blaauw box machines.  I agree with Scott that IBM settled on a more "official" designation (67 instead of 65M) when it appeared that this might not be a one-off for Michigan.

--On August 3, 2010, at 11:37 PM, Scott Gerstenberger wrote:

My recollection is that the original model number was 66M
(not 65M) and that was changed to 67 even before the machine
was delivered to "Ann Harbor, Michigan." But I have no proof.

Scott

[Ann Harbor is not a typo or at least not a typo by Scott. -Jeff]

Comments