2010-03-10
Mythology about Unix workstations
Talking of Unix workstations, there's some mythology about them that seems to go around, or at least that may be going around and I feel like preemptively shooting down.
First, people who think that 1990s era Unix workstations were marvels of performance and features that have yet to be surpassed either have a very selective memory, were using very high end hardware from SGI, or never really used those workstations. I have used everything from Sun 3/50s onwards, and I can assure you that a modern PC that costs $500 smokes each and every one in terms of speed and features.
In fact, as I alluded to in passing in my original entry, old workstation hardware was actually rather terrible. It was not bad for the time (sometimes it was quite good), but it was not very good on an absolute scale and it was tolerable only because the software was equally limited so as not to exceed the hardware's capabilities. Let us not idolize the old days lest we be forced to live in them again, thanks.
The other piece of mythology is the idea that Unix workstation hardware was at least a marvel of niceness and good design compared to the hodgepodge and hacks of the current PC architecture. I am pretty sure that this was historically false; I certainly remember a whole stream of Usenix papers about what could basically be called 'the secret life of your hardware', where a number of kernel hackers wrote up bitter descriptions of exactly how bad various pieces of hardware were, such as Ethernet driver chipsets. Graphics were not exempt from this; for example, at the start of the 1990s, some DEC people wrote an entire paen about the advantages of an extremely simple framebuffer because its 2D performance beat the heck out of most of the then-current more complex graphics chipsets.
(Before you snort in disbelief at this, note that it was an 8-bit framebuffer. That was considered mainline or even advanced at the start of the 1990s, since at least you got 256 colours.)
I don't think that this should surprise anyone. People make design mistakes at the start of anything, because it takes time for them to figure what really works and what just looks good on paper, and the Unix workstation era happened in the early times of people making (commodity) chipsets for most of the hardware capabilities that we now take for granted.
(The less said about various workstation vendor predecessors to SCSI the better, especially in the server space. I still remember our early 1990s decision to pass over this new, low-performing 'SCSI' stuff in favour of an advanced, fast IPI disk interface on our new Sun 4 server. This being a university, that server stayed in production long enough for our laughter to become rather hollow.)
2010-03-05
PCs are (or can be) Unix workstations
My entry about the end of Sun was posted on Hacker News and garnered a comment thread. In two comments that I'm condensing and excerpting here, HN user rbanffy wrote (in context):
There is a huge difference between a glorified PC and a Unix workstation.
[...]
Unix workstations were built to run Unix. A Mac pro is essentially a PC. [...]
The difference looks subtle now, when every desktop computer is essentially the same. For those who lived through this, like the writer of the original article, it was blatantly obvious.
Since my name is being invoked, I am going to speak up: I reject this view. A Unix workstation is no more and no less than a machine, dedicated to a single user, that runs Unix with a graphical environment. The idea that PCs cannot be Unix workstations is the same kind of elitism and mythology that people deride in Lisp fanatics, and it is clearly wrong. To argue otherwise is to use a very selective reading of the history of Unix workstations, one that ends the moment that Unix workstation companies started making products using PC components and PC companies started making 'Unix workstation' grade components usable on PCs.
It is also to use a selective reading of the history of the marketing of Unix workstations. Very few Unix workstations were sold as ultra high performance machines; most were sold as 'fast enough and cheap enough', and quite often this was not very fast and as cheap as possible to run Unix. In fact, at the height of the Unix workstation era you could routinely find workstations without floating point hardware.
Yes, the Unix workstations generally worked with less sweat and effort. This was for the same reason that Apple Macs just work, namely that the workstation vendor controlled both hardware and software and so could closely integrate them.
Yes, Unix workstations originally had better performance than PCs. This was because PC performance was terrible, in fact all performance was terrible, and people had to pay extra for the ability to run Unix at (marginally) acceptable speeds. Both parts changed over time; by the end of the era of dedicated Unix workstations, they were worse than PCs for the same (or more) cost (cf). One major reason that the march of the cheap slaughtered the dedicated Unix workstation vendors was that PCs got good enough to be good Unix workstations.
(Unix vendors could still build $10,000 machines that performed better, but it turned out that people by and large didn't need and weren't interested in that much performance; once they could get what they wanted and needed for less than $10,000, they stopped paying $10,000 for machines. Late-period Unix workstation vendor marketing tried desperately to persuade people that they really did need that performance, for obvious reasons.)