AlphaVM on Hyper-V

This articles shows how to run AlphaVM on Hyper-V. It is recorded on Windows Server 2012 R2.

The configuration

The Hyper-V virtual machine must have enough resources to run AlphaVM. The resource requirements are the same as for running AlphaVM on a physical machine.

In this article we will configure AlphaVM and Hyper-V machine with the following configuration:

  • 1 Alpha CPU (basic), 2 Hyper-V virtual CPUs.
  • 512MB RAM, 2048 MB RAM in the Hyper-V VM.
  • One AlphaVM NIC. There are two ways to configure network:
    • Shared NIC. One Hyper-V NIC shared by Windows and AlphaVM.
    • Dedicated NIC. One Hyper-V NIC is dedicated two AlphaVM and one to Windows.

CPU Configuration.

In this example we allocate two host logical cores to serve AlphaVM, which will be configured with one CPU.

Memory configuration.

In this example we specify that the Hyper-V virtual machine will allocate memory dynamically. This setting is good for 1 basic CPU and 512MB RAM.

Network configuration

Hyper-V virtual machines commnuicate to the outer world via virtual NICs connected to a virtual switch. The switch connects virtual NICs and physical NICs. Create a switch for each physical NIC that you wish to be accessible in the virtual machine. Here is an example of such a switch.

The switch can be used to create a NIC for a Hyper-V virtual machine.

The hardware acceleration can be left at the default settings.

AlphaVM can be configured to use either shared or dedicated Hyper-V NIC. Shared NIC is shared between AlphaVM and Windows. One Hyper-V NIC is enough for Windows and all AlphaVM NICs. This approach is simple to configure. However, the single NIC can be a performance bottleneck.

The dedicated NIC approach requires a separate Hyper-V NIC for Windows and for each AlphaVM NIC. This apprach allows to optimize network traffic.

Shared NIC

In the advanced NIC settings the MAC address related options are important. Note that here we set MAC address spoofing. This means that AlphaVM can share the same interface with Windows.

If DECnet Phase IV is used, it also changes the MAC address to correspond to the DECnet address. The MAC spoofing is important to handle such changing MAC addresses.

Since the NIC is shared between Windows in Hyper-V and AlphaVM, AlphaVM must use a MAC address different from the hosting Windows.

Make sure all the AlphaVM NICs on your network are assigned unique MAC addresses.

Dedicated NIC

Dedicated NIC will not use spoofing of MAC address. The idea is that both Hyper-V and AlphaVM MAC addresses are the same.

DECnet changes the MAC address to something that corresponds to the DECnet address. In our example we assume that the DECnet address is 1.2. The corresponding MAC address is AA-00-04-00-02-04. We set this address to Hyper-V. You can use the DECnet address converter to determine the corresponding MAC address.

If you do not need DECnet, just use some unique MAC address in both Hyper-V and AlphaVM.

Now we have to disable all Windows network protocols on the dedicated interface. If we leave them running, Windows protocols will conflict with the OpenVMS/Tru64 protocols, because both network stacks would use the same MAC.

The protocols are disabled as follows.

  • Right-click on the network icon on the right side of the task bar and select “Open Network and Sharing Center”.
  • Select “Change adapter settings” on the left side of the form.
  • Right-click on the desired adapter, for instance Ethernet 2, and select Properties.
  • Disable all the protocols as shown below.

At last set the MAC address in AlphaVM.

Performance remarks.

AlphaVM is a sort of hyper-visor. Running AlphaVM on a hyper-visor like Hyper-V results in a double virtualization, which comes with some performance overhead and restrictions. In particular, it is hard to guarantee that AlphaVM gets enough host resources to deliver adequate performance.

When running on Hyper-V, please make sure that the VM that hosts AlphaVM gets full resource backup: 100% of the required CPU and memory.


AlphaVM can run on a Hyper-V hosted OS (Windows in this example).

Leave a Reply