What is CPU server: basic, JIT1, JIT2, JIT3?

AlphaVM supports several CPU implementation back-ends. They all implement the same Alpha CPU functionality, but in various ways. Basic CPU is the simplest CPU implementation based on the interpretation of Alpha instructions fetched from the memory. This CPU serfver is the only CPU server available in AlphaVM-Basic. JITx CPUs are based on the Just-In-Time compilation […]

What does JIT mean in the CPU server name?

JIT stands for Just-In-Time compilation. The JIT CPU servers on the fly compiles the Alpha code to native x86-64 code. This technology allows to significantly increase the CPU performance, because the compiled code runs much faster. JIT3 is i=on most workloads a factor of 5-10 faster than the interpreter.

What about synchronous vs. asynchronous JIT?

By default JIT is asynchronous. It means that the CPU interprets Alpha code when there is no compiled version of it. At the same time the JIT compiler compiles the code in case it is needed next time. Synchronous JIT would compile first and then execute. There is no parallelism in it. Synchronous JIT is […]

How fast is AlphaVM CPU?

AlphaVM-Basic performs is a slow EV4 system. AlphaVM-Pro in JIT3 mode on a modern and powerful host can be as fast as EV7. Check the https://emuvm.com/support/benchmarks/ for more information about AlphaVM performance.

Why AlphaVM alsways consumes 100% of the host CPU core?

AlphaVM by default always consumes 100% of the host CPU core, even when the guest OS (OpenVMS or Tru64) is idle. This is because the guest OS idle loop is code that does not do anything to release the CPU. AlphaVM-Pro has a feature called the idle release. AlphaVM recognizes the idle loops of the […]