CN115827269B - 核间通信通道构建方法、装置、存储介质及激光雷达 - Google Patents

核间通信通道构建方法、装置、存储介质及激光雷达 Download PDF

Info

Publication number
CN115827269B
CN115827269B CN202211443838.9A CN202211443838A CN115827269B CN 115827269 B CN115827269 B CN 115827269B CN 202211443838 A CN202211443838 A CN 202211443838A CN 115827269 B CN115827269 B CN 115827269B
Authority
CN
China
Prior art keywords
processor
channel
core
target
communication
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.)
Active
Application number
CN202211443838.9A
Other languages
English (en)
Other versions
CN115827269A (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.)
Benewake Beijing Co Ltd
Original Assignee
Benewake Beijing 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 Benewake Beijing Co Ltd filed Critical Benewake Beijing Co Ltd
Priority to CN202211443838.9A priority Critical patent/CN115827269B/zh
Publication of CN115827269A publication Critical patent/CN115827269A/zh
Application granted granted Critical
Publication of CN115827269B publication Critical patent/CN115827269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请提供的核间通信通道构建方法、装置、存储介质及激光雷达中,根据至少两个处理器中各处理器承担的业务功能,确定各处理器之间的拓扑结构,并根据拓扑结构,获取各处理器中的第一处理器与第二处理器之间的通道配置信息;根据通道配置信息,生成第一处理器与第二处理器之间的目标通道;建立目标通道与访问标识之间的对应关系。如此,用户只需提供多个处理器各自承担的业务功能,即可自动触发为其中的第一处理器与第二处理器构建好用于通信的目标通道,并提供该目标通道的访问标识,使得第一处理器与第二处理器能够通过该访问标识对目标通道进行访问,从而无需针对具体的硬件平台或者业务编写构建核间通信通道的代码。

Description

核间通信通道构建方法、装置、存储介质及激光雷达
技术领域
本申请涉及计算机领域,具体而言,涉及一种核间通信通道构建方法、装置、存储介质及激光雷达。
背景技术
在业务开发时,如果发现单个处理器无法胜任业务需要,普遍的做法就是使用多核处理器,把一部分“杂项工作”分配给另一个有“助理”性质的内核来辅助完成。
当在处理业务期间需要涉及到核间的数据交互时,当前核间通信实现方式大多采用静态设计,导致代码和硬件平台或者具体的业务高度绑定,代码可复用性差;因此,在更换硬件平台或者在同一硬件平台更换其他业务后,需要依据新的硬件平台或者新的业务对核间通信的代码进行重构,增加了开发周期。
发明内容
为了克服现有技术中的至少一个不足,本申请提供一种核间通信通道构建方法、装置、存储介质及激光雷达,用于根据用户需要自动构建核间通信时所需要的目标通道,具体包括:
第一方面,本申请提供一种核间通信通道构建方法,所述方法包括:
根据至少两个处理器中各处理器承担的业务功能,确定所述各处理器之间的拓扑结构;
根据所述拓扑结构,获得所述各处理器中的第一处理器与第二处理器之间的通道配置信息;
根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道;
建立所述目标通道与访问标识之间的对应关系,以使所述第一处理器与所述第二处理器之间通信时,能够通过所述访问标识访问所述目标通道。
作为第一方面的可选实施方式,所述通道配置信息包括存储介质标识以及通知机制标识,所述根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道,包括:
根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配所述目标存储空间;
根据所述通知机制标识,将与所述通知机制标识相配所述目标通知机制与目标存储空间进行绑定,以获得所述目标通道。
作为第一方面的可选实施方式,所述通道配置信息还包括连接类型标识,所述根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配所述目标存储空间,包括:
根据所述存储介质标识,确定与所述存储介质标识相匹配的目标存储介质;
若所述连接类型标识表征所述目标通道为双向连接方式,则在所述目标存储介质中分配两份存储空间,作为所述目标存储空间,其中,所述两份存储空间包括所述第一处理器向所述第二处理器发送数据的第一存储空间,以及所述第二处理器向所述第一处理器发送数据的第二存储空间;
若所述连接类型标识表征所述目标通道为单向连接方式,则在所述目标存储介质中分配一份存储空间,作为所述目标存储空间,其中,所述一份存储空间用于所述第一处理器向所述第二处理器发送数据,或者所述第二处理器向所述第一处理器发送数据。
作为第一方面的可选实施方式,所述建立所述目标通道与访问标识之间的对应关系,包括:
建立所述目标通知机制、所述目标存储空间与所述访问标识之间的对应关系。
作为第一方面的可选实施方式,若所述目标通道为单向连接方式,所述方法还包括:
通过所述访问标识,向所述目标通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述目标通道用于所述第一处理器向所述第二处理器发送数据;
从所述目标通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文包括预设的确认标识,则确定所述目标通道处于健康状态。
作为第一方面的可选实施方式,若所述目标通道为双向连接方式,所述目标通道包括第一通道以及第二通道,所述方法还包括:
向所述第一通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述第一通道用于所述第一处理器向所述第二处理器发送数据;
从所述第二通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文中包括第二方向标识,则确定所述目标通道处于健康状态,其中,所述第二方向标识用于表征所述第二通道用于所述第二处理器向所述第一处理器发送的数据。
作为第一方面的可选实施方式,所述方法还包括:
获取所述目标通道提供的通信能力;
若所述通信能力与当前业务的通信需求不相匹配,则在所述第一处理器与所述第二处理器之间生成新目标通道;
建立所述新目标通道与新访问标识之间的对应关系。
作为第一方面的可选实施方式,所述在所述第一处理器与所述第二处理器之间生成新目标通道,包括:
若所述通信能力不满足所述通信需求,并且,所述目标通道为单向连接方式,则在所述第一处理器与所述第二处理器之间生成具有双向连接方式的新目标通道。
若所述通信能力超过所述通信需求,并且,所述目标通道为双向连接方式,则在所述第一处理器与所述第二处理器之间生成具有单向连接方式的新目标通道。
第二方面,本申请提供一种核间通信通道构建装置,所述装置包括:
拓扑结构模块,用于根据至少两个处理器中各处理器承担的业务功能,确定所述各处理器之间的拓扑结构;
配置获取模块,用于根据所述拓扑结构,获得所述各处理器中的第一处理器与第二处理器之间的通道配置信息;
通道生成模块,用于根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道;
通道绑定模块,用于建立所述目标通道与访问标识之间的对应关系,以使所述第一处理器与所述第二处理器之间通信时,能够通过所述访问标识访问所述目标通道。
作为第二方面的可选实施方式,所述通道配置信息包括存储介质标识以及通知机制标识,通道生成模块根据所述通道配置信息,构建所述第一处理器与所述第二处理器之间的目标通道的方式,包括:
根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配所述目标存储空间;
根据所述通知机制标识,将与所述通知机制标识相配所述目标通知机制与目标存储空间进行绑定,以获得所述目标通道。
作为第二方面的可选实施方式,所述通道配置信息还包括连接类型标识,所述通道生成模块根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配所述目标存储空间的方式,包括:
根据所述存储介质标识,确定与所述存储介质标识相匹配的目标存储介质;
若所述连接类型标识表征所述目标通道为双向连接方式,则在所述目标存储介质中分配两份存储空间,作为所述目标存储空间,其中,所述两份存储空间包括所述第一处理器向所述第二处理器发送数据的第一存储空间,以及所述第二处理器向所述第一处理器发送数据的第二存储空间;
若所述连接类型标识表征所述目标通道为单向连接方式,则在所述目标存储介质中分配一份存储空间,作为所述目标存储空间,其中,所述一份存储空间用于所述第一处理器向所述第二处理器发送数据,或者所述第二处理器向所述第一处理器发送数据。
作为第二方面的可选实施方式,所述通道绑定模块建立所述目标通道与访问标识之间的对应关系的方式,包括:
建立所述目标通知机制、所述目标存储空间与所述访问标识之间的对应关系。
作为第二方面的可选实施方式,若所述目标通道为单向连接方式,所述通道绑定模块还用于:
通过所述访问标识,向所述目标通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述目标通道用于所述第一处理器向所述第二处理器发送数据;
从所述目标通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文包括预设的确认标识,则确定所述目标通道处于健康状态。
作为第二方面的可选实施方式,若所述目标通道为双向连接方式,所述目标通道包括第一通道以及第二通道,所述通道绑定模块还用于:
通过所述访问标识,向所述第一通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述第一通道用于所述第一处理器向所述第二处理器发送数据;
从所述第二通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文中包括第二方向标识,则确定所述目标通道处于健康状态,其中,所述第二方向标识用于表征所述第二通道用于所述第二处理器向所述第一处理器发送的数据。
作为第二方面的可选实施方式,所述通道生成模块还用于:
获取所述目标通道提供的通信能力;
若所述通信能力与当前业务的通信需求不相匹配,则在所述第一处理器与所述第二处理器之间生成新目标通道;
建立所述新目标通道与新访问标识之间的对应关系。
作为第二方面的可选实施方式,所述通道生成模块在所述第一处理器与所述第二处理器之间生成新目标通道的方式,包括:
若所述通信能力不满足所述通信需求,并且,所述目标通道为单向连接方式,则在所述第一处理器与所述第二处理器之间生成具有双向连接方式的新目标通道。
若所述通信能力超过所述通信需求,并且,所述目标通道为双向连接方式,则在所述第一处理器与所述第二处理器之间生成具有单向连接方式的新目标通道。
第三方面,本申请提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的核间通信通道构建方法。
第四方面,本申请提供一种激光雷达,所述激光雷达包括多核架构的处理器以及存储介质,所述存储介质存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的核间通信通道构建方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供的核间通信通道构建方法、装置、存储介质及激光雷达中,根据至少两个处理器中各处理器承担的业务功能,确定各处理器之间的拓扑结构,并根据拓扑结构,获取各处理器中的第一处理器与第二处理器之间的通道配置信息;根据通道配置信息,生成第一处理器与第二处理器之间的目标通道;建立目标通道与访问标识之间的对应关系。如此,用户只需提供多个处理器各自承担的业务功能,即可触发系统自动为其中的第一处理器与第二处理器构建好用于通信的目标通道,并提供该目标通道的访问标识,使得第一处理器与第二处理器能够通过该访问标识对目标通道进行访问,从而无需针对具体的硬件平台或者业务编写构建核间通信通道的代码。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的星形结构示意图;
图2为本申请实施例提供的树形结构示意图;
图3为本申请实施例提供的网形结构示意图;
图4为本申请实施例提供的软件架构示意图;
图5为本申请实施例提供的方法流程示意图;
图6为本申请实施例提供的激光雷达场景下的通信拓扑结构示意图;
图7为本申请实施例提供的低精度检测场景下的连接方式示意图;
图8为本申请实施例提供的高精度检测场景下的连接方式示意图;
图9为本申请实施例提供的虚拟装置结构示意图;
图10为本申请实施例提供的激光雷达的结构示意图。
图标:101-拓扑结构模块;102-配置获取模块;103-通道生成模块;104-通道绑定模块;201-存储器;202-多核处理器;203-通信单元;204-系统总线。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
基于上述声明,为使本申请实施例更加清楚,在对核间通信通道构建方法进行详细介绍之前,先就多核场景下常见的核间通信拓扑结构进行介绍说明。需要说明的是,本申请实施例中的多核处理器集成了多个处理核,每个处理核又被称为内核,对应一个处理器。例如,假设一多核处理器包括3个内核,则视为该多核处理器中集成了3个处理器。目前,常见的核间通信拓扑结构包括星形结构、树形结构以及网形结构。
星型结构:
星型结构的通信拓扑适用于一主多辅的通信架构,主核具有数据汇总核数据分发能力,是该架构的核心部分;其他辅助核则处于相同的通信层级,只与主核进行信息交互,相互之间不进行通信或只通过主核进行数据转发,因此,具有通信层级清晰、逻辑简单的特点。
示例性的,图1所示的4个内核(核A、核B、核C、核D)所构成的星形结构中,核A为作为主核,核B、核C、核D作为核A的辅助核,核B、核C、核D分别只能与核A直接进行通信;若其中的核B、核C之间需要进行通信,需要经过核A进行转发。
树形结构:
树形结构是具有多层级的通信架构,多核之间存在明确的上下级关系,每个核都只能与父节点进行通信,该架构适用于每个核功能相对独立的处理器结构;因此,每个核根据各自的功能明确的进行点对点通信,从而有效减少数据转发带来的额外消耗。
示例性的,继续以图1所示的4个内核为例。如图2所示,由图1所示4内核所构成的树形结构中,核A需要与核B、核C之间进行直接的数据交互,因此,将核A作为核B、核C的父节点;而核B与核D之间需要进行直接的数据交互,因此,将核B作为核D的父节点;如此,有效减少数据转发带来的额外消耗。
网形结构:
网型结构没有明确的通信层级,每个核之间都有互相通信的可能,因此,根据不同的业务需求,核间通信的通道还可以进行动态分配,是一种灵活性很高的拓扑结构;该拓扑结构适用于多核之间相互合作紧密,共同完成一种或多种的功能的通信架构。
示例性的,继续以图1所示的4个内核为例,如图3所示,由图1所示4个内核所构成的网形结构中,核A与核D、核B、核C建立有通信通道;除此以外,核B与核C之间建立有通信通道;核D与核D之间建立有通信通道。因此,图3中的4个内核彼此之间需要进行紧密合作,才能完成业务处理需求。
因此,使用多核处理器进行业务处理时,需要根据具体业务场景的需要构建处理器之间的通信拓扑结构;然而,研究发现,当前核间通信实现方式大多采用静态设计,导致代码和硬件平台或者具体的业务高度绑定,代码可复用性差。
示例性的,假定有一业务的实现需要构建如图1所示的星形结构,则需要编写相应的代码以构建核A与核B、核C、核D之间通信通道,并在此基础上编写具体的业务代码。当业务发生调整,新业务的实现需要建如图2所示的树形结构,则重新编写相应的代码在核A、核B、核C、核D之间构建如图2所示的通信通道,并基于新构建的通信通道进一步编写新业务代码。
因此,当前核间通信实现方式大多采用静态设计,导致代码和硬件平台或者具体的业务高度绑定,代码可复用性差;在更换硬件平台或者在同一硬件平台更换其他业务后,需要依据新的硬件平台或者新的业务对核间通信的代码进行重构,增加了开发周期。
需要注意的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在发明创造过程中对本申请做出的贡献,而不应当理解为本领域技术人员所公知的技术内容。
鉴于此,本实施例提供一种核间通信通道构建方法。如图4所示,该方法从软件架构层面可以分为应用层、链路层以及驱动层。
其中,应用层主要具有批量化的报文统一处理接口,使得数据的处理更加具有组织性和规范性,用于核间通信的通信协议的组码和解码以及通信业务逻辑的实现。开发人员可以在应用层指定多核处理器中各处理器承担的业务功能,从而形成处理器之间的通信拓扑结构。
链路层抽象化了内核与数据通道的概念,具体表现为,将用于数据发送和接收的内核都可抽象为数据终端,而用于数据传输的存储介质和通知机制可以绑定为一个独立的通信通道,因此,链路层实际用于建立并维护核间的通信链路,根据预设配置或者根据应用层的通信协议动态选择核间数据交换以及通知方式。由于链路层使得核间通信不再是简单的在两点之间连一条线,而是根据不同的数据终端业务需求,合理分配通信通道,因此,能够保证内存、终端等硬件资源的有效利用。
驱动层提供了数据传输的硬件依赖以及通知机制的硬件依赖,并将其分别进行了模块化处理,因此,每个通道作为核间通信的基本传输方式,是驱动部分的最小可工作单元。
基于以上关于该方法软件架构层面的介绍,为使本实施例更为清楚,下面结合图4就该方法的各步骤进行详细阐述。如图5所示,该方法包括:
S101,根据至少两个处理器中各处理器承担的业务功能,确定各处理器之间的拓扑结构。
应理解的是,该方法的应用场景为多核处理器,本实施例中的第一处理器与第二处理器可以是多核处理器中的任意两个处理器;并且可以运行在多核处理器中的任意一个处理器上。
另外,多核处理器中,核间通信的通道可以使用内存(DDR)、Flash等具备存储功能的存储介质作为通道两侧的数据传输介质。而配套的通知机制则包括核间中断、软中断、定时查询以及寄存器更新等方式。通过这些通知机制,当第一处理器往目标通道内写入数据后,第二处理器能够及时从目标通道中读取写入的数据。因此,意味着本实施例中的拓扑结构需要包括核与核之间的通信连接方式,还需要包括搭建核与核之间通信通道所需的数据传输介质以及通知机制的标识信息。
示例性的,如图6所示,假定用于激光雷达的多核处理器中包括4个Cortex-A53内核(A0、A1、A2、A3)以及2个Cortex-R5内核(R0、R1)。其中,A0核作为主核拥有主要的对外通信接口,能够进行信息汇总和信息分发。6个内核之间初始状态下并不具备任何通信拓扑结构,需要开发人员可以根据激光雷达的业务需要指定6个内核各自需要承担的业务功能。
假定A0在执行业务时需要进行数据汇总与核间数据分,因此,将核A0的业务功能配置为主核;而剩余的R0、A1、A2、A3用户作为A1的直接辅助核,R1作为R0的直接辅助核。
此外,6个内核各自承担的业务功能除了上述所要担任的角色外,还包括数据传输量。若R0用于采集点云数据,并发送给A1进行处理;而点云数据具有数据量大实时性要求高的特点,因此,R0在激光雷达中承担的业务功能为A0的高数据量、高实时性的双向辅助核。
A1用于备份R0采集的点云数据,因此,A1在激光雷达中承担的业务功能为同样为高业务数据、高实时性的双向辅助核。
A2用于将采集的数据发送给A0,但采集的数据并没有特别严苛的实时性要求,同时采样频率固定。因此,A2在激光雷达中承担的业务功能为A0的低业数据量、低实时性的单向主控辅助核。
A3用于接收A0的指令,需要保证数据不丢失,但无实时性要求,因此,A3在激光雷达中承担的业务功能为A0的低数据量、低实时性的单向受控辅助核。
R1用于进行数据校验,对实时性要求不高,但是数据量较大,因此,R1在激光雷达中承担的业务功能为R0的高数据量、低实时性的双向辅助核。
基于上述6个内核各自在激光雷达中承担的业务功能,构建如图6所示的核间通信连接方式,并提供以下策略为核间通道确定数据传输介质以及通知机制。
通道1:建立在A0与R0之间选择DDR作为目标存储介质,以及通信机制选择能够附带额外信息位的核间中断作为目标通知机制。
通道2:建立在A0与A1之间,选择DDR作为目标存储介质;但是考虑到A0和A1是同构核,因此,可以在通道配置信息中选择更方便快捷的软中断作为目标通知机制。
通道3:建立在A0与A2之间,选择DDR作为目标存储介质,以及选择定时查询方式作为目标通知机制。
通道4:建立在A0与A3之间,选择Flash作为目标存储介质,以及选择寄存器更新的方式作为目标通知机制。
通道5:位于R0与R1之间,选择Flash作为目标存储介质,以及选择定时查询作为目标通知机制。
值得说明的是,上述策略仅仅是为了便于理解所提供的示例,技术人员在实施本方案时可以进行适当调整。当然,当预设的策略无法满足需求时,还可以直接指定核间的通信连接方式以及通信通道的数据传输介质以及通知机制。
基于上述关于核间拓扑结构的介绍,继续参见图5,该方法还包括:
S102,根据拓扑结构,获得各处理器中的第一处理器与第二处理器之间的通道配置信息。
S103,根据通道配置信息,生成第一处理器与第二处理器之间的目标通道。
其中,该通道配置信息包括存储介质标识以及通知机制标识。本实施例提供的可选实施方式中,步骤S103的具体实施方式包括:
S103-1,根据存储介质标识,在与存储介质标识相匹配的目标存储介质中分配目标存储空间。
研究发现,一些核间通信场景中,第一处理器与第二处理器处于相对平等的角色,即没有明显的主从关系;或者第一处理器与第二处理器之间对通信可靠性有着严格的实时性要求,第一处理器与第二处理器之间分别使用不同的第一通道以及第二通道用于收发数据。
而在一些核间通信场景中,第一处理器与第二处理器之间的角色并不平等,例如,从核定时将重要性不高的数据向主核进行上传,从而将剩余的通信资源让给优先级更高的核间通道。
因此,该通道配置信息中还可以包括连接类型标识,用于指示第一处理器与第二处理之间采用双向连接方式或者单向连接方式,此时,步骤S103-1包括以下具体实施方式:
S103-1-1,根据存储介质标识,确定与存储介质标识相匹配的目标存储介质。
S103-1-2,若连接类型标识表征目标通道为双向连接方式,则在目标存储介质中分配两份存储空间,作为目标存储空间,获得目标通道。
其中,两份存储空间包括第一处理器向第二处理器发送数据的第一存储空间,以及第二处理器向第一处理器发送数据的第二存储空间。由于在双向连接方式中,目标通道包括第一通道以及第二通道,第一处理器向第二处理器发送数据可以使用一条第一通道;第二处理器向第一处理器发送数据可以使用另外一条第二通道;因此,需要分配两份存储空间为两通道的独立通信提供支持。
S103-1-3,若连接类型标识表征目标通道为单向连接方式,则在目标存储介质中分配一份存储空间,作为目标存储空间。
该一份存储空间用于第一处理器向第二处理器发送数据,或者第二处理器向第一处理器发送数据。即若第一处理器与第二处理器只需要单方面进行数据传输,则只需分配一份存储空间用于作为目标通道的目标存储空间即可。
基于以上关于目标存储空间的介绍,该步骤S103还包括:
S103-2,根据通知机制标识,将与通知机制标识相配目标通知机制与目标存储空间进行绑定,以获得目标通道。
基于以上关于目标通道构建方式的介绍,再次参见图5,该方法还包括:
S104,建立目标通道与访问标识之间的对应关系,以使第一处理器与第二处理器之间通信时,能够通过访问标识访问目标通道。
此处应理解,目标通道与访问标识之间的对应关系作为该方法软件架构层面的链路层,使得应用层通过该访问标识能够在链路层找到第一处理器与第二处理器之间的目标通道。并且,正如以上实施方式中所介绍的,该目标通道可以包括需要依赖于目标存储空间以及目标通知机制,因此,步骤S104的具体实施方式可以包括:建立目标通知机制、目标存储空间与访问标识之间的对应关系。
如此,通过以上实施方式,只需获取用户配置的通道配置信息,即可自动为第一处理器与第二处理器构建好用于通信的目标通道,并提供该目标通道的访问标识,使得第一处理器与第二处理器能够通过该访问标识对目标通道进行访问。
进一步地,构建完目标通道后,为了确保通道能够正常使用,本实施例还提供了测试通道的实施方式。其中,对于单向连接方式,该方法包括:
S105A,通过访问标识,向目标通道发送包括有第一方向标识的测试报文。
其中,第一方向标识表征目标通道用于第一处理器向第二处理器发送数据。
S106A,从目标通道接收基于第一方向标识发送的响应报文。
S107A,若响应报文包括预设的确认标识,则确定目标通道处于健康状态。
对于双向连接方式,目标通道包括第一通道以及第二通道,该方法包括:
S105B,向第一通道发送包括有第一方向标识的测试报文。
其中,第一方向标识表征第一通道用于第一处理器向第二处理器发送数据。
S106B,从第二通道接收基于第一方向标识发送的响应报文;
S107B,若响应报文中包括第二方向标识,则确定目标通道处于健康状态。
其中,第二方向标识用于表征第二通道用于第二处理器向第一处理器发送的数据。
示例性的,由于访问标识关联了目标通道的数据传输通道以及目标通知机制;因此,对于单向连接方式,第一处理器通过目标通道的访问标识,找到目标存储空间;并通过驱动层向目标存储空间写入含有第一方向标识的测试报文后,触发目标通知机制通知第二处理器;并接收第二处理器在接收到测试报文后,先根据第一方向标识确认数据发送方向是否正确,若正确,则向目标存储空间写入包含确认标识“ACK”的响应报文;反之,则向目标存储空间写入包含否认标识“UNACK”的响应报文。
若第一处理器未接收到含“ACK”的响应报文,或者接收到响应报文中包含的是否认标识“UNACK”,则意味着第一处理器与第二处理器之间的目标通道处于异常状态;反之,处于健康状态,可以用于两处理器之间进行通信。
对于双向连接方式,第一处理器需要根据访问标识找到目标存储空间。由于该目标存储空间一部分(第一存储空间)用于往第二处理器发送数据,另外一部分(第二存储空间)用于接收第二处理器发送的数据,因此,第一处理器通过驱动层往第一存储空间写入含有第一方向标识的测试报文后,并触发目标通信机制通知第二处理器从中读取。
第二处理器先根据第一方向标识确认数据发送方向是否正确,若正确,则通过驱动层往第二存储空间写入含有第二方向标识的响应报文,并触发目标通知机制通知第一处理器读取。如此,完成对目标通道的检测。若未接收到含有第二方向标识的响应报文,则意味着第一处理器与第二处理器之间的目标通道处于异常状态;反之,处于健康状态,可以用于量处理器之间进行通信。
研究还发现,固定的核间通道并不能很好的适应外部动态变化的环境,因此,在运行过程中,需要上位机可以通过指令通知多核处理器进行核间通信通道的动态切换,其中,当多核处理器应用于激光雷达,而该激光雷达应用于自动驾驶车辆时,该上位机可以是服务器或者自动驾驶车辆中的中控设备。
或者,自动感知目标通道提供的通信能力与当前业务的通信需求是否匹配,若不匹配时,则进行核间的通信通道的动态切换。因此,本实施例提供的核间通信通道构建方法还包括:
S108,获取目标通道提供的通信能力。
S109,若通信能力与当前业务的通信需求不相匹配,则在第一处理器与第二处理器之间生成新目标通道。
由于双向链接方式相对于单向链接方式需要消耗更多的系统资源,本实施例中将双向连接方式切换为单向连接方式成为链接降级,相反为成为链接升级。因此,为了在运行过程中适应业务场景的变化,需要对已有的核间通道进行升级或者降级,甚至是调整核间的通信拓扑结构。
因此,提供的可选实施方式中,若通信能力不满足通信需求,并且,目标通道为单向连接方式,则在第一处理器与第二处理器之间生成具有双向连接方式的新目标通道。
若通信能力超过通信需求,并且,目标通道为双向连接方式,则在第一处理器与第二处理器之间生成具有单向连接方式的新目标通道。
S110,建立新目标通道与新访问标识之间的对应关系。
示例性的,假定用于激光雷达的多核处理器,包括4个内核(核A、核B、核C、核D),其中,核A作为主核,核B、核C、核D作为辅助内核。如图7所示,当在一些对检测精度要求不高的场景,只需要核A能够胜任计算任务,此时,核A与核B、核C、核D之间分别建立单向连接方式的目标通道,核B、核C、核D只需要通过各自的目标通道向核A上报内核状态即可。如图8所示,当对检测精度要求较高的场景,则需要核B、核C、核D进行辅助运算,此时,需要核A与核B、核C、核D之间的新目标通道分别双向连接方式,以便于核A与核B、核C、核D之间进行高效的数据传输。当然,新目标通道对应的目标存储介质以及目标通知机制可以按照预设策略进行适应性调整。
如此,使得多核处理器能够适应运行阶段业务逻辑的变换,为新的业务提供更好的核间通信方式。
基于核间通信通道构建方法相同的发明构思,本实施还提供一种核间通信通道构建装置。其中,该核间通信通道构建装置包括至少一个可以软件形式存储于存储器或固化在激光雷达的操作系统(Operating System,简称OS)中的软件功能模块。激光雷达中的多核处理器用于执行存储器中存储的可执行模块。例如,核间通信通道构建装置所包括的软件功能模块及计算机程序等。请参照图9,从功能上划分,核间通信通道构建装置可以包括:
拓扑结构模块101,用于根据至少两个处理器中各处理器承担的业务功能,确定各处理器之间的拓扑结构。
在本实施例中,拓扑结构模块101用于实现图5中的步骤S101,关于该拓扑结构模块101的详细描述可以参见步骤S101的详细描述。
配置获取模块102,用于根据拓扑结构,获得各处理器中第一处理器与第二处理器之间的通道配置信息。
在本实施例中,该配置获取模块102用于实现图5中的步骤S102,关于该配置获取模块102的详细描述可以参见步骤S102的详细描述。
通道生成模块103,用于根据通道配置信息,生成第一处理器与第二处理器之间的目标通道。
在本实施例中,该通道生成模块103用于实现图5中的步骤S103,关于该通道生成模块103的详细描述可以参见步骤S103的详细描述。
通道绑定模块104,用于建立目标通道与访问标识之间的对应关系,以使第一处理器与第二处理器之间通信时,能够通过访问标识访问目标通道。
在本实施例中,该通道绑定模块104用于实现图5中的步骤S104,关于该通道绑定模块104的详细描述可以参见步骤S104的详细描述。
还应理解的是,由于与核间通信通道构建方法具有相同的发明构思,以上配拓扑结构模块101、配置获取模块102、通道生成模块103以及通道绑定模块104还可以用于实现该方法的其他步骤或者子步骤,对此,本实施例不再进行赘述。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
还应理解的是,以上实施方式如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
因此,本实施例还提供一种存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时,实现本实施例提供的核间通信通道构建方法。其中,该存储介质可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
请参照图10,本实施例提供的一种激光雷达,该激光雷达可包括多核处理器202及存储器201。多核处理器202与存储器201可经由系统总线204通信。并且,存储器201存储有计算机程序,处理器通过读取并执行存储器201中与以上实施方式对应的计算机程序,实现本实施例所提供的核间通信通道构方法。
继续如图10所示,该激光雷达还可以包括有通信单元203。该存储器201、多核处理器202以及通信单元203各元件相互之间通过系统总线204直接或间接地通信连接,以实现数据的传输或交互。
其中,该存储器201可以是基于任何电子、磁性、光学或其它物理原理的信息记录装置,用于记录执行指令、数据等。在一些实施方式中,该存储器201可以是,但不限于,易失存储器、非易失性存储器、存储驱动器等。
在一些实施方式中,该易失存储器可以是随机存取存储器(Random AccessMemory,RAM);在一些实施方式中,该非易失性存储器可以是只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)、闪存等;在一些实施方式中,该存储驱动器可以是磁盘驱动器、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合等。
该通信单元203用于通过网络收发数据。在一些实施方式中,该网络可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。在一些实施例中,网络可以包括一个或多个网络接入点。例如,网络可以包括有线或无线网络接入点,例如基站和/或网络交换节点,服务请求处理系统的一个或多个组件可以通过该接入点连接到网络以交换数据和/或信息。
该多核处理器202可能是一种集成电路芯片,具有信号的处理能力。仅作为举例,上述多核处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用指令集处理器(ApplicationSpecific Instruction-set Processor,ASIP)、图形处理单元(Graphics ProcessingUnit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(DigitalSignal Processor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
应该理解到的是,在上述实施方式中所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种核间通信通道构建方法,其特征在于,应用于多核处理器,所述方法包括:
根据在应用层指定的至少两个处理器中各处理器承担的业务功能,确定所述各处理器之间的拓扑结构,其中,所述拓扑结构包括星形结构、树形结构以及网形结构中的一种以及处理器与处理器之间的通信通道所需的数据传输介质以及通知机制的标识信息,所述应用层具有批量化的报文统一处理接口,用于核间通信的通信协议的组码和解码以及通信业务逻辑的实现;
根据所述拓扑结构,获得所述各处理器中的第一处理器与第二处理器之间的通道配置信息;
根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道;
建立所述目标通道与访问标识之间的对应关系,以使所述第一处理器与所述第二处理器之间通信时,能够通过所述访问标识访问所述目标通道;
所述方法还包括:
根据应用层的通信协议动态选择核间数据交换以及通知方式,以使上位机通过指令通知多核处理器进行核间通信通道的动态切换。
2.根据权利要求1所述的核间通信通道构建方法,其特征在于,所述通道配置信息包括存储介质标识以及通知机制标识,所述根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道,包括:
根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配目标存储空间;
根据所述通知机制标识,将与所述通知机制标识相配目标通知机制与目标存储空间进行绑定,以获得所述目标通道。
3.根据权利要求2所述的核间通信通道构建方法,其特征在于,所述通道配置信息还包括连接类型标识,所述根据所述存储介质标识,在与所述存储介质标识相匹配的目标存储介质中分配所述目标存储空间,包括:
根据所述存储介质标识,确定与所述存储介质标识相匹配的目标存储介质;
若所述连接类型标识表征所述目标通道为双向连接方式,则在所述目标存储介质中分配两份存储空间,作为所述目标存储空间,其中,所述两份存储空间包括所述第一处理器向所述第二处理器发送数据的第一存储空间,以及所述第二处理器向所述第一处理器发送数据的第二存储空间;
若所述连接类型标识表征所述目标通道为单向连接方式,则在所述目标存储介质中分配一份存储空间,作为所述目标存储空间,其中,所述一份存储空间用于所述第一处理器向所述第二处理器发送数据,或者所述第二处理器向所述第一处理器发送数据。
4.根据权利要求2所述的核间通信通道构建方法,其特征在于,所述建立所述目标通道与访问标识之间的对应关系,包括:
建立所述目标通知机制、所述目标存储空间与所述访问标识之间的对应关系。
5.根据权利要求1所述的核间通信通道构建方法,其特征在于,若所述目标通道为单向连接方式,所述方法还包括:
通过所述访问标识,向所述目标通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述目标通道用于所述第一处理器向所述第二处理器发送数据;
从所述目标通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文包括预设的确认标识,则确定所述目标通道处于健康状态。
6.根据权利要求1所述的核间通信通道构建方法,其特征在于,若所述目标通道为双向连接方式,所述目标通道包括第一通道以及第二通道,所述方法还包括:
通过所述访问标识,向所述第一通道发送包括有第一方向标识的测试报文,其中,所述第一方向标识表征所述第一通道用于所述第一处理器向所述第二处理器发送数据;
从所述第二通道接收基于所述第一方向标识发送的响应报文;
若所述响应报文中包括第二方向标识,则确定所述目标通道处于健康状态,其中,所述第二方向标识用于表征所述第二通道用于所述第二处理器向所述第一处理器发送的数据。
7.根据权利要求1所述的核间通信通道构建方法,其特征在于,所述方法还包括:
获取所述目标通道提供的通信能力;
若所述通信能力与当前业务的通信需求不相匹配,则在所述第一处理器与所述第二处理器之间生成新目标通道;
建立所述新目标通道与新访问标识之间的对应关系。
8.根据权利要求7所述的核间通信通道构建方法,其特征在于,所述在所述第一处理器与所述第二处理器之间生成新目标通道,包括:
若所述通信能力不满足所述通信需求,并且,所述目标通道为单向连接方式,则在所述第一处理器与所述第二处理器之间生成具有双向连接方式的新目标通道;
若所述通信能力超过所述通信需求,并且,所述目标通道为双向连接方式,则在所述第一处理器与所述第二处理器之间生成具有单向连接方式的新目标通道。
9.一种核间通信通道构建装置,其特征在于,应用于多核处理器,所述装置包括:
拓扑结构模块,用于根据在应用层指定的至少两个处理器中各处理器承担的业务功能,确定所述各处理器之间的拓扑结构,其中,所述拓扑结构包括星形结构、树形结构以及网形结构中的一种以及处理器与处理器之间的通信通道所需的数据传输介质以及通知机制的标识信息,所述应用层具有批量化的报文统一处理接口,用于核间通信的通信协议的组码和解码以及通信业务逻辑的实现;
配置获取模块,用于根据所述拓扑结构,获得所述各处理器中第一处理器与第二处理器之间的通道配置信息;
通道生成模块,用于根据所述通道配置信息,生成所述第一处理器与所述第二处理器之间的目标通道;
通道绑定模块,用于建立所述目标通道与访问标识之间的对应关系,以使所述第一处理器与所述第二处理器之间通信时,能够通过所述访问标识访问所述目标通道;
所述多核处理器还根据应用层的通信协议动态选择核间数据交换以及通知方式,以使上位机通过指令通知多核处理器进行核间通信通道的动态切换。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-8任意一项所述的核间通信通道构建方法。
11.一种激光雷达,其特征在于,所述激光雷达包括多核处理器以及存储介质,所述存储介质存储有计算机程序,所述计算机程序被所述多核处理器执行时,实现权利要求1-8任意一项所述的核间通信通道构建方法。
CN202211443838.9A 2022-11-18 2022-11-18 核间通信通道构建方法、装置、存储介质及激光雷达 Active CN115827269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211443838.9A CN115827269B (zh) 2022-11-18 2022-11-18 核间通信通道构建方法、装置、存储介质及激光雷达

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211443838.9A CN115827269B (zh) 2022-11-18 2022-11-18 核间通信通道构建方法、装置、存储介质及激光雷达

Publications (2)

Publication Number Publication Date
CN115827269A CN115827269A (zh) 2023-03-21
CN115827269B true CN115827269B (zh) 2024-04-12

Family

ID=85528966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211443838.9A Active CN115827269B (zh) 2022-11-18 2022-11-18 核间通信通道构建方法、装置、存储介质及激光雷达

Country Status (1)

Country Link
CN (1) CN115827269B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290280A (zh) * 2023-06-15 2023-12-26 支付宝(杭州)信息技术有限公司 一种多处理卡间的数据传输方法
CN116501507B (zh) * 2023-06-28 2023-10-24 北京紫光芯能科技有限公司 用于中断处理的方法及中断控制模块、处理器、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037176A1 (zh) * 2020-08-18 2022-02-24 Oppo广东移动通信有限公司 核间通信方法、装置、电子组件以及电子设备
WO2022095634A1 (zh) * 2020-11-09 2022-05-12 哲库科技(上海)有限公司 多核处理系统及其核间通信方法、存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7042138B2 (ja) * 2018-03-30 2022-03-25 日立Astemo株式会社 処理装置
US20200364088A1 (en) * 2019-05-16 2020-11-19 Nvidia Corporation Resource sharing by two or more heterogeneous processing cores
US20220138286A1 (en) * 2020-11-02 2022-05-05 Intel Corporation Graphics security with synergistic encryption, content-based and resource management technology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037176A1 (zh) * 2020-08-18 2022-02-24 Oppo广东移动通信有限公司 核间通信方法、装置、电子组件以及电子设备
WO2022095634A1 (zh) * 2020-11-09 2022-05-12 哲库科技(上海)有限公司 多核处理系统及其核间通信方法、存储介质

Also Published As

Publication number Publication date
CN115827269A (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
CN115827269B (zh) 核间通信通道构建方法、装置、存储介质及激光雷达
EP3701706B1 (en) Blockchain-based data migration method and apparatus
JP7130142B2 (ja) 通信方法、装置、エンティティ及びコンピュータ可読記憶媒体
US11948021B2 (en) Method for inter-core communication, processor, inter-core communication system and computer readable storage medium
CN116243995B (zh) 通信方法、装置、计算机可读存储介质以及电子设备
CN116244229B (zh) 硬件控制器的访问方法、装置、存储介质和电子设备
CN110162396A (zh) 内存回收方法、装置、系统和存储介质
CN116541227A (zh) 故障诊断方法、装置、存储介质、电子装置及bmc芯片
WO2019015051A1 (zh) 一种工作模式的切换方法及装置
CN117311999B (zh) 一种服务集群的资源调度方法、存储介质及电子设备
CN117667358A (zh) 容器组调度方法、系统、电子设备、集群及可读存储介质
Sarkar et al. MAAS: A mobile cloud assisted architecture for handling emergency situations
Farsi et al. An introduction to CANopen
CN115827285B (zh) 一种跨平台通信方法、系统、装置、设备及介质
CN113141267B (zh) 固件升级、信息处理方法、装置及设备
CN116483543A (zh) 一种任务处理方法、装置、设备及存储介质
CN104281587A (zh) 一种建立连接的方法及装置
CN109041265A (zh) 一种核心网接入方法和基站
CN107710793A (zh) 一种定位方法及对应装置
CN112463027B (zh) 一种i/o处理方法、系统、设备及计算机可读存储介质
CN116938710A (zh) 一种终端固件升级方法、装置、设备及存储介质
Erlank et al. A hybrid real-time agent platform for fault-tolerant, embedded applications
CN117215803A (zh) 一种进程通信方法、装置、电子设备及可读存储介质
CN112765056B (zh) 一种预留存储集群lun的方法、系统、设备及介质
CN117149472B (zh) 通信方法、装置、计算机可读存储介质以及电子设备

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