Before I get to the project, a quick story...
The year was 1991. I was a wee lad
who had just entered his teens, living happily in Lahore, Pakistan. Being as geeky as I was, the very first purchase for me every month HAD to be BYTE magazine. In the days prior to the Internet, this was the most satisfying way to get my tech fix. But what I saw on the cover of the September '91 BYTE just blew my socks off. I was mesmerized. Here was the most beautiful computer I had ever seen.
So I brought the magazine home and poured over the Indigo cover story, over and over and over again. I read every line, then re-read it. Stared at the tiny pictures of IRIX and the desktop environment until my eyes were watery. I was absolutely and completely in love.
Unfortunately, I never got to use the Indigo back then. But I tried to "emulate" it every which way I could. I was writing a windowing environment in Borland Turbo C in those days, on my trusty 1MB 80286 clone. I tried to get the windows and icons to look as IRIXy as possible
Years later, when I was in college, I did get to work on O2, which was relatively new at the time. But it wasn't until 2010 that I finally fulfilled my boyhood dream and actually got myself an Indigo! Three to be precise. The R4000 arrived first, and it was in very bad shape. After a complete strip down, thorough cleaning and polishing of every nook and cranny, replacement of hard drives with "new" 36GB SCSI drives, replacement of the CMOS battery, reseating and cleaning of RAM and a fresh load of IRIX, it was back in business and looking stellar! The image in my avatar, in fact, is this very Indigo. A couple of weeks later, two other R3000s arrived. They were completely non functional as well, with some broken clips on the front panel and other damage. I spent days fixing things as best I could, changed out the drives and the CMOS batteries again, found some working RAM and did new IRIX loads. Even 20 years after my first exposure to the Indigo, owning one was incredibly satisfying.
Aesthetically, the Indigo is about as good as it gets and my machines put a smile on my face every time I see them. BUT, the other part that was so appealing about these SGIs is now history: the hot-rod performance. And worse, since Rackable have abandoned not only MIPS and IRIX, but also the fabulously legendary industrial design SGI was famous for, we are left yearning for what once was! (Overly poetic, I know, but if you love SGI systems, you know what I mean!)
So I resolved to move the ball forward as best I could. Yes, none of us can convince SGI to open source IRIX so that we may develop it further. Yes, none of us can unearth all the secrets of the PROM and design new MIPS hardware. But, perhaps there is a way to satisfy ourselves just a teeny tiny bit. Perhaps there is a spiritual successor to the SGI systems of legend that we - the community - can build. It may not run IRIX, but it could embody the philosophy and design aesthetic of SGI at its peak. To that end, I took on the project I describe below. I would build a "new" Indigo. A system inspired by the IRIS Indigo, somewhat different on the outside, but radically different on the inside. I chose this particular model because I think it's the most beautiful system SGI ever built. And I don't intend to just mod an existing Indigo and throw in an Intel motherboard. I really want to build a "new" computer that embodies what SGI's philosophy would have been if they had continued down the path they were headed in.
I started off with some CAD models, early revs of which are illustrated below:
I've now started developing a throw-away wooden proto case simply to play around with the internal configuration, see which boards I can fit, how I will integrate the other components (switch, PSU and so on).
Here's a pic a few hours into that process:
The final case will not be done in wood. It will be all metal. I hope to make it even more of a rolls royce than the original Indigo chassis/housing.
The one thing that is not shown in the model above is an LCD which will replace the SGI logo. I plan on using a 128x128 colour LCD wired to a USB port on the controller motherboard. This will display SGI logo animations, perf curves, status, "widgets" and other info.
My plans for the "innards" are somewhat influenced by the direction Cray's personal supercomputer and SGI's Octane III system are headed in. I want a number of Atom or ARM9 based Linux nodes integrated with a fast switch, controlled by a high performance board that has the best graphics I can fit into this box, given space and thermal constraints. The design inside will essentially look like a tiny rack for PicoITX (or thereabouts) boards, with a clean cable assembly (interconnect), a switch, power management circuitry and implementations of a few unique storage ideas I have for this project.
On the software side, I am thinking BSD or Linux, with a desktop environment customized to look like 4Dwm/IRIX would have in 2011. What the heck does that mean, anyway? Well, thd etails need to be worked out. But my starting point is going to be based on integrating some modern dock concepts into an otherwise IRIX-themed desktop. Pervasive transparency (not just aterm style faux transparency) would certainly have been part of IRIX were it in continued development and there are examples of similar obvious innovations that would definitely have been in an IRIX 7 or 7.5. I'd like to start off configuring/implementing as many of these as possible, and see how the system evolves.
Also on the sw side, I don't plan on using the Atom nodes just for traditional parallel applications. I want to integrate a software load balancer that dynamically queries load avgs on these nodes and farms out app execution (granularity: an app at a time) to various nodes. In this area too, I have some ideas about process profiling that will improve the load balancer's capabilities automagically, over time.
This is not a quick project, nor am I pursuing it because of any commercial motivation. This is just my way of paying tribute to a genre of machines that inspired me and gave me something to focus my passion on. It'll probably take me months - if not more - to work on this, but I do intend to get it done.
This may sound ridiculous, amusing or a waste of time to you, and I wouldn't blame you if it did. But if you have some ideas for improvements or things you think would fit with this project, I would love to learn more.
Thanks for patiently reading such a long post!