In the previous post, I’ve described my attempt at making UNICOS 4 running on my X-MP simulator. And, well, the failure that it turned out to be. However anticlimactic the end result was, it kept me occupied for a few months and allowed me to get some insights into how UNICOS worked. After I gave up on the X-MP-based UNICOS, I’ve looked at what else is there in the pile of bits that I’ve recently acquired.
And one thing waiting for me there was a full CD of UNICOS 10.0. You might have noticed, I said CD. If you’ve raised your eye-brow, saying ‘I didn’t know X-MPs supported CR-ROMs!’, you would be right. They didn’t. The OS in question was not for the X-MP but the much more modern J-90 series of machines, which is why at first I put aside looking into it more deeply. But now with the X-MP effort proper stuck, I thought this might provide some way to take the project further.
So from now on – and this is the true reason to start a new series of articles – I’m going to chronicle my attempt at changing the simulator to support the J-90 series and getting UNICOS running on it.
What’s a J-90 anyway?
Eventually I’ll get around doing a video on this subject, but for now I have to stick to the blog format on this subject.
The story of the J-90 starts in 1972, when Seymour Cray got fed up with CDCs management keep asking him why his development program is late and over-budget. He left Control Data to start his own company: Cray Research (or CRI for short).
Here, he was his own boss to develop the fastest machine on the world. The result was the Cray-1 introduced in ’76.
The design was a huge success and gave rise to a series of machines, the first being the Steve Chen-led X-MP, introduced in ’82.
If you don’t see a huge difference, that’s because there wasn’t – at least on the outside. Of course the internals got more integrated allowing to squeeze four processors and more memory into essentially the same volume, but the underlying architecture didn’t change much. Wikipedia calls it a cleaned-up version of the Cray-1 and that’s a good way of looking at it.
Parallel to the X-MP design effort Cray himself started work on the Cray-2, a significantly different architecture. This machine, which started selling in 1985 after several delays used a significantly higher operating frequency (244MHz instead of the roughly 100MHz of the contemporary X-MP) but due to architectural differences was not all that much faster in real-world applications. In fact, in some benchmarks, it was slower.
By this time Cray gave up day-to-day management of his company so he could concentrate on the design efforts. He wanted to work on fixing the shortcomings of Cray-2 but faced opposition from corporate management. As a result Seymour left Cray Research and founded Cray Computer Corporation to work on the Cray-3 and eventually Cray-4 machines. History repeats itself.
Cray realized that the ECL logic used in the Cray-1 and 2 machines was limited in terms of achievable speed. He saw big – theoretical – potential in the then new Gallium Arsenide semiconductors. To achieve higher clock-speeds, he also needed to get the circuits closer together. Large machines mean long wires which limit how fast parts of a computer can exchange information, and consequently operate. So Cray set out to experiment with a brand new integrated circuit process, brand new packaging technology and brand new cooling and powering solutions to support the high densities he targeted. All on a single project. What could possibly go wrong? In the end a single Cray-3 was delivered – but never paid for – and the new company went bankrupt before the Cray-4 design was finished. In retrospect CRIs management was arguably right in not liking this project.
With all this drama around the Man himself, Cray Research continued improving the Cray-1 architecture with the Y-MP in 1988.
It was followed by the C90 in ’91,
and finally the T90 in ’95.
These machines added ever-increasing number of processors, RAM and faster clocks while leaving the original architecture of the mainframe more or less intact. They all were based on ECL logic, though of course at higher and higher integration densities. The architectural changes were mostly limited to the expansion of the address space from 24 bits to 32 and the addition of an IEEE standard compliant floating-point operating mode. Only in the T90 we start seeing some major upgrades but by then the product line ran out of steam.
If this wasn’t complicated enough, another player – a small startup, called SuperTek – entered the scene in ’85. Their machine, a much slower but cheaper version of the X-MP (called SuperTek S-1) was designed to lure away some budget customers, like universities. While the plan didn’t work out all that well for SuperTek, Cray took notice. When the little startup when belly-up, CRI acquired SuperTek, and re-branded the machine as the XMS.
Cray also finished the second (Y-MP compatible) design and released it as the Y-MP EL. The ‘EL’ in the name stands for ‘entry-level’.
This machine started a second product line for Cray leading to the J90 in 1996.
All these machines were based on CMOS chips, which at the time were much slower – though lower power – then the ECL technology used in the high-end mainframes. Due to their lower power consumption, they were much cheaper to operate not to mention the installation difficulties: the big machines were usually liquid cooled which meant installing lots of pipes and extra equipment in the server room. They had weird shapes that required special attention and site-planning. They needed unusual things, like motor-generators to operate. Imagine having to find a place for one of these in your data-center!
In contrast, these low-end machines were delivered in standard 19” racks, used normal power and were air-cooled.
The last model in the entry-level series was the SV1 which was anything but entry level – though that should be subject for a different time – and was introduced in ’98.
Interestingly, this line of super-mini computers stayed pretty much compatible with the Y-MP instruction set, while the high-end machines broke compatibility in the C90 and especially in the T90.
There were several intermediate designs too, the various product lines weren’t as nicely delineated from one another as it might seem. The Cray-1 gave way to the Cray-1S, which introduced the IO subsystem concept. There was the Cray-1M, a machine variant with slower but cheaper memory. There was the X-MPea, a stepping stone between the X-MP and Y-MP lines. The C90 existed in liquid and air-cooled variants (C90A) and using two different memory technologies (C90D). The J90es followed the J90 with higher clock-speeds. These later models were upgradable to the SV1 by replacing processor boards, while the SV1 itself existed in two main variant, then was followed by the SV1e and SV1ex models.
The story gets even more complicated with Cray Research eventually being acquired by SGI, then spun off and getting acquired again by Tera Computing, not to mention the many newer product lines that are not related the original Cray-1 design.
So, after all that wall of words, what is a J90? It’s a low-end CMOS re-implementation of the Y-MP, with up to 32 100MHz CPUs and several gigabytes of DRAM. It implements more or less the Y-MP instruction-set, with a per processor performance closer to the X-MP. It provided a lower cost compared alternative than contemporary high-end offerings, yet provided a decent FLOP/$ operating point if you didn’t need the best of the best in terms of computational performance.
If you’ve read this far, thank you again and see you around next time, when I plan to start exploring the install CD and its contents.