User manual

Introduction
1
Introduction
VAX MP is a variant of popular SIMH simulator that extends original SIMH to simulate multiprocessor
VAX system. It allows execution of OpenVMS operating system in symmetric multiprocessor (SMP) mode
on host computers that have multiple processors, such as modern multicore and hyperthreaded PCs.
VAX MP allows user to run virtual VAX systems configured with up to 32 virtual VAX processors, limited
by the number of logical CPUs on the host system.
VAX MP targets primarily hobbyist use of OpenVMS. While the intent of VAX MP is to provide
reasonably stable SMP VAX system simulation environment for hobbyist purposes, it cannot possibly
have the same level of quality assurance or support as a commercial product. Therefore VAX MP is not
recommended for production use.
If you are looking for a production solution, please examine other options, such as VAX simulator from
Migration Specialties or Charon-VAX/nuVAX product ranges by Stromasys. In addition to offering
support and more thorough testing, these commercial solutions offer better per-processor performance
as well, since they perform on-the-fly binary JIT compilation of VAX code into host processor code
1
,
which neither SIMH nor VAX MP as its derivative do not perform. If you are looking for multiprocessor
solution for production use, presumably your motive is increased performance, and that is where JIT
simulators significantly surpass interpreting simulators such as SIMH in general and VAX MP specifically.
2
Some of the mentioned commercial products also offer increased memory size beyond virtual
MicroVAX 3900 limit of 512 MB (for example Charon-VAX 66x0 simulator offers up to 3 GB), making
them altogether more suitable for production use.
VAX MP simulates a multiprocessor variant of MicroVAX 3900 or VAXserver 3900 a machine that never
historically existed. It does not simulate any historically existing VAX multiprocessor. The purpose of VAX
MP is not a simulation of specific historically existing multiprocessor hardware, but of general VAX
multiprocessing architecture, and execution of OpenVMS in multiprocessor mode.
VAX MP is composed of two essential pieces. One part is modified version of SIMH VAX simulator
executable that supports parallel execution of multiple virtual processors. The other part is
paravirtualization module (called VSMP) that is installed inside OpenVMS. During OpenVMS boot
process or, at user’s discretion, at any time after boot, VSMP is loaded into OpenVMS kernel and
exposes VAX MP multiprocessing capability to OpenVMS.
When OpenVMS boots on VAX MP, OpenVMS initially recognizes the machine as uniprocessor MicroVAX
3900. However OpenVMS SYSGEN parameter MULTIPROCESSING is used to force-load multiprocessing
version of OpenVMS kernel regardless of being started on a virtual hardware that is initially recognized
1
Or, in nuVAX case, hardware execution or emulation of VAX code.
2
As ballpark figures, whereas VAX MP executes on Intel 3+ GHz based PC at about 35-45 VUPS per host processor,
commercial version of Charon-VAX simulating single-processor VAX executes (according to the manufacturer) at
125 VUPS per processor.