Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe Tom Watson, Jr. wasn't so brilliant #21

Open
lispwright opened this issue Sep 28, 2018 · 4 comments
Open

Maybe Tom Watson, Jr. wasn't so brilliant #21

lispwright opened this issue Sep 28, 2018 · 4 comments

Comments

@lispwright
Copy link

lispwright commented Sep 28, 2018

This is based in on a lot of recent reading of IBM's history through the early System/370s days. Also factor in MIT's core memory patent licencee and IBM being in a nasty legal battle as IBM was doing its you bet your company System/360 project, the economics of which were very dependent on its cost for core memory.

Anyway, an essay I've been working on for a while, here's its current form, ask for more details if you wish:

Under him, IBM all but completely blew virtual memory and thus time sharing. That cost them both MIT and Bell Labs which in theory was a very big deal (not so much if you note how it didn't actually prompt IBM to change their minds), and according to Fred Brooks in his Mythical Man-Month, implicitly was the biggest technical reason the OS/360 project was such a disaster, not just in various sorts of direct costs, but also in producing sometime very hard to use, which they're living with today ... but not in very many new applications written for it.

Inside IBM there was a major, visible fight between the proponents of pure batch and time-sharing, and the former won, with the exception of the mid-range System/360-67. This went on to the point that the System/370 line was officially launched without virtual memory support, although it seems that for the System/370-145 someone snuck in the necessary raw hardware for a Translation Lookaside Buffer (TLB), that's a small cache of the last N translations from virtual memory to physical memory. Note AMD initial Barcelona CPU steppings had to turn that off, for a reported 25% performance hit.

And I have to wonder about the System/370 only officially starting to support virtual memory the year after Watson left the company due to health; if it was not his decision, it would seem likely it was someone he was supporting for whatever reason.

And of course by mostly losing the university time-sharing market IBM lost tremendous mind share, and while the market it boxed itself into was big and important, and needed its seriousness and reliability, it of course became a very small fraction of the total general computer market, and in disruptive technology style people eventually figured out how to make PC based technology as solid as mainframe technology, modulo for a long time with very heavy duty storage systems, the whole Storage Area Network (SAN), Fiber Channel thing. Some things like that happened before then with superminicomputers like the DEC VAX.

In fact, starting with the Stretch supercomputer, which ended up being about 1/2 the projected speed, maybe IBM started losing the plot when it came to architecture,

The decision to reduce all their computers above the 1401 series to one architecture was brilliant, as were many details that set the standards to come, like a 32 bit macro-architecture with 8 bit bytes, byte addressable ... but that also made doing anything with the System/360 more political than before, for such decisions touched on a vastly larger part of the company.

How much of this is 20/20 hindsight? Well, not listening to your customers, especially when one of them is MIT, is generally unwise.

And what MIT was asking for had perhaps been sufficient proven by the Manchester Atlas, officially commissioned in 1962, before the System/360 at this level was set in stone (virtual memory is something that's wrapped around the core of a processor, in those days and for some time it was frequently implemented by adding a box to a basic CPU between it and main memory, see e.g. the Multics "Appending Unit").

[ The following is more of an outline. ]

Wikipedia:

The PDP-10 is the machine that made time-sharing common, and this and other features made it a common fixture in many university computing facilities and research labs during the 1970s, the most notable being Harvard's Aiken Lab, MIT's AI Lab and Project MAC, Stanford's SAIL, Computer Center Corporation (CCC), ETH (ZIR), and Carnegie Mellon University.

The PDP-6 was a mechanical/repair disaster, project started in 1963, looks like the first delivered was shipped to MIT in very late 1964 or very early 1965.

The PDP-10 KA10 looks like late 1967, and the (few) shipments of the balky PDP-6 meant a great deal of software would have been quickly available for the PDP-10. Its physical hardware architecture was also very amenable to adding virtual memory, whereas IBM's Solid Logic had traces on both external sides of the cards its modules were plugged into, plus posts for wire-wrapping. Not impossible, but much harder than the KA10, and I'm sure IBM was much less interested than DEC in supporting such modifications given their political stance against time-sharing and virtual memory at the time.

@larsbrinkhoff
Copy link
Member

Interesting essay!

I have the impression IBM did quite well for themselves in spite of their initial lack of timesharing options.

The first PDP-10 was powered on March 9th 1967. See #2. "Late 1967" may well have been early customer deliveries. Maybe that's when the AI lab got theirs, because ITS was running by summer 1968.

@larsbrinkhoff
Copy link
Member

Sorry, I was confused. I don't know when ITS was running on the PDP-10. MAC Progress Report IV from 1967 says a PDP-10 purchase was planned for the following year.

@lispwright
Copy link
Author

lispwright commented Sep 28, 2018 via email

@larsbrinkhoff
Copy link
Member

MIT got I think the first delivered PDP-6, helped specify the instruction set so it would, for example, run LISP well, as far as I know ITS was first developed on it, as well as MACLISP, etc.

That agrees with information I read. @philbudne has a list of PDP-6 serial numbers, and the AI lab machine is number 2. @aap got an email from Peter Samson about his involvement in the instruction set design.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants