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:
David B. Kinder 2020-06-18 09:44:45 -07:00 committed by David Kinder
parent 96d1cbf7f3
commit 380cd7f33e

View File

@ -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, weve 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 supportsa 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) RTVMs performance with ACRN 2.0 improves RTVM performance with these optimizations:
these optimizations:
* **Reduce theimpact 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)
RTVMs 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
schedulerin 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 its 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. ACRNs 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 devices 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 VMs 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
================ ================