Introduction:
With the development of digital intelligence technology, automotive functions are becoming diversified and centralized. The architecture is evolving from a distributed architecture to a domain-fusion architecture, and then to a central computing platform. This trend towards centralization has become a consensus in the industry.
In this trend, high-performance in-vehicle central computing platforms utilize hardware virtualization technology and a unified functional safety framework, employing AI-driven resource scheduling algorithms to achieve secure sharing and efficient scheduling of hardware resources across different domains, which is one of the important technical directions.
This article will explore the relevant content regarding virtualization technology in smart vehicles, from an introduction to virtualization technology itself, to an explanation of smart vehicle virtualization technology, and an introduction to the virtualization product from Guokecushi, the Photon Hypervisor.
What is Virtualization?
Virtualization technology is a resource management (optimization) technology that abstracts and transforms various physical resources of a computer (such as CPU, memory, disk space, network adapters, and other I/O devices) and presents a configuration environment that can be divided and combined into one or more (virtual) computers.
Virtualization technology originated in the late 1960s when IBM developed a software called the Virtual Machine Monitor (VMM), which served as a software abstraction layer above the computer hardware layer, dividing the computer hardware into one or more virtual machines and providing multiple users with simultaneous, interactive access to the mainframe.
We all know that mainframes were very expensive at that time. However, through this technology, a single physical server can be virtualized into multiple instances, allowing multiple users to access resources concurrently.
Since the 1960s, virtualization technology has been continuously updated. The following figure lists some virtualization products, among which VMware is relatively well-known in the industry, and its emergence has made virtualization technology more widely recognized.
Subsequently, the emergence of hardware virtualization has significantly propelled the field of virtualization. The types of virtualization will be discussed in detail later. Later, the KVM hypervisor appeared, which is essentially a virtualization extension built on the Linux kernel, working in conjunction with the QEMU program in user space to provide virtualization technology.
In addition to this typical virtualization technology, there are also technologies like Docker, which differ slightly from traditional virtualization but can also present the effect of virtualizing multiple systems.
Forms of Virtualization Technology
We must mention the well-known Hypervisor, which translates to “supervisor” and is also known as a virtual machine monitor (VMM).
The Hypervisor sits above the SoC hardware platform, converting physical resources (such as CPU, memory, storage space, network adapters, peripherals, etc.) into virtual resources, allocating them as needed to each virtual machine, allowing them to independently access the authorized virtual resources.
The Hypervisor achieves the integration and isolation of hardware resources, enabling applications to share physical hardware like CPUs while relying on different kernel environments and drivers to meet the diverse application scenarios in the automotive field.
Virtualization Scenarios
With the current increase in general server computing power and the rapid development of cloud computing, cloud virtualization, as a foundational supporting technology, is also rapidly iterating and evolving. Computing power is gradually descending from the cloud, edge, to the endpoint, accompanied by the emergence of edge virtualization and endpoint embedded virtualization.
(1) Cloud-side Virtualization
The characteristic is that the hardware platform is basically homogeneous, with a large number of nodes forming a cluster. The architecture design prioritizes throughput capacity and must support multi-business concurrency. Virtualization must meet resource scheduling strategies for cluster load balancing and energy saving, ensuring uninterrupted migration of services during cross-node virtual machine allocation.
In the event of a virtual machine failure, it must be able to recover from a checkpoint to minimize business losses. The virtual machine should support elastic scaling of CPU computing power, memory, storage space, network, GPU, peripherals, etc., and also allow over-allocation to enhance the operational benefits of the data center.
(2) Edge-side Virtualization
This is implemented at the edge nodes of certain specific businesses, using a general ICT architecture to support dynamic deployment of various services, typically seen in SDN and NFV.
Its technical characteristics include: based on a general hardware platform, an industry-customized management deployment platform, achieving software-hardware decoupling and software definition, with multifunctional nodes deployed as needed and elastic networking. Generally, a 1+1 or N+1 redundancy method is used to ensure high availability of services, and in 5G telecom network elements, the end-to-end real-time nature of 5G services must be considered, requiring design considerations for the Hypervisor, virtual machines, and communication protocol stacks.
(3) Endpoint-side Virtualization
The typical characteristic of endpoint-side virtualization is heterogeneity, with significant differences in chip architecture and processing capabilities. Generally, it is a single-chip solution, with no virtual machine migration between clusters or primary/backup systems, thus emphasizing high security and high reliability for single nodes, along with stronger requirements for real-time and determinism.
Additionally, endpoint resources are more limited and cost-sensitive, requiring the Hypervisor to be lightweight and high-performance.
Thus, the virtualization technology related to smart vehicles falls under the category of endpoint-side virtualization, facing different technical requirements for multi-domain services, such as:
-
The cockpit domain IVI business emphasizes interactive experience and a rich application ecosystem, making Android a suitable operating system;
-
The dashboard and assisted driving require real-time and reliability, with operating systems leaning towards RTLinux and RTOS;
-
The intelligent driving domain emphasizes high computing power for perception and planning, also requiring real-time and reliability, thus opting for RTLinux and RTOS.
-
While merging domains, it is essential to ensure the safety and reliability of critical services, as well as the sustainable compatibility of the application ecosystem, which necessitates resource isolation technology to support the division of resources on the same SoC, allowing multiple operating systems to run concurrently without interference.
Types of Virtualization and HOST Structure
Hypervisors can be divided into two main categories:
-
Type 1 Bare-Metal Hypervisor, which runs directly on hardware devices, also known as Bare-Metal Hardware Virtualization;
-
Type 2 Hosted Hypervisor, also known as Hosted Virtualization.
The Type 2 Hypervisor requires the host operating system to manage resources such as CPU, memory, and network. Since there is a host operating system between the Hypervisor and the hardware, all operations of the Hypervisor and VMs must go through the host operating system, which inevitably leads to latency and performance loss. Additionally, security flaws and stability issues in the host operating system can affect the VMs running on it, making Type 2 Hypervisors mainly suitable for scenarios with lower performance and security requirements.
In contrast, Type 1 Hypervisors do not rely on a host operating system and possess basic operating system functions. They are designed to be simpler, running directly on hardware, with a more streamlined overall codebase and architecture, requiring less memory and storage resources, thus meeting the functional safety level requirements of autonomous driving vehicle control systems and being suitable for formal verification. Therefore, automotive operating systems are more appropriate for using Type 1 Hypervisors.
From the perspective of HOST architecture, they can be divided into microkernel and monolithic kernel types.
Both have their characteristics; the microkernel has a streamlined kernel state, making it easier to pass functional safety certification; the Hypervisor consists of kernel and user states, with most functions implemented in user state; each virtual machine corresponds to a VMM process, which is less performant than the monolithic kernel type. A typical example is the QNX Hypervisor.
On the other hand, the monolithic kernel performs better than the microkernel because the Hypervisor is entirely implemented in kernel state, resulting in higher overall efficiency. A typical example is Xvisor.
Regarding which type is better, opinions in the industry vary.
Through this article, readers can gain a basic understanding of some background information about virtualization. The applications of in-vehicle virtualization in the industry and the content about the virtual machine manager (Photon Hypervisor) will be introduced in the next article. Stay tuned!