一种基于异构多核核间通信的系统架构并行运行方法与流程

文档序号:37466774发布日期:2024-03-28 18:49阅读:14来源:国知局
一种基于异构多核核间通信的系统架构并行运行方法与流程

本发明属于嵌入式操作系统领域,具体涉及一种基于异构多核核间通信的系统架构并行运行方法。


背景技术:

1、随着异构多核处理器在嵌入式领域广泛应用,保证多种应用在异构处理器上高效运行成为操作系统亟待解决的重要问题。在异构处理器中,操作系统常常以非对称多处理(asymmetricmulti-processing,amp)模式工作,每个核心拥有自己独立的操作系统副本,各任务在应用设计阶段静态分布在不同核心上。为了实现异构处理器多个核心并行运作,不同核心之间需要建立高效的核间通信机制,例如共享存储区、处理器间中断等进行同步、数据交换和控制共享资源访问,从而实现操作系统之间协同工作,以达到协同处理的目标。

2、中国专利“cn113391821a一种非对称多处理器嵌入式操作系统”提出在非对称多核硬件平台的主处理器上部署主操作系统,并在从属处理器上部署嵌入式实时操作系统。该方法具体包括以下几个方面:首先,主操作系统用于管理所述嵌入式实时操作系统的加载、运行、所能访问的硬件外围资源和卸载。其次,嵌入式实时操作系统用于执行主操作系统分配的实时任务。最后,主操作系统和嵌入式操作系统之间通过核间中断和共享内存的方式进行信息传递。该方法充分利用非对称多核处理器架构的特点,解决了实时性操作系统与软件功能完备操作系统在同一嵌入式非对称多核处理器上共存的矛盾,通过提高系统实时性和安全性,为嵌入式领域的应用提供了一种更高效的解决方案。

3、中国专利“cn114327930a用于异构多核核间通信的系统架构和系统架构的运行方法”提供了一种基于远程处理器remoteproc框架的异构多核核间通信的系统架构。该系统架构由以下两部分构成:1、第一处理器系统:包括第一控制装置和第一操作系统模块。第一控制装置负责管理系统的运行,而第一操作系统模块则负责执行相关任务;2、第二处理器系统:包括第二控制装置和第二操作系统模块,其中第二操作系统模块还被配置有非对称多处理器amp通讯软件组件。第二操作系统模块不仅包含常规的操作系统功能,还配置有非对称多处理器amp通讯软件组件,该组件与remoteproc框架协同工作,控制第一处理器系统运行。通过在第二处理器系统上配置有非对称多处理器amp通讯软件组件来扩展linuxremoteproc框架,实现了异构多核核间通信的高效工作,能够有效地实现异构多核的协同处理,提高系统的整体性能和效率。

4、中国专利“cn113391821a一种非对称多处理器嵌入式操作系统”提出在非对称多核硬件平台的主处理器上部署主操作系统,解决实时性操作系统与软件功能完备操作系统在同一嵌入式非对称多核处理器上共存的矛盾。但是该方法由主处理器统一管理所有硬件资源,形成了主从式工作模式,不能有效的实现异构并行工作;同时,该方法通过核间中断和共享内存的方式在主操作系统和嵌入式操作系统之间交互信息,核间中断和共享内存是不需要操作系统支持的方式,很难处理好多线程同步和通信问题。

5、中国专利“cn114327930a用于异构多核核间通信的系统架构和系统架构的运行方法”通过在第二处理器系统上配置有非对称多处理器amp通讯软件组件来扩展linuxremoteproc框架,实现异构多核核间通信的高效工作,从而实现异构多核的协同处理。但是该方法通过第二处理器系统控制第一处理器系统运行,同样是一种主从式工作模式,无法较好的实现异构并行处理;同时,该方法通过硬件机制mailbox进行处理器间进程同步和数据交换,需要硬件的支持,并且需要进程遵守一定的协议来保证通信的正确性和可靠性,可能会导致消息丢失;再者,限定了两个处理器系统,面对多个异构处理核,显得无能为力,无法提供有效的通信管理。


技术实现思路

1、(一)要解决的技术问题

2、本发明要解决的技术问题是如何提供一种基于异构多核核间通信的系统架构并行运行方法,以解决现有技术中存在的上述问题。

3、(二)技术方案

4、为了解决上述技术问题,本发明提出一种基于异构多核核间通信的系统架构并行运行方法,该系统架构的每个异构处理器核心拥有独立的操作系统副本,该系统架构包括:系统服务部件模块和hpci模块;

5、系统服务部件模块,使用api实现支持多核模式并完成内核资源管理;

6、hpci模块,用于具体实现并行运行的多核之间的通信;

7、hpci模块中包含三个子模块:hpci接口层、共享内存实现层和硬件相关实现层;

8、hpci接口层,是基于包交换的消息传递接口模块;

9、共享内存实现层,用于提供基于共享内存的hpci接口;

10、硬件相关实现层,用于实现与硬件相关操作,包括:内存编址、格式转换、互斥访问和处理期间中断。

11、(三)有益效果

12、本发明提出一种基于异构多核核间通信的系统架构并行运行方法,本发明利用基于全局对象的异构处理器系统管理框架和hpci,能够支持不同操作系统副本部署在异构处理器核上并行运行,每个异构处理器核上可以独立执行任务,并通过hpci进行协同处理。可以根据异构处理器核数方便地扩展操作系统副本,能够充分利用了硬件资源,使得操作系统可以充分利用自己所在的核心,从而提高整体的执行效率,实现真正意义上的并行处理。

13、本发明通过hpci实现了高效的异构处理器核间通信,保证了通信的正确性和可靠性。一方面,通过同步处理,主节点和其他节点之间可以进行协调和同步,以保证所有节点对共享空间的视图一致性,从而维护了线程同步;另一方面,通过给共享内存中的通信队列加锁,实现了互斥访问,避免了多个副本同时访问时可能发生的访问冲突。通过加锁机制,确保了每次只有一个副本能够对共享资源进行操作,从而保障了正确的并行运行。



技术特征:

1.一种基于异构多核核间通信的系统架构并行运行方法,其特征在于,该系统架构的每个异构处理器核心拥有独立的操作系统副本,该系统架构包括:系统服务部件模块和hpci模块;

2.如权利要求1所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,系统服务部件提供面向应用的系统资源管理,包括任务管理、任务之间的同步与通信、内存管理、中断、时间及i/o管理,在异构处理器中将对象分为局部对象和全局对象,对局部对象的访问与单处理器情况下完全相同,直接调用本地内核提供的功能完成操作;而全局对象的设置是为异构处理器间通信服务的,对全局对象的访问需要调用异构处理器支持层的接口完成与远程任务之间的交互,系统服务部件的实现需要操作系统基本内核提供支持。

3.如权利要求2所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,hpci模块提供给应用层api实现的一套通用接口,在逻辑上定义了异构处理器核间的消息传递机制,该机制包括:一套消息包处理例程接口,一个消息包接收/发送逻辑;消息包处理例程接口供系统准备和发出远程请求时调用,例程的入口点必须登记在异构处理器通信接口表中,hpci维持一个缓冲池,以实现消息包的接收/发送逻辑,缓冲池的每个单元称为一个包(packet),包缓冲中包含了节点之间传递的消息。

4.如权利要求2所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,该方法包括:

5.如权利要求4所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,共享内存实现层是hpci接口层通信语义实现的功能基础,保存节点状态控制信息、通信控制信息和通信实体(ce);共享存储区包括:节点状态控制块、通信队列控制块和ce控制块,节点状态控制块存储节点的共享状态信息,通信队列控制块(cqcb)存储通信的状态信息,ce控制块存储hpci接口层的消息包;在hpci接口层形成的消息包(packet)进入共享内存时会被封装成ce控制块,由ce控制器以链表的形式进行管理,形成的链表根据每个核的发送和接受需求组成多条通信队列,各个核以节点的形式将自身共享状态存放和管理在节点状态控制块中。

6.如权利要求4所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,共享存储区的初始化工作是非对称的,其中一个主节点负责共享内存主要数据结构的初始化,共享内存的初始化是在桥片配置、hpci内核结构初始化、远程通信服务线程(rcs)的创建和启动后进行的,共享内存的初始化通过调用注册在hpci中的初始化函数sharemem_initization来完成的。

7.如权利要求6所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,在共享内存初始化过程中,主节点和其它节点之间通过同步保证所有节点对共享空间的视图是一致的,同步后再进行后续处理;在进行共享内存初始化的阶段,由主节点负责共享内存主要数据结构的初始化,其它节点初始化自身的本地信息控制块,在各节点本地信息控制块初始化完成后进行同步操作,各节点分别向其它节点发送系统消息,系统消息中包含本节点的系统最大可通信节点数和最大全局对象信息;各节点经由异构处理器核之间的中断被通知收到其它节点发送的系统消息后,本节点的rcs被启动并调用前面步骤中注册的系统消息处理函数进行处理,如果发现收到的全局信息与本节点拥有的信息不一致,则报错退出或复位,这是启动用户任务之前进行的第一次异构多核处理器核间的通信,通过这次通信用于验证系统的异构处理器核间通信机制是否正常。

8.如权利要求1所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,在hpci中,与硬件相关的操作是对共享内存的操作,异构处理器通过共享内存实现异构处理器核间的通信,异构处理器核间中断提供了异构处理器同步的手段,包括共享内存的地址映射与中断配置、队列锁的实现以及异构处理器核间中断触发和处理函数的实现。

9.如权利要求8所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,共享内存的地址映射和中断配置在系统初始化时完成,包括:定义共享内存的基地址和长度、配置中断信息表、安装中断触发函数;在利用共享内存中的通信队列进行通信时,必须保证各节点对同一队列的互斥访问,通过给队列加锁可以实现互斥访问,其基本方法是:在队列控制块中为每一个队列设置一个锁字,当应用需要访问某一队列时,首先要获取该队列的锁,如果锁被其它任务占用则等待,直到锁被释放;获得锁并加锁后才能对队列进行操作,操作完成后释放锁。

10.如权利要求8所述的基于异构多核核间通信的系统架构并行运行方法,其特征在于,中断触发函数设计包括:


技术总结
本发明涉及一种基于异构多核核间通信的系统架构并行运行方法,属于嵌入式操作系统领域。本发明利用基于全局对象的异构处理器系统管理框架和HPCI,能够支持不同操作系统副本部署在异构处理器核上并行运行,每个异构处理器核上可以独立执行任务,并通过HPCI进行协同处理。可以根据异构处理器核数方便地扩展操作系统副本,能够充分利用了硬件资源,使得操作系统可以充分利用自己所在的核心,从而提高整体的执行效率,实现真正意义上的并行处理。

技术研发人员:李明磊,陈树峰,薛渊文,施志强,吴海强,张杨,韩伟伦,刘永胜
受保护的技术使用者:北京计算机技术及应用研究所
技术研发日:
技术公布日:2024/3/27
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1