面向实时物联网的ACRN-RT体系设计
2018-12-12 16:23:24AI云资讯746
ACRN作为一个专为物联网而设计的hypervisor,需要面向广泛和多样化的应用场景,很多的应用场景都需要很高的实时性要求,甚至是“硬实时”的要求。比如目前物联网项目应用最多的工业领域,一个典型的工业应用场景包含人机交互界面系统(Windows或Linux)和实时控制系统(RT-Linux、vxWorks、zephyr等),通过ACRN虚拟化可以实现HMI和实时控制系统的整合。实时性和功能安全是ACRN体系结构设计的两大出发点,本文以典型工业物联网应用场景介绍ACRN-RT的体系结构设计。
ACRN-RT体系结构设计的主要前提和设计原则包括:
- ACRN的不同场景应用将使用整体体系结构设计,并共用同一个code base;
- 硬件支持Cache Allocation Technology (CAT);
- 实时客户机只支持MSI-capable PCI设备的直通;
- 设计优先满足硬实时需求;
- 可扩展支持多种RTOS,包括vxWorks, rt-linux, zephyr等;
- 实时客户机的实时任务只访问实时IO设备的访问。
在面向工业场景的ACRN体系结构中,我们引入一种新型的Privileged VM,支持需要实时性要求的客户机,运行RT OS,根据实际的实时性需求,可以是软实时的RT-Linux或者是硬实时的vxWorks,之上运行具体场景的实时应用。而对于原先支持的普通客户机,我们称之为Normal VM,一般运行Windows或者图形化的Linux,作为运行人接交互系统的客户机。

ACRN-RT 工业场景体系结构
和Normal VM类似,Privileged VM仍然由SOS上的acrn-dm创建和启动,不同的是,在privileged VM启动之后,正常执行过程中不会发生vmexit,从而保证其上运行的RT OS可以达到在裸机上运行时相同的实时性能。为了达到vmexit-less的目标,privileged VM主要采用了下面几种设计, 后面会对4种设计做简单的展开介绍:
- LAPIC pass-through
- Cache isolation (CAT)
- Device Sharing & Passthrough
LAPIC pass-through
在privileged VM中,我们基于x2apic mode实现LAPIC的pass-through,禁用外部中断vmexit,并允许privileged VM直接访问除了ICR之外的所有MSR,避免中断导致的vmexit。但对于ICR,从安全的角度考虑,仍然需要trap到hypervisor来防止恶意的inter-VM IPI。
Cache isolation (CAT)
Cache Allocation Technology (CAT) 可以通过设置给不同的CPU core分配不同的cache way,做到cache资源隔离。CAT使得Last Level Cache (LLC)变成了一种支持QoS(Quality of Service)的资源,使用CAT给privileged VM分配专用的cache way,可以隔离其他CPU core对cache的使用对privileged VM访存延时的影响,从而使privileged VM的访存延时更加可预测,有助于提高privileged VM的实时性能。
除hypervisor使用CAT对LLC进行分配管理以外,ACRN还将支持CAT virtualization, 在privileged VM中支持pseudo locking, RTOS针对实时任务进行更细粒度的分配管理。

CAT and virtual CAT
Device Sharing & Passthrough
Privileged VM 对设备的支持进行了以下限制:
- 对于模拟设备,privileged VM支持只在启动阶段访问的模拟设备,比如virtual RTC。不支持在运行时需要访问的模拟设备,比如virtual UART, virtual HPET等。
- 对于半虚拟化设备, privileged VM只支持polling mode的virtio设备。除了VIRTIO_PCI_ISR和VIRTIO_PCI_QUEUE_NOTIFY以外,其他寄存器都只会在设备初始化阶段访问。对于VIRTIO_PCI_ISR,privilegedmode不支持INTx中断类型的设备,而对于VIRTIO_PCI_QUEUE_NOTIFY,可以通过后端声明VRING_USED_F_NO_NOTIFY,前端使用polling mode方式工作来避免运行时的访问。
- 对于直通设备,只支持MSI/MSIx capable的PCI设备的直通。对于PCI设备CFG space的访问,因为只在设备驱动初始化阶段访问,可以使用trap&emulation的方式支持;对于BAR/PBA space, 直接pass-through 给privileged VM;对于MSI-X table,将通过trap & fixup的方式支持,同时要求设备驱动握手来避免运行时mask/unmask某个vector导致的运行时访问。
相关文章
- 沃达丰物联网(Vodafone IoT)与Skylo合作,提供NTN窄带物联网(NB-IoT)卫星连接服务
- 工业物联网(IIoT)场景:金仓时序数据库如何破解海量设备数据“存-查-算”一体化难题?
- 以开放生态重塑连接,力合微电子解锁物联网“智慧协同”新路径
- 卫星物联网/互联网核心应用!当虹科技发布多模态超级压缩与AI终端产品
- 萤石网络通过数据安全能力成熟度模型三级认证 筑牢物联网数据安全防线
- 商业航天引爆卫星物联网 当虹科技工业与卫星业务引关注
- 汉朔科技携手剑桥大学,共探零售物联网创新前沿
- 声网×珞博智能斩获 OFweek 2025物联网行业优秀成功应用案例奖
- 技术创新引领产业升级,惠科股份推动显示与物联网深度融合
- Counterpoint Research:Q3全球蜂窝物联网模组出货量同比增长10%
- 中兴通讯助力中国移动完成烟草行业蜂窝无源物联网试点验证
- 爱尔泰医疗AR系列制氧机:国内首创物联网远程互联,重塑家庭氧疗新体验
- 亿达科创创新成果入选世界物联网大会案例集
- 飞猫蝉联 WIOTC 世界物联网 500 强,今年携 AI WiFi 创新再登榜
- 我国启动卫星物联网业务商用试验丨2025中国5G+工业互联网大会
- 浪潮KaiwuDB 与映云科技( EMQ )达成战略合作,共拓物联网云边端数据市场
人工智能企业
更多>>人工智能硬件
更多>>人工智能产业
更多>>人工智能技术
更多>>- 云知声Unisound U1-OCR大模型发布!首个工业级文档智能基础大模型,开启OCR 3.0时代
- 基石智算上线 MiniMax M2.5,超强编程与智能体工具调用能力
- 昇腾原生支持,科学多模态大模型Intern-S1-Pro正式发布并开源
- 百度千帆深度研究Agent登顶权威评测榜单DeepResearch Bench
- 在MoltBot/ClawdBot,火山方舟模型服务助力开发者畅享模型自由
- 教程 | OpenCode调用基石智算大模型,AI 编程效率翻倍
- 全国首个!上海上线规划资源AI大模型,商汤大装置让城市治理“更聪明”
- 昇思人工智能框架峰会 | 昇思MindSpore MoE模型性能优化方案,提升训练性能15%+









