|
Intel® LVMM vs. general-purpose VMM
The LVMM is a custom VMM that was tailored for specific EIT usage models for the enterprise. General-purpose VMMs allow
the user to create VMs that all run on the same platform. Examples of such general-purpose VMMs are VMware GSX* and
Microsoft's Virtual PC*.
The main differences between the LVMM and a general-purpose VMM are as follows:
-
Number of partitions: With a general-purpose VMM, the user can create and run multiple user partitions. In the case
of the LVMM, only one user partition and a services partition are supported.
-
Partition configuration: With a general-purpose VMM, the user can configure the execution environment of the
partition. For example, the user can determine how much physical memory is allocated for the partition, and which OS to
install on it. In the case of the LVMM, the execution environment of the user partition is the same as before the LVMM
was installed on the system.
-
Performance: It can be expected that with a general-purpose VMM, the performance overheads will be higher than with
the LVMM. This is due to the fact that devices might not be directly assigned to the partition, and the VMM might need
to emulate some devices (for use by multiple partitions).
-
User experience: With a general-purpose VMM, the user experience is not preserved as it is with the LVMM. For
example, if the end user wants to transition the platform into "stand by" mode (sleep state S3) to preserve
battery life, then the LVMM will eventually forward the request to the underlying platform. A general-purpose VMM does
not allow the user to directly control the platform. The power management actions are contained within the partition
itself.
Mobile performance implications
The Intel LVMM architecture minimizes the impact on mobile battery life because, except for the network interface, the
user partition owns all of the devices on the platform. A native system is a PC not virtualized, and running a single
OS. Power tests executed in Intel's lab show the LVMM battery life within 95% of a native system when running local
applications on the mobile machine. The LVMM achieves this by allowing the UOS to dictate the power management state of
the platform.
The user partition runs an OS that complies with the Advanced Configuration and Power Interface (ACPI) specification.
When the UOS requests the system to go to a certain S-state, the following occurs:
-
The LVMM intercepts the command.
-
The LVLMM sends the appropriate command back to the UOS so the UOS thinks the request has been executed.
-
The LVMM checks the SOS to see if there is any activity occurring.
-
If yes, then the LVMM delays forwarding the S-state command to the platform.
-
If no, then the S-state is forwarded to the platform, and the platform is placed in a lower power management state.
-
If the UOS "wakes up" before the S-state command is executed at the platform level, then the LVMM will not
change the platform power setting.
The SOS partition to support CIR, EAC, Embedded PC Health, OC, Security, and EIT in the home are all valuable usage
models; however, when executed on a mobile machine, these usage models increase the number of interrupts on the system
and impact battery life. Worse case, a mobile system running LVMM can use 60% of the battery life compared to a native
system. In this scenario intensive network traffic is occurring non-stop over a few hours.
Intel's LVMM architects and developers are working to improve the battery life by minimizing polling and interrupts, and
optimizing memory footprint and caching. The mobile architecture team has also been educating ISVs on how mobile power
management works and what they can do to ensure their software runs more efficiently to achieve better battery life.
|