Method and apparatus for implementing an ESA/390 virtual machine environment in a heterogeneous instruction set environment
Original Publication Date: 2003-Mar-06
Included in the Prior Art Database: 2003-Mar-06
According to the present invention, a dynamic compiler instantiates a predefined virtual machine interface, not the architectural specification for a full machine. In another implementation, the dynamic compiler instantiates a machine and implements the hypervisor interface. This approach can increase performance by exploiting information made available by the operating systen to the virtual machine or hypervisor.
THIS COPY WAS MADE FROM AN INTERNAL IBM DOCUMENT AND NOT FROM THE PUBLISHED BOOK
YOR820020331 Louis J Percello/Watson/IBM Michael Gschwind
Method and apparatus for implementing an ESA /390 virtual machine environment in a heterogeneous instruction set environment
Dynamic compilation technologies such as dynamic binary translation or dynamic optimization today is employed at one of two levels: either a process-level, where a separate binary translation environment is created for a user process, Typical representatives are FX!32 by DEC/Compaq and HP's Dynamo, or at the full system level, where the entire system runs under binary translation, typical systems are IBM's BOA and Transmeta's Crusoe.
Process level dynamic compilation requires the operating system to be coded natively on the platform, which is hard for legacy systems with a large installed base such as IBM OpenMVS or Microsoft Windows.
Full system dynamic compilation is can address this issue, but has to be more conservative in the assumptions it can make about code reuse and code behavior. In particular, it must assume that any code page transition could branch to an invalidated page, and other assumptions about the memory and paging behavior in a system. This can lead to significant overhead.
While these approaches seem irreconcilable for most platforms, on IBM ESA/390 based platforms, there is a capability to instantiate "Virtual Machines" which duplicate the behavior of a typical ESA/390 architecture. To exploit efficient emulation, operating systems for ESA/390 have added special communication mechanisms between a virtual system/390 emulated by VM, and an operating system running...