[发明专利]基于多核多处理器并行系统的全局消息队列实现方法在审
申请号: | 202011360414.7 | 申请日: | 2020-11-27 |
公开(公告)号: | CN112486702A | 公开(公告)日: | 2021-03-12 |
发明(设计)人: | 舒红霞;常轩;胡舒婷 | 申请(专利权)人: | 中船重工(武汉)凌久电子有限责任公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52;G06F5/06 |
代理公司: | 北京中北知识产权代理有限公司 11253 | 代理人: | 李新昂 |
地址: | 430000 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多核 处理器 并行 系统 全局 消息 队列 实现 方法 | ||
1.一种基于多核多处理器并行系统的全局消息队列实现方法,其特征在于,该全局消息队列实现方法包括:
S1)多核多处理器并行系统的各处理核心进行系统初始化,通过SRIO映射一段共享存储空间用于存储全局消息队列与全局消息队列名表;
S2)从线程所属的处理核心对应的全局消息队列缓冲池中创建并初始化全局消息队列,将全局消息队列信息填入全局消息队列名表;
S3)当线程向全局消息队列发送消息或从全局消息队列接收消息时,通过全局信号量对全局消息队列资源进行管理与控制,实现消息的传输。
2.根据权利要求1所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:所述多核多处理器并行系统的处理器节点数至少有1个;所述处理器节点的处理核心至少有1个;并且所述处理器节点间或处理核心支持SRIO总线互连。
3.根据权利要求1所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:步骤S1)中,所述系统初始化的过程包括:
S11)各处理核心初始化SRIO,通过SRIO映射一段共享存储空间用于存储全局消息队列与全局消息队列名表;
S12)选取任一处理核心为主处理核心,创建并初始化一张共享的全局消息队列名表,用于记录所有已创建的全局消息队列;
S13)在各处理核心映射出的共享存储空间中,创建全局消息队列缓冲池和消息缓冲池。
4.根据权利要求3所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:步骤S12)中,所述全局消息队列名表的内容包括控制名表互斥访问的全局信号量、名表中所有已创建的全局消息队列数目,以及所有已创建的全局消息队列信息;
所述全局消息队列信息包括名称、类型、所属处理核心、消息属性、打开次数、数据队列、空闲队列、全局信号量;
其中,消息属性包括最大消息数目、消息大小、消息标识和当前消息数目,全局信号量包括用于控制数据队列访问的全局信号量和用于控制空闲队列访问的全局信号量。
5.根据权利要求3所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:步骤S13)中,所述全局消息队列缓冲池用于分配全局消息队列,所述消息缓冲池用于分配全局消息队列的空闲队列;
其中,全局消息队列缓冲池和消息缓冲池,为带表头指针的双向链表,链表表头均放置在各自所属的处理核心上,可用自旋锁或者全局信号量管理互斥访问。
6.根据权利要求1所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:步骤S2)中,所述全局消息队列初始化时,控制数据队列的全局信号量的值初始化为0,控制空闲队列的全局信号量的值初始化为消息队列允许承载的最大消息个数。
7.根据权利要求1所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于:步骤S3)中,所述线程向全局消息队列发送消息的操作具体包括:
S31)获取消息队列内控制空闲队列的全局信号量;
S32)若控制空闲队列的全局信号量为0,表明消息队列已达到最大消息个数,全局消息队列已满,则通过全局信号量将该线程阻塞;
S33)若控制空闲队列的全局信号量不为0,则从空闲队列中取下一块空闲区,将消息复制到空闲区,然后按消息优先级加入数据队列,修改消息属性,释放控制数据队列的全局信号量。
8.根据权利要求1所述的基于多核多处理器并行系统的全局消息队列实现方法,其特征在于,步骤S3)中,所述线程从消息队列接收消息的操作具体包括:
S34)获取消息队列内控制数据队列的全局信号量;
S35)若控制数据队列的全局信号量为0,表明消息队列为空,则通过全局信号量将该线程阻塞;
S36)若控制数据队列的全局信号量不为0,则根据消息优先级,按照“FIFO”原则,从数据队列中取下一个消息,修改消息属性,然后复制消息,将消息加入空闲队列,释放控制空闲队列的全局信号量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中船重工(武汉)凌久电子有限责任公司,未经中船重工(武汉)凌久电子有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011360414.7/1.html,转载请声明来源钻瓜专利网。