Apollo DN10000: Quad CPU/128Mb RAM workstation from 1988 [pdf]
jim.rees.org
jim.rees.org
Nice enough CPU and memory. Not a very nice Unix experience, analogous to HP-UX it was complex, and a bugger to configure C code on if you came from BSD land (Ultrix, SunOS/Solaris)
Sockets felt like a badly coded bolt-on. They really wanted to pretend the internet protocol stack wasn't there.
Apollo DomainOS (Aegis) was technically better than Unix.
At some point (before my time), marketing must've decided they needed to be more Unix-compatible, and they did some clever things to also give it multiple Unix personalities (both SysV and BSD), while still keeping their original better personality.
One place you'd feel pain around then, on most any Unix platform, is in downloading "portable" code off the Internet. Even for code already made portable in some sense, you'd probably have at least modify the Makefile, if not at least one C file, to select what portability you wanted, or to work around flaws in their portability. (SunOS 4 was my favorite for awhile, and at least half the reason was that code I'd grab from an FTP site was usually easy to get running, because it was probably developed on either SunOS or at least another BSD. Ultrix was also OK.)
As a teen, I managed a porting lab, so I got to sysadmin and own-time develop on all of them. Writing portable C code for the different Unix workstations, I'd have to do it in a subset of K&R C, plus a portability mechanism that I built as I went (for architecture differences, library differences, C compiler differences).
I do recall the Apollos being one of the more annoying Unix workstation platforms for C. I think they preferred safer languages for systems programming (again, they were ahead of their time), and maybe they didn't go all-in on developer ergonomics for C. Also, I guess the compiler probably predated ANSI C.
Is it just different optional command line arguments to the common utilities? TAR vs Gnu TAR?
Even to this day, it's not uncommon to find libraries that won't compile with one of GCC, clang, etc. or even the same compiler but Linux vs MacOS.
It was even worse in ye olde times before package managers, I'm assuming.
EDIT: I forgot to mention that System V and BSD are two of the major families.
Both influenced Unix-like OSes far and wide, such as SysV style init scripts in certain Linux distros, MacOS being derived partly from BSD, Solaris being a continuation of SysV IIRC, and more.
There was a rough standardization in where certain things could be found, command line flags, etc.
"In order to provide maximum portability of software from Domain/ as to other Berkeley or System V UNIX systems, Apollo provides two complete and separate UNIX environments, rather than a hybrid of the two. Any workstation can have one or both UNIX environments installed, and users can select which environment to use on a per-process basis.
Two key mechanisms support this facility. First, every program can have a stamp applied that says what UNIX environment it should run in. The default value for this stamp is the environment in which it was compiled. When the program is loaded, the system sets an internal run-time switch to either berkeley or att, depending on the value of the stamp. Some of the UNIX system calls use this run-time switch to resolve conflicts when the same system call has different semantics in the two environments.
The other mechanism is a modification of the pathname resolution process, such that pathname text contains environment variable ex- pansions.
[...]
When UNIX software is installed on a node, the standard trees (/bin, /usr) are installed under directories called bsd4.3 and sysS.3. The names /bin and /usr are actually symbolic links dependent on the value of an environment variable named SYSTYPE. That is, /bin is a symbolic link to /$(SYSTYPE)/bin. When the program loader loads a stamped program, it sets the value of SYSTYPE to either bsd4.3 or sys3.3, according to the value of the program stamp. Therefore, a program that refers to a name in one of the standard directories will access the correct version for its environment."
[0] https://bitsavers.org/pdf/apollo/014962-A00_Domain_OS_Design...
How much did this beast cost back in the 80s?
Edit: Max configs were up to $250,000 ($663,937.02 today) back then according to this price list: http://www.bitsavers.org/pdf/apollo/Apollo_Price_List_Jul88....
Things moved rapidly back then.
Tualatin for its over clockable head room. The Sempron for its oddly large L1 cache for the spec.
The technology change from 1988 to 1998 was really huge, much more compared to what you could get since 2010 until today.
Yes I realize there were accelerator cards for Amigas later on, like the BlizzardPPC, but they weren't an officially supported option by Commodore (most accelerators came out after Commodore was pronounced dead in 1994) and were more like kludges.
(if not Commodore's incompetence. E.g. Apple did manage to hang on)
I kept that thing running until 2008 or 2009. Great machine.
I was however lucky enough to be able to get a Tyan Tiger MPX alongside a couple of 'Morgan' core Durons... Can't remember if they were 1.0 or 1.2GHZ... But wow that thing was -nice- on Windows 2000 and held up better than most than other systems I built in that era (Although, in retrospect that may have been because most other builds I did suffered from the capacitor plague...)
The -intended- purpose was Dual Athlon MPs.
That said, AFAIK some early AXPs could be used, many later ones could have the bridges 'repaired' to allow dual operation.
Early Morgan core (Model 7) Durons however could also run MP.
One big pain point however, the built in USB was broken on early revs (but hey, they bundled a PCI USB2.0 card to compensate) but also the chipset was... -meh-.
But wow it was a solid board!
I imagine these chips might have been optimized for throughput on well-suited and carefully tuned programs, where the compilers could be convinced to put out good code (since it was apparently something like a VLIW).
Domain OS was a multiuser, multitasking OS running on a Motorola 68020 with 4 Megs of RAM with distributed filesystem and diskless clients which did swap over the network. Ah, and with versioning filesystem. And Spice simulations were resonably fast compared to a 386/40 running Pspice on MS-DOS.
[1] https://en.wikipedia.org/wiki/Alpha_21164#Alpha_21164PC_(PCA...
http://www.cpu-collection.de/?l0=co&l1=DEC&l2=Alpha+AXP
Half a decade later, which was a long time back then.
Comparison: 80286, 1982; 80386, 1985; 80486, 1989.
Later, some m68k Macs like the Quadra 605 allowed for 128 meg SIMMs, and the PCI Power Macs really took things to a new level. The Power Mac 9500 could take up to 1.5 gigs of memory in 1995.
It's a shame that no computers really distinguish themselves like that any more, aside from high end server systems.
I don't recall the name of it though but I remember that it was a peculiar PCB design, with part of it resembling a breadboard. I think the name started with Ex, like Excelsior or Excalibur or something like that.
> It's a shame that no computers really distinguish themselves like that any more, aside from high end server systems.
Well, intel mac pro from 2019 could take up to 1.5TB of ram while I would guess standard back then for PCs was 16-32GB at most. So should be comparable (1.5GB vs 16-32MB of ram in 1995)?
The opposite thing though, "really roughly approximately (and couldn't care less how precise)" (you get what I mean) is often colloquially used in German, under the term "Pi times Thumb" (Pi mal Daumen).
So yes you can say "250tsd anno 1988 sind pi mal daumen 600tsd heutzutage".
There was a ton of high integration semi innovation coming out of UK in eighties, on par with Japanese.
Mostly I remember it for the amazing monitor and the laser mouse and the mirrored mouse pad with the grid - truly amazing to me at the time.
Even though by the time I arrived we were mostly buying Sun, HP-PA, and Windows NT, the company started as an Apollo shop. And so SCM at HQ was based on Apollo DSEE ("dizzy"), which they liked, hence, DN10k servers scattered around.
https://bitsavers.org/pdf/apollo/008788-A01_Getting_Started_...
Was also where I happened to hit ctrl-enter after the admin had neglected to flip it back into normal mode. During the middle of a class day. Chaos.
But these machines are from 1988, wouldn't one be designing 386 or even 486 clones at that time?
edit: I looked it up and there was a dispute if the license applied until 1991 for the 386.
Edit: Domain/OS! https://en.wikipedia.org/wiki/Domain/OS
(Maybe a bit like how Emacs is a power user platform, but if you stuck it in front of someone who only knew NOTEPAD.EXE mouse editing and File->Save, they'd be unaware of the Emacs power, and fixate on why the most basic things don't quite work how they thought everything works.)
There were some hints at the sophistication, like you could see that the windows with the command line shells in them were designed to support this. (Rather than the windows being emulators of character-cell terminals, like the command line windows we're still using almost everywhere else 40 years later.) And you could see the special function keys on the keyboard, and the strange bar at bottom of screen, and the indicator icons that appear in the titles of windows, though it'd take awhile to learn what they all they can do or mean. And you might be aware of how smoothly integrated the networking is, compared to everything else you'd seen.
A few years later, I ended up at the DEC GEM compiler project but by then the Alpha code generator / optimizer were fairly developed already.
Then I went to HP and worked on the PA-WW --> Itanium code generator.
Good times.
Makes this look like a truly artisan crafted machine -- lovingly crafted, all the way down to the documentation.
A big part of it is merely nostalgia, but another part is that they put a sizable effort behind these things. They were more than happy to highlight the unique qualities and capabilities of the computer and put more than a few days effort into the promotional material.
We still have that a little nowadays but it is usually on a website that has 'that' layout we have seen a thousand times trying to copy the Apple website design language.
Wait a second.
So while this is all fancy and gives a better performance (with a mature compiler chuckles in Itanium)... but it's totally incompatible with virtualisation (as we know it on x86 systems)?
Cache trashing is surely always a way to throw out the performance, but this design would make it times worse, AFAIU?
Not that the Apollos actually had hardware support for virtualisation features such as nested page tables. These machines were from the days before virtualisation was popular. Only IBM mainframes had it back then AFAIK.
The big issue about VLIW hardware is that it tends to address a particular performance point - usually lets you squeeze out the last bit of performance without having to go to the complexity of dynamic instruction scheduling (and doubling the CPU size) - the problem comes when you want to do your next chip and the trade off ends up being different, you can't keep the same instruction set and so making an ARCHITECTURE is hard
My very brief Domain experience was that it had a very similar shell style UX, with cryptic, Unix style commands (i.e. ld vs ls) making very “tounge tying” for someone comfortable with Unix.
We had a very early Apollo with some CASE software that nobody was particularly interested in, so it pretty well just sat there. And being all alone it couldn’t really show off Domains networking.
Even if we need to deal with the lack of Domain/OS specific keys.
The GUI was the best marriage between a TUI and a GUI. You had on the keyboard a holder with all the functional keys for your program (DM, Spice, etc). I really miss such a thing today.
Fascinating to see real users in the comments, you're very welcome to share any experience you had with a machine :-)
Love seeing the fiber optics stuff at the end, every era had their own buzzwords with cool pictures!
The only thing I don't like is the inside of the case, it reminds me of some dell or HP systems, densely packed stuff with lots of metal brackets that's hard to work with and probably "vacuum cleaner" style fans in it too (I don't see the fans in the fotos, but I just feel it from the looks of it)
https://news.ycombinator.com/item?id=34370897
https://news.ycombinator.com/item?id=34029638
Just to clarify, the DN10000 PRISM processor was apparently not subject to it.
Also, there a bunch more Apollo brochures here:
Mb looks more like megabits.
It's often easy to find what's meant from context but sometimes we're discussing network stuff and it becomes hard to figure out what people mean by "gb" or "mb" or other frankenunits because the context refers both to data in transit and at rest. It's almost certainly not gram bit and milli bit which helps narrow it down...
A $700K (in 2024 dollars) gaming machine, that is.
Today it seems all innovations follow in step with whatever the current trend is as opposed to being a trendsetter of its own design.
Anyone else getting exhausted about hearing LLMs and AI already?
The hand-drawn watercolor diagrams on the next few pages are neat though
They were used for things like VLSI design and simulation, so a US$250000 system was actually worthwhile—especially since it and other Apollo systems could share their resources with each other on the local network.
I mean, is it even possible to get a personal supercomputer today?