车载计算系统的弹性计算的制作方法

专利检索2022-05-10  38


车载计算系统的弹性计算
1.相关申请的交叉引用
2.本技术要求2019年4月12日提交的标题为“elastic computing for in

vehicle computing systems”的美国临时专利申请第62/833,598号的优先权。上文所列申请的全部内容在此以引用的方式并入以用于所有目的。
技术领域
3.本公开涉及一种车载接口系统和相关联的控制。


背景技术:

4.车辆可包括车载计算系统,诸如可提供多媒体和控制功能的信息娱乐系统的主机单元。例如,车载计算系统可以提供导航、多媒体播放、电话、社交媒体交互、移动装置充电和/或其他功能,并接收用户输入以控制车辆的元件和车载计算系统。为了提供此类功能,车载计算系统包括使得能够执行操作系统和各种应用的复杂且昂贵的处理和存储资源。


技术实现要素:

5.为了提供足够的处理和存储资源以实现复杂的多媒体功能和车辆控制,车辆可以通信地耦合到外部计算资源,诸如云计算资源。然而,当本地有足够的计算资源可用时,此类远程处理通常是不必要的,因此本地处理和远程处理之间的负载可能不平衡。此外,在某些情况下,可能需要附加计算能力。为了克服此类限制,弹性计算可以根据处理需要动态地分配计算资源。
6.公开了用于分配本地和远程硬件计算资源的车载系统和方法的实施方案。用于控制车辆的示例系统包括物理地定位在车辆中的第一计算装置、远离车辆定位的第二计算装置,以及通信地耦合到第一计算装置和第二计算装置的弹性计算模块,所述弹性计算模块被配置为:确定第一计算装置和第二计算装置的计算和存储容量;确定用于控制车辆部件的软件应用程序的软件需求;并且基于第一计算装置和第二计算装置的计算和存储容量以及软件应用程序的软件需求,将软件应用程序的处理动态分配给第一计算装置和/或第二计算装置。
附图说明
7.通过参考附图阅读对非限制性实施方案的以下描述,可更好地理解本公开,在附图中:
8.图1是根据本公开的一个或多个实施方案的包括车载计算系统和移动装置的车辆驾驶室的局部视图;
9.图2是根据本公开的一个或多个实施方案的车载接口系统和车载接口系统与之通信的相关元件的框图;
10.图3是根据本公开的一个或多个实施方案的软件处理的基于域的分区的框图;
11.图4是根据本公开的一个或多个实施方案的具有单个处理器的计算聚类方法的框图;
12.图5是根据本公开的一个或多个实施方案的具有多个处理器的计算聚类方法的框图;
13.图6是根据本公开的一个或多个实施方案的具有通过网络耦合的多个处理器的计算聚类方法的框图;
14.图7是根据本公开的一个或多个实施方案的用于车载处理的弹性计算架构的框图;
15.图8是描绘根据本公开的一个或多个实施方案的具有独立控制器的电子设备分区的框图;
16.图9a是根据本公开的一个或多个实施方案的用于示例车辆的车载处理的弹性计算架构的框图;
17.图9b是根据本公开的一个或多个实施方案的用于示例车辆的车载接口系统的框图;
18.图9c是根据本公开的一个或多个实施方案的用于对示例车辆的软件处理进行基于域的分区的架构的框图;并且
19.图10示出了根据本公开的一个或多个实施方案的用于车载弹性计算的方法。
具体实施方式
20.如本文进一步描述的,域分区、计算聚类方法、弹性计算和电子设备分区可以降低提供用于车载控制的全套复杂软件的成本和复杂性。
21.如本文所用,引用“一个实施方案”、“一些实施方案”或“各种实施方案”的术语表示所描述的相关联特征、结构或特性在至少一些实施方案中,但不一定在所有实施方案中。此外,此类术语的各种出现不一定都指代相同的实施方案。另外,使用“和/或”语言在列表中呈现元素的术语是指所列元素的任何组合。例如,“a、b和/或c”可以指以下任何一项:单独的a;单独的b;单独的c;a和b;a和c;b和c;或a、b和c。
22.图1示出了车辆102的车厢100的内部的示例局部视图,驾驶员和/或一名或多名乘客可以坐在该车厢中。图1的车辆102可以是包括驱动轮(未示出)和内燃发动机104的机动车辆。内燃机104可包括一个或多个燃烧室,这些燃烧室可经由进气通道接收进气并经由排气通道排出燃烧气体。车辆102可以是公路汽车,以及其他类型的车辆。在一些示例中,车辆102可以包括混合推进系统,该系统包括能量转换装置,该能量转换装置可操作以从车辆运动和/或发动机吸收能量并将所吸收的能量转换成适合由能量存储装置存储的能量形式。车辆102可以包括结合有燃料电池、太阳能捕获元件和/或为车辆提供动力的其他能量存储系统的全电动车辆。
23.如图所示,仪表板106可以包括车辆102的驾驶员可访问的各种显示器和控制器,诸如车载接口系统(例如,信息娱乐系统)的触摸屏108、音频系统控制面板和仪表盘110。尽管图1所示的示例系统包括音频系统控件,所述音频系统控件可以经由没有单独的音频系统控制面板的车载接口系统的用户界面(诸如触摸屏108)来执行,但是在其他实施方案中,车辆102可以包括音频系统控制面板,所述音频系统控制面板可以包括用于常规的车辆音
频系统(诸如收音机、光盘播放器、mp3播放器等)的控件。音频系统控件可以包括用于控制经由车辆扬声器系统的一个或多个扬声器112的音频输出的一个或多个方面的特征。例如,音频系统控件可以控制音频输入的音量、车辆扬声器系统的各个扬声器之间的声音分布、音频信号的均衡和/或音频输出的任何其他方面。
24.仪表盘110可以包括各种仪表,诸如燃油表、转速表、速度表和里程表,以及指示器和警告灯。方向盘114可以从仪表板106突出到仪表盘110下方。可选地,方向盘114可以包括一个或多个控件116,其可以与触摸屏108结合使用以浏览车载接口系统的特征并控制车载接口系统。作为说明性示例,控件116可以包括激活或启动车载接口系统的语音控制的按钮117。例如,响应于按钮117被按下和/或当按钮117被按下时,传声器126可以记录车辆的驾驶员或其他乘客的一个或多个话语。如果一个或多个话语包括语音命令,则经由传声器126记录的一个或多个话语然后可以用于浏览或控制车载接口系统的一个或多个特征。
25.除了图1中描绘的部件之外,应当理解,仪表板106可以包括附加部件,诸如门窗控件、也可以用作低压电源插座的点烟器、贮物箱和/或任何其他合适的元件。在一个或多个实施方案中,可以使用触摸屏108执行经由一个或多个气候控制系统通风口118对车载气候的控制,因此仪表板106中可以不包括单独的气候控制界面。然而,在替代实施方案中,可以提供单独的气候控制界面。
26.车厢100可以包括用于监测车辆、用户和/或环境的一个或多个传感器。例如,车厢100可以包括一个或多个安装在座椅上的压力传感器120,其被配置为测量施加到座椅的压力以确定用户的存在。车厢100可以包括一个或多个门传感器122,其被配置为监控门活动,诸如门的打开和/或关闭、门的锁定、门窗的操作和/或任何其他合适的门活动事件。可以包括湿度传感器124以测量车厢100的湿度含量。传声器126可以接收语音命令形式的用户输入,以使用户能够进行电话呼叫和/或测量车厢100内的环境噪声。应当理解,图1中所示的传感器的放置是示例性的,并且一个或多个附加或替代的传感器可以定位在发动机舱中、车辆的外表面上和/或其他合适的位置,用于提供关于车辆操作、车辆周围条件、车辆用户等信息。
27.车厢100还可以包括在行驶之前、期间和/或之后存储在车辆中的一个或多个用户对象,诸如移动装置128。移动装置128可以包括智能电话、平板电脑、膝上型计算机、便携式媒体播放器和/或任何合适的移动计算装置。移动装置128可以经由通信链路130连接到车载接口系统。通信链路130可以是有线的(例如,经由通用串行总线[usb]、移动高清链路[mhl]、高清多媒体接口[hdmi]等)或无线的(例如,经由蓝牙、wi

fi、近场通信[nfc]等)并且被配置为在移动装置128和车载接口系统之间提供双向通信。例如,通信链路130可以从车载系统和触摸屏108向移动装置128提供传感器和/或控制信号,并且可以从移动装置128向车载系统和触摸屏提供控制和/或显示信号108。通信链路130还可以从车载电源向移动装置128提供电力以便为移动装置128的内部电池充电。
[0028]
虽然移动装置128被示为在空间上与车载接口系统分离并经由基本上外部通信链路(例如,电缆或射频信号)连接,但应当理解,移动装置存储结构132或其他存储结构可以形成于仪表板106中或车辆中的其他位置以将移动装置128固定在特定位置中。移动装置存储结构132可以包括集成连接器134,移动装置128可以附接到或“对接”到该连接器134,用于在移动装置128和接口系统之间提供基本上内部通信链接。
[0029]
图2示出了车载接口系统204和车载接口系统204与之通信的相关元件的框图。车载接口系统204可以位于和/或集成在车辆202内,诸如图1的车辆102。车载接口系统204可以与车辆内的一个或多个元件通信,所述元件包括但不限于经由车载互连连接的车辆系统,诸如控制器局域网(can)总线206。应当理解,可以使用任何合适数量的互连和/或互连的组合以允许车载接口系统204(这里可以简称为接口系统204)和各种车载部件之间的通信,包括但不限于can总线、面向媒体的系统传输(most)总线、基于以太网的互连等。互连可直接与车载部件通信和/或可经由介入处理器与此类部件通信。在一些实施方案中,无需经由can总线206与接口系统204通信或除此之外,一个或多个车载部件可以直接与接口系统204通信。
[0030]
接口系统204可以将来自can总线206的信息传递给外部远程服务290,诸如云计算服务或经由无线网络280通信耦合到车辆202的边缘装置,以便利用存储器292和处理器294以及用于控制车辆202的各种车载元件的远程服务290的其他计算资源。在一些实施方案中,接口系统204可以包括无线网关和/或协议,从而实现接口系统204和远程服务290之间的无线连接。
[0031]
显示器210可以显示图像,以提供与导航、媒体回放、电话、车辆系统控制(例如,车厢温度控制、巡航控制设置、里程表输出/设置、车辆诊断控制、车辆操作模式控制等)和/或其他车辆相关功能有关的视觉反馈。在一些实施方案中,显示器210可以包括触摸屏,诸如图1的触摸屏108,使得能够经由显示器210接收用于控制车辆相关功能的用户输入。
[0032]
远程服务290可以从接口系统204和/或显示器210接收信号,基于存储在存储器292上并由处理器294执行的非暂时性指令来处理信号,并且将显示和/或控制信号输出到显示器210和/或接口系统204。尽管图2中示出了一个远程服务290,但是应当理解,车辆202可以在运行期间与包括远程服务290的一个或多个远程服务通信。
[0033]
如图所示,远程服务290与车辆202分离并且不集成在车辆202内。相反,图2中车辆202内示出的每个其他系统和元件可以集成在车辆202内。远程服务290可以包括与集成在车辆202内的计算资源(例如,由图2的车辆202内所示的部件所利用的计算资源)分离的计算资源(例如,存储器292和处理器294)。
[0034]
显示信号可以控制显示器210的输出,而控制信号可以控制与接口系统204通信的一个或多个其他车辆系统216。例如,车辆系统216可以包括与发动机有关的可控元件和/或辅助元件,诸如挡风玻璃刮水器、窗户、门/门锁、前灯、空调系统等。控制信号还可以控制在车辆202的一个或多个扬声器218处的音频输出。例如,控制信号可以调整音频输出特性,诸如音量、均衡、音频图像(例如,音频信号的配置以产生用户看来源自一个或多个定义位置的音频输出)、扬声器218之间的音频分布等。
[0035]
例如,用户输入可以经由传输到接口系统204和/或远程服务290的一个或多个车载控件220被接受,作为显示器210的可选触摸屏的附加或替代的输入源。车载控件220可以包括车辆内和/或车辆上的任何合适的用户可致动元件,包括但不限于按钮、滑块、开关、旋钮、杠杆、操纵杆、键盘、踏板等的任何数量或组合。例如,车载控件220可以包括车辆202的车厢内的控制元件,诸如方向盘控件(例如,方向盘上安装的音频系统控件、巡航控件、挡风玻璃刮水器控件、前灯控件、转向灯控件等)、仪表盘控件、加速器/制动器/离合器踏板、换挡器、定位于驾驶员或乘客车门中的门/窗控件、座椅控件、车厢灯控件、音频系统控件、车
厢温度控件等。定位于车辆外部的控制元件(例如,用于安全系统的控件)也可以经由can总线206连接到接口系统204。车载控件220的控制元件可以物理地且永久地定位于车辆上和/或车辆中以用于接收用户输入。
[0036]
作为特定示例,车载控件220可以包括集成在车辆202的车厢内的传声器,其记录或感测用户输入,诸如路由到接口系统204和/或远程服务290的语音控制命令。作为另一示例,车载控件220的方向盘控件和/或仪表盘控件可以包括图1中描绘的用于启动语音控制的按钮117,其中按下按钮117指示传声器感测到的话语包括语音命令。这样,不打算用于车辆元件的语音控制的话语不会被用于控制车辆202的一个或多个元件的接口系统204和/或远程服务290无意中处理。另外地或替代地,用户可以通过说出用于语音控制的唤醒词(例如,特定语音数据串,其可以是词、短语、音调或其他预定义声音)来指示话语旨在用于语音控制。例如,接口系统204和/或远程服务290可以监测由传声器记录的音频并且具体地处理该音频以检测唤醒词而无需另外处理或处置该音频,并且响应于检测到由车辆202的乘员说出的唤醒词,接口系统204和/或远程服务290可以处理由传声器感测到并且跟随唤醒词或触发词的话语。
[0037]
can总线206可以与一个或多个车辆传感器222通信,以便向接口系统204提供车辆的运行状态和/或状况的指示。接口系统204可以将来自车辆传感器222的传感器信号传递到远程服务290,以便向远程服务290提供与车辆和/或用户的操作和/或环境有关的上下文信息。车辆传感器222可以包括任何合适的传感器,诸如上文参照图1描述的车厢内传感器、车辆运行状态传感器(例如,监测燃料存储、发动机温度、机油存储、发动机转速、车速、变速器/齿轮设置、轮胎压力、牵引力、诊断信息等的传感器)和环境传感器(例如,后置相机和/或监测环境条件(诸如温度、湿度、压力、路面/状况等)的其他传感器)。在远程服务290处接收到用户输入和/或传感器信号后,远程服务290可以确定对显示器210的调整和/或对车辆系统216的控制指令。
[0038]
可以经由can总线206和接口系统204在功率模块224和远程服务290之间交换关于功率状态和/或功率控制信号的信息。例如,远程服务290可以从功率模块224接收信息并更新显示器210,以向用户提供关于一个或多个车辆部件的功率状态的反馈。远程服务290可以另外地或替代地基于用户输入、从车辆传感器222接收的信息和/或从功率模块224接收的信息向功率模块224提供控制信号。
[0039]
天线226可以向接口系统204提供am/fm无线电信号,以在接口系统204处进行处理。例如,接口系统204可以控制扬声器218以控制am/fm无线电台的音频广播,并且可以控制显示器210以显示与am/fm无线电台和/或正在广播的内容相关的信息(例如,经由无线电数据系统与音频一起广播的信息)。
[0040]
为了与不同的车辆系统通信并去除如上所述的服务290,在一些实施方案中,接口系统204可以包括一个或多个模块,用于解决不同的通信协议和在不同系统之间传递信号时可能出现的其他问题。例如,接口系统204可以包括视频切换模块(未示出),以同步和/或格式化来自后置摄像头的视频馈送,用于在显示器210上显示。作为另一示例,接口系统204可以包括编码器(未示出)和/或解码器(未示出),用于将从一个系统和/或装置接收到的信号转换成与目标系统和/或装置兼容或者能够被目标系统和/或装置解释的格式。应当理解,上述模块中的一个或多个是可选的,并且在一些实施方案中,接口系统204可以将接收
到的信号传递到另一系统和/或装置而不对信号提供任何调整。
[0041]
接口系统204至少包括处理器232和存储器234,其被配置为提供本文描述的功能。在一些示例中,接口系统204包括多个处理器232和多个存储器234。此外,接口系统204包括弹性计算模块236。
[0042]
弹性计算模块236评估车载硬件的参数,包括处理器232和存储器234的计算和存储容量,车载外围设备连接到处理器232的哪些片上系统(soc)架构、总线速度、电池电量、温度等,以及远程服务的参数,诸如远程服务290的处理器294和存储器292的计算和存储容量、边缘到边缘的延迟、成本模型等。弹性计算模块236进一步评估每个软件部件的需求,诸如计算带宽、内存、输入/输出、延迟容忍度、安全性、保密性等等。
[0043]
弹性计算模块236确定在车辆202中执行哪些软件以及在远程服务290中执行哪些软件。弹性计算模块236进一步动态地分配资源,以确定性地满足软件需求并平衡系统负载。
[0044]
弹性计算模块236为在车辆202中运行的软件建立访客环境,使得操作车辆202的“访客”用户可以以有限的访问权限相应地访问或控制车辆202。弹性计算模块236进一步控制对共享外围设备的访问。
[0045]
图3是描绘用于对软件处理进行基于域的分区的示例架构300的框图。架构300包括通信地耦合到车厢模块320的中央网关310、远程信息处理模块330、驾驶和高级驾驶辅助系统(adas)模块340、底盘模块350和动力传动系统模块360。图3的每个部件可以在单独的处理器、单个处理器上的单独的soc架构或其组合上实现。此外,如本文所述的弹性计算模块236可以在云计算系统(诸如远程服务290)中动态分配附加处理器,以扩展给定模块的处理能力。
[0046]
作为说明性和非限制性示例,车厢模块320可以处理与byod、集群、显示器(主显示器、集群显示器、hud、rse)、通信音频、dms/oms、门控制、电子镜、娱乐音频、hvac、信息娱乐、室内照明、噪音管理、座椅控制、声音放大、环绕视图/泊车、车辆声音(鸣响等)等有关的处理。
[0047]
作为说明性和非限制性示例,远程信息处理模块330可以处理与4/5g连接、天线、蓝牙/ble、波束控制、c

v2x、e

call、电子收费、防火墙、gnss、ota网关、wi

fi等有关的处理。
[0048]
作为说明性和非限制性示例,驾驶和adas模块340可以处理与adas(诸如前置相机、短/远程雷达、电子镜等)以及dms/oms、自动泊车、高速公路驾驶员、避让转向辅助、智能交叉路口、环绕视图/泊车等有关的处理。
[0049]
作为说明性和非限制性示例,底盘模块350可以处理与安全气囊控制、外部照明、助力转向、稳定性控制、悬架、轮胎压力监测、转向信号、雨刷控制等有关的处理。
[0050]
作为说明性和非限制性示例,动力传动系统模块360可以处理与电池和燃料管理、制动、发动机/马达控制、牵引力控制和变速器控制有关的处理。
[0051]
因此,软件处理可以根据域来分区,使得特定于域的处理由如上所述的一个或多个模块执行。可以根据处理资源和需要动态地改变模块的布置。此外,模块的硬件实现可以根据不同的实施方案而变化,如图4

6中所描述。
[0052]
特别地,图4是根据本公开的一个或多个实施方案的具有单个处理器430的计算聚
类方法的框图400。多个显示装置402、扬声器404、传声器406、传感器408和致动器410可以通信地耦合到处理器430。处理器430可以包括两个或更多个soc架构,诸如soc 432和soc 434。上文参照图3描述的一个或多个模块可以在soc 432上实现,而其他模块可以在soc 434上实现。
[0053]
作为另一个示例,图5是根据本公开的一个或多个实施方案的具有包括处理器530和处理器540的多个处理器的计算聚类方法的框图500。与具有多个soc的单个处理器(例如,具有soc 432和434的处理器430)不同,处理器530包括一个或多个soc 532,而处理器540包括一个或多个soc 542。例如,处理器530和540都可以物理地安装在车辆202中,并且可以经由快速外围组件互连(pcie)或在处理器530和540之间提供高速接口的类似的背板550通信地耦合。
[0054]
作为另一个示例,图6是根据本公开的一个或多个实施方案的具有通过网络650耦合的多个处理器630和640的计算聚类方法的框图600。类似于图5中所描绘的方法,处理器630包括一个或多个soc 632,而处理器640包括一个或多个soc 642。网络650可以包括千兆位级以太网连接,从而在处理器630和640之间提供高速接口。
[0055]
图7是根据本公开的一个或多个实施方案的用于车载处理的弹性计算架构700的框图。在软件层710中描绘了多个软件应用程序和软件服务。弹性计算层720可以包括上文参照图2描述的弹性计算模块236,并且有助于通过硬件层的一个或多个部件执行软件层710的软件应用程序和服务。硬件层包括物理地安装于车辆中的多个计算装置730,包括作为说明性示例的多个cpu内核、多个gpu内核、多个npu内核、多个tee、多个dsp内核和多个存储器。硬件层还包括物理地安装于车辆中的多个外围装置740,诸如显示器、传声器、扬声器、传感器和致动器。硬件层还包括多个网络和云计算装置750,包括作为说明性和非限制性示例的多个cpu内核、多个gpu内核、多个npu内核、多个存储器和多个目录。
[0056]
弹性计算层720获悉车载硬件的参数,诸如计算和存储容量、外围设备连接到哪些soc、总线速度、电池电量、温度等。弹性计算层720进一步获悉边缘和云装置的参数,诸如计算和存储容量、边缘到边缘的延迟、成本模型等。弹性计算层720进一步获悉软件层710中的每个软件部件的需求,诸如计算带宽、内存、i/o、延迟容忍度、安全性、保密性等。
[0057]
弹性计算层720确定车辆中什么运行在计算装置730上以及云中什么运行在云计算装置750上。弹性计算层720动态地分配包括车载计算装置730和云计算装置750在内的硬件层的计算资源,以确定性地满足软件层710的软件需求并平衡系统整体的负载。
[0058]
弹性计算层720进一步为在车辆中运行的软件建立访客环境,并控制对共享外围设备740的访问。
[0059]
图8是描绘根据本公开的一个或多个实施方案的具有独立控制器的电子设备分区的框图800。车辆可以包括一个或多个域控制器810,如上文参照图3描述的模块。域控制器810可以按功能亲和性分组,并且负责高级功能。域控制器整合了核心软件、控件和用户体验。
[0060]
此外,多个区域控制器820可以分布在整个车辆中,并且可以通过空间协同来分组。例如,区域控制器820可以负责本地传感器管理和致动,以及功率管理。如图8所描绘的电子设备分区促进了软件取代硬件;优化电缆线束、数据共享、功能融合;提供单一的决策点;并简化配置管理、分层和升级。
[0061]
图9a至9c示出了用于示例车辆的车载处理的弹性计算架构、用于示例车辆的车载接口系统以及用于对示例车辆的软件处理进行基于域的分区的架构的各个方面,如在本文所讨论的。基于图9a,用于车载处理的弹性计算架构902包括弹性计算层974,其在各种实施方案中可以将软件应用程序的处理分配给本地计算资源和远程计算资源。基于图9b,车辆904的车载接口系统920可以包括弹性计算模块926,其可以实现弹性计算层974。另外,基于图9c,弹性计算模块926可以根据域(例如,用于对软件处理进行基于域的分区的架构906的域)来将软件应用程序分区,并且可以根据分区来分配软件应用程序的处理。(与其他图的元件具有相同名称的图9a到9c的元件可以与那些元件基本相似,并且可以基本相似的方式起作用或操作,而不限于以这种方式操作或起作用。)
[0062]
转到图9a,弹性计算架构902包括软件层、硬件层和弹性计算层974。软件层包括一个或多个软件应用程序和/或软件服务972(诸如第一软件应用程序和/或服务、第二软件应用程序和/或服务、第三软件应用程序和/或服务等等,直至第n软件应用程序和/或服务)。硬件层包括一个或多个本地计算装置976(诸如第一计算装置到第n计算装置)、一个或多个远程计算装置978(诸如第一计算装置到第n计算装置)以及一个或多个本地外围装置980(诸如第一外围装置到第n外围装置)。
[0063]
本地计算装置976可以包括物理地安装于车辆904中、物理地集成于车辆904中和/或物理地定位在车辆904中的各种计算资源。远程计算装置978可以包括未物理地安装于车辆904中、未物理地集成于车辆904中和/或远离车辆904定位的各种计算资源。
[0064]
因此,弹性计算架构902的本地计算资源可以包括本地计算装置976,而弹性计算架构902的远程计算资源可以包括远程计算装置978。弹性计算架构902的本地计算资源和远程计算资源中的每一者可以包括一个或多个核(例如,处理器核,诸如cpu核、gpu核、npu核、dsp核)、tee和/或例如存储器。
[0065]
本地外围装置980可以包括物理地安装于车辆904中、物理地集成于车辆904内和/或物理地定位在车辆904中的各种外围设备。本地外围装置可以包括各种输入和/或输出装置,诸如显示器、传声器、扬声器、传感器和/或致动器。
[0066]
弹性计算层974可以经由有线通信链路或车辆904本地的无线通信链路通信地耦合到本地计算资源(例如,本地计算装置976)。弹性计算层974还可以经由无线通信链路和/或延伸到远程位置的网络通信地耦合到远程计算资源(例如,远程计算装置978)。
[0067]
弹性计算层974可以确定和/或获悉软件应用程序和/或服务972的各种处理需求和/或需要,其可以涉及计算带宽、内存、i/o、延迟容忍度、安全性、保密性等。弹性计算层974还可以确定和/或获悉本地计算装置976的一个或多个参数,诸如它们的计算和/或存储容量、各个外围设备连接到哪些soc、总线速度、电池电量、温度等。类似地,弹性计算层974可以确定和/或获悉远程计算装置978的一个或多个参数,诸如它们的计算和/或存储容量、它们的边缘到边缘的延迟、它们的成本模型等。
[0068]
弹性计算层974然后可以通过在一个或多个本地计算资源(例如,本地计算装置976)和/或一个或多个远程计算装置978(例如,远程计算装置978)之间分配一个或多个软件应用程序和/或软件服务972的处理来促进它们的执行。可以执行分配以最好地满足软件应用程序和/或软件服务972的各种处理需求和/或需要。也可以执行分配以最好地满足负载平衡目标(例如,在本地负载和远程负载之间)。分配可以是动态的,并且可以根据软件应
用程序和/或服务972的处理需求、本地计算资源的参数和/或可用性以及远程计算装置资源的参数和/或可用性的变化而改变。分配也可以是确定性的。
[0069]
同时,转向图9b,除了弹性计算模块926之外,车辆904的车载接口系统920(其可以位于和/或集成在车辆904内)还包括一个或多个处理器922和一个或多个存储器924。类似地,可以通信地耦合到车辆904(例如,经由无线网络)的一个或多个远程服务可以包括一个或多个处理器和一个或多个存储器。
[0070]
因此,车载接口系统920的本地计算资源可以包括处理器922和存储器924,而车载接口系统920的远程计算资源可以包括远程服务的处理器和存储器。每个处理器922和/或远程服务的处理器可以包括一个或多个soc(与图4

6的处理器一样,诸如处理器530)。在各种实施方案中,每个soc依次可以具有一个或多个处理器核。
[0071]
弹性计算模块926可以经由有线通信链路或车辆904本地的无线通信链路通信地耦合到车辆904的本地计算资源(例如,处理器922和/或存储器924的本地计算资源)。弹性计算层974还可以经由延伸到远程位置(例如,通过无线网络)的无线通信链路通信地耦合到远程计算资源(例如,远程服务的处理器和/或存储器)。在一些实施方案中,两个或更多个处理器922可以经由高速接口(例如,pcie或千兆位级以太网连接)彼此通信耦合。
[0072]
弹性计算模块926可以确定和/或获悉软件部件(例如,车载接口系统920的软件部件)的各种处理需求和/或需要,其可以涉及计算带宽、内存、i/o、延迟容忍度、安全性、保密性等。弹性计算模块926还可以确定和/或评估与本地计算资源有关的各种参数,诸如处理器922和存储器924的计算和存储容量、处理器922的soc架构(可以连接到哪些车载外围设备上)、总线速度、电池电量、温度等。类似地,弹性计算模块926还可以确定和/或评估远程计算资源的各种参数,诸如处理器的计算和存储容量以及远程服务的内存、边缘到边缘的延迟、成本模型等。
[0073]
弹性计算模块926然后可以在一个或多个本地计算资源(例如,处理器922和/或存储器924)和/或一个或多个远程计算资源(例如,远程服务的处理器和/或存储器)之间分配软件部件的处理。可以执行分配以最好地满足软件部件的各种处理需求和/或需要。也可以执行分配以最好地满足负载平衡目标(例如,在本地负载和远程负载之间)。分配可以是动态的,并且可以根据软件部件的处理需求、本地计算资源的参数和/或可用性以及远程计算装置资源的参数和/或可用性的变化而改变。分配也可以是确定性的。
[0074]
转到图9c,用于对软件处理进行基于域的分区的架构906可以包括中央网关930和用于车辆904的软件可以被分区到其中的一个或多个域(诸如第一域932、第二域934、第三域936、依此类推,到第n域938)。架构906的域可以反映功能亲和性分组,可以反映高级功能职责,和/或可以以其他方式反映车辆904的各个部分或方面。例如,各种域可以基本上类似于图3的车厢模块320、远程信息处理模块330、驾驶和adas模块340、底盘模块350和/或动力传动系统模块360的域。
[0075]
此外,可以将针对各种域的处理分配给各种计算资源。针对一个或多个域的处理可被分配给单个处理器、处理器内的单个soc和/或处理器内和/或soc内的单个处理器核。或者,可以将针对多于一个域的处理分配给单独的处理器,或处理器内的单独soc,或处理器内和/或soc内的单独核。在各种实施方案中,可以以上述的各种组合来分配针对各种域的处理。
[0076]
因此,弹性计算模块926可以根据各种域对用于车辆904的软件处理进行分区,使得特定于域的处理被分配给各种计算资源集。被分配用来处理域的计算资源可以在不同实施方案之间变化。在各种实施方案中,计算资源的分配可以涉及软件的处理需求和/或需要,诸如计算带宽、内存、i/o、延迟容忍度、安全性、保密性等。例如,在一些实施方案中,计算资源的分配可以涉及软件要求的安全参数(例如,汽车安全完整性等级(asil)等级)。在一些实施方案中,计算资源可以根据本文讨论(例如,相对于图8)的域控制器和区域控制器分配给计算资源。
[0077]
此外,域的分区和/或底层计算资源的分配可以是动态的,并且可以根据软件处理需求、本地计算资源的参数和/或可用性以及远程计算装置资源的参数和/或可用性的变化而变化。可以相应地扩展分配给各个域的处理能力。
[0078]
根据图9a至9c,弹性计算模块926可以从计算资源接收与计算资源相关的处理参数。弹性计算模块926还可为计算资源建立控制信令。
[0079]
在一些实施方案中,弹性计算模块926可以将软件处理分配给具有多个核的单个soc。对于一些实施方案,弹性计算模块926可以将软件处理分配给多个soc(其中任何一个可以具有一个或多个核)。在各种实施方案中,弹性计算模块926可以将软件处理分配给具有一个或多个核的单个soc和/或具有一个或多个核的多个soc的各种组合。在弹性计算模块926将软件处理分配给多个soc的实施方案中,这些soc可以经由互连(其可以是例如高速缓存相干互连、pcie互连、以太网互连等)通信地耦合。
[0080]
在一些实施方案中,弹性计算模块926可以访问用于计算资源的时钟单元、功率单元和/或热管理单元。例如,弹性计算模块926可以访问用于单独调整一个或多个处理核的电压、功率门控、时钟和时钟门控的专用机制。弹性计算模块926还可以访问例如与各种计算资源的操作性能点的范围相对应的融合电压值。对于一些实施方案,弹性计算模块926可以访问支持动态电压和频率缩放和/或自适应电压缩放的机制。在各种实施方案中,弹性计算模块926可能能够从一个或多个核读取工作温度、读取计算引擎的平均电流和/或功耗、和/或读取计算引擎的峰值电流和/或功耗。
[0081]
对于各种实施方案,弹性计算模块926可以读取一个或多个计算引擎(例如,处理器、核和/或soc)的性能计数器和/或负载计数器。性能计数器和/或负载计数器可以在产生计数器度量的软件(例如,源、应用程序和/或任务)之间进行区分。在各种实施方案中,弹性计算模块926可以读取一个或多个互连的读取流量计数器和/或写入流量计数器。读取流量计数器和/或写入流量计数器可以在产生流量的软件(例如,源和应用程序)之间清楚地进行区分。
[0082]
对于一些实施方案,弹性计算模块926可以根据诸如系统负载和软件对存储带宽的需求之类的因素来动态地改变存储器计算资源(诸如动态随机存取存储器(dram))的操作性能点。在一些实施方案中,弹性计算模块926可以基于诸如存储器温度、存储器刷新率和/或存储器吞吐量(例如,如由计数器捕获的)之类的参数来考虑当前可用吞吐量。
[0083]
在各种实施方案中,弹性计算模块926可以优先考虑各种任务(例如,软件处理)和/或可以支持基于优先级的保证执行时间的规范或定义。在一些实施方案中,如果高优先级任务的执行时间很关键,则弹性计算模块926可以中断具有较低优先级的任务(例如,通过解除分配给它们的计算资源)以保证高优先级任务的执行(例如,在预定时间内)。如果可
以在预定时间内执行高优先级任务,则弹性计算模块926可能不会中断具有较低优先级的任务。
[0084]
在各种实施方案中,弹性计算模块926可以动态地分配计算资源和/或将计算资源分区(例如,如本文所讨论的),并且还可以为专用分区或域定义存储空间区域。这可以有利地促进和/或确保域分离(例如,免于干扰),其反过来可以促进和/或确保例如与安全性有关的软件需求。为了支持软件安全性需求(诸如对相对较高的asil级别的需求),在一些实施方案中,弹性计算模块926可以解除分配给软件应用程序的计算资源(例如,处理核),执行一个或多个装置上测试(例如,逻辑内置自检(lbist)测试和/或其他测试)以确定计算资源是否有任何可检测的问题,并且如果没有,则将计算资源重新分配给软件应用程序。
[0085]
对于一些实施方案,弹性计算模块926可以访问用于计算资源(例如,处理核)的指示计算资源的可用时间或可用性的计数器。弹性计算模块926可以在将软件处理分配给各种计算资源时考虑该数据(例如,基于计算资源内的实际资源可用性)。
[0086]
在一些实施方案中,弹性计算模块926可以访问(例如,经由计数器或性能监视器)关于soc内的延迟和/或soc内的一个或多个路径的数据。弹性计算模块926还可以访问(例如,经由计数器或性能监视器)关于在各种接口(诸如高速缓存相干互连接口、pcie接口、以太网接口等)处的延迟的数据。
[0087]
因此,在各种实施方案中,弹性计算模块926可以访问用于在各种计算资源之间分配软件处理的多种数据和/或控制机制。对于一些实施方案,弹性计算模块926可以使用神经网络,其进而可以识别车辆904中的人,观察驾驶员和/或一名或多名乘客的状态和/或行为,并采用机器学习来提前预测各种用户希望如何使用该系统。
[0088]
图10示出了用于车载弹性计算的示例方法1000。方法1000可以包括第一确定1010、第二确定1020、第一分配1030和第二分配1040。在第一确定1010中,可以为物理地定位在车辆中的第一计算装置确定第一分区,所述第一分区用于第一域。在第二确定1020中,可以为第二计算装置确定第二分区,所述第二分区用于第二域。在第一分配1030中,可以将与第一域有关的第一组软件应用程序的处理分配给第一计算装置。在第二分配1040中,可以将与第二域有关的第二组软件应用程序的处理分配给第二计算装置。
[0089]
在一些实施方案中,第二计算装置可以是远程计算装置。对于一些实施方案,第一域可以包含第一安全类别,并且第二域可以包含第二安全类别。在一些实施方案中,第一计算装置可以包括第一soc,并且第二计算装置可以包括第二soc。对于一些实施方案,第一域可以包含一项或多项底盘能力,或一项或多项动力传动系统能力,或两者。在各种实施方案中,第一计算装置和/或第二计算装置可以包括一个或多个cpu、一个或多个gpu、一个或多个npu、一个或多个dsp和/或一个或多个存储器装置。
[0090]
在各种实施方案中,可基于软件应用程序的所需安全参数、第一计算装置的一个或多个处理参数以及第二计算装置的一个或多个参数,将软件应用程序的处理分配给第一计算装置或第二计算装置。对于一些实施方案,第一组处理参数和/或第二组处理参数可以包括计算容量和/或存储容量。
[0091]
对于各种实施方案,如本文公开的弹性计算模块可被配置为执行方法1000的各个部分和/或本文公开的各种方法。在一些实施方案中,弹性计算模块可以被配置为为车辆的访客操作者建立访客环境,以使其以有限的访问权限访问软件应用程序。对于一些实施方
案,弹性计算模块可以被配置为控制对一个或多个外围装置的访问。
[0092]
在各种实施方案中,弹性计算模块926可被配置为执行本文公开的各种方法中的部分或全部。在一些实施方案中,弹性计算模块926可以包括定制开发的电路(例如,专用集成电路(asic)部件和/或现场可编程门阵列(fpga)装置)。在一些实施方案中,弹性计算模块926可以包括一个或多个处理器和用于保存可执行指令的存储器,这些指令在执行时可以使一个或多个处理器执行本文公开的方法中的部分或全部。对于一些示例实施方案,弹性计算模块926可以至少部分地由处理器922和/或存储器924实现。
[0093]
如本文所讨论的,弹性计算层和/或弹性计算模块可以以动态和自适应方式在计算资源之间有利地分配软件处理。反过来,这可以有利地促进系统资源的整合、处理的灵活性、降低的系统成本以及相对于不同度量(例如,性能、能量使用、部件老化的最小化等)的优化的系统输出。这些优点可以独立于软件实现和/或硬件实现的细节。
[0094]
在本文讨论的方法和系统的第一种途径中,用于控制车辆的系统的第一示例包括:物理地定位在车辆中的第一计算装置、远离车辆定位的第二计算装置,以及通信地耦合到第一计算装置和第二计算装置的弹性计算模块,所述弹性计算模块被配置为:确定第一计算装置和第二计算装置的计算和存储容量;确定用于控制车辆部件的软件应用程序的软件需求;并且基于第一计算装置和第二计算装置的计算和存储容量以及软件应用程序的软件需求,将软件应用程序的处理动态分配给第一计算装置和/或第二计算装置。在第一示例的基础上,在系统的第二示例中,第一计算装置包括以下各项中的一者或多者:多个cpu;多个gpu;多个npu;多个dsp;以及多个存储装置。在第二示例的基础上,在系统的第三示例中,第二计算装置包括以下各项中的一者或多者:第二多个cpu、第二多个gpu、第二多个npu和第二多个存储装置。在第一示例至第三示例中的任一个的基础上,在系统的第四示例中,弹性计算模块还被配置为为车辆的访客操作者建立访客环境,以使其以有限的访问权限访问软件应用程序。在第一示例至第四示例中的任一个的基础上,系统的第五示例还包括:多个外围装置,其中弹性计算模块还被配置为控制对多个外围装置中的一个或多个外围装置的访问。在第一示例至第五示例中的任一个的基础上,在系统的第六示例中,软件应用程序包括多个软件应用程序;弹性计算模块根据每个软件应用程序的域对多个软件应用程序进行分区;并且弹性计算模块根据多个软件应用程序的分区分配每个软件应用程序的处理。
[0095]
在本文讨论的方法和系统的第二种途径中,车载接口系统的第一示例包括:被配置为通信地耦合到第一本地计算装置、第二本地计算装置或两者的一个或多个通信链路;被通信地配置为耦合到第一本地计算装置和第二本地计算装置的弹性计算模块,所述弹性计算模块被配置为:确定第一本地计算装置的第一组处理参数和第二本地计算装置的第二组处理参数;为车辆建立软件应用程序的所需安全参数;并且基于第一组处理参数和第二组处理参数,在第一本地计算装置和第二本地计算装置之间分配软件应用程序的处理以满足软件应用程序的所需安全参数。在第一示例的基础上,在车载接口系统的第二示例中,第一组处理参数和第二组处理参数包括以下各项中的至少一者:计算容量和存储容量。在第一示例或第二示例的基础上,车载接口系统的第三示例还包括:第一soc和第二soc,其中第一本地计算装置包括第一soc;并且其中第二本地计算装置包括第二soc。在第一示例至第三示例中的任一个的基础上,在车载接口系统的第四示例中,系统的第一处理分区被实现为包括第一装置;并且系统的第二处理分区被实现为包括第二装置。在第四示例的基础上,
在车载接口系统的第五示例中,第一处理分区在系统的第一soc上实现;并且第二处理分区在系统的第二soc上实现。在第四示例或第五示例的基础上,在车载接口系统的第六示例中,第一处理分区处理与一项或多项底盘能力或一项或多项动力传动系统能力或两者有关的处理。在第六示例的基础上,在如权利要求6所述的车载接口系统的第七示例中,第一处理分区与第一安全等级相关联;并且第二处理分区与第二安全等级相关联。在第一示例至第七示例中的任一个的基础上,在车载接口系统的第八示例中,通信链路被配置为通信地耦合到第一本地计算装置;并且车载接口系统还包括被配置为通信地耦合到第二本地计算装置的第二通信链路。在第一示例至第八示例中的任一个的基础上,在如权利要求1至8中任一项所述的车载接口系统的第九示例中,车载接口系统还包括被配置为通信地耦合到远程计算装置的附加通信链路;并且弹性计算模块还被配置为:确定远程计算装置的第三组处理参数;为车辆建立附加软件应用程序的所需安全参数;并且基于第一组处理参数、第二组处理参数和第三组处理参数在第一本地计算装置、第二本地计算装置和远程计算装置之间分配软件应用程序的处理,以满足软件应用程序的所需安全参数。
[0096]
在本文讨论的方法和系统的第三种途径中,用于车载弹性计算的方法的第一示例包括:为物理地定位在车辆中的第一计算装置确定第一分区,所述第一分区用于第一域;为第二计算装置确定第二分区,所述第二分区用于第二域;将与第一域有关的第一组软件应用程序的处理分配给第一计算装置;以及将与第二域有关的第二组软件应用程序的处理分配给第二计算装置。在第一示例的基础上,在用于车载弹性计算的方法的第二示例中,第二计算装置是远程计算装置。在第一示例或第二示例的基础上,在用于车载弹性计算的方法的第三示例中,第一域包含第一安全类别,并且第二域包含第二安全类别。在第一示例至第三示例中的任一个的基础上,在用于车载弹性计算的方法的第四示例中,第一计算装置包括第一soc,并且第二计算装置包括第二soc。在第一示例到第四示例中的任一个的基础上,在用于车载弹性计算的方法的第五示例中,第一域包含一项或多项底盘能力或一项或多项动力传动系统能力或两者。
[0097]
已经出于说明和描述的目的而呈现了对实施方案的描述。可鉴于以上描述来执行对实施方案的合适的修改和改变,或者可通过实践方法来获取所述合适的修改和改变。举例来说,除非另外指出,否则可通过合适的装置和/或装置的组合来执行所描述的方法中的一者或多者,所述装置诸如为上文参照图1至9c描述的车辆系统和云计算系统。所述方法可通过使用一个或多个逻辑装置(例如,处理器)与一个或多个硬件元件的组合来执行存储的指令来执行,所述一个或多个硬件元件诸如为存储装置、存储器、硬件网络接口/天线、开关、致动器、时钟电路等。还可按照除了在本技术中描述的次序之外的各种次序、并行地和/或同时地执行所描述的方法和相关联的动作。所描述的系统在本质上是示例性的,并且可包括附加元件和/或省略元件。本公开的主题包括所公开的各种系统和配置与其他特征、功能和/或性质的所有新颖和非明显的组合和子组合。
[0098]
如本技术中所使用,通过单数形式并且继以词语“一个”或“一种”叙述的元件或步骤应理解为不排除多个所述元件或步骤,除非规定此类排除。此外,对本公开的“一个实施方案”或“一个示例”的引用不旨在被解释为排除也包含所列举特征的附加实施方案的存在。术语“第一”、“第二”、“第三”等仅用作标记,并且无意对它们的对象强加数值要求或特定位置次序。所附权利要求特别指出来自以上公开内容的被视为新颖和非明显的主题。
转载请注明原文地址:https://win.8miu.com/read-25515.html

最新回复(0)