mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-08-06 18:55:40 +00:00
doc: update 2.0 release notes
Updates from reviewer comments included Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
This commit is contained in:
parent
96d1cbf7f3
commit
380cd7f33e
@ -21,9 +21,9 @@ orchestrators such as OpenStack to manage ACRN virtual machines. Kata
|
|||||||
Containers, a secure container runtime, has also been enabled on ACRN
|
Containers, a secure container runtime, has also been enabled on ACRN
|
||||||
and can be orchestrated via Docker or Kubernetes.
|
and can be orchestrated via Docker or Kubernetes.
|
||||||
|
|
||||||
Rounding things out, we’ve also made significant improvements in
|
Rounding things out, we've also made significant improvements in
|
||||||
configuration tools, added many new tutorial documents, and enabled ACRN
|
configuration tools, added many new tutorial documents, and enabled ACRN
|
||||||
on the QEMU machine emulator make it easier to try out and develop with
|
on the QEMU machine emulator making it easier to try out and develop with
|
||||||
ACRN.
|
ACRN.
|
||||||
|
|
||||||
ACRN is a flexible, lightweight reference hypervisor that is built with
|
ACRN is a flexible, lightweight reference hypervisor that is built with
|
||||||
@ -45,8 +45,9 @@ The project's online technical documentation is also tagged to
|
|||||||
correspond with a specific release: generated v2.0 documents can be
|
correspond with a specific release: generated v2.0 documents can be
|
||||||
found at https://projectacrn.github.io/2.0/. Documentation for the
|
found at https://projectacrn.github.io/2.0/. Documentation for the
|
||||||
latest (master) branch is found at
|
latest (master) branch is found at
|
||||||
https://projectacrn.github.io/latest/.
|
https://projectacrn.github.io/latest/.
|
||||||
Follow the instructions in the :ref:`rt_industry_setup`.
|
Follow the instructions in the :ref:`rt_industry_ubuntu_setup` to get
|
||||||
|
started with ACRN.
|
||||||
|
|
||||||
We recommend that all developers upgrade to ACRN release v2.0.
|
We recommend that all developers upgrade to ACRN release v2.0.
|
||||||
|
|
||||||
@ -102,80 +103,79 @@ Pre-launched Safety VM Support
|
|||||||
ACRN supports a pre-launched partitioned safety VM, isolated from the
|
ACRN supports a pre-launched partitioned safety VM, isolated from the
|
||||||
Service VM and other post-launched VM by using partitioned HW resources.
|
Service VM and other post-launched VM by using partitioned HW resources.
|
||||||
For example, in the hybrid mode, a real-time Zephyr RTOS VM can be
|
For example, in the hybrid mode, a real-time Zephyr RTOS VM can be
|
||||||
“pre-launched” by the hypervisor even before the Service VM is launched,
|
"pre-launched" by the hypervisor even before the Service VM is launched,
|
||||||
and with its own dedicated resources to achieve a high level of
|
and with its own dedicated resources to achieve a high level of
|
||||||
isolation. This is designed to meet the needs of a Functional Safety OS.
|
isolation. This is designed to meet the needs of a Functional Safety OS.
|
||||||
|
|
||||||
Post-launched VM support via OVMF
|
Post-launched VM support via OVMF
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
ACRN supports Open Virtual Machine Firmware (OVMF) as a virtual boot
|
ACRN supports Open Virtual Machine Firmware (OVMF) as a virtual boot
|
||||||
loader for the Service VM to launch post-launched VMs such as Windows,
|
loader for the Service VM to launch post-launched VMs such as Windows,
|
||||||
Linux, VxWorks, or Zephyr RTOS. Secure boot is also supported.
|
Linux, VxWorks, or Zephyr RTOS. Secure boot is also supported.
|
||||||
|
|
||||||
Post-launched Real-time VM Support
|
Post-launched Real-Time VM Support
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
ACRN supports a post-launched RTVM, which also uses partitioned hardware
|
ACRN supports a post-launched RTVM, which also uses partitioned hardware
|
||||||
resources to ensure good real-time performance, as required for
|
resources to ensure adequate real-time performance, as required for
|
||||||
industrial use cases.
|
industrial use cases.
|
||||||
|
|
||||||
Real-Time VM Performance Optimizations
|
Real-Time VM Performance Optimizations
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
ACRN 2.0 improves (preempt-RT kernel-based) RTVM’s performance with
|
ACRN 2.0 improves RTVM performance with these optimizations:
|
||||||
these optimizations:
|
|
||||||
|
|
||||||
* **Reduce the impact of VM-Exit overhead:**
|
* **Eliminate use of VM-Exit and its performance overhead:**
|
||||||
Use Local APIC (LAPIC) passthrough, Virtio Polling Mode Drivers (PMD),
|
Use Local APIC (LAPIC) passthrough, Virtio Polling Mode Drivers (PMD),
|
||||||
and NMI interrupt notification technologies.
|
and NMI interrupt notification technologies.
|
||||||
|
|
||||||
* **Isolate the RTVM from the Service VM:**
|
* **Isolate the RTVM from the Service VM:**
|
||||||
Use Cache Isolation via Catch Allocation Technology (CAT) to ensure the
|
The ACRN hypervisor uses RDT (Resource Director Technology)
|
||||||
RTVM’s CPU using dedicated cache resource, avoiding interference from
|
allocation features such as CAT (Cache Allocation Technology), CDP (Code
|
||||||
other VMs
|
Data Prioritization), and MBA (Memory Bandwidth Allocation) to provide
|
||||||
|
better isolation and prioritize critical resources, such as cache and
|
||||||
|
memory bandwidth, for RTVMs over other VMs.
|
||||||
|
|
||||||
* **PCI Configuration space access emulation for passthrough devices in the hypervisor:**
|
* **PCI Configuration space access emulation for passthrough devices in the hypervisor:**
|
||||||
The hypervisor provides the necessary emulation (such as config space)
|
The hypervisor provides the necessary emulation (such as config space)
|
||||||
of the passthrough PCI device during runtime for a DM-launched VM from
|
of the passthrough PCI device during runtime for a DM-launched VM from
|
||||||
Service VM.
|
Service VM.
|
||||||
|
|
||||||
* **PCI bridge emulation inside hypervisor**
|
* **PCI bridge emulation inside hypervisor**
|
||||||
|
|
||||||
* **ART (Always Running Timer Virtualization):**
|
* **ART (Always Running Timer Virtualization):**
|
||||||
Ensure time is synchronized between Ptdev and vART
|
Ensure time is synchronized between Ptdev and vART
|
||||||
|
|
||||||
CPU Sharing Support
|
CPU Sharing Support
|
||||||
===================
|
===================
|
||||||
|
|
||||||
ACRN supports CPU Sharing to fully utilize the physical CPU resource
|
ACRN supports CPU Sharing to fully utilize the physical CPU resource
|
||||||
across more virtual machines. ACRN enables a borrowed virtual time CPU
|
across more virtual machines. ACRN enables a borrowed virtual time CPU
|
||||||
scheduler in the hypervisor to make sure the physical CPU can be shared
|
scheduler in the hypervisor to make sure the physical CPU can be shared
|
||||||
between VMs and support for yielding an idle vCPU when it’s running a
|
between VMs and support for yielding an idle vCPU when it's running a
|
||||||
‘HLT’ or ‘PAUSE’ instruction.
|
'HLT' or 'PAUSE' instruction.
|
||||||
|
|
||||||
Many choices for User VM OS
|
Many choices for User VM OS
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
ACRN now supports Windows* 10, Android*, Ubuntu*, Xenomai, VxWorks*,
|
ACRN now supports Windows* 10, Android*, Ubuntu*, Xenomai, VxWorks*,
|
||||||
Real-Time Linux*, and Zephyr* RTOS. ACRN’s Windows support now conforms
|
Real-Time Linux*, and Zephyr* RTOS. ACRN's Windows support now conforms
|
||||||
to the Microsoft* Hypervisor Top-Level Functional Specification (TLFS).
|
to the Microsoft* Hypervisor Top-Level Functional Specification (TLFS).
|
||||||
ACRN 2.0 also improves overall Windows as a Guest (WaaG) stability and
|
ACRN 2.0 also improves overall Windows as a Guest (WaaG) stability and
|
||||||
performance.
|
performance.
|
||||||
|
|
||||||
Single Root I/O Virtualization (SR-IOV) Support
|
SR-IOV Support
|
||||||
===============================================
|
==============
|
||||||
|
|
||||||
SR-IOV allows a device to separate access to its resources among various
|
SR-IOV (Single Root Input/Output Virtualization) can isolate PCIe
|
||||||
PCIe hardware functions. For a network adapter, this enables network
|
devices to offer performance similar to bare-metal levels. For a
|
||||||
traffic to bypass the software switch layer in the virtualization stack
|
network adapter, for example, this enables network traffic to bypass the
|
||||||
and achieve network performance that is nearly the same as in a
|
software switch layer in the virtualization stack and achieve network
|
||||||
nonvirtualized environment. An SR-IOV capable PCI device’s Physical
|
performance that is nearly the same as in a nonvirtualized environment.
|
||||||
Function (PF) can be allocated to the Service VM, and its Virtual
|
In this example, the ACRN Service VM supports a SR-IOV ethernet device
|
||||||
Functions (VFs) can be allocated to any User VM. For example, the ACRN
|
through the Physical Function (PF) driver, and ensures that the SR-IOV
|
||||||
Service VM supports a SR-IOV ethernet device (through the PF driver) and
|
Virtual Function (VF) device can passthrough to a post-launched VM.
|
||||||
ensures that the SR-IOV VF device can be assigned (passthrough) to a
|
|
||||||
post-launched VM (launched by ACRN-DM in Service VM).
|
|
||||||
|
|
||||||
Graphics passthrough support
|
Graphics passthrough support
|
||||||
============================
|
============================
|
||||||
@ -188,26 +188,26 @@ Shared memory based Inter-VM communication
|
|||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
ACRN supports Inter-VM communication based on shared memory for
|
ACRN supports Inter-VM communication based on shared memory for
|
||||||
post-launched VMs communicating via a UIO interface.
|
post-launched VMs communicating via a Userspace I/O (UIO) interface.
|
||||||
|
|
||||||
Configuration Tool Support
|
Configuration Tool Support
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
A new offline configuration tool helps developers deploy ACRN to
|
A new offline configuration tool helps developers deploy ACRN to
|
||||||
different hardware systems with its own customization.
|
different hardware systems with its own customization.
|
||||||
|
|
||||||
Kata Containers Support
|
Kata Containers Support
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
ACRN can launch a Kata container, a secure container runtime, as a User VM.
|
ACRN can launch a Kata container, a secure container runtime, as a User VM.
|
||||||
|
|
||||||
VM orchestration
|
VM orchestration
|
||||||
================
|
================
|
||||||
|
|
||||||
Libvirt is an open-source API, daemon, and management tool as a layer to
|
Libvirt is an open-source API, daemon, and management tool as a layer to
|
||||||
decouple orchestrators and hypervisors. By adding a “ACRN driver”, ACRN
|
decouple orchestrators and hypervisors. By adding a "ACRN driver", ACRN
|
||||||
supports the libvirt-based orchestrator to configure a User VM’s CPU
|
supports libvirt-based tools and orchestrators to configure a User VM's CPU
|
||||||
configuration during VM creation.
|
configuration during VM creation.
|
||||||
|
|
||||||
Document updates
|
Document updates
|
||||||
================
|
================
|
||||||
|
Loading…
Reference in New Issue
Block a user