[DRIMAES Tech] AGL Exploration Life: Let's learn about AGL's Virtualization.
As AGL is an Automotive Grade, automobile-related parts require a high level of stability because they are directly related to the driver's safety. It is not limited to simple hardware. If some software and applications running on top of AGL fail, this also threatens stability.
Accordingly, the AGL Council is taking the lead in complying with the international standards, regulations, and standards of automobiles. However, AGL has the characteristic of being open-source in which several subjects participate, so it is challenging to enforce high safety verification standards for all participants. The AGL Council proposed a solution to respect the characteristics of open source while complying with international standards.
The solution proposed by the council is to detail the properties of the 'virtualization' solution, which is the basis of the entire AGL system. In other words, it is to provide standard guidelines for virtualization, the starting point for AGL running on hardware.
1️⃣ What is "Virtualization"?
AGL's virtualization Expert group defines virtualization as follows.
Virtualization is a technology used to create multiple virtual execution environments by abstracting or partializing resources. These virtual execution environments using to merge various applications into the same hardware in server, desktop, and embedded environments."
- AGL EX_VIRT, 'White paper.'
In other words, creating multiple execution environments in one hardware is virtualization, You can allocate as many hardware resources as you need for each application program through this virtualization. Virtualization enables efficient utilization of hardware resources.
2️⃣ Why did we need this virtualization technology?
In the past, most devices were for a single purpose in the embedded field, and most functions were subordinate to hardware constraints. At this time, They used a real-time operating system (RTOS) for absolute speed and fast processing.
Since then, hardware has gradually developed. The situation has changed due to miniaturization and high specifications. A single device will digest a stack of instruments and software for various purposes. This movement has raised the demand for high-level application-oriented OS (HLOS) in embedded systems.
Even if the demand for HLOS has increased, Embedded devices require light and high-speed RTOS for their original function. Since they must use HLOS and RTOS in parallel in single hardware, 'virtualization' is needed in earnest at this point.
3️⃣ So, what are the benefits of applying virtualization?
First, a single piece of hardware allows you to write resources for multiple software and devices flexibly. In other words, you can maximize hardware utilization.
Second, single hardware can have an application execution environment that requires different types of OS.
Third, a single, high-performance ECU can replace multiple ECUs.It reduces device dependence by virtualizing functions performed through multiple HWs into SW.
4️⃣ What kind of virtualization is there?
Several types of virtualization methods (AGLEG_VIRT, 2018).
With the advantages of virtualization mentioned above, AGL's virtualization has evolved into several branches. Two methods are currently mainly used in embedded systems among the virtualization methods: Hypervisor and Container.
Types of Hypervisor
The hypervisor is a method of separating each virtualization environment by distributing hardware resources. Multiple operating systems can operate independently in separate virtual environments, providing stable interfaces and security, and enabling abundant hardware resources.
Virtualization using containers is the virtualization method chosen by DRIMAES. The Linux Container (LXC, Linux Container) creates a container over the Linux kernel 'LTSI' layer. Docker, widely known among container technologies, is advantageous for application-level virtualization, while LXC is advantageous for system virtualization.
Android virtualization technology developed by DreamAce utilizes this LXC technology to enable the AGL environment and Android environment to run in parallel. Because hardware resources using jointly, they require fewer resources than when implementing a virtualized environment with hypervisors, enabling cost savings, fast execution, and high software recycling.
To sum up, Hypervisors have high independence and reliability because they separate and virtualize their hardware environments. However, they also have high overheads, including the need for abundant hardware resources and difficulties in developing/maintenance. Containers have relatively low independence because they virtualize the application execution environment, have low overhead, and have easy upgrades.
5️⃣ Why did DRIMAES choose Container?
DRIMAES is currently developing an IVI platform using Container virtualization technology.
Continuous upgrades are needed to meet the innovative features and user requirements of infotainment required by future cars. To this end, a container virtualization method with fast execution speed and high software recycling is advantageous.
AGL's Instrument Cluster EG (Expert Group) presents a container-based integrated cocktail structure with this advantage. Also, in AGL, hypervisors are actively researching under the theme of Device Virtualization rather than infotainment parts. Therefore, we mainly study integrating multiple ECUs in existing cars into one performing ECU.
The containers adopted by DRIMAES are mainly used in this way.
First, integrated cockpit.
DRIMAES' Integrated Cockpit Image
Several ECUs have been used in one existing car. A single ECU of performance that gradually improves over time replaces the role of ECUs that used to play multiple positions. In this situation, a single ECU resource must be distributed to multiple programs, so we use the Container at this time.
DRIMAES specifically has integrated cockpit technology that controls multiple displays with a single ECU. As a result, it has the advantage of ultimately reducing costs.
Second, establishing an app ecosystem.
DRIMAES' container execution environment
On top of one operating system, only applications that support that operating system can be run. We break down these walls and utilize containers to run Android, Linux, and web applications on a single IVI. This is why the AGL-based DRIMAES IVI can use Linux, Android ecosystems, and web ecosystems.
Today, we looked at the virtualization of AGL. As virtualization is a technology based on AGL, many things were found.
DRIMAES is creating its own IVI platform using AGL and containers.
Please look forward to the new IVI platform that DRIMAES will make!