[HN Gopher] Nobody ever ported Doom to run on a Cray 1
       ___________________________________________________________________
        
       Nobody ever ported Doom to run on a Cray 1
        
       Author : tosh
       Score  : 152 points
       Date   : 2020-12-21 13:21 UTC (9 hours ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | immmmmm wrote:
       | i remember finding one board of it in a drawer at my university.
       | it instantly felt like a special piece of electronic history,
       | even before i realized it was a cray! (i ran to the old cray in
       | display in the hall and indeed was a board for it :)
       | 
       | the guy at the computer museum was happy
        
       | pklausler wrote:
       | CAL was the most programmable (and readable) assembly language I
       | ever got to use, and the machine encoding of the instruction sets
       | of the Cray-1 and Cray-2/-3 were so clean that one could read
       | code straight from an octal dump. I think that something
       | important has been lost since those days.
       | 
       | My favorite anecdote of 25 years on those machines is what we put
       | into the 64-bit word at address 0 on the Cray-2. In ASCII, it
       | read ~Z~E~R~O. If you jumped to it, it worked as four no-op
       | ("PASS") instructions, and at word 1 was a jump to the library's
       | routine that dumped registers and said "hey you jumped to a null
       | function pointer". If you ever saw ~Z~E~R~O in a dump, you knew
       | that a load from null had taken place.
       | 
       | I still wish a modern ISA would implement real vectors; SIMD is
       | still a distant second-best.
        
         | reitzensteinm wrote:
         | Could you elaborate on what you mean by real vectors? It's not
         | immediately obvious looking at the Cray specs what
         | differentiates it from the kind of SIMD we have today.
        
           | CamperBob2 wrote:
           | Support for vector chaining, I imagine.
        
       | Animats wrote:
       | The Computer Museum in Mountain View has a Cray-I. The last time
       | I saw it, it was at the left side of the lobby, unmarked, and
       | some caterers were using its padded bench seats on the power
       | supplies to stack their stuff.
       | 
       | Has anyone been able to emulate Tandem systems and their OS? That
       | was a interesting high-reliability system, still worth attention.
       | The hardware just cost too much back when it was a product.
        
         | Daniel_sk wrote:
         | There are two in the Computer Museum - one on the left side,
         | you can sit on this one :-). And then one in the actual museum
         | area, this one is opened to show the insides.
        
       | numpad0 wrote:
       | Was there ever a GUI for Crays? I don't bet on it but think
       | there's no image to run Doom on GCP or AWS for the same reason, a
       | keyboard is not but a graphical array display is among
       | requirements for void portDoomWithoutReason(); to be called from
       | OnFoundCapableComputerDoomPlayable(machine Box)
        
         | bluGill wrote:
         | One of the purposes of X was to run the work on a super
         | computer and display it back to your desktop. Generally it was
         | expected that time on the super computer was too expensive for
         | interactive use, but you might display back a running
         | simulation to see status.
        
         | randomifcpfan wrote:
         | There was a third party frame buffer. Apple had one and used it
         | to prototype advanced UX on their Cray.
        
         | johndoe0815 wrote:
         | If all else fails, a vnc server might be an option...
        
       | grawprog wrote:
       | Well...since this is on HN, I wonder how long it's going to be
       | before the new Cray 1 port of doom comes out.
        
         | mhh__ wrote:
         | Has anyone got one lying around?
         | 
         | (It draws a mere 100kW at the wall, I'm guessing no)
        
           | quickthrowman wrote:
           | It actually has a 150kW 208v 3-phase generator set that
           | provides power to the power distribution cabinet which then
           | uses variacs to transform the voltage to 5v. The genset has a
           | theoretical current output of 415A, pretty serious power!
           | 
           | https://www.edn.com/cray-1-super-computer-the-power-supply/
        
             | AnimalMuppet wrote:
             | Sounds like a good thing to _not_ touch by accident...
        
               | CrayBoy wrote:
               | It's not Cray if the bowels; don't touch. Merry
               | Christmas. May the light shine upon yous. < 3
        
             | fiddlerwoaroof wrote:
             | Just plug it in at a supercharger.
        
             | anonymousiam wrote:
             | Ohm's Law says 5.2V @ 770A is only 4.004kW. With one of
             | these on each of the three phases, that's a total of
             | 12,012kW.
             | 
             | So where did the rest of the power go, into cooling?
             | Perhaps it was a linear power supply instead of a switcher?
             | That would make for lots of inefficiency.
        
               | kens wrote:
               | The Cray-1 has 36 power supplies: 20 that supply -5.2
               | volts, and 16 that supply -2.0 volts. (The weird negative
               | voltages are for ECL, the fast logic family used in the
               | Cray.) The bench around the Cray holds the power
               | supplies.
               | 
               | Interestingly, the power supplies themselves are
               | unregulated; regulation is done by the motor-generator
               | unit.
        
           | NeutronStar wrote:
           | Only 6$ an hour where I live, not bad.
        
           | 83457 wrote:
           | Computer History Museum had one when I stopped by about 10
           | years ago. Not certain if operational as anything other than
           | a cozy bench. Anyone know?
        
             | kens wrote:
             | No, the Cray is not operational. Only a few things at the
             | CHM are operational: the PDP-1, the IBM 1401 lab, and the
             | RAMAC disk drive.
        
               | macjohnmcc wrote:
               | When I was in high school we had a PDP System 10 and PDP
               | 11 where I took a programming course on PDP-11 assembly
               | language. It makes me feel old knowing these weren't
               | antiquated at the time.
        
               | ficklepickle wrote:
               | Wow! Did you ever meet Charles Babbage? ;)
        
             | mhh__ wrote:
             | They used Freon coolant so it's possible they can't/won't
        
               | Geezus_42 wrote:
               | Couldn't they use one of the freon substitutes like
               | R-407c?
        
               | mhh__ wrote:
               | Not my area of expertise but if I had a literally
               | priceless old supercomputer, I wouldn't necessarily want
               | to risk running it outside of its intended operating
               | conditions (especially after 40 years)
        
           | grawprog wrote:
           | This guy made one.
           | 
           | https://www.chrisfenton.com/homebrew-cray-1a/
        
             | Nomokis wrote:
             | Man, this guy has some great articles.
             | 
             | http://www.chrisfenton.com/cray-1-digital-archeology/
             | 
             | http://www.chrisfenton.com/cos-recovery/
             | 
             | I just wish he'd made higher resolution pictures.
             | 
             | He's also seriously hardcore (or maybe I feel out of depth
             | because I'm a software guy):
             | 
             | > I built a robot that would manually move the head forward
             | 1/5200th of an inch at a time (there are 400 data tracks
             | per inch, so this gives me a whopping 13 steps per data
             | track!), while a high-speed analog-to-digital converter
             | would take the analog signal straight from the drive's read
             | amplifier and buffer it into an FPGA at a blistering 80
             | million samples-per-second (like I said earlier, the theme
             | here was overkill...the data was only changing at ~10 MHz
             | or so)
             | 
             | Related: http://www.modularcircuits.com/blog/articles/the-
             | cray-files/
        
           | tinus_hn wrote:
           | Here's a simulator:
           | 
           | https://www.chrisfenton.com/homebrew-cray-1a/
        
         | vidanay wrote:
         | I'm disappointed they never released a Cray Z computer.
        
       | CydeWeys wrote:
       | I've seen these in at least two museums (Computer History Museum
       | in Mountain View, CA and the Smithsonian Air & Space Museum in
       | DC). They definitely make for good museum pieces, and you could
       | probably pull enough parts together to get at least one working
       | if you really wanted to pull this off.
       | 
       | Incidentally, a Cray-1 uses 115 kW of power when running. Would
       | that be a new power consumption record for a device that's just
       | running Doom?
        
         | tnolet wrote:
         | I saw one last summer at the Musee des Arts et Metiers in
         | Paris. I was more fascinated then I expected
         | https://commons.wikimedia.org/wiki/File:Musee_des_Arts_et_Me...
         | 
         | They looked more like abstract art pieces or 70ties science
         | fiction props.
        
           | codesnik wrote:
           | interesting. that huge transparent block is here for
           | aesthetics only?
        
             | ajlburke wrote:
             | I gather it was used to regulate the temperature of the
             | liquid coolant - but instead of just some pipes or
             | whatever, the designers turned it into a nice "waterfall"
             | feature. I think it even lit up.
        
             | [deleted]
        
         | aarong11 wrote:
         | Depends, we could always create a cryptocurrency which renders
         | and plays doom in a distributed manner. Reward people with
         | "DoomCoins"
        
       | tempodox wrote:
       | Wouldn't that make Doom much harder? In-game adversaries would
       | take advantage and execute vectorized attack patterns supported
       | by cached-ammunition flow. Would Doomguy be able to survive at
       | all?
        
         | whoopdedo wrote:
         | On the other hand, I can't wait to see E1M1 in <4s.
        
           | Something1234 wrote:
           | What's E1M1?
        
             | FartyMcFarter wrote:
             | Episode 1, map 1. The first level in Doom.
        
         | IncRnd wrote:
         | You should be okay with your Reciprocal BFG as a force
         | multiplier.
         | 
         | EDIT for those who may not have understood my comment. You
         | would be hard-pressed to find a Cray that performed division
         | and would instead need to perform a reciprocal multiplication
         | in constant time.
        
           | ficklepickle wrote:
           | How do you compute the reciprocal without division? A
           | precomputed lookup table?
        
       | johndoe0815 wrote:
       | A real working Cray 1 is a bit hard to find today, but in
       | addition to the FPGA version by Chris Fenton that was already
       | mentioned (https://www.chrisfenton.com/homebrew-cray-1a/), there
       | is also a simulator for various Cray models at
       | https://github.com/andrastantos/cray-sim
       | 
       | The biggest problems will be finding a C compiler for the Cray
       | and adding a framebuffer output, I think... but this is a very
       | nice challenge :).
        
         | ardy42 wrote:
         | > The biggest problems will be finding a C compiler for the
         | Cray and adding a framebuffer output, I think... but this is a
         | very nice challenge :).
         | 
         | I suppose you could run Doom as a batch job: input is a file
         | with the control input and output is a gameplay video.
        
           | greenshackle2 wrote:
           | Doom can record game sessions to LMP file format, which is a
           | recording of the inputs on every frame. That's usually how
           | people share runs in the Doom speedrun community. So yeah a
           | LMP-to-video converter could be legitimately useful to some
           | people.
           | 
           | https://doom.fandom.com/wiki/Demo#Custom_demos
        
           | [deleted]
        
       | dn3500 wrote:
       | I ported parts of a TCP stack to the Cray X-MP in the 1980s. It
       | was so fast that at first I thought it was broken. Hit <return>
       | on the compile command line and the prompt would come right back
       | almost immediately.
        
         | IncRnd wrote:
         | I used to program a Y-MP2 around 1990. That had an SSD and was
         | the abolute fastest machine I had ever used at that time.
        
           | MrBuddyCasino wrote:
           | > 1990 > SSD
           | 
           | Can you elaborate?
        
             | lvh wrote:
             | 1990 is probably a little early for something flash-based,
             | but battery-backed DRAM- and CCD-based devices existed
             | before that.
        
               | rleigh wrote:
               | Even Sinclair in the 80s had a prototype for the QL,
               | which didn't go into production: http://www.computinghist
               | ory.org.uk/det/31270/Sinclair%20QL%2...
        
             | IncRnd wrote:
             | It was at the NSCEE (National Supercomputing Center for
             | Energy and the Environment) installation at UNLV for Yucca
             | mountain. There were two vector processors and an amazing
             | 5GB SSD. The OS was UNICOS, a successor of System V and COS
             | (Cray OS), and a user was actually fully swapped out on
             | context switches.
             | 
             | The SSD wasn't new by any means. A decade earlier the
             | Cray-1M optionally could have had an SSD.
        
               | lvh wrote:
               | To be clear, we're talking about battery-backed RAM
               | (specifically MOS RAM) there, right?
        
               | IncRnd wrote:
               | I don't know how the solid state storage was implemented.
               | There are bunches of Cray brochures on the Internet that
               | might have that information.
        
               | walrus01 wrote:
               | I don't think it was battery backed by anything in the
               | Cray, though I could be wrong. The general idea being
               | that the Cray would be installed in a facility that
               | should have massive whole AC circuit, true online type
               | UPS, and generators backing that up.
        
             | martyvis wrote:
             | I guess a RAM drive, where you aren't using mechanical
             | methods for mass storage, can be considered a solid state
             | drive
        
               | beamatronic wrote:
               | Even the Amiga had a RAM disk
        
               | makach wrote:
               | RAM disk is the one thing I really miss on PC/Mac
        
               | s_gourichon wrote:
               | On most Linux /dev/shm is a RAM disk. Nothing to install
               | even.
        
               | nl wrote:
               | You can easily setup a RAM disk on Windows at least.
               | 
               | These days with M2 SSDs it isn't really necessary and (as
               | was the case back then) you are usually better off using
               | any spare RAM for programs.
        
               | lreeves wrote:
               | There are many software tools to give you a RAM disk
               | these days on pretty much all major operating systems -
               | even ones that give you a disk based off of GPU memory!
        
               | Y_Y wrote:
               | Has any of you actually successfully used a ramdisk
               | recently on a modern GPU? The documentation available for
               | doing this in Linux is pretty scarce.
        
               | 1over137 wrote:
               | You can still create RAM disks with macOS. See `man
               | diskutil`.
        
             | fentonc wrote:
             | All of the early Cray mainframes (even the Cray-1 discussed
             | here, although maybe only the somewhat later Cray-1/S)
             | supported a "Solid State Disk" peripheral, which was
             | basically a refrigerator full of RAM that was accessible
             | via DMA channel. The intent was to be used to swap in and
             | out large data sets from memory - I think even the early
             | ones went up to a gigabyte in size.
        
               | neilv wrote:
               | I believe the idea also made its way to microcomputers
               | (or was realized independently) shortly after, like with
               | the SemiDisk:
               | 
               | https://web.archive.org/web/20201112040756/http://www.s10
               | 0co...
        
             | ardy42 wrote:
             | This isn't about a Cray, but it's roughly contemporaneous.
             | According to https://trs.jpl.nasa.gov/handle/2014/26062,
             | the Cassini space probe had an "SSD," and the contract to
             | build it was awarded in 1992. It sounds like it was pretty
             | much a RAM disk made from DRAM.
             | 
             | I'd imagine it would be practical to build and use
             | something similar for a multi-million dollar supercomputer
             | where cost is secondary to performance.
        
               | [deleted]
        
               | walrus01 wrote:
               | I have also seen mention of this in spacecraft design
               | discussion. The concept being that for things which are
               | powered from a radioisotope thermoelectric generator,
               | it's safe to treat the RAM as storage.
               | 
               | Because there's absolutely no scenario after launch, in
               | which the constant trickle of wattage flow from the RTG
               | to the onboard DC distribution buses and computers would
               | ever be interrupted.
               | 
               | If the power from the RTG were to ever be cut off it
               | would be a catastrophic mission failure anyways, entirely
               | aside from the power to the onboard computing systems
               | being interrupted.
        
               | jandrese wrote:
               | Presumably the OS would be in some nonvolatile medium and
               | the SSD would only be used for stuff like storing sensor
               | data anyway. In the event of corruption or a system
               | restart you would lose all of your working data but could
               | bootstrap the system again.
        
             | walrus01 wrote:
             | It's my understanding that it wasn't a flash memory based
             | SSD like we would see today, but just a huge amount of RAM
             | (for its era) that could be used as storage. The facilities
             | that typically hosted a Cray could be counted upon to have
             | very reliable power, so the power failure risk of keeping
             | stuff directly in RAM was low.
        
         | dboreham wrote:
         | ...and in red, since it was going so fast.
        
           | freeqaz wrote:
           | Or would it be shifted to be more blue??
        
             | marcodiego wrote:
             | Only if it was getting closer.
        
               | AnimalMuppet wrote:
               | It's the reply from the machine to you. It should be
               | blue.
        
               | cgriswald wrote:
               | The message is always heading in the same direction. The
               | relevant variable is the movement between the machine and
               | you. You should probably hope it's red because if the
               | machine is fast enough that the blue shift is perceivable
               | to the human eye, it might be the last thing you see.
        
       | ThinkBeat wrote:
       | The Cray Computers felt like magic back in the day.
       | 
       | A guy is making a replica. He had some issues finding the
       | operating system and systems software but he overcame it
       | 
       | Persistence pays off.
       | 
       | I am sure it would be fun to part doom to it. Easier too since
       | the new versions draws Considerable less power.
       | 
       | https://gigaom.com/2014/01/14/the-search-for-the-lost-cray-s...
        
         | arthurcolle wrote:
         | How did he obtain the OS?
        
           | ethbr0 wrote:
           | Per TFL,
           | 
           |  _" Andy Gelme, an Australian software developer who once
           | worked for Cray. He too had a disk pack [containing the OS]."
           | 
           | "For the greater part of the last year, [Tantos, a Microsoft
           | electrical engineer] arduously reverse engineered the OS from
           | the [corrupted / incomplete] image. Despite a few remaining
           | bugs, the Cray OS now works."_
        
       | musicale wrote:
       | Until now?
        
       | ChrisArchitect wrote:
       | just picturing the Jurassic Park scene.....
       | 
       | "This is E1M1. I know this!!"
        
       ___________________________________________________________________
       (page generated 2020-12-21 23:00 UTC)