CN112153116A - 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法 - Google Patents

一种基于车载以太网的中央计算平台多虚拟机的数据共享方法 Download PDF

Info

Publication number
CN112153116A
CN112153116A CN202010891717.5A CN202010891717A CN112153116A CN 112153116 A CN112153116 A CN 112153116A CN 202010891717 A CN202010891717 A CN 202010891717A CN 112153116 A CN112153116 A CN 112153116A
Authority
CN
China
Prior art keywords
shared memory
virtual machine
data
data packet
computing platform
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.)
Granted
Application number
CN202010891717.5A
Other languages
English (en)
Other versions
CN112153116B (zh
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.)
Shanghai Hinge Electronic Technologies Co Ltd
Original Assignee
Shanghai Hinge Electronic Technologies 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 Shanghai Hinge Electronic Technologies Co Ltd filed Critical Shanghai Hinge Electronic Technologies Co Ltd
Priority to CN202010891717.5A priority Critical patent/CN112153116B/zh
Publication of CN112153116A publication Critical patent/CN112153116A/zh
Application granted granted Critical
Publication of CN112153116B publication Critical patent/CN112153116B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于车载以太网通信的中央计算平台多虚拟机的数据共享方法,包括:硬件层之上的虚拟机管理层,位于虚拟机管理层的多个虚拟机,虚拟机通信之间至少包括共享内存;共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过优先级层加载动态可变优先级,在通过传输层进行封装处理后发送到创建的共享内存通道中。该方法提高了整体的多个虚拟机之间的通信性能,并且能够根据工作负载随时调整动态内存空间大小,提升系统硬件资源利用率。另外,采用动态可调优先级策略,灵活调度系统资源。

Description

一种基于车载以太网的中央计算平台多虚拟机的数据共享 方法
技术领域
本发明涉及汽车领域,尤其涉及一种基于车载以太网的中央计算平台多虚拟机的数据共享方法。
背景技术
随着汽车对舒适化、信息化、智能化的功能需求不断增加,汽车电子电气系统越来越复杂庞大,电子电气架构(EEA,Electronic&Electrical Architecture)应运而生。同时,汽车电子电气技术的不断发展对EEA开发提出了平台化、模块化、可评估、可变型等要求。现阶段,汽车的网络架构仍然是基于以CAN总线通信为主的分布式架构方案,在这种架构下,功能特性被分配到多个ECU的功能模块中,大量ECU会相互协同工作,满足驾驶员的各种功能需求。但由于汽车电子电气功能越来越复杂、客户的需求大幅提升,分布式架构方案只会变得越来越复杂,大量的功能交互可能会导致功能耦合、故障耦合。随着域分布、云计算、大数据的应用,与分布式架构方案相比,集中式架构方案将多个功能模块整合到域控制器,再将各个域控制器融合,形成中央计算平台,从而降低系统的复杂度、成本与质量。但是汽车信息安全问题一直都是备受人们关注的。在过去,车辆被黑客攻击的案例屡屡发生,面对5G/自动驾驶的即将来临,汽车信息安全尤为重要和迫切。因此,如果单独采用一个操作系统,如Linux,由于汽车涉及的ECU众多,动力相关的发动机ECU、变速器ECU、离合器ECU,其跟安全密切相关,如果被黑客攻击,后果不堪设想,其应该作为一个独立被隔离的空间,另外,智能座舱域,涉及视频、收音机、人机交互等,其安全性并不高,为了方便驾驶员或乘客的舒适性体验,需要安装软件或者升级。如果这些功能的ECU控制与执行都处在一下操作系统下,由此会使得汽车安全系统非常脆弱,容易受到攻击。
为了解决分布式汽车架构存在的问题,现有技术中,通过在中央计算平台中引入多个虚拟机,这样每个虚拟机可以运行不同的操作系统,不同安全等级的应用可以安装到不同的操作系统中,这样使得集中式域控制器的多虚拟机系统能够这些问题。但是中央计算平台的多虚拟机系统仍然处于探索阶段,中央计算平台虚拟系统既具有实时性,又具有非实时娱乐性的应用,汽车控制应用有严格的时间限制,并应在其指定的期限内执行,而娱乐资讯应用程序不需要快速响应,可以容忍延迟,因为它们具有非实时或软性的要求,我们需要确保系统在最坏的情况下实时应用能够完成所有的实时任务。因此,针对汽车出较多的ECU之间如何安全高效的共享数据仍然是中央计算平台的使用面临的主要问题。现阶段,尽管存在一些解决多虚拟机的数据共享技术,如专利CN200910080933.5,其提供了一种计算机及操作系统的共享内存方法,在其系统上用户之间的数据的通信采用了共享内存的方法,但是该方法仅是提供技术的地址映射,其存在用户数据如何传输以及完整性的问题,无法应用于车载中央计算平台。专利CN 109684042A提供一种虚拟化平台中虚拟机内存动态调整的方法,其调整涉及虚拟机之间的分配的内存调整,并不是虚拟机之间的共享内存调整。虚拟机之间的内存分配调整由于涉及虚拟机的数量有限以及调度简单,其较为方面操作。但是虚拟机之间的共享内存由于涉及多个虚拟机之间的数据通信以及每个虚拟机中存在若干个进程,每个进程瞬态处理数据能力以及频次都不相同,单纯依靠将剩余内存调配的方式显然并不能满足该要求。如专利CN103838633A,CN 109684042 A,CN 106598697 A等仍然不能解决该问题。基于现有技术的缺陷,本发明提供一种较好应用于虚拟机之间共享内存解决方案。
发明内容
为了解决现有技术中存在的技术缺陷,本发明提供了一种基于车载以太网通信的中央计算平台多虚拟机的数据共享方法,包括:
硬件层之上的虚拟机管理层,位于虚拟机管理层的多个虚拟机,虚拟机通信之间至少包括共享内存;共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;
发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过优先级层加载动态可变优先级,在通过传输层进行封装处理后发送到创建的共享内存通道中;共享内存通道的内存块采用循环链接列表,并通过共享内存管理的单元数据进行控制与管理;单元数据包括:空闲数据标识数据、通道标识数据、单元块维护数据。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,所述空闲数据标识数据作为全局元数据,位于共享内存的最开始位置,并由使用共享内存通道的所有虚拟机进行访问;所述通道标识数据用于记录每个内存的通道;所述单元块维护数据用于维护单个内存块。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,发送方虚拟机需要建立共享内存通道并通过共享内存通道发送数据包给接收方虚拟机;
每个虚拟机将其发送数据包放入自己的共享内存通道中,从对应的虚拟机的共享内存通道中获取接收数据;属于每个共享内存通道的内存块采用循环链接列表。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,虚拟机通过读取通道标识数据以获得对将新来的数据包放在共享内存中的位置的引用,通道标识数据用于维护共享内存管道的实时利用率以进行动态分配/取消分配;
单元块维护数据用于在每个内存块中存储指向可用数据的开始和结束的位置引用,并在同一共享内存管道中维护指向下一个块的指针。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,所述通道标识数据包括第一对指针和第二对指针,第一对指针用于指向数据包占用共享内存区域的开始位置和结束位置;第二对指针用于指定分离前和后的两个内存块;
所述单元块维护数据包括第三对指针,通过第三对指针将不同内存块链接到循环链接列表。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,多个虚拟机中,存在安装实时操作系统的虚拟机和非实时操作系统的虚拟机。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,操作系统运行在虚拟机之上,操作系统中设有共享内存核心组件,共享内存核心组件用于对共享内存进行控制与管理;
共享内存核心组件包括:数据判断器,事件管理器和动态共享内存控制器。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,数据判断器用于拦截发送方的虚拟机发送的数据包并解析出数据包的目的地址并判断目的地址是否为本地终端,若为本地终端,则通过共享内存核心组件来传输数据包,若为非本地终端,则通过默认的内核路径来传递数据包。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,事件管理器在发送方虚拟机和接收方虚拟机之间传递中断通知;事件管理器通知接收方虚拟机准备好从共享内存中获取数据,在将数据从共享内存成功移动到接收方虚拟机的内核缓冲区之后,相应的共享内存空间被释放。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,动态共享内存控制器负责工作负荷感知以及需求驱动的共享内存分配和撤销;
动态共享内存控制器通过监视每个共享内存通道的利用率并动态调整通道容量。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,当数据包被数据判断拦截并标识为要通过共享内存通信时,共享内存核心组件通知发送方虚拟机采用套字节重定向策略,套字节重定向策略包括套字节缓冲的创建从应用层直接到共享内存空间;
套字节重定向策略用于发送方虚拟机而不用于接收方虚拟机。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过加密层对数据包进行加密,加密层位于传输层之上;
接收方虚拟机从对应的共享内存通道获取加密数据包时并在应用层进行解密。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,动态优先级层根据进程标识、地址标识、处理器运行负荷、触发标识中的一种或多种对数据包的优先级进行添加并动态调整。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,当虚拟机中存在多个进程或线程同时需要通过共享内存进行通信时,虚拟CPU按照优先级顺序,依次中断响应;
高优先级进程优先获得虚拟CPU的处理权限并不被低优先级CPU中断。
一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,进一步地,发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,若接收方虚拟机存在多个实时进程需要获取数据包,则发送方虚拟机同时创建与接收方虚拟机中需要数据包的进程数量相同的共享内存通道,并将数据包分别发送至创建的共享内存通道,待接收方虚拟机获取数据包后释放共享内存通道。
通过虚拟机管理分配用于共享内存交换的全局存储空间并将全局存储空间地址映射到虚拟中,将存储空间分成多个可调容量的弹性区域分配给对应虚拟机;
通过动态共享内存管理器监视每个共享弹性池的利用率,并根据来自虚拟机的内存交换流量动态调整弹性区域的大小;
如果虚拟机使用了弹性区域中的所有存储小块,并且在全局分配的全局存储空间区域中没有可用存储小块,则交换流量将自动转移至非易失性存储器磁盘分区。
有益效果:
1.本发明提供的技术方案中,通过采用动态共享内存方式使得车载中央计算平台中的虚拟机采用动态共享内存进行通信,并且在运行过程中,根据进程或线程的工作负荷动态共享内存每个虚拟机共享内存的大小。通过在共享内存设置用于管理的单元数据,通过单元数据并且设置三对指针,能够更好的对众多的内存块进行高效管理,使得不连续的内存地址空间能够被使用,减少了存储碎片。
2.本发明提供的技术方案中,通过在加密层和传输层之上进行设置优先级加载动态可变优先级,避免在应用层进行优先级的设置,这样可以使得不同供应商在进行APP开发时,存在相同功能的APP的情况下,可能设定不同的优先级问题,导致无序与主机中关键进程进行抢占系统资源的问题。通过设置优先级层统一设置优先级,供应商可以根据APP实现的功能不必考虑优先级问题,因为不同厂家的设置的优先级可能在不同的场景下存在矛盾,通过在优先级层统一设置优先级,能够解决该问题。另外,在设置优先级时,进相同进程的优先级并非固定不变,设置时,考虑了多种因素,如进程标识、地址标识、处理器运行负荷、触发标识对进程的优先级进行动态设置,这样使得进程调度或数据通信较为灵活,能够自适应调整。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。
图1为本发明一实施例中车载中央计算平台的结构示意图。
图2为本发明一实施例中单元数据包括:空闲数据标识数据、通道标识数据、单元块维护数据处于共享内存块的示意图。
图3为本发明一实施例中用于共享内存的协议栈框架结构示意图。
具体实施方式
为了对本文的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。为使图面简洁,各图中的示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,为使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。
关于控制系统,功能模块、应用程序(APP)本领域技术人员熟知的是,其可以采用任何适当的形式,既可以是硬件也可以是软件,既可以是离散设置的多个功能模块,也可以是集成到一个硬件上的多个功能单元。作为最简单的形式,所述控制系统可以是控制器,例如组合逻辑控制器、微程序控制器等,只要能够实现本申请描述的操作即可。当然,控制系统也可以作为不同的模块集成到一个物理设备上,这些都不偏离本发明的基本原理和保护范围。
本发明中“连接”,即可包括直接连接、也可以包括间接连接、通信连接、电连接,特别说明除外。
本文中所使用的术语仅为了描述特定实施方案的目的并且不旨在限制本公开。如本文中所使用地,单数形式“一个”、“一种”、以及“该”旨在也包括复数形式,除非上下文明确地另作规定。还将理解的是,当在说明书中使用时,术语“包括”和/或“包含”是指存在有所陈述的特征、数值、步骤、操作、元件和/或组分,但是并不排除存在有或额外增加一个或多个其它的特征、数值、步骤、操作、元件、组分和/或其组成的群组。作为在本文中所使用的,术语“和/或”包括列举的相关项的一个或多个的任何和全部的组合
应当理解,此处所使用的术语“车辆”或“车辆的”或其它类似术语一般包括机动车辆,例如包括运动型多用途车辆(SUV)、公共汽车、卡车、各种商用车辆的乘用汽车,包括各种舟艇、船舶的船只,航空器等等,并且包括混合动力车辆、电动车辆、可插式混合动力电动车辆、氢动力车辆以及其它替代性燃料车辆(例如源于非石油的能源的燃料)。正如此处所提到的,混合动力车辆是具有两种或更多动力源的车辆,例如汽油动力和电力动力两者的车辆。
具体,本实施提供了一种车载以太网通信的中央计算平台,参见图1,具体包括:硬件层之上的虚拟机管理层,位于虚拟机管理层的多个虚拟机;
硬件层包括处理器、内存、硬盘、显卡等芯片,由这些芯片组成硬件层,负责整个汽车的数据运算和决策;
例如:英伟达Tegra K1处理器、Mobileye的EyeQ3芯片以及Altera的Cyclone5FPGA芯片硬件层;
硬件层还设有多种不同的通信接口,包括:车载以太网接口(100base-T1,1000base-T1)、以太网接口、USB接口、CAN接口、LIN接口、HDMI、VGA、LVDS接口;
虚拟机管理层运行在硬件层上,其分配有特权指令和敏感指令,能够直接对硬件层中的硬件进行操作,如调用处理器、分配存储空间、内存空间等;
多个虚拟机运行在虚拟机管理层,虚拟机上安装有操作系统,如有的虚拟机安装实时操作系统,有些虚拟机安装有非实时操作系统,虚拟机运行的操作系统中,操作系统内核通过虚拟的I/O接口访问虚拟机管理层从而实现硬件的调用。实时操作系统VxWorks,RT-Thread,uCOS,QNX,WinCE,非实时操作系统包括:android,carplay等。
本实施提供了一种车载以太网通信的中央计算平台的多虚拟机之间的数据共享方法,其运行在中央计算平台上。
虚拟机通信之间至少包括共享内存;共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;
操作系统安装于虚拟机上,操作系统中设有共享内存核心组件,共享内存核心组件用于对共享内存进行控制与管理;
共享内存核心组件包括:数据判断器,事件管理器和动态共享内存控制器;
数据判断器会拦截每个发送方虚拟机的传出数据包,并检查数据包是否正在移向同一位置的本地虚拟机,如是,将使用预设共享内存传递路径来传递数据包;否则,将通过默认的内核路径发送数据包;
事件管理器在发送方虚拟机和接收方虚拟机之间传递中断通知;动态共享内存控制器负责工作负荷感知以及需求驱动的共享内存分配和撤销。当某个数据包被数据包分析器拦截并标识为要发送到本地的虚拟机时,共享内存核心组件通知虚拟机内核分配套接字缓冲区,从共享内存而不是默认内核缓冲区中获取该数据包,数据包将直接从用户级应用程序缓冲区复制到共享内存中。事件管理器通知接收方虚拟机准备好从共享内存中获取数据。在将数据从共享内存成功移动到接收方虚拟机的内核缓冲区之后,相应的共享内存空间被释放,接收方虚拟机通过默认的内核路径将数据包传递到其应用程序。
数据判断器位于每个虚拟机的操作系统中,以拦截和分析虚拟机发送的数据包。现有技术中,数据包通常都在应用层进行拦截,然后直接放入共享内存中,这样通信路径最短,能够实现的性能较好。也有通过在套字节缓存层来进行,如可以通过修改套接字API来实现数据包拦截,但是需要重写应用程序以合并这些API,导致不良的用户级透明度。另外,如果在套接字级别截获数据包,则将跳过内核网络堆栈,当需要保证数据完整性时,容易出现问题。
但是在车载中央计算平台中,由于汽车的实时性、可靠性以及安全性的原因,安全、可靠是首位的,在共享内存中需要保证传输的数据包时是正确的、可靠的。因此,本实施中,数据判断器选择在传输层下面进行拦截数据包。通过选择在传输层实现拦截数据包,以保证在不可预测的网络环境下数据包传输的正确性。
如图2所示,本实施提供用于共享内存进行通信的协议栈,具体包括:应用层、套字节缓冲层、加密层、优先级级层、传输层,其中,在套字节缓冲层以下,加密层和优先级层根据数据包的报文信息为非必须通道,只有目标地址为本地且需要通过共享内存传输的数据包才会经过该两层,其余通过系统默认的内核协议栈进行通信;
共享内存的数据包的拦截分成两步,第一步拦截在套字节缓冲层后进行,此时拦截的目的并非是将该数据包放入共享内存中,而是判断数据包的目的地址是否为本地虚拟机,若为本地虚拟机,则数据包分析器将该数据包放入共享内存处理路径进行处理,并对处理完后的数据包在传输层下进行第二次拦截;
第二次拦截在传输层下,此时直接将拦截的数据包放入在发送方虚拟机建立的共享内存通道中;
共享内存处理路径包括加密层和优先级层,加密层用于对数据包进行加密,优先级层用于对数据包进行添加优先级。
现有技术中,对于数据包加密都是在应用层进行。但是考虑到汽车的特殊因素,其不同的应用大都来自不同的tier1厂家,如果在应用层进行加密,则每个APP的加密方法和加密方式不同,使得虚拟机之间的解密需要消耗大量的资源。因此本实施单独增加一层加密层,对需要通过共享内存的数据包进行加密,使不同厂家的应用程序无需单独设置加密方法,另外,也保证了程序的通用性和安全性,节省tier1供应商在运用开发时还需要增加加密这个环节。增加加密层的加密方式也较为灵活,能够易于修改和操作。
动态优先级层根据进程标识、地址标识、处理器运行负荷、触发标识中的一种或多种对数据包的优先级进行添加并动态调整。
具体地,传统优先级是在应用层进行设置的,不同供应商在进行APP开发时,存在相同功能的APP的情况可能设定不同的优先级问题,这样可能出现无序与主机中关键进程进行抢占系统资源的问题。通过设置优先级层统一设置优先级,供应商集中精力开发APP实现的功能不必考虑优先级问题。因为不同厂家的设置的优先级可能在不同的场景下存在矛盾,通过在优先级层统一设置优先级,能够解决该问题。另外,在设置优先级时,进相同进程的优先级并非固定不变,设置时,考虑了多种因素,如进程标识、地址标识、处理器运行负荷、触发标识对进程的优先级进行动态设置,这样使得进程调度或数据通信较为灵活,能够自适应调整。如:设置优先级包括进程优先级和虚拟机优先级;触发标识包括人为手动或系统调度器周期调用,当人为手动引起进程运行时,优先级层添加的优先级数大于系统调度器周期性调用的情况下的优先级。
当虚拟机中存在多个进程或线程同时需要通过共享内存进行通信时,虚拟CPU按照优先级顺序,依次中断响应;
高优先级进程优先获得虚拟CPU的处理权限并不被低优先级CPU中断;
若传送的地址非本地虚拟机,则不通过共享内存路径发送,而是通过默认的内核路径发送数据包与远端进行通信。此时,数据判断器不必进行第二次拦截。
传统的虚拟机的内存采用Grant表机制等虚拟化平台中,以使在同一物理计算机上运行的虚拟机之间共享内存页面。在Xen中,使用与管理程序共享的一组页面初始化每个虚拟机,并且每个虚拟机的授权表位于这些共享页面中。授予表中的条目用于在两个虚拟机之间定位共享内存页面。授权表机制提供了用于在虚拟机之间进行方便的内存共享的通用接口,但它受到许多限制。例如,共享内存是静态分配的。因此,分配大的共享内存区域可能浪费运行在相同来宾VM上的其他应用程序所需的内存资源。另一方面,如果分配的共享内存区域不足以满足工作负载的需求,可能会降低性能。
本实施例中,通过PCI I/O内存重映射完成共享内存分配,通过虚拟机管理层中设有共享内存分配器,其通过特权指令配置内存区域并返回内存区域的地址,其它进程能够将该地址映射到自身的地址空间中,同时,虚拟PCI IO接口创建了并分配给虚拟机。
随着汽车电子系统迅猛发展,逐渐成为汽车的重要组成部分。2000年奔驰S级轿车的电子系统已经拥有80个电控单元而在一些高端车型中这一数量通常会超过100,在汽车采用分布式架构向集中式架构的过程中,这些ECU的信息处理都需要在中央计算平台上进行处理,因此虚拟机中存在多个进程,而每个进程存在着多个线程,不同ECU根据其功能可能分属于不同域,运行在不同的虚拟机上,如何管理众多进程使用共享内存进行通信时当前车载中央计算平台面临的一个巨大问题。
本实施设计了共享内存空间进行了特殊设计,具体地,共享内存通道的内存块采用循环链接列表,并通过共享内存管理的单元数据进行控制与管理;单元数据包括:空闲数据标识数据、通道标识数据、单元块维护数据;如图3所示,虚拟机管理器分配给共享内存的单元块共有12个,其中,有1,4,8,11是处于空闲状态,这些空闲块用列表连接起来;虚拟机1使用6,7,8,其中,编号6中的通道标识数据记录共享内存通道采用的块编号,每个块中都有单元块维护数据。同理,虚拟机2采用2,3,5,9,10。在开始的编号为2的内存块中记录共享内存通道采用的块编号,每个块中都有单元块维护数据。
空闲数据标识数据是全局元数据,它位于共享内存的最开始,并由使用共享内存通道的所有虚拟机进行访问;通道标识数据记录每个共享存储通道。关键属性是两对指针,第一对是前、后指针,指向存储数据包的区域的开始和结束,前指针和后指针的值取决于全局分配的共享内存区域中的偏移量。给定共享内存区域按内存块组织,则很有可能数据包大小与块大小不一致。因此,第二对指针,前、后指针用于指定前和后分别位于其中的两个内存块。单元块维护数据,它维护每个单个内存块的元数据。它包含前和后指针,将不同内存块链接到列表的指针。每个共享内存通道都使用单个内存块进行初始化。根据工作负荷需求,每个虚拟机可能需要为其共享内存通道分配更多的共享内存块。因此,不同共享内存通道的大小可能会根据每个虚拟机的工作负荷需求而有所不同;
具体地,创建一个单独的线程来实现此动态分配,如动态共享内存控制器,该线程监视每个共享内存通道的利用率并动态调整通道容量。设置共享内存通道的过程涉及三个握手,具体包括:当发送方虚拟机需要将数据包发送到接收方虚拟机,信道创建消息由发送方虚拟机生成并发送到接收方虚拟机;
接收方虚拟机收到信道创建消息后,接收方虚拟机会从主机分配的内存区域初始化共享内存通道,然后将包含新初始化的共享内存通道的ACK消息发送回发送方虚拟机;
发送方虚拟机收到ACK消息后,VM1从中提取共享内存通道信息并将其自身连接到通道,发送方虚拟机将创建的FIN消息发送到接收方虚拟机。
通过三次握手,以确认它已成功连接到共享内存通道,避免创建过程中出现问题导致创建失败,而发送端或接收端并不知晓创建失败的问题,通过三次握手可以提高可靠性。
当某个数据包被数据判断器拦截并标识为要通过共享内存通信时,共享内存核心组件通知发送方虚拟机采用套字节重定向策略;
通过套字节重定向策略包括套字节缓冲创建在共享内存;
套字节重定向策略用于发送方虚拟机而不用于接收方虚拟机;
具体地,传统的套字节缓冲是通过在虚拟机的内核进行创建,而本实施在共享内核中创建套字节缓冲并且只在发送方虚拟机中使用。
因此,通过套字节重定向能够节省数据复制成本。另外,套字节重定向仅应用于发送方虚拟机可以提供效率。因为,如果在接收方也应用套字节重定向,在共享内存缓冲区含有有效的数据包不能够被直接释放,其需要等待数据包被成功的传送到应用层才能够被释放。另外,相比于现有通过将整个内存地址空间映射到接收方,套字节重定向能够降低风险。套字节重定向只允许数据包从用户层放入虚拟机内存而不是内核。
由于车载中央计算平台涉及的进程较多,且存在量较大的进程,如摄像头拍摄的图片、激光雷达获取的三维数据、毫米波雷达采集数据,再加上智能汽车之间的数据传输,其数据量是非常大的。
智能汽车中涉及非常多的ECU,车辆运动是一种协调性运行,其运行需要多个单元进行配合,因此在域控制器中可能存在多个实时进程之间进行通信的问题,例如:一个进程通过共享内存发送数据,可能存在多个内存同时读取数据的情况,传统的方式通过进行互斥锁,一次只允许一个进程进行读取数据或者写入数据,显然这种方法对于多个实时进程来讲,效率较低,在高速智能驾驶过程中,如果实时性无法满足可能会导致无法精确计算当前周围的环境,从而导致汽车的错误操作。为了解决该问题,本实施提出了一种解决方案,具体如下:
发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,若接收方虚拟机存在多个实时进程需要获取数据包,则发送方虚拟机同时创建与接收方虚拟机中需要数据包的进程数量相同的共享内存通道,并将数据包分别发送至创建的共享内存通道,待接收方虚拟机获取数据包后释放共享内存通道。
通过创建多个共享内存通道,能够让多个进程同时读取和写入,满足汽车实时性的需求,缺点在于需要占据较大的内存空间。
为了应对大容量的数据的共享,使得超出共享内存后可能溢出的情形或者由于共享内存达到瓶颈,使得数据交换性能下降时,本实施提出了一种共享内存的交换方式,具体地:
通过在虚拟机管理层分配用于共享内存交换的全局存储空间,将存储空间分成多个可调节存储空间大小的弹性区域,每个虚拟机存在对应的共享内存的弹性区域,每个弹性区域由许多存储小块组成;将全局存储空间的地址映射到虚拟机中;
属于同一个弹性区域的存储小块组成一个链接表,通过哈希表格来记录虚拟内存ID和虚拟机地址;虚拟机通过查找哈希表来获取可交换的存储小块;通过动态共享内存管理器监视每个共享弹性池的利用率,并根据来自虚拟机的内存交换流量动态调整弹性区域的大小;如果虚拟机使用了弹性区域中的所有存储小块,并且在全局分配的全局存储空间区域中没有可用存储小块,则交换流量将自动转移至非易失性存储器磁盘分区;
或向虚拟机管理器申请分配多余的共享内存空间,虚拟机管理器判断整个硬件平台上所有虚拟机内存的使用情况,当所有虚拟机内存的使用率小于预设的阈值,则虚拟机按需分配多余的内存空间满足虚拟机的共享内存交换需求,否则,将交换流量自动转移至非易失性存储器磁盘分区。
现有技术中,采用气球区域来动态调节虚拟机之间的内用使用情况,但是气球驱动技术仍然存在着较多的问题,利用气球驱动技术回收越来越多的内存,性能也逐渐降低。如果气球驱动导致高频率地交换,则会降低整个虚拟机的使用性能。通过本实施提供的管理方法,通过动态调节可用共享内存弹性区域的大小,当超过负荷时,将数据交换转移至非易失性存储器进行交换,避免高频交换导致系统内存下降。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。本领域的技术人员可以清楚,该实施例中的形式不局限于此,同时可调整方式也不局限于此。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

Claims (15)

1.一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,包括:硬件层之上的虚拟机管理层,位于虚拟机管理层的多个虚拟机,虚拟机通信之间至少包括共享内存;共享内存空间的大小根据运行在虚拟机中进程或线程的工作负荷或需求进行动态调整;
发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过优先级层加载动态可变优先级,在通过传输层进行封装处理后发送到创建的共享内存通道中;共享内存通道的内存块采用循环链接列表,并通过共享内存管理的单元数据进行控制与管理;单元数据包括:空闲数据标识数据、通道标识数据、单元块维护数据。
2.如权利要求1所述一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,所述空闲数据标识数据作为全局元数据,位于共享内存的最开始位置,并由使用共享内存通道的所有虚拟机进行访问;所述通道标识数据用于记录每个内存的通道;所述单元块维护数据用于维护单个内存块。
3.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,发送方虚拟机需要建立共享内存通道并通过共享内存通道发送数据包给接收方虚拟机;
每个虚拟机将其发送数据包放入自己的共享内存通道中,从对应的虚拟机的共享内存通道中获取接收数据;属于每个共享内存通道的内存块采用循环链接列表。
4.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,虚拟机通过读取通道标识数据以获得对将新来的数据包放在共享内存中的位置的引用,通道标识数据用于维护共享内存管道的实时利用率以进行动态分配/取消分配;
单元块维护数据用于在每个内存块中存储指向可用数据的开始和结束的位置引用,并在同一共享内存管道中维护指向下一个块的指针。
5.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,所述通道标识数据包括第一对指针和第二对指针,第一对指针用于指向数据包占用共享内存区域的开始位置和结束位置;第二对指针用于指定分离前和后的两个内存块;
所述单元块维护数据包括第三对指针,通过第三对指针将不同内存块链接到循环链接列表。
6.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,多个虚拟机中,存在安装实时操作系统的虚拟机和非实时操作系统的虚拟机。
7.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,操作系统运行在虚拟机之上,操作系统中设有共享内存核心组件,共享内存核心组件用于对共享内存进行控制与管理;
共享内存核心组件包括:数据判断器,事件管理器和动态共享内存控制器。
8.如权利要求7所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,数据判断器用于拦截发送方的虚拟机发送的数据包并解析出数据包的目的地址并判断目的地址是否为本地终端,若为本地终端,则通过共享内存核心组件来传输数据包,若为非本地终端,则通过默认的内核路径来传递数据包。
9.如权利要求7所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,事件管理器在发送方虚拟机和接收方虚拟机之间传递中断通知;事件管理器通知接收方虚拟机准备好从共享内存中获取数据,在将数据从共享内存成功移动到接收方虚拟机的内核缓冲区之后,相应的共享内存空间被释放。
10.如权利要求7所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,动态共享内存控制器负责工作负荷感知以及需求驱动的共享内存分配和撤销;
动态共享内存控制器通过监视每个共享内存通道的利用率并动态调整通道容量。
11.如权利要求7所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,当数据包被数据判断拦截并标识为要通过共享内存通信时,共享内存核心组件通知发送方虚拟机采用套字节重定向策略,套字节重定向策略包括套字节缓冲的创建从应用层直接到共享内存空间;
套字节重定向策略用于发送方虚拟机而不用于接收方虚拟机。
12.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,通过加密层对数据包进行加密,加密层位于传输层之上;
接收方虚拟机从对应的共享内存通道获取加密数据包时并在应用层进行解密。
13.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,动态优先级层根据进程标识、地址标识、处理器运行负荷、触发标识中的一种或多种对数据包的优先级进行添加并动态调整。
14.如权利要求13所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,当虚拟机中存在多个进程或线程同时需要通过共享内存进行通信时,虚拟CPU按照优先级顺序,依次中断响应;
高优先级进程优先获得虚拟CPU的处理权限并不被低优先级CPU中断。
15.如权利要求1所述的一种基于车载以太网的中央计算平台多虚拟机的数据共享方法,其特征在于,发送方虚拟机通过共享内存方式发送数据包到接收方虚拟机时,若接收方虚拟机存在多个实时进程需要获取数据包,则发送方虚拟机同时创建与接收方虚拟机中需要数据包的进程数量相同的共享内存通道,并将数据包分别发送至创建的共享内存通道,待接收方虚拟机获取数据包后释放共享内存通道。
CN202010891717.5A 2020-08-27 2020-08-27 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法 Active CN112153116B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010891717.5A CN112153116B (zh) 2020-08-27 2020-08-27 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010891717.5A CN112153116B (zh) 2020-08-27 2020-08-27 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法

Publications (2)

Publication Number Publication Date
CN112153116A true CN112153116A (zh) 2020-12-29
CN112153116B CN112153116B (zh) 2023-03-24

Family

ID=73891014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010891717.5A Active CN112153116B (zh) 2020-08-27 2020-08-27 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法

Country Status (1)

Country Link
CN (1) CN112153116B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732183A (zh) * 2020-12-30 2021-04-30 科东(广州)软件科技有限公司 异构系统存储设备的访问方法、装置、设备及存储介质
CN113364856A (zh) * 2021-06-03 2021-09-07 奥特酷智能科技(南京)有限公司 一种基于共享内存及异构处理器的车载以太网系统
CN113836102A (zh) * 2021-08-23 2021-12-24 西安万像电子科技有限公司 车载数据共享系统及方法、非易失性存储介质
CN115285044A (zh) * 2022-08-04 2022-11-04 亿咖通(湖北)技术有限公司 资源共享方法、车载系统和车载控制器
CN116170396A (zh) * 2022-12-29 2023-05-26 天翼云科技有限公司 一种im消息传输方法及系统
WO2023123163A1 (zh) * 2021-12-30 2023-07-06 华为技术有限公司 计算装置中的跨域通信方法和跨域通信装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727351A (zh) * 2009-12-14 2010-06-09 北京航空航天大学 面向多核平台的虚拟机监控器非对称调度器及其调度方法
CN101819564A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
CN104253860A (zh) * 2014-09-11 2014-12-31 武汉噢易云计算有限公司 一种基于共享存储消息队列的虚拟机高可用实现方法
CN106201721A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于虚拟化技术的内存动态调整方法及系统
CN106844007A (zh) * 2016-12-29 2017-06-13 中国科学院计算技术研究所 一种基于空间复用的虚拟化方法与系统
US20170257308A1 (en) * 2016-03-01 2017-09-07 International Business Machines Corporation Link aggregation management with respect to a shared pool of configurable computing resources
CN107783821A (zh) * 2017-01-25 2018-03-09 问众智能信息科技(北京)有限公司 车载一体虚拟化方法和装置
CN109800050A (zh) * 2018-11-22 2019-05-24 海光信息技术有限公司 一种虚拟机的内存管理方法、装置、相关设备及系统
CN110891023A (zh) * 2019-10-31 2020-03-17 上海赫千电子科技有限公司 一种基于优先级策略的信号路由转换方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656386B1 (en) * 2007-03-13 2014-02-18 Parallels IP Holdings GmbH Method to share identical files in a common area for virtual machines having the same operating system version and using a copy on write to place a copy of the shared identical file in a private area of the corresponding virtual machine when a virtual machine attempts to modify the shared identical file
CN101819564A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
CN101727351A (zh) * 2009-12-14 2010-06-09 北京航空航天大学 面向多核平台的虚拟机监控器非对称调度器及其调度方法
CN104253860A (zh) * 2014-09-11 2014-12-31 武汉噢易云计算有限公司 一种基于共享存储消息队列的虚拟机高可用实现方法
US20170257308A1 (en) * 2016-03-01 2017-09-07 International Business Machines Corporation Link aggregation management with respect to a shared pool of configurable computing resources
CN106201721A (zh) * 2016-07-12 2016-12-07 浪潮(北京)电子信息产业有限公司 一种基于虚拟化技术的内存动态调整方法及系统
CN106844007A (zh) * 2016-12-29 2017-06-13 中国科学院计算技术研究所 一种基于空间复用的虚拟化方法与系统
CN107783821A (zh) * 2017-01-25 2018-03-09 问众智能信息科技(北京)有限公司 车载一体虚拟化方法和装置
CN109800050A (zh) * 2018-11-22 2019-05-24 海光信息技术有限公司 一种虚拟机的内存管理方法、装置、相关设备及系统
CN110891023A (zh) * 2019-10-31 2020-03-17 上海赫千电子科技有限公司 一种基于优先级策略的信号路由转换方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
姜维等: "基于Hypervisor的汽车域控制器解决方案", 《信息通信》 *
李亚琼等: "一种面向虚拟化云计算平台的内存优化技术", 《计算机学报》 *
游资奇等: "基于多核的共生虚拟机通信加速机制XenVMC的优化", 《计算机科学》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732183A (zh) * 2020-12-30 2021-04-30 科东(广州)软件科技有限公司 异构系统存储设备的访问方法、装置、设备及存储介质
CN113364856A (zh) * 2021-06-03 2021-09-07 奥特酷智能科技(南京)有限公司 一种基于共享内存及异构处理器的车载以太网系统
CN113836102A (zh) * 2021-08-23 2021-12-24 西安万像电子科技有限公司 车载数据共享系统及方法、非易失性存储介质
WO2023123163A1 (zh) * 2021-12-30 2023-07-06 华为技术有限公司 计算装置中的跨域通信方法和跨域通信装置
CN115285044A (zh) * 2022-08-04 2022-11-04 亿咖通(湖北)技术有限公司 资源共享方法、车载系统和车载控制器
CN115285044B (zh) * 2022-08-04 2024-01-05 亿咖通(湖北)技术有限公司 资源共享方法、车载系统和车载控制器
CN116170396A (zh) * 2022-12-29 2023-05-26 天翼云科技有限公司 一种im消息传输方法及系统

Also Published As

Publication number Publication date
CN112153116B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN112235210B (zh) 一种基于车载以太网的多域控制器虚拟机数据通信方法及装置
CN112153116B (zh) 一种基于车载以太网的中央计算平台多虚拟机的数据共享方法
US10365830B2 (en) Method, device, and system for implementing hardware acceleration processing
US8478926B1 (en) Co-processing acceleration method, apparatus, and system
US20050251806A1 (en) Enhancement of real-time operating system functionality using a hypervisor
US11042331B2 (en) Memory device managing data in accordance with command and non-transitory computer readable recording medium
US8312197B2 (en) Method of routing an interrupt signal directly to a virtual processing unit in a system with one or more physical processing units
US10127071B2 (en) Virtual switch for multi-compartment mixed critical network communications
US10275558B2 (en) Technologies for providing FPGA infrastructure-as-a-service computing capabilities
EP3779694A1 (en) Method and apparatus for resource management, electronic device, and storage medium
EP3461086B1 (en) Communication apparatus, communication method and computer-readable medium
KR20160123930A (ko) Sr-iov 기반 비휘발성 메모리 컨트롤러 및 그 비휘발성 메모리 컨트롤러에 의해 큐에 리소스를 동적 할당하는 방법
CN113296926B (zh) 一种资源分配方法、计算设备及存储介质
CN113986513A (zh) 主从架构芯片的主从核通信方法及系统
Golchin et al. Boomerang: Real-time i/o meets legacy systems
CN110445580B (zh) 数据发送方法及装置、存储介质、电子装置
Golchin et al. Tuned pipes: end-to-end throughput and delay guarantees for USB devices
CN116932234A (zh) 应用程序间通信方法、装置、存储介质及程序产品
US20220269546A1 (en) Control device, method, program, and vehicle
CN110532063B (zh) 一种同时支持总线虚拟化和功能安全的系统及方法
US11580060B2 (en) Policy driven latency control applied to a vehicular real time network apparatus
US20220058062A1 (en) System resource allocation for code execution
US20230385189A1 (en) Information processing device, information processing method, and non-transitory storage medium
CN114546599B (zh) 一种容器操作系统
CN118113496A (zh) 一种基于多核异构soc的进程间通信方法、系统及芯片

Legal Events

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