Homebrew Cray-1
egil writes "Chris Fenton built his own fully functional 1/10 scale Cray-1 supercomputer. True to the original, it includes the couch-seat, but is also binary compatible with the original. Instead of the power-hungry ECL technology, however, the scale model is built around a Xilinx Spartan-3E 1600 development board. All software is available if you want to build one for your own living room. The largest obstacle in the project is to find original software."
Back when I was an intern with SGI, we took a day off* to visit the Chippewa Falls Museum**, which has a good-size collection of Control Data and Cray Supercomputer relics along with other items relevant to my interests***.
I got to poke around inside of an original Cray-1. To me, the most interesting thing about it was just how insanely packed the internal wiring was; I'd been expecting the intricate plumbing, but the sheer volume of wires running from Point A to Point B was really impressive. I mentioned this to the guy giving the tour, who turned out to be a retired manufacturing supervisor -- he told me that the hardest part of his job was finding women with both enough skill and small enough hands to handle the internal wiring jobs. The thing had been assembled *by hand*, every connection in this crazy bulk of wired clipped or soldered into place one after another.
Anyhow, after that I sat on the couch. It was not comfy.
* My boss was *pissed* about this -- she went around telling anyone that would listen that "interns are here to work, not go sightseeing". This marks the one and only time in my career that anyone in HR has ever done anything worthwhile, calling her up and telling her this was part of the program and she didn't get a vote.
** Seymour Cray moved to Chippewa Falls, his hometown, when he was still with Control Data because he felt most middle managers wouldn't want to drive that far just to bother him. Visionary man, that Seymour Cray.
*** Stuff from Leinenkugals.
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
I built a PVP11 "supercluster" and started with Xilinx. The hardware is great, but their software toolset is horrendous.
After months of free time development, I switched over to surplus Altera Stratix II video decoder hardware, got a copy of Quartus II, and was moving within weeks. Altera would be my suggestion for any geek who wants to try something similar!
Not even a cray supercomputer can survive the slashdot effect.
Now that's closer to true News for Nerds, Stuff that Matters. Not the Mac fish tanks.
However, I am a little disappointed that he didn't do something with the tower part of his cray. Cooling perhaps? Blinkenlights?
How does it compare in performance with the original?
because it just got slashdotted...
He has the needed software for the FPGA, but he has (so far) been unable to find some software to run on the machine. At least that is what I got from the TFA. It seems like no-one (including various 3 letter agencies) have copies of stuff so "old".
Never the less, I have to admire the effort put into this.
This is the sorta hack that should feature on the front page, instead of machining tin can case and similar tripes.
Hope he gets some software for that thing.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
What version of Windows does it run? I might have a copy here...
Doesn't everything run Windows?
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
When's he going to build the VAX front end? TFA alludes to the fact that the Cray-1 needed a dedicated mini as a front end, and sounds like he might actually get a diskpack from one (or image thereof).
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Send an email to the folks at the CISL division of NCAR.
They know a thing or two about Crays.
Again one of those instances where it'd be nice to be able to mod articles. This is the kind of stuff that needs to be on slashdot.
Free Pie! The Pie is Also Evil!
Turns out the system requirements aren't as stringent as once thought.
From TFS:
All software is available if you want to build one for your own living room. The largest obstacle in the project is to find original software."
Um... why not just click on the little link provided there?
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
I think there were (are?) four of Supercomputer Centers that had Cray 1 and later Cray X-MP machines. The Pittsburgh center did a lot of work with Carnegie Mellon, esp. the Robotics Institute.
I personally did one bit of work - porting a photometrically correct ray-tracer by Dr. Robert Thibadeau in the Image Understanding Laboratory from an Apollo workstation to the Cray at PSC - this would have been in 1989, I think. The one complication we had was that the Cray floating point format was different, so our first runs were all zeros. Other than that the code compiled and ran fine on the Cray. Of course, a run that took two weeks on the Apollo ran in about 40 seconds on the Cray.
A lot, maybe all of the work done on these machines was non-spooky research so perhaps you can track some of the professors at the associated universities, such as CMU, Northern Illininois, UCSD, Berkeley, etc. Also check out the weather folks - they have been among the biggest CPU cycle-burners for a long time. I worked briefly with one weather guy at a weather research facility in Wyoming but I don't recall any details - was it U Wy?
The SCs I recall are:
I'm sure that if you dig around in the universities you'll find folks who have stuff piled on a back shelf somewhere (probably in a tape format you can't read). Also look up in the old annals of the ACM SIG on supercomputing - that will give a line on researchers who were working on the Cray.
It's easier to be a result of the past, but more fun to be a cause of the future! http://www.spacefinancegroup.com/
As part two (see previous attempt) of my ongoing series in ‘computational necromancy,’ I’ve spent the last year and a half or so constructing my own 1/10-scale, binary-compatible, cycle-accurate Cray-1. This project falls purely into the “because I can!” category - I was poking around the internet one day looking for a Cray emulator and came up dry, so I decided to do something about it. Luckily, the Cray-1 hardware reference manual turned out to be useful enough that implementing most of this was pretty straightforward. The Cray-1 is one of those iconic machines that just makes you say “Now that’s a super computer!” Sure, your iPhone is 10X faster, and it’s completely useless to own one, but admit it . . you really want one, don’t you?
The Cray-1A Architecture
Now, let’s get down to specs - What is this bad boy running? The original machine ran at a blistering 80 MHz, and could use from 256-4096 kilowords (32 megabytes!) of memory. It has 12 independent, fully-pipelined execution units, and with the help of clever programming, can peak at 3 floating-point operations per cycle. Here’s a diagram of the overall architecture:
cray_architecture
It’s a fairly RISC-y design, with 8 64-bit scalar (S) registers , 8 64-bit/64-word vector (V) registers, and 8 24-bit address (A) registers. Rather than a traditional cache, it uses a ’software-managed’ cache with an additional 64 64-bit words (T registers) and 64 24-bit words (B registers). There are instructions to transfer data between memory and registers, and then register-to-register ‘compute’ instructions.
One of the coolest aspects of this machine is that everything is fully pipelined. This machine was designed to be fast, so if you’re careful, you can actually get one (or more) instruction every cycle. This has some interesting implications - there’s no ‘divide’ instruction, for instance, because it can take a variable amount of time to finish. To perform a divide, you need to first compute the ‘reciprocal approximation’ (something we *can* do in exactly 13 cycles, it turns out) of the denominator value, and then perform a separate multiply of that result with the numerator.
The vector instructions are particularly cool. A vector Add operation might take only 5 cycles to start producing results (remember, each vector can hold 64 values, so it takes 5 + 64 cycles to finish adding). Why wait for it to finish though? We can take the result output from the adder, and “chain” it straight into another vector unit (say a multiplier). And *that* only takes another 10 cycles or so, so we can chain that result into yet another unit (say, reciprocal approximation). Now, rather than waiting for the first operation to finish, we’re computing up to 3 floating point calculations per cycle. Clever programmers could sustain about 2 floating point operations per cycle, or 160 million instructions per second.
vector_chainingVector Chaining in Action!
The Hardware
The actual design was implemented in a Xilinx Spartan-3E 1600 development board. This is basically the biggest FPGA you can buy that doesn’t cost thousands of dollars for a devkit. The Cray occupies about 75% of the logic resources, and all of the block RAM.
spartan3_1600
This gives us a spiffy Cray-1A running at about 33 MHz, with about 4 kilowords of RAM. The only features currently missing are:
-Interrupts
-Exchange Packages (this is how the Cray does ‘context-switching’ - it was intended as a batch-processing machine)
-I/O Channels (I just memory-mapped the UART I added to it).
If I ever find some software for this thing (or just get bored), I’ll probably go ahead and add the missing features. For now, though, everything else works sufficiently well to execute small test programs and such.
The Software
When I started building this, I thought “Oh, I
I'm perfect in every way, except for my humility.
The new computing center is still under construction, so no supercomputers are located there yet. :-) Cray 1-A serial number 3 is in the hallway as an exhibit on floor 1B, and if you are near the NCAR Mesa Lab, it is open for self guided tours most days of the year.
Serial number 3 was in active use until its decommissioning in 1989 and ran COS (Cray Operating System). It was connected to the NCAR designed Hyperchannel network known initially as the NCAR Local Network (NLN) and later as the Mainframe and Server Network (MASnet). There were rows of 100 MB and 200 MB "washing machine" disk drives connected to it, and it had access to the NCAR Mass Storage System (MSS) for archival storage. Graphical output could be sent to plotters, large Xerox printers, B&W microfiche or B&W or color 35mm film. For a speed comparison, I once ran a Madelbrot generator to produce a 640x480 image on both the Cray 1-A and a Sun 60 workstation. The vectorized C code on the Cray took just under 8 seconds, the Sun several minutes to produce the image. Alas, we don't have much in the way of documentation anymore nor is there any of the original software.
You mean that nobody has ported GCC to it yet? It must run NetBSD right?
Shocked I tell you just shocked.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
If you were plowing a field, which would you rather use? Two strong oxen or 1024 chickens?
—Seymour Cray
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
the REAL news story here is that the guy is actually married!!
damn... my wife doesn't know what a Cray is, doesn't care what a Cray is and certainly wouldn't want to help me paint it....
in other news, i approve of the Bailey's and Stoli bottles on the table behind the mini-cray...
imagine a beowulf cluster of these! ;)
frog blast the vent core
Ages ago, I heard this story. Can anyone confirm if this is true or not?
Seems Steve Jobs, upon the success of the first Macs, was getting ready for the next step and he went to Cray Computer to buy one (probably to help design the PowerPC?).
Anyway, Cray Computers were not just sitting on the shelf waiting to be sold, so it seems Jobs created an altercation and demanded to see the manager about getting one, so they called Seymour down to the lobby. Steve introduced himself and said words to the effect of “I’d like to use a Cray to design the next Apple Computer”. Seymour replied “Thats great. I used an Apple Computer to design my Cray”.