Crack Open ACRN – A Device Hypervisor Designed for IoT

ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind.

This article was produced by The Linux Foundation with contributions from Eddie Dong, Principle Engineer of Intel Open Source Center.

As the Internet of Things has grown in scale, IoT developers are increasingly expected to support a range of hardware resources, operating systems, and software tools/applications. This is a challenge given many connected devices are size-constrained. Virtualization can help meet these broad needs, but existing options don’t offer the right mix of size, flexibility, and functionality for IoT development.
ACRN

ACRN is different by design. Launched at Embedded Linux Conference 2018, ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind and optimized to streamline embedded development through an open source platform.

One of ACRN’s biggest advantages is its small size — roughly only 25K lines of code at launch.

“The idea for ACRN came from our work enabling virtualization technology for customers,” said Imad Sousou, Corporate Vice President and General Manager of the Open Source Technology Center at Intel, which seeded the source code to launch the project. “There’s strong workload consolidation in embedded IoT development. Using hypervisor technology, workloads with mixed-criticality can be consolidated on a single platform, lowering development and deployment costs and allowing for a more streamlined system architecture.”

And about the name: ACRN is not an acronym. Pronounced “acorn,” the name symbolizes something that starts small and grows into something big, similar to how the project hopes to grow through community participation.

There’re two key components of ACRN: the hypervisor itself and the ACRN device model. The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on bare-metal. The ACRN Device Model is a reference framework implementation for virtual device emulation that provides rich I/O virtualization support currently planned for audio, video, graphics, and USB. More mediator features are expected as the community grows.

How it works

ACRN features a Linux-based Service operating system (OS) running on the hypervisor and can simultaneously run multiple guest operating systems for workload consolidation. The ACRN hypervisor creates the first virtual environment for the Service OS and then launches Guest OSes. The Service OS runs the native device drivers to manage the hardware and provides I/O mediation to the Guest OS.ACRN

The Service OS runs with the system’s highest virtual machine priority to meet time-sensitive requirements and system quality of service (QoS). The Service OS runs Clear Linux* today, but ACRN can support other Linux* distros or proprietary RTOS as either the Service OS or Guest OS. The community is invited to help enable other Service OS options, and use the reference stack to enable Guest OSes such as other Linux* distributions, Android*, Windows* or proprietary RTOSes.

To keep the ACRN hypervisor code base as small and efficient as possible, the bulk of device model implementation resides in the Service OS to provide sharing and other capabilities. The result is a small footprint, low-latency code base optimized for resource constrained devices, built with virtualization functions specific to IoT development, such as graphics, media, audio, imaging, and other I/O mediators that require sharing of resources. In this way ACRN fills the gap between large datacenter hypervisors and hard partitioning hypervisors, and is ideal for a wide variety of IoT development.

One example is the Software Defined Cockpit (SDC) in vehicles. Using ACRN as the reference implementation, vendors can build solutions including the instrument cluster, in-vehicle infotainment (IVI) system, and one or more rear-seat entertainment (RSE) systems. The IVI and RSE systems can run as an isolated Virtual Machine (VM) for overall system safety considerations.

Software Defined Industrial Systems (SDIS) are further examples, including cyber-physical systems, IoT, cloud computing and cognitive computing. ACRN can help SDIS consolidate industrial workloads and can be orchestrated flexibly across systems. This helps provide substantial benefits to customers including lower costs, simplified security, increased reliability, and easier system management, among others.

Early endorsement of ACRN includes Intel, ADLINK Technology, Aptiv, LG Electronics, and Neusoft. Community members are invited to download the code and participate at the ACRN GitHub site. More detailed use case information and participation information can be found on the ACRN website.

Join us at Open Source Summit + Embedded Linux Conference Europe in Edinburgh, UK on October 22-24, 2018, for 100+ sessions on Linux, Cloud, Containers, AI, Community, and more.

Also, check out the ACRN Hypervisor Meetup in Shanghai – Q2 2018 (Minhang, China):

2018年3月Linux Foundation 发布了 ACRN hypervisor项目。随后陆续收到了很多来自社区和行业伙伴的反馈。这次的Meetup希望给大家一次面对面交流的机会。英特尔公司作为ACRN项目的发起者之一 将会介绍一下项目的体系架构,ACRN 未来的roadmap (draft)讨论,也将演示一些应用场景。各行业伙伴也将会分享各自的关心的话题。ACRN作为一个Linux Foundation的开源项目热情欢迎大家的参与与反馈。

Swapnil Bhartiya

Swapnil Bhartiya

Swapnil Bhartiya is a journalist and writer who has been covering Linux and Open Source for more than 10 years.
Swapnil Bhartiya