The sad state of Alpha emulators (for OpenVMS)
Published: 30-04-2018 | Author: Remy van Elst | Text only version of this article
❗ This post is over three years old. It may no longer be up to date. Opinions may have changed.
(You can read all my OpenVMS articles by clicking the picture above)
OpenVMS 7.3 was the last version for the VAX architecture. All later versions (like 8.4) are only available for the Alpha CPU architecture or Intel's Itanium platform. Since I don't want hardware running, which is suprisingly hard to get in The Netherlands, Alpha machines, I want to be able to run it in an emulator. simh is the best open source VAX emulator, but it does not support Alpha. My adventure with es40, the only open source Alpha emulator (development halted 10 years ago) ended prematurely since it crashes all the time. The only other available options are FreeAXP, Charon-AXP, vtAlpha and EmuVM AlphaVM. Only FreeAXP is available as a free (but not open source) download, Charon had a personal version but that is nowhere to be found nowdays, vtAlpha has no free version or trial and EmuVM Alphaserver also stopped with their free version.
This article focusses on the hobbyist aspect of Alpha emulation. If you're a company and spend a big sum of money, you will have all the resources you'll ever need.
Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.
You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $100 credit for 60 days.
Limits of commercial Alpha emulators
FreeAXP and AlphaVM offer a free or trial version of their product. FreeAXP is completely free to use (but doesn't work in my case) and AlphaVM offers a limited trial for a month.
AlphaVM used to offer a free version but they stopped doing that in 2015. I contacted them and their CTO was quick and professional with his reply's. He told me that they stopped the free version because it was used commercially, thus hurting the sale of their commercial offering. If you're a serious hobbyist their product is available for $400, which, comparing the prices to Charon-AXP and Avanti (freeAXP's commercial counterpart) is very cheap. The CTO, Artem Alimarin has, according to LinkedIn, also worked at Stromasys and created Charon-AXP, so he knows Alpha emulation.
I was given a 30 day trial version of AlphaVM basic, with both a Windows and Linux version download. The product does require to be always online due to a license check.
Charon-AXP has no trial version and they did not respond to my inquiries. vtAlpha same story, no trial or free version.
FreeAXP is limited to 1 instance with 128 MB RAM and emulates only an Alphaserver 400.
AlphaVM Basic is limited to 1 instance, 1 GB of RAM and it can emulate a range of Alpha systems.
Both AlphaVM and FreeAXP allow only 1 instance to be running. That limits your options to tinker with a cluster setup in OpenVMS. You could run multiple instances FreeAXP on different hardware. EmuVM checks the license so that doesn't work.
Both FreeAXP and AlphaVM don't support Idle CPU. That means that when the emulated CPU has nothing to do, it will still use full resources on the host machine.
So if you want to cluster, you need to stick to simh and OpenVMS 7.3, or get your hands on actual hardware.
I tried to install es40 on Ubuntu 16.04 and in that, install OpenVMS 8.4. That works up to halfway through the installer, then it crashes:
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual address=FFFFFFFFFFFFFFB8, PC=000000007 FDC5210, PS=0000001B Improperly handled condition, image exit forced.
Even after multiple tries it crashes on different times during the install:
Exception in CPU thread: System exception: cannot signal semaphore: count would exceed maximum. Emulator Failure: Threading error: CPU thread has died: AlphaCPU.cpp, line 532 Stop threads: cpu0 ali kbd ide0 ide1 srl0 Freeing memory in use by system... pci0.15(ali_ide).disk0.0(file): Closing file. *** Error in `es40': double free or corruption (fasttop): 0x0000000001886fe0 ***
No luck there. There are no other open source Alpha emulators.
FreeAXP is a free Avanti virtual Alpha technology demonstrator. It provides a virtual AlphaServer 400 equipped with 1 CPU, 128MB memory, 7 disk drives, two NICs, and two virtual serial ports.
I downloaded version 18.104.22.1687 on Windows 10 x64 (1709 build 16299.125). Installation was a breeze and the first try worked as well, I was able to install OpenVMS 8.4. The next try, actually running OpenVMS, fails horribly. The software crashes after loading the config file, and even killing the process via the task manager fails:
That adventure ended way to quickly. There is a topic here on
where this issue is discussed, but sadly without a fix yet. Downgrading winPCAP
had no effect for me.
I was given a trial of EmuVM's AlphaVM Basic, which will function for 1 month. It runs both on Windows and on linux (without GUI). Here is a picture of the Windows version:
I experienced no problems at all, the installation went without issues and subsequent starts all went fine.
The Linux version of AlphaVM has no GUI. Using the Windows GUI and the option
"View config as text" I was able to generate my configuration to use on Ubuntu
16.04. The Debian 7 .deb package installed and it all worked as expected there
as well. I did have to change filesystem paths on Linux and I removed most
options that looked liken they came from Windows. Disks on Linux can be created
dd and in Windows they provide a tool.
Here is a screenshot of the Linux version:
The only free option available is FreeAXP, but that is not available for Linux and the Windows version doesn't work for me.
The only working option is EmuVM's AlphaVM, which for me works both on Windows and on Linux without issues. The customer support is good and the product is featurefull.
If I ever would have to do a commercial OpenVMS deployment on Alpha, based on my experience now I would let the company buy the AlphaVM Pro version. That does not require an always online license check but a USB dongle or special hardware bind (also for virtual machines).
I do hope that EmuVM rethink their free offering. I suggested not to limit on emulated hardware like FreeAXP, but to just let the product run for two hours and then force five hours of pause until it can run again. No commercial use can be done in only two hours I guess. For hobbyist use it is fine however, in two hours I can tinker a fair amount. I do hope it does not require always connected licensing checks, since my tinkering often happens on systems without internet connection. Or, imagine the case that in 10 years I want to play again and their license server is not available anymore.
The other option is to get hold of actual Alpha hardware and install OpenVMS there. No limits and clustering is only limited how much hardware you can get your hands on. But, old hardware is hard to maintain and it won't get newer or cheaper.
So the state of Alpha emulation for OpenVMS in 2018 for hobbyists is poor. Let's hope VSI release a hobbyist version of the OpenVMS x86 release they are making. Then I can just use KVMN or Virtualbox to play with OpenVMS.Tags: alpha , blog , dec , decus , es40 , itanium , openvms , pdp , simh , vax , vms