CN117785387A - 一种融合架构的构建方法、融合处理方法及系统 - Google Patents

一种融合架构的构建方法、融合处理方法及系统 Download PDF

Info

Publication number
CN117785387A
CN117785387A CN202410033079.1A CN202410033079A CN117785387A CN 117785387 A CN117785387 A CN 117785387A CN 202410033079 A CN202410033079 A CN 202410033079A CN 117785387 A CN117785387 A CN 117785387A
Authority
CN
China
Prior art keywords
virtualization
fusion
virtual machine
resources
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410033079.1A
Other languages
English (en)
Inventor
徐强
范成建
刘志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN202410033079.1A priority Critical patent/CN117785387A/zh
Publication of CN117785387A publication Critical patent/CN117785387A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种融合架构的构建方法、融合处理方法及系统,在虚拟化框架的底层中设置虚拟机监视器和硬件,虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合,硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存,在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能,通过处理后的虚拟化框架完成融合架构的构建,通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。

Description

一种融合架构的构建方法、融合处理方法及系统
技术领域
本申请涉及电子技术领域,更具体地说,涉及一种融合架构的构建方法、融合处理方法及系统。
背景技术
现有电子电气架构逐渐从分布式走向集中式,意在减少车辆线束并提高通讯效率。现有电子电气架构采用中央三域计算平台,为了实现计算平台之间的高速通讯,每个计算平台之间采用高速以太网、PCIe等总线进行互联,这通常会带来很大的总线费用。
由于每个计算平台都需要单独的散热系统,导致成本高。并且在当前采用的中央三域计算平台的架构中存在一定的资源(如空闲的CPU、多余的系统内存等资源)浪费情况。
如何合理利用空闲资源,避免造成资源浪费和降低成本,是本申请亟需解决的问题。
发明内容
有鉴于此,本申请公开了一种融合架构的构建方法、融合处理方法及系统,旨在使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
为了实现上述目的,其公开的技术方案如下:
本申请第一方面公开了一种融合架构的构建方法,所述方法包括:
在虚拟化框架的底层中设置虚拟机监视器和硬件;所述虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;所述硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存;
在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,所述融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机;
在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能;
通过处理后的虚拟化框架完成融合架构的构建。
优选的,所述建立分布式共享内存,包括:
将所述各个HPC集群之间的远端共享内容窗口和本端扩展总线标准设备的地址空间建立映射关系,以完成建立分布式共享内存。
本申请第二方面公开了一种融合处理方法,适用于第一方面任意一项的融合架构的构建方法得到的融合架构,所述方法包括:
通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;
其中,所述虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
优选的,所述通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,包括:
通过融合架构的中间层和分布式共享存储器,对各个物理机资源进行资源整合;所述各个物理机资源之间通过预设连接方式映射的分布式共享内存建立连接;
在虚拟化模式下,通过横向扩展的虚拟化技术对整合后的物理机资源进行分配。
优选的,所述CPU虚拟化包括:
对各个虚拟机中的所有vCPU进行区分,得到本地vCPU和远端vCPU;
在远端vCPU的线程创建后,使所述远端vCPU的线程进入睡眠状态直至虚拟机处于关机状态或重启状态时,使所述远端vCPU的线程进行退出操作和销毁操作;
当监测到所述本地vCPU向所述远端vCPU发送虚拟化中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入,以完成CPU虚拟化。
优选的,还包括:
当监测到不同的HPC集群之间发生中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入。
优选的,所述I/O虚拟化包括:
当虚拟机访问HPC集群的I/O设备时,若内存所映射的I/O操作地址区域不处于当前虚拟化框架的节点中,通过预设连接方式映射的共享内存区域将内存所映射的I/O转换为对端内存区域读写,以完成I/O虚拟化。
优选的,所述内存虚拟化包括:
针对各个HPC集群,按照预设分配规则分配出各自的内存空间;
将各自的内存空间作为分布式共享内存,并通过预设协议确保所述分布式共享内存的一致性,以完成内存虚拟化。
本申请第三方面公开了一种融合架构的构建系统,所述融合架构的构建系统包括:
设置单元,用于在虚拟化框架的底层中设置虚拟机监视器和硬件;所述虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;所述硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存;
融合单元,用于在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,所述融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机;
实现单元,用于在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能;
构建单元,用于通过处理后的虚拟化框架完成融合架构的构建。
本申请第四方面公开了一种融合处理系统,适用于第三方面所述的融合架构的构建系统得到的融合架构,所述融合处理系统包括:
整合分配单元,用于通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;其中,所述虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
经由上述技术方案可知,本申请公开了一种融合架构的构建方法、融合处理方法及系统,在虚拟化框架的底层中设置虚拟机监视器和硬件;虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存,在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机,在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能,通过处理后的虚拟化框架完成融合架构的构建,通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制,其中,虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。基于上述方案,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种融合架构的构建方法的流程示意图;
图2为本申请实施例公开的虚拟化框架的示意图;
图3为本申请实施例公开的融合架构的示意图;
图4为本申请实施例公开的一种融合处理方法的流程示意图;
图5为本申请实施例公开的一种PCIeNTB映射的示意图;
图6为本申请实施例公开的另一种PCIeNTB映射的示意图;
图7为本申请实施例公开的一种融合架构的构建系统的结构示意图;
图8为本申请实施例公开的一种融合处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,由于每个计算平台都需要单独的散热系统,导致成本高。并且在当前采用的中央三域计算平台的架构中存在一定的资源(如空闲的CPU、多余的系统内存等资源)浪费情况。如何合理利用空闲资源,避免造成资源浪费和降低成本,是本申请亟需解决的问题。
为了解决上述问题,本申请公开了一种融合架构的构建方法、融合处理方法及系统,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。具体实现方式通过下述实施例进行说明。
参考图1所示,为本申请实施例公开的一种融合架构的构建方法,该融合架构的构建方法主要包括如下步骤:
S101:在虚拟化框架(QEMU-KVM)的底层中设置虚拟机监视器(Hypervisor)和硬件(HW);虚拟机监视器用于将各个高性能计算(High PerformanceComputing,HPC)集群组织成资源池来实现硬件资源的整合;硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存。
其中,QEMU-KVM是一个开放源代码的虚拟机监视器,它可以将物理计算机模拟成多个虚拟机,每个虚拟机都有自己的操作系统和硬件设备。
通过QEMU-KVM实现虚拟化及高性能计算HPC融合的功能,并向用户提供单一系统镜像(SingleSystemImage,SSI),使得HPC机群在使用、管理、维护上更像一个单独的计算资源,以便提高管理、维护过程中的效率。
多个HPC集群通过Hypervisor被组织成一个资源池。
预设连接方式可以是高速串行计算机扩展总线标准的非透明桥接(PCIe NTB),也可以是其他连接方式,本申请的预设连接方式不做具体限定。本申请的预设连接方式优选PCIeNTB。
通过PCIeNTB将各个HPC集群进行连接以建立分布式共享内存。
将各个高性能计算集群之间的远端共享内容窗口(SharedMemory Window)和本端PCIe设备的地址空间(BaseAddressRegister,BAR)建立映射关系,以完成建立分布式共享内存。
其中,本端扩展总线标准设备即为本端PCIe设备。
以HPC0为本地物理机为例:HPC1中分配的内存窗口对于HPC0来讲可以认为是远端内存窗口。如果完成了NTB映射,HPC0可以通过NTB进行远程内存的访问,此段内存空间拥有了共享的属性,这时就可以认为它是Shared MemoryWindow。
通过PCIeNTB可以将SharedMemoryWindow与本端BAR建立映射关系,当映射关系建立后就可以用本地内存访问的方式访问对端映射的内存。多个HPC通过PCIeNTB设备互相建立这种映射关系后,就建立了一个分布式共享内存。有了分布式共享内存后这一组HPC之间可完成的跨界点中断转发、跨节点I/O请求转发等。
一般NTB设备会提供特殊的BAR来完成PCIe地址转换,本端设备依据分配的内存地址以及大小来完成对端BAR的配置,当对端设备发起的内存访问落入BAR中的地址空间后,NTB会将对端访问的请求透明的转发到本端,完成远程内存的访问。
融合多个HPC集群可以将芯片的集成度提高,使用线束更短,可以采用统一的散热系统,从而降低成本。
相较于使用远程网络通讯协作等方法而言,本方案将多个HPC集群融合为一个系统,这样可以在整体资源的维度上进行编程,有利于实现更有创新的应用。
S102:在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机(VirtualMachine,VM),融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机。
在S102中,在虚拟化框架的中间层中通过分布式共享存储器(DSM),将各个虚拟机镜像(QEMU)进行融合,得到融合后的虚拟机;融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机。
虚拟机至少包括运行汽车开放系统架构(ClassicAUTOSAR)的虚拟机(VM0)、运行自适应汽车电子系统(AdaptiveAUTOSAR)的虚拟机(VM1)和运行安卓系统(Android)的虚拟机(VM2)等。
S103:在虚拟化框架中通过上层应用(Application)实现整车控制功能、智能驾驶功能和智能座舱功能。
其中,S101、S102和S103为并列关系。
具体虚拟化框架,即QEMU-KVM的结构如图2所示。图2示出了虚拟化框架的示意图。
本方案实现了ZonalEEA3.0架构。图2中,QEMU-KVM的上层应用Application实现了车控(整车控制)、智驾(智能驾驶)及座舱(智能座舱)的功能,中间层通过分布式共享存储器(DistributedSharedMemory,DSM)将多个QEMU进行整合,实现了三域(整车控制、智能驾驶、智能座舱)融合后的VM。QEMU-KVM的底层分为Hypervisor及HW。
其中,融合后的VM包括运行ClassicAUTOSAR的VM0、运行Adaptive AUTOSAR的VM1以及运行Android的VM2。
KVM作为内核模块,该内核模块运行在宿主机操作系统中用作Hypervisor。
需要说明的是,Hypervisor可叫做虚拟机监视器(VirtualMachineMonitor,VMM)。Hypervisor是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。
图2是一个通用的QEMU-KVM框架,模拟器QEMU运行在用户态,用来模拟一些设备比如以太网(ETH)设备、控制器局域网(CAN)设备、内存(MEM)、vCPU等,它也提供操作KVM的API接口用来创建KVM及vCpu等。
VM内部的vCPU对应QEMU的vCpu线程,当VM访问I/O或者执行特权指令(即I/O指令)则会进行虚拟机退出(VM-Exit)陷入KVM进行处理;如果是I/O请求则退回到QEMU的模拟设备进行执行;如果I/O设备不是本地设备则需要进行I/O请求转发;如果VM不是访问I/O则由KVM进行处理,处理完成后再运行VM(VM-Entry)。
KVM是运行在linux内核中的模块。设备可以使用Linuxdriver,调度工作也是由linux完成。在VM退出以及访问物理设备时还存在两个阶段的地址转换第一阶段翻译是虚拟地址转为虚拟机物理地址,第二阶段翻译是虚拟机物理地址转(IPA)为实际设备的物理地址(PA)。EL2状态即为虚拟化模式的状态。
HW用于虚拟化及HPC设备通过PCIeNTB进行共享内存的映射,实现了分布式共享内存。HW包括cpu、CAN、ETH、MEM等。
S104:通过处理后的虚拟化框架完成融合架构(即HPC融合架构)的构建。
在S104中,通过S101-S103处理后的虚拟化框架完成融合架构的构建。
具体HPC融合架构如图3所示。
HPC融合架构包基于对处理后的上层、中间层和底层的虚拟化框架构建得到。
图3中,HPC融合架构包括上层应用、中间件KVM、Hypervisor和HW。
如图3所示,Hypervisor处于SoC硬件平台之上,将实体资源(如CPU、内存、存储空间、网络适配器、外设等)转换为虚拟资源,按需分配给每个虚拟机,允许它们独立地访问已授权的虚拟资源。Hypervisor实现了硬件资源的整合和隔离,使应用程序既能共享CPU等物理硬件,也能依托不同的内核环境和驱动运行,从而满足汽车领域多元化应用场景需求。
上层应用中包括整车控制(车控)、智能驾驶(智驾)、智能座舱(座舱)。
中间件KVM包括DSM、QEMU0、QEMU1、QEMU2。其中,QEMU0、QEMU1和QEMU2均为进程。虚拟机(VM0、VM1和VM2),分别对应这些进程,如VM0对应着QEMU0,VM1对应着QEMU1,VM2对应着QEMU2。虚拟机的类型还可以是汽车开放系统架构(ClassicAUTOSAR)的虚拟机、自适应汽车电子系统(AdaptiveAUTOSRA)的虚拟机、安卓(Android)的虚拟机等。具体本方案的虚拟机的类型不做具体限定。
Hypervisor中包括多个HOSTOS。HOSTOS是服务器虚拟化中的一个概念。虚拟化就是在物理机器上安装操作系统,然后在这个操作系统上安装Hypervisor虚拟化软件,这样就可以在物理机上虚拟化出若干分区,可以分别安装不同的操作系统,在这个物理机器上安装的操作系统即为HOSTOS。
HW用于虚拟化及HPC设备通过PCIeNTB进行共享内存的映射,实现了分布式共享内存。
图3中展示出了两个HPC集群实现三个HPC集群的功能的可能性。
如图3所示,本方案通过改进QEMU-KVM虚拟化系统,实现虚拟化及高性能计算HPC融合的功能,并向用户提供单一系统镜像SSI。多个HPC通过分布式虚拟机监视器Hypervisor被组织成一个资源池,上层Application软件无需关心底层物理机。本发明实现了ZonalEEA3.0架构。上层Application实现了车控、智驾及座舱的功能,中间层通过分布式共享存储器DSM将多个QEMU进行整合,实现了三域(车控、智能驾驶、智能座舱)融合后的虚拟机VM:运行ClassicAUTOSAR的VM0、运行AdaptiveAUTOSAR的VM1以及运行Android的VM2。底层分为Hypervisor及HW,KVM作为内核模块运行在宿主机操作系统中用作Hypervisor。HW:虚拟化及高性能计算HPC通过PCIeNTB实现了共享内存的映射,实现了分布式共享内存。
本申请实施例中,在虚拟化框架中的底层、中间层和上层应用中进行设置、融合等操作来构建融合架构,从而通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。通过上述方案,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
参考图4所示,为本申请实施例公开的一种融合处理方法的流程示意图,该融合处理方法适用于上述实施例图1的融合架构的构建方法得到的融合架构,该融合处理方法主要包括如下步骤:
S401:通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配。
在S401中,通过融合架构的中间层和分布式共享存储器,对各个物理机资源进行资源整合;各个物理机资源之间通过预设连接方式映射的分布式共享内存建立连接,在虚拟化模式下,通过横向扩展的虚拟化技术对整合后的物理机资源进行分配。
其中,横向扩展即为是指整合多个物理机(HPC)资源,提供给虚拟机使用。本发明注重的是横向扩的能力,将多台物理机资源通过分布式共享内存进行整合,以现有HPC芯片就有能力完成车控+智驾+座舱融合的愿景。
资源整合:本方案的设计将多个物理机(HPC)资源整合(计算资源、存储资源及网络资源等),各HPC间使用NTB映射的分布式共享内存建立连接,这使得虚拟机可以在不同物理机之间共享数据和通信。
资源分配:本方案使用QEMU-KVM这种虚拟化模式。Linux内核会负责分配物理机资源给虚拟机。这包括将物理机CPU的时间片分给虚拟CPU(vCPU)、虚拟机调度和性能等。
虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
在虚拟化环境中通常需要进行三个部分的虚拟化技术。首先是CPU虚拟化,它主要负责特权指令的处理。虚拟机上下文的切换以及中断的虚拟化。本方案中CPU虚拟化还负责跨节点的中断转发、以及分布vCpu到不同的HPC物理节点。从而实现资源聚合使用。
虚拟化技术的第二部分是对I/O进行虚拟化,通常I/O虚拟化是解决不同虚拟机对外部设备发起的I/O请求,而本设计I/O虚拟化还需要路由本地虚拟机发起的对远端设备访问的I/O请求。
虚拟化技术的第三部分是内存虚拟化。
通过融合架构、分布式共享内存、CPU虚拟化、I/O虚拟化和内存虚拟化,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
相较于传统基于远程直接内存访问技术(RDMA)、高速以太网及PCIe互联的HPC而言,本方案使用横向扩展的虚拟化技术屏蔽底层资源的结构,并重新进行资源整合与分配,这种方法可以使有限的系统资源进行充分的利用。
CPU虚拟化用于对特权指令的处理、虚拟机上下文的切换以及中断的虚拟化。
CPU虚拟化的过程如下:
首先,对各个虚拟机中所有vCPU进行区分,得到本地vCPU和远端vCPU。
然后,在远端vCPU的线程创建后,使远端vCPU的线程进入睡眠状态直至虚拟机关机时,使远端vCPU的线程进行退出操作和销毁操作。
当监测到本地vCPU向远端vCPU发送虚拟化中断(IPI)时,利用预设连接方式(PCIeNTB)映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入,以完成CPU虚拟化。
当监测到不同的HPC集群之间发生中断时,利用预设连接方式(PCIe NTB(Non-transparentbridge))映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入。
为了方便理解CPU虚拟化的过程,结合图3进行说明。
在QEMU-KVM虚拟化系统中vCPU是运行在QEMU中的一个线程。如图3所示,运行车控功能的VM0是由HPC0-QEMU0以及HPC-QEMU0共同组成。VM0运行的四个vCpu分别由HPC0-QEMU0以及HPC1-QEMU0提供。HPC0-QEMU0创建等同于VM0中vCpu数目的vCpu线程,并将运行在HPC0-QEMU0中的vCpu标记为本地,将运行在HPC1-QEMU0中的vCpu标记为远端。
当vCpu线程运行时本地vCpu线程运行与传统vCpu线程运行流程一致,而被标记为远端的vCpu线程则进入睡眠状态直至虚拟机关机时被销毁。
当vCpu线程运行后还需处理远程中断。当HPC0-QEMU0的本地vCpu发给HPC1-QEMU0的远程vCpu一个IPI时,Hypervisor识别出该中断是发送给远端HPC1-QEMU0,则利用PCIeNTB映射的共享内存区域进行中断转发。再由HPC1-QEMU0调用中断控制器的回调函数进行中断注入。
同理当HPC0中I/O设备发生中断给HPC1-QEMU0时,Hypervisor识别并利用PCIeNTB映射的共享内存区域进行中断转发。再由HPC1-QEMU0调用中断控制器的回调函数进行中断注入。
I/O虚拟化用于处理不同虚拟机对外部设备发起的I/O请求和路由本地虚拟机发起的对远端设备访问的I/O请求。
本地虚拟机和远端设备具体定义的方式如下:
假设HPC0和HPC1中分别连接非易失性内存主机控制器接口规范(NVM Express,NVMe)的SSD0和SSD1。HPC0访问SSD0认为是访问本地设备,而访问SSD1则认为访问远端设备。
具体I/O虚拟化的过程如下:
首先,当虚拟机访问HPC集群的I/O设备时,若内存所映射的I/O(MMIO)操作地址区域不处于当前虚拟化框架的节点中,通过预设连接方式(PCIe NTB)映射的共享内存区域将内存所映射的I/O转换为对端内存区域读写,以完成I/O虚拟化的过程。
为了方便理解I/O虚拟化的过程,结合图2进行说明。
如图2所示,VM0访问I/O设备时发生VM-Exit陷入KVM,此时KVM会判断VM-Exit原因,如果与I/O设备有关,会进入QEMU进行I/O处理。例如HPC0-QEMU0访问HPC1中的I/O设备,此时HPC0-QEMU0会判断MMIO操作地址区域不在当前QEMU节点中,并通过PCIeNTB共享内存区域,将MMIO转换为对端内存区域读写。
如果VM0以DMA方式与I/O设备进行交互,为了保证内存一致性,需要特别的处理。启动DMA设备前需要分配一块固定的内存,如果是远端内存则需要通过PCIeNTB进行映射,并且不允许远端设备随意进行访问(独占内存)。
需要说明的是,VM-Exit陷入KVM是虚拟化的一种通用的机制,访问I/O指令属于特权指令,会被KVM捕捉从而进入KVM处理。
内存虚拟化用于为虚拟机分配和管理硬件内存资源。针对各个HPC集群,按照预设分配规则分配出各自的内存空间,将各自的内存空间作为分布式共享内存,并通过预设协议确保分布式共享内存的一致性,以完成内存虚拟化的过程。
其中,预设协议为一致性协议。分布式共享内存需要使用一致性协议来确保共享内存一致性。
为了方便理解内存虚拟化的过程,结合图5和图6进行说明。图5为PCIe NTB映射(系统内存视角)的示意图。图6为PCIeNTB映射(NTEP视角)的示意图。
如图5和图6所示,两个HPC(HPC0、HPC1)之间通过PCIeNTB连接,PCIeNTB设备中对两个HOST分别呈现出端点(Endpoint,EP)视图,其中BAR0和BAR1用于配置功能,而BAR2及以上则用作共享内存映射,HPC0及HPC1根据预设分配规则分别分配出一段内存空间用作共享内存。从虚拟机角度可以将此共享内存看作为自己的本地内存,通过虚拟地址进行访问。而分布式共享内存需要使用一致性协议来确保共享内存一致性,在本方案中采用面向并行计算的共享虚拟内存系统(ASharedVirtualMemorySystemfor ParallelComputing,IVY)的思路,通过页表来维护页状态,页状态包括共享的(Shared)状态、被修改(Modified)状态及无效的(Invalid)。
需要说明的是,预设分配规则即依据实际应用进行分配,需要多少内存空间则分配多少内存空间。
图6是PCIeNTB设备特有的功能,可以将远端内存空间与本端BAR建立映射,当映射建立后就可以用本地内存访问的方式访问对端映射的内存。多个HPC通过PCIeNTB设备互相建立这种映射后,就建立了一个分布式共享内存。有了分布式共享内存后这一组HPC之间可以完成上面提到的跨界点中断转发、跨节点I/O请求转发等。
以HPC0为本地物理机为例:HPC1中分配的内存窗口对于HPC0来讲可以认为是远端内存窗口。如果完成了NTB映射,HPC0可以通过NTB进行远程内存的访问,此段内存空间拥有了共享的属性,这时就可以认为它是Shared MemoryWindow。
在PCIe中,支持MSI/MSI-X中断。这种消息中断是通过写入特定地址一个特殊的值可以触发中断,只需要将特殊的中断地址进行NTB映射,对映射后的地址写入特殊的值就可以完成中断转发。
参考图3,可以把PCIeNTB设备看成两部分,与HPC0相连的一端是一部分,与HPC1相连的是另一部分,这两部分分别属于不同的PCIe域(在PCIeSwitch中可以叫做不同的Partition)。
图6中,HOSTandPartition0combinedMemoryMap代表HPC0以及与HPC0相连的PCIeNTB部分的映射;HOSTandPartition1combinedMemory Map代表HPC1以及与HPC1相连的PCIeNTB部分的映射。
S402:以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;其中,虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
本申请实施例中,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
基于上述实施例图1公开的一种融合架构的构建方法,本申请实施例还对应公开了一种融合架构的构建系统,如图7所示,该融合架构的构建系统包括设置单元701、融合单元702、实现单元703和构建单元704。
设置单元701,用于在虚拟化框架的底层中设置虚拟机监视器和硬件;虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存。
融合单元702,用于在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机。
实现单元703,用于在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能。
构建单元704,用于通过处理后的虚拟化框架完成融合架构的构建。
进一步的,通过建立分布式共享内存的设置单元701,具体用于将各个HPC集群之间的远端共享内容窗口和本端扩展总线标准设备的地址空间建立映射关系,以完成建立分布式共享内存。
本申请实施例中,在虚拟化框架中的底层、中间层和上层应用中进行设置、融合等操作来构建融合架构,从而通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。通过上述方案,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
基于上述实施例图4公开的一种融合处理方法,本申请实施例还对应公开了一种融合处理系统,如图8所示,该融合处理系统包括整合分配单元801。
整合分配单元801,用于通过融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;其中,虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
进一步的,整合分配单元801包括整合模块和分配模块。
整合模块,用于通过融合架构的中间层和分布式共享存储器,对各个物理机资源进行资源整合;各个物理机资源之间通过预设连接方式映射的分布式共享内存建立连接;
分配模块,用于在虚拟化模式下,通过横向扩展的虚拟化技术对整合后的物理机资源进行分配。
进一步的,CPU虚拟化的整合分配单元801,包括区分模块、处理模块和中断模块。
区分模块,用于对各个虚拟机中的所有vCPU进行区分,得到本地vCPU和远端vCPU。
处理模块,用于在远端vCPU的线程创建后,使远端vCPU的线程进入睡眠状态直至虚拟机处于关机状态或重启状态时,使远端vCPU的线程进行退出操作和销毁操作。
中断模块,用于当监测到本地vCPU向远端vCPU发送虚拟化中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入,以完成CPU虚拟化。
进一步的,融合处理系统还包括处理单元。
处理单元,用于当监测到不同的HPC集群之间发生中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入。
进一步的,I/O虚拟化的整合分配单元801,具体用于当虚拟机访问HPC集群的I/O设备时,若内存所映射的I/O操作地址区域不处于当前虚拟化框架的节点中,通过预设连接方式映射的共享内存区域将内存所映射的I/O转换为对端内存区域读写,以完成I/O虚拟化。
进一步的,内存虚拟化的整合分配单元801,包括分配模块和确定模块。
分配模块,用于针对各个HPC集群,按照预设分配规则分配出各自的内存空间;
确定模块,用于将各自的内存空间作为分布式共享内存,并通过预设协议确保分布式共享内存的一致性,以完成内存虚拟化。
本申请实施例中,通过融合多个高性能计算集群,可以将芯片的集成度提高,使用线束更短,采用统一的散热系统,降低了成本。并且使用横向扩展的虚拟化技术屏蔽底层资源的结构,将多台物理机资源通过分布式共享内存进行整合与分配,确保有限的系统资源的充分利用,从而实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制。
上述各个实施例的具体实施过程及其衍生方式,均在本申请的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为聚类部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种融合架构的构建方法,其特征在于,所述方法包括:
在虚拟化框架的底层中设置虚拟机监视器和硬件;所述虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;所述硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存;
在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,所述融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机;
在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能;
通过处理后的虚拟化框架完成融合架构的构建。
2.根据权利要求1所述的融合架构的构建方法,其特征在于,所述建立分布式共享内存,包括:
将所述各个HPC集群之间的远端共享内容窗口和本端扩展总线标准设备的地址空间建立映射关系,以完成建立分布式共享内存。
3.一种融合处理方法,其特征在于,适用于权利要求1-2任意一项的融合架构的构建方法得到的融合架构,所述方法包括:
通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;
其中,所述虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
4.根据权利要求3所述的融合处理方法,其特征在于,所述通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,包括:
通过融合架构的中间层和分布式共享存储器,对各个物理机资源进行资源整合;所述各个物理机资源之间通过预设连接方式映射的分布式共享内存建立连接;
在虚拟化模式下,通过横向扩展的虚拟化技术对整合后的物理机资源进行分配。
5.根据权利要求3所述的融合处理方法,其特征在于,所述CPU虚拟化包括:
对各个虚拟机中的所有vCPU进行区分,得到本地vCPU和远端vCPU;
在远端vCPU的线程创建后,使所述远端vCPU的线程进入睡眠状态直至虚拟机处于关机状态或重启状态时,使所述远端vCPU的线程进行退出操作和销毁操作;
当监测到所述本地vCPU向所述远端vCPU发送虚拟化中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入,以完成CPU虚拟化。
6.根据权利要求3所述的融合处理方法,其特征在于,还包括:
当监测到不同的HPC集群之间发生中断时,利用预设连接方式映射的共享内存区域进行中断转发,并调用中断控制器的回调函数进行中断注入。
7.根据权利要求3所述的融合处理方法,其特征在于,所述I/O虚拟化包括:
当虚拟机访问HPC集群的I/O设备时,若内存所映射的I/O操作地址区域不处于当前虚拟化框架的节点中,通过预设连接方式映射的共享内存区域将内存所映射的I/O转换为对端内存区域读写,以完成I/O虚拟化。
8.根据权利要求3所述的融合处理方法,其特征在于,所述内存虚拟化包括:
针对各个HPC集群,按照预设分配规则分配出各自的内存空间;
将各自的内存空间作为分布式共享内存,并通过预设协议确保所述分布式共享内存的一致性,以完成内存虚拟化。
9.一种融合架构的构建系统,其特征在于,所述融合架构的构建系统包括:
设置单元,用于在虚拟化框架的底层中设置虚拟机监视器和硬件;所述虚拟机监视器用于将各个HPC集群组织成资源池来实现硬件资源的整合;所述硬件用于通过预设连接方式将各个HPC集群进行连接以建立分布式共享内存;
融合单元,用于在虚拟化框架的中间层中将各个虚拟机镜像进行横向融合,得到融合后的虚拟机,所述融合后的虚拟机至少包括整车控制的虚拟机、智能驾驶的虚拟机、智能座舱的虚拟机;
实现单元,用于在虚拟化框架中通过上层应用实现整车控制功能、智能驾驶功能和智能座舱功能;
构建单元,用于通过处理后的虚拟化框架完成融合架构的构建。
10.一种融合处理系统,其特征在于,适用于权利要求9所述的融合架构的构建系统得到的融合架构,所述融合处理系统包括:
整合分配单元,用于通过所述融合架构和横向扩展的虚拟化技术,对各个物理机资源进行资源整合与分配,以实现在确保系统资源的充分利用的情况下进行整车控制、智能驾驶控制和智能座舱控制;其中,所述虚拟化技术至少包括CPU虚拟化、I/O虚拟化和内存虚拟化。
CN202410033079.1A 2024-01-09 2024-01-09 一种融合架构的构建方法、融合处理方法及系统 Pending CN117785387A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410033079.1A CN117785387A (zh) 2024-01-09 2024-01-09 一种融合架构的构建方法、融合处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410033079.1A CN117785387A (zh) 2024-01-09 2024-01-09 一种融合架构的构建方法、融合处理方法及系统

Publications (1)

Publication Number Publication Date
CN117785387A true CN117785387A (zh) 2024-03-29

Family

ID=90398450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410033079.1A Pending CN117785387A (zh) 2024-01-09 2024-01-09 一种融合架构的构建方法、融合处理方法及系统

Country Status (1)

Country Link
CN (1) CN117785387A (zh)

Similar Documents

Publication Publication Date Title
US11934883B2 (en) Computer cluster arrangement for processing a computation task and method for operation thereof
US6961941B1 (en) Computer configuration for resource management in systems including a virtual machine
EP3086228B1 (en) Resource processing method, operating system, and device
JP2757961B2 (ja) 複数の中央処理装置間が対等の関係を有するデータ処理システム用の装置および方法
US9052957B2 (en) Method and system for conducting intensive multitask and multiflow calculation in real-time
JP6564838B2 (ja) インダストリアル・インターネットオペレーティングシステムに基づくマルチオペレーティングシステム運行方法および装置
JP2016541072A5 (zh)
CN101751284A (zh) 一种分布式虚拟机监控器的i/o资源调度方法
GB2525003A (en) Data Processing Systems
CN113778612A (zh) 基于微内核机制的嵌入式虚拟化系统实现方法
CN113821308A (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
RU2543962C2 (ru) Аппаратно-вычилистельный комплекс виртуализации и управления ресурсами в среде облачных вычислений
CN113568734A (zh) 基于多核处理器的虚拟化方法、系统、多核处理器和电子设备
CN117785387A (zh) 一种融合架构的构建方法、融合处理方法及系统
CN114281529A (zh) 分布式虚拟化的客户操作系统调度优化方法、系统及终端
JP7308937B2 (ja) ハイパーバイザおよび制御装置
CN114138422A (zh) 可扩展性的NVMe存储虚拟化方法和系统
JPH1185547A (ja) 仮想クラスタ構成方法
Yin et al. A user-space virtual device driver framework for Kubernetes
CN111158849A (zh) 支持虚拟机共享io设备的多机计算装置及其io设备共享方法
Kale et al. Distributing subsystems across different kernels running simultaneously in a Multi-Core architecture
CN113626148B (zh) 一种基于混合虚拟化的终端虚拟机生成系统及方法
KR101334842B1 (ko) 가상화 지원 단말 플랫폼을 위한 가상머신 관리장치 및 방법
WO2021170054A1 (zh) 一种虚拟化的方法、设备、板卡及计算机可读存储介质
US10922149B2 (en) System comprising a plurality of virtualization systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination