众核处理器及其核间通信的方法、主核和从核技术

技术编号:8323397 阅读:342 留言:0更新日期:2013-02-14 00:39
一种众核处理器及其核间通信的方法、主核和从核,其中,所述众核处理器核间通信的方法包括:从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。本发明专利技术的众核处理器及其核间通信方法不会造成消息丢失,提供了可靠的核间通信机制。

【技术实现步骤摘要】

本专利技术涉及处理器领域,特别涉及众核处理器及其核间通信的方法、主核和从核
技术介绍
随着半导体技术的发展,传统的单核处理器暴露出许许多多的局限,体系结构设计者为了在处理器性能进一步提升的同时降低功耗和散热,提出了多核处理器(multi-core processor)和众核处理器(many-core processor)。多核处理器可以分为两种同构多核处理器和异构多核处理器。同构多核处理器内的处理器核类型相同,在多核处理器中处于对等的地位;异构多核处理器内含有不同类型的处理器核,并且不同类型的处理器核在多核处理器内部担当不同角色。众核处理器与多核处理器相比,核心数量更多,而且众核处理器通常都是异构的。在使用众核处理器时,需要选择某个或者某几个核对其他 核进行运行控制和空间管理,从而构成主从式的架构,所述的管理核为主核,被管理的核为从核。在众核处理器中,核间的通信非常重要,一个高效的核间通信可以大大提高众核处理器的可用性和稳定性。如CELL处理器芯片这样的异构众核,大量的协同处理单元(SPE, Synergistic Processing Elements)事务需要通过 Power 主处理器单兀(PPE, PowerProcessor Element)来处理,就需要设计一种可靠的核间通信机制,来保证系统高效稳定的运行。但目前还没有针对众核处理器的核间通信的技术。现有技术中,面向多核处理器的核间通信机制的实现方法有多种,其中包括1)基于核间中断与共享内存的方法;2)基于硬件寄存器的核间通信;3)基于共享内存的核间通信。但由于在众核处理器中,从核的数量众多,通常多于64个,在从核数量远远多于主核的环境下,多核处理器的核间通信机制并不适用于众核处理器的应用场景。此外,在众核处理器中,由于从核数量众多,主核的处理能力有可能成为核间通信的瓶颈,在主核和从核的通信过程中,主核的消息处理能力达到上限就可能会出现系统程序无法正常响应的状况。例如,当众多从核同时向主核发送事务请求时,如果主核不对核间通信进行流量控制,就会导致主核负荷太重,无法响应正常的系统程序,进入“假死”状态。为了避免上述这种状况的产生,就需要提出一个安全的针对众核处理器核间通信的流量控制方法,以最大限度的满足从核需求和系统的稳定。其他有关核间通信的方法还可以参考公开号为CN101354693的中国专利技术专利申请,其公开了一种异构多核处理器的核间通信调度系统及方法。
技术实现思路
本专利技术技术方案解决的问题是现有技术众核处理器在从核产生大量事务请求时造成消息丢失,主核无法响应从核请求。为解决上述问题,本专利技术技术方案提供了一种众核处理器核间通信的方法,包括从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。可选的,还包括若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。可选的,还包括主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,还包括所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。可选的,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。·相应的,本专利技术技术方案还提供了一种众核处理器,包括主核、从核和共享交互区,所述主核包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中所述共享交互区适于主核和从核之间的消息共享;所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核;所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从所述共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。可选的,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。可选的,所述主核还包括清除单元,适于判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,所述从核还包括判断单元,适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息。可选的,所述主核还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。可选的,所述缓存队列具有申请接口和释放接口。相应的,本专利技术技术方案还提供了一种主核,包括缓存队列、工作队列和控制单元,其中,所述缓存队列适于在收到从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从对应所述从核的共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。可选的,还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。可选的,还包括清除单元,适于在所述工作队列处理完所述消息后,判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。可选的,还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。可选的,所述缓存队列具有申请接口和释放接口。相应的,本专利技术技术方案还提供了一种与上述的主核进行核间通信的从核,包括判断单元和装填单元,其中,所述判断单元适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息,在装填消息后利用利用核间中断通知所述主核。 与现有技术相比,本专利技术技术方案提出了一种针对众核处理器的核间通信方法。上述技术方案中主核申请保存消息的缓存空间时,主核首先申请使用共享缓存空间,申请使用共享缓存空间会产生申请成功和申请失败两种情况,当申请成功时,表示此时从核产生的消息较少,共享缓存空间还有余,可以将从核的消息存入共享缓存空间,等待处理;当申请失败时,表示此时从核产生的消息较多,将共享缓存空间用尽,主核需要申请预留缓存空间,预留缓存空间是主核为各个从核预先保留的缓存空间,申请必定成功,主核将从核的消息存入预留缓存空间,等待主核处理,因此,保证了从核发送到主核的消本文档来自技高网
...

【技术保护点】
一种众核处理器核间通信的方法,其特征在于,包括:从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。

【技术特征摘要】
1.一种众核处理器核间通信的方法,其特征在于,包括 从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核; 所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间; 所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区; 所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。2.如权利要求I所述的众核处理器核间通信的方法,其特征在于,还包括若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。3.如权利要求2所述的众核处理器核间通信的方法,其特征在于,还包括主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。4.如权利要求3所述的众核处理器核间通信的方法,其特征在于,还包括所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。5.如权利要求I所述的众核处理器核间通信的方法,其特征在于,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。6.一种众核处理器,其特征在于,包括主核、从核和共享交互区,所述主核包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中 所述共享交互区适于主核和从核之间的消息共享; 所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核; 所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间; 所述控制单元适于从所述共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区; 所述工作队列适于处理所述消息; 所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。7.如权利要求6所述的众核处理器,其特征在于,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。8.如权利要求7所述的众核处理器,其特征在于...

【专利技术属性】
技术研发人员:许国春黄高阳陈斐殷红武
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1