Long gone, DEC is still powering the world of computing
arstechnica.com
arstechnica.com
My first internship was working on a SCADA system on Vaxstations running VMS. My mom had to help me learn FORTRAN for this. (we were all unix/c at school).
My first job was as a sysadmin starting in 93 for an academic stats dept that used DECstations and were getting their first DEC alphas running OSF/1. A lot of my job at first consisted of getting the open source applications they needed running in 64 bit mode (you would not believe how many int/pointer conversions I had to fix). I remember adding a memory kit to a 3000/500 in the first month of working there. That memory kit had a retail value higher than my annual salary at the time & it was terrifying.
My next job was as research staff at at a comp sci dept doing OS research. I wrote drivers for Myricom NICs for DEC OSF/1. (and had the funniest bug.. we had to use GCC to compile the drivers, and I missed the no-fp-reg directive, so every time the driver was active, it was using floating point registers as general registers and corrupting users fp state.. You'd see applications crashing left and right with FP exceptions).
A few years later, the same dept paid me full time to help port FreeBSD to the DEC alpha, and I maintained FreeBSD/alpha until alpha was walking dead, and we killed the FreeBSD/alpha port. I got one of the first API UP1000s (one of the 3rd party alphas that used the irongate chipset from AMD), and it was my workstation running FreeBSD/alpha for years.
Microsoft's Azure CTO wrote about it back in the day:
>In developing NT, these designers rewrote VMS in C, cleaning up, tuning, tweaking, and adding some new functionality and capabilities as they went. This statement is in danger of trivializing their efforts; after all, the designers built a new API (i.e., Win32), a new file system (i.e., NTFS), and a new graphical interface subsystem and administrative environment while maintaining backward compatibility with DOS, OS/2, POSIX, and Win16. Nevertheless, the migration of VMS internals to NT was so thorough that within a few weeks of NT's release, Digital engineers noticed the striking similarities.
Those similarities could fill a book. In fact, you can read sections of VAX/VMS Internals and Data Structures (Digital Press) as an accurate description of NT internals simply by translating VMS terms to NT terms.
... "Why the Fastest Chip Didn't Win" (Business Week, April 28, 1997) states that when Digital engineers noticed the similarities between VMS and NT, they brought their observations to senior management. Rather than suing, Digital cut a deal with Microsoft. In the summer of 1995, Digital announced Affinity for OpenVMS, a program that required Microsoft to help train Digital NT technicians, help promote NT and Open-VMS as two pieces of a three-tiered client/server networking solution, and promise to maintain NT support for the Alpha processor. Microsoft also paid Digital between 65 million and 100 million dollars.
https://www.itprotoday.com/compute-engines/windows-nt-and-vm...
"According to inside sources, many portions of NT’s code and even the comments were identical to Mica. As a result, Digital sued Microsoft. Microsoft and Digital settled out of court and the result was the Digital/Microsoft Alliance. " [0][1]
[0] https://www.itprotoday.com/compute-engines/death-alpha-nt
[1] https://techmonitor.ai/technology/dec_forced_microsoft_into_...
One interesting design feature is that NT was designed to expose multiple APIs on top of its kernel services. POSIX was another available from the start, and OS/2, IIRC, was another. Win32 was to make it easier to port Windows software to NT and is more or less equivalent to Unix's libc as a layer on top of the OS.
Also IIRC, the Windows limitation I always make fun of, that of deleting open files (which is a fairly common thing in Unix - opening a file in /tmp, deleting it while keeping the file descriptor for further operation), comes from Win32, not the NT kernel.
However, a key point also is lost: DEC's early dismissal of personal computers, only to have them catch up to and eat the entire minicomputer category. Their early micros were half-hearted; the Rainbow 100 ran MS-DOS but was not PC compatible, and even lacked a FORMAT command for formatting floppy disks (you were expected to only buy preformatted disks without hub rings because they damaged the RX50 drive mechanism). The Professional 300 series, based on PDP-11 architecture, was deliberately made not fully compatible to existing PDP-11 minicomputers (and also had that RX50 floppy drive). They were so worried about cannibalizing their own business that they forgot that they could get eaten by their new competitors instead.
Compatibility with computer systems from other manufacturers was such an alien concept to the minicomputer makers that they all pretty much genuinely thought they were doing a great job by being mostly MS/PC-DOS compatible. A common compatibility test was whether a system could run unmodified Microsoft Flight Simulator out of the box. Most couldn't.
But I think more importantly they literally released 3 different computer personal systems literally on the same day. That was totally ridiclous.
Use your PDP11 stuff to compete head to head with PC or go PC compatable, half and half is bad. And then the also had CM/S at the same time. That a totally crazy and wasteful strategy.
The Rainbow guy then went to Sun and build the i386, another non PC compatable that failed. But arguable that one was actually a good idea.
In 1984, the only full 32-bit microprocessor that was actually available for a workstation or personal computer was the Motorola 68020. The Intel 386 wouldn't be out until late 1985.
> They were so worried about cannibalizing their own business that they forgot that they could get eaten by their new competitors instead.
There is perhaps an alternate history, where DEC started making 32-bit workstations and high-end personal computers around then as a major push, and not in the late 1980s as an afterthought. Though by 1984, IBM was starting to feel the pressure from competition in the low-end PC market. DEC would have felt that pressure! They were selling PC compatibles already. Margins were razor-thin, sales were impersonal. Exact opposite of how DEC usually operated. No surprise management saw it as a risky sector to further expand in.
And by 1992 they actually had a profitable PC buissness unit.
Plenty of manufactures make mostly server stuff. That really the issue, they failed on continung to be dominate in bigger servers. And much of their revenue depended on support contracts.
If you sell less systems and those systems are less depenpended on you Unix/NT then there is just gone be less revenue.
And MICA/PRISM.
And Unix. And the PDP series. And the OS/2 connection. And so much more.
When IBM and MS fell out and divorced over the OS/2 project, there were 3 versions of OS/2 underway:
• OS/2 1, 16-bit, for the 80286
• OS/2 2, 32-bit, for the 80386
• OS/2 3, 32-bit, CPU-independent and cross-platform.
IBM kept v2, finished it, and released OS/2 2, 2.1, 3, 4 & 4.5. V3 and after were codenamed "Warp" but the company failed to negotiate with the owners of Star Trek for a marketing deal.
MS kept OS/2 3, the planned CPU-independent version.
Dave Cutler and his team at DEC were angry at DEC management because DEC cancelled the Mica cross-platform OS and PRISM RISC CPU to run it.
Cutler was head-hunted by MS and given OS/2 3 to finish and make work.
The project was originally developed on the Intel i860 RISC chip, codenamed N10.
(8086, 286, 386, 486 = X86. 86 * 10 = 860 = i860.)
So it was called OS/2 NT for N-Ten.
While work was underway, Windows 3 became a huge hit. The company worked out a 32-bit version of the Windows API, called Win32, and renamed OS/2 NT to "Windows NT".
Yes, there is a lot of VMS design in the NT design, but it's not direct inheritance: it's because Cutler was planning a CPU-independent VMS with "personalities" that could run binaries from other OSes, such as DOS and UNIX.
And aside from that, there is also a fair chunk of OS/2. NT 3.x could use OS/2 HPFS disk volumes, run text-mode OS/2 binaries, and had an optional extra Presentation Manager add-on to run graphical OS/2 binaries.
also, they had their own FABs, with low volume, which would also be a big financial burden to keep updated. They sold their Hudson Fab to intel in the mid/late 90s.
I remember when we had to port to OpenVMS Itanium. Biggest pita was floating point conversion. Alpha used VAX float while Itanium used the IEEE standard.
I laughed the first time I saw the exit code "%SYSTEM-W-FISH, my hovercraft is full of eels".
I still to this day own a copy of "Writing real programs in DCL". Looks like a collectors item, hahaha!
I also somewhat miss the mainframe development. We had a fantastic (albeit homegrown) build system and architecture (thin client, thick server - all C++) that was hugely enabling. Was super slick and easy to build, you could easily create previews for product people to run and test. Really tight development loops... loved it.
[0] https://image-ppubs.uspto.gov/dirsearch-public/print/downloa...
[1] https://www.legacy.com/us/obituaries/seattletimes/name/theod...
I'd be interested in hearing more about this though!
[0] https://patentcenter.uspto.gov/applications/07233378/ifw/tra...
Sure, sure, pagerank was a huge step up (at the time), and larry & sergey would likely have gone down pretty much that path no matter what. But before Google, there was Altavista: fast, feeling comprehensive and pointing the way into the future.
The Hardware Behind AltaVista [0]
AltaVista: AlphaStation 500, 256 MB memory, 6GB disk. AlphaStation 500's handle all external traffic to the site. They run a custom multi-threaded Web server which sends queries to the Web indexer and News indexer.
Web Indexer: AlphaServer 8400 5/300, 10 processors, 6 GB memory, 210 GB RAID disk. This model is the most powerful computer built by Digital. These servers run the query engine. The Web index is larger than 40 GB, but most requests take less than a second.
Scooter: AlphaServer 4100 5/300, 1.5 GB memory, 30 GB RAID disk. The super-spider runs from this machine. It fetches pages from the Web and sends them to Vista, our primary web indexer.
Vista: AlphaServer 4100 5/300, 2 processors, 2GB memory, 180GB RAID disk. This machine indexes Scooter output and serves as a central distribution point for new index data.
News Indexer: AlphaServer 600 5/333, 896MB memory, 13 GB disk. This machine keeps an up-to-date index of the news spool: since new articles appear and old articles expire all the time, it is in fact quite busy, even though the index it serves is much smaller than the Web index.
News Server: AlphaServer 600 5/333, 896MB memory, 24 GB RAID disks. It maintains a current news spool for the News Indexer. It also serves the articles via http to those of you who don't want to know about news servers but want to read news. "
[0] https://groups.google.com/g/comp.unix.tru64/c/aB_z5YXwNMI
I'll always remember him, he wore the same engineering outfit every day (light blue button-down shirt) and sat in his one-person at the top of steps of the main building right outside the Ougadougo(?) meeting room so basically everybody walking into the building walked right past him.
It was also probably the most reliable. We never switched off or even logged out of the machines for 6 months to a year at a time.
It's crazy to me how my whole-ass DECServer with 2x EV4's wouldn't even be a good peripheral for portable computers today, and it could run hundreds of interactive user sessions.
We did reduce the baud rate on the ADM-3 terminals to 1200 so the I/O buffering would smooth over some of the swapping.
They did. Developers just chose to use it on abstractions rather than making faster apps...
In 2003 or 2004 I worked with a former DEC engineer who begroaned their reliability. He claimed that their hard drive engineers got obsessed with making sure the drives would last 30 or 40 years, when they would be functionally obsolete (and replaced) in 5 years.
P.A. Semi didn't even exist in 1998. It was founded in 2003, and was acquired by Apple in 2008.
OTOH the ill-fated Newton was also ARM-based. As well as the emate pseudo-laptop.
> Bits don’t change the processing power; they just change the amount of addressable memory
Now in my personal experience since the early 1980s, increased addressable memory is the biggest advantage for most personal computer workloads. (At least until software is rewritten to use 64-bit instructions) But there are definite processing power advantages too, and for the target market of DEC’s Alpha chip this was likely an important advantage.
There are three key bit widths that impact a CPU
Address bus: how much RAM the CPU could theoretically address.
Data bus: how many bits at a time the CPU can read from the RAM it can address.
Register: how much data an instruction can operate on at a time.
The author appears to understand only address bus width and may be influenced by early (valid, depending) complaints that the transition from 32 to 64 bit didn't benefit end users.
Going from 32-bit to 64-bit registers can provide a significant performance improvement. But only if you're doing math on 64-bit values. Without specialized instructions, 32-bit and smaller math won't improve due to the register width improvement.
Increasing the size of the data bus can provide a big performance improvement if the previous bus was narrower than the register width.
Many (most? citation needed) current, mainstream CPUs use the same bit width for all three (address, data, register).
The 8088 was notable back in the day because it had a 20 bit address bus, 16 bit registers, and an 8 bit data bus.
Edit: The Alpha had 64 bit registers -- it wasn't just a 32-bit register / data bus CPU with a 64-bit address bus.
This is quite wrong, for most x86_64 processors:
Address bus is 42-48 bits
Data bus is 32-128 bits
Registers are 64 bits but usable as 32/16/8 bits
Even on most ARM processors, neither the address bus nor the data bus are same width as either or the register width.
It’s very difficult to give just a single number for data bus width. Do you add all the DRAM channels? DDR5 has 2 x 32 bit channels where DDR4 has a 64 bit channel. What does bus width mean for PCIe, which uses very fast differential serial lines? Really, it hasn’t been a useful way to describe system performance since the 1990s.
Even then it caused me to reminisce on time spent on DEC VT100 and VT220s in the graduate terminal room at CMU.
Anyone remember the DEC Rainbow? My local university where I took classes during high school had some. Great keyboards just like the VT terminals.
DEC keyboards where the benchmark against which I compared all other since - most came up wanting.
Eehh.. The VT100 keyboards were good, but the VT220 and beyond use the LK201 and LK401 keyboards, which use mushy rubber-dome switches.
Sounds terrible. They should at least have given you VT230 or 240's, which were capable of Tek 4014 and ReGIS graphics...
Since then I've gone back and learned a lot of history about DEC, specifically how the series of PDPs were made. They had a huge impact on scientific analysis, making high speed experimental data collection and complex realtime logic relatively easy to implement.
HP-UX has replaced most of the OSF/1 stuff by the time I joined in 2011, but OpenVMS was just being upgraded from Alpha to Itanium boxes. I doubt it will survive to make the transition to x86, but it it still the backend for most billing and account management via STMS.
Some of the billing was migrated to AT&T systems, but we halted that project because it substantially increased customer churn just migrating them from STMS to Enabler and changing the bill format, even if amounts didn't change. I guess it reminded folks that AT&T was in charge now.
¹ https://www.ecma-international.org/wp-content/uploads/ECMA-4...
BTW, just released a new version at https://github.com/rbanffy/vm370
A similarly memorably experience would be quite elusive these days. For one thing the very concept of a powerful workstation is kinda old fashioned. But who knows, maybe the era of an "AI PC" will recreate some of the magic :-)
Notice that it is not a "Blockchain PC" or a "VR/AR PC" they are peddling, to mention some plausible recent hype candidates one could use :-).
I remember it being on the cover of LinuxJournal around 90's I could think/desire nothing else for 6 months :(
RIP!
% a.out
Segmentation Fault (unaligned access)
but it worked on Solaris!TLDR: The VMS file system supported key/value storage off the shelf (with multiple key views!).
I accidentally crashed a production VAX from userspace via an unaligned disk read on a unibus compatibility driver (they were also using the disk they assigned me for testing for swap; virtual memory machines don't run so well when the swap drive bug checks and goes offline) while developing a RSTS block I/O emulator.
I later had a small consulting gig writing a USB driver for NT. The people who hired me said that because I had experience with VMS drivers I'd be able to do it; not knowing different I said "ok" and I guess they were right.
Like you mentioned, DEC had RMS(record management systems). IBM System/38 & AS/400 had a built in DB2, and I believe System/36 had something similar.
HP 3000's MPE had records in the filesystem I think (it also came with the TurboImage database, though I think that was on top of the MPE filesystem)
Tandem Guardian had Enscribe.
CDD wasn't really free with the operating system, but it was ubiquitous. I spent some time hacking on that too for the report wizard people.
I concur, the notion of "an army marches on its data" was an intrinsic in those environments. It also extended to related technologies such as networking, messaging, lambdas (DECNet Network Objects), and [edit: distributed, cluster-wide] locking. Obviously there are echos of this in today's cloud and other tightly integrated offerings.
You might not agree with the entirety of the vendor implementation, but there was undeniably one to disagree with. The report wizard people competed directly with Datatrieve, along with being bundled with for instance a large ERP package.
If there's a VAX, we should see the 11/780. The user-facing device should be a VT100, or plausibly an AlphaStation. Other good choices are a PDP-6 (or PDP-10) or PDP-11/45. The images in the article are just bad clip art.