CN102929834B - 众核处理器及其核间通信的方法、主核和从核 - Google Patents

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

Info

Publication number
CN102929834B
CN102929834B CN201210441457.7A CN201210441457A CN102929834B CN 102929834 B CN102929834 B CN 102929834B CN 201210441457 A CN201210441457 A CN 201210441457A CN 102929834 B CN102929834 B CN 102929834B
Authority
CN
China
Prior art keywords
core
message
interactive areas
shared
spatial cache
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
CN201210441457.7A
Other languages
English (en)
Other versions
CN102929834A (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.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201210441457.7A priority Critical patent/CN102929834B/zh
Publication of CN102929834A publication Critical patent/CN102929834A/zh
Application granted granted Critical
Publication of CN102929834B publication Critical patent/CN102929834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

众核处理器及其核间通信的方法、主核和从核
技术领域
本发明涉及处理器领域,特别涉及众核处理器及其核间通信的方法、主核和从核。
背景技术
随着半导体技术的发展,传统的单核处理器暴露出许许多多的局限,体系结构设计者为了在处理器性能进一步提升的同时降低功耗和散热,提出了多核处理器(multi-core processor)和众核处理器(many-core processor)。多核处理器可以分为两种:同构多核处理器和异构多核处理器。同构多核处理器内的处理器核类型相同,在多核处理器中处于对等的地位;异构多核处理器内含有不同类型的处理器核,并且不同类型的处理器核在多核处理器内部担当不同角色。众核处理器与多核处理器相比,核心数量更多,而且众核处理器通常都是异构的。在使用众核处理器时,需要选择某个或者某几个核对其他核进行运行控制和空间管理,从而构成主从式的架构,所述的管理核为主核,被管理的核为从核。
在众核处理器中,核间的通信非常重要,一个高效的核间通信可以大大提高众核处理器的可用性和稳定性。如CELL处理器芯片这样的异构众核,大量的协同处理单元(SPE,Synergistic Processing Elements)事务需要通过Power主处理器单元(PPE,Power Processor Element)来处理,就需要设计一种可靠的核间通信机制,来保证系统高效稳定的运行。但目前还没有针对众核处理器的核间通信的技术。
现有技术中,面向多核处理器的核间通信机制的实现方法有多种,其中包括:1)基于核间中断与共享内存的方法;2)基于硬件寄存器的核间通信;3)基于共享内存的核间通信。但由于在众核处理器中,从核的数量众多,通常多于64个,在从核数量远远多于主核的环境下,多核处理器的核间通信机制并不适用于众核处理器的应用场景。
此外,在众核处理器中,由于从核数量众多,主核的处理能力有可能成为核间通信的瓶颈,在主核和从核的通信过程中,主核的消息处理能力达到上限就可能会出现系统程序无法正常响应的状况。例如,当众多从核同时向主核发送事务请求时,如果主核不对核间通信进行流量控制,就会导致主核负荷太重,无法响应正常的系统程序,进入“假死”状态。为了避免上述这种状况的产生,就需要提出一个安全的针对众核处理器核间通信的流量控制方法,以最大限度的满足从核需求和系统的稳定。
其他有关核间通信的方法还可以参考公开号为CN101354693的中国发明专利申请,其公开了一种异构多核处理器的核间通信调度系统及方法。
发明内容
本发明技术方案解决的问题是现有技术众核处理器在从核产生大量事务请求时造成消息丢失,主核无法响应从核请求。
为解决上述问题,本发明技术方案提供了一种众核处理器核间通信的方法,包括:从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核;所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区;所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。
可选的,还包括:若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。
可选的,还包括:主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
可选的,还包括:所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。
可选的,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。
相应的,本发明技术方案还提供了一种众核处理器,包括主核、从核和共享交互区,所述主核包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中:所述共享交互区适于主核和从核之间的消息共享;所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核;所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从所述共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。
可选的,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
可选的,所述主核还包括清除单元,适于判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
可选的,所述从核还包括判断单元,适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息。
可选的,所述主核还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
可选的,所述缓存队列具有申请接口和释放接口。
相应的,本发明技术方案还提供了一种主核,包括缓存队列、工作队列和控制单元,其中,所述缓存队列适于在收到从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;所述控制单元适于从对应所述从核的共享交互区获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区;所述工作队列适于处理所述消息;所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。
可选的,还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
可选的,还包括清除单元,适于在所述工作队列处理完所述消息后,判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
可选的,还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
可选的,所述缓存队列具有申请接口和释放接口。
相应的,本发明技术方案还提供了一种与上述的主核进行核间通信的从核,包括判断单元和装填单元,其中,所述判断单元适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息,在装填消息后利用利用核间中断通知所述主核。
与现有技术相比,本发明技术方案提出了一种针对众核处理器的核间通信方法。上述技术方案中主核申请保存消息的缓存空间时,主核首先申请使用共享缓存空间,申请使用共享缓存空间会产生申请成功和申请失败两种情况,当申请成功时,表示此时从核产生的消息较少,共享缓存空间还有余,可以将从核的消息存入共享缓存空间,等待处理;当申请失败时,表示此时从核产生的消息较多,将共享缓存空间用尽,主核需要申请预留缓存空间,预留缓存空间是主核为各个从核预先保留的缓存空间,申请必定成功,主核将从核的消息存入预留缓存空间,等待主核处理,因此,保证了从核发送到主核的消息不会丢失,主核可以响应从核的请求。
进一步的,本发明技术方案提出的众核处理器的核间通信方法,具有面对从核的大量事务请求进行流量控制的功能。上述技术方案中,当主核申请使用共享缓存空间失败时,表示共享缓存空间已经用尽,主核的消息处理能力已经达到了上限,因此需要进行消息的流量控制,此时主核会在共享交互区中设置流量控制标志;若从核要向主核发送消息首先会判断共享交互区中是否存在流量控制标志,当存在流量控制标志时,从核必须等待主核清除流量控制标志后才能向主核发送消息,这就从源头上控制了消息的来源,保证消息传递过程中不会出现拥塞,实现了可靠的具有流量控制功能的核间通信机制。
附图说明
图1是本发明技术方案的众核处理器核间通信方法的流程示意图;
图2是本发明技术方案的众核处理器的结构示意图;
图3是本发明实施例的众核处理器核间通信方法的流程示意图;
图4是本发明实施例的众核处理器的结构示意图。
具体实施方式
为使本发明技术方案的上述目的、特征和优点能够更为明显易懂,下面结合附图和实施例对本发明的具体实施方式做详细的说明。
现有技术中,没有针对众核处理器的核间通信的方法,而且多核处理器的核间通信机制也不适用于众核处理器的应用场景。但在众核处理器中,由于大量的从核事务请求需要主核来处理,需要一种核间通信方法,来保证系统高效稳定的运行,防止从核发送事务请求的消息丢失。
请参考图1,本发明技术方案提供了一种众核处理器核间通信的方法,所述众核处理器核间通信的方法包括:
步骤S101,从核在对应的共享交互区的数据区装填消息,之后利用核间中断通知主核。
步骤S102,所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间。
步骤S103,所述主核从所述共享交互区获取消息并保存到申请到的缓存空间,之后所述主核释放所述共享交互区。
步骤S104,所述主核处理所述消息,在处理完所述消息后,释放所述申请到的缓存空间。
上述众核处理器的核间通信方法中,从核向主核发送事务请求,将消息装填在对应的共享交互区,主核申请使用共享缓存空间,当申请失败时,主核申请预留缓存空间,主核将从核的消息存入申请到的缓存空间,等待主核处理。由于主核可以申请使用共享缓存空间或者预留缓存空间,而预留缓存空间为系统为各个从核预先保留的缓存空间,申请必定成功,所以本技术方案确保了从核发送到主核的消息不会丢失,提供了一种可靠的核间通信方法。
对应的,本发明技术方案提供一种众核处理器,请参考图2,包括:主核201、从核203和共享交互区202,所述主核201包括缓存队列、工作队列和控制单元(未示出),所述从核203包括装填单元(未示出),所述共享交互区202包括数据区(未示出),所述主核201的数量至少为一个,所述从核203的数量为多个,所述共享交互区202的数量为多个,且所述共享交互区202与所述从核203一一对应。所述共享交互区202用于主核201和从核203之间的消息共享;所述装填单元用于在对应的共享交互区202的数据区装填消息,之后利用核间中断通知所述主核201;所述缓存队列用于在收到所述从核203发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核203的预留缓存空间;所述控制单元用于从所述共享交互区202获取消息并保存到所述缓存队列申请到的缓存空间,之后释放所述共享交互区202;所述工作队列用于处理所述消息;所述缓存队列还用于在所述工作队列处理完所述消息后,释放所述申请到的缓存空间。
进一步的,在众核处理器中,由于从核的数量远远多于主核,当众多从核同时向主核发送事务请求时,如果主核不对核间通信进行流量控制,就会导致主核负担太重,无法响应正常的系统程序。本发明的众核处理器核间通信的方法还可以通过流量控制标志实现流量控制。
下面结合实施例,对本发明技术方案的众核处理器的核间通信方法进行详细说明。请参考图3所示的本实施例的众核处理器的核间通信方法的流程示意图,所述核间通信方法包括:
步骤S301,从核向主核发送事务请求前,从核先判断对应的共享交互区是否存在流量控制标志:若存在流量控制标志,则重复执行步骤S301,也就是等待共享交互区的流量控制标志清除;若不存在流量控制标志,则执行步骤S302。
本实施例中,所述共享交互区包括数据区和标志区,其中,数据区供对应的从核装填消息,标志区用于储存流量控制标志,所述共享交互区存在流量控制标志是指标志区中的流量控制标志被设置(例如值为1),所述共享交互区不存在流量控制标志是指标志区中的流量控制标志被清除(例如值为0)。
步骤S302,从核装填消息到共享交互区的数据区,并利用核间中断通知主核。
步骤S303,主核收到从核发送的核间中断后申请共享缓存空间,并判断申请共享缓存空间是否成功:若申请共享缓存空间成功,则执行步骤S304;若申请共享缓存空间失败,则执行步骤S305。
步骤S304,主核从与发送核间中断的从核对应的共享交互区中获取消息数据,保存到申请到的共享缓存空间,并释放所述的共享交互区,然后执行步骤S307。
步骤S305,主核申请与发送核间中断的从核对应的预留缓存空间,所述的预留缓存空间为系统为每个从核预先保留的缓存空间,例如,可以是在系统初始化时主核预留给每个从核的缓存空间,所以申请必定成功;并且主核在与发送核间中断的从核对应的共享交互区的标志区设置流量控制标志。
步骤S306,主核从与发送核间中断的从核对应的共享交互区中获取消息数据,保存到申请到的预留缓存空间,并释放所述的共享交互区,然后执行步骤S307。
步骤S307,主核启动工作队列处理消息,工作队列处理完所述消息后,释放缓存空间。
具体地,若消息保存在共享缓存空间则释放所述共享缓存空间,若消息保存在预留缓存空间则释放所述预留缓存空间。
步骤S308,主核判断与发送核间中断的从核对应的预留缓存空间是否被占用,即所述预留缓存空间中是否存有未处理完的消息:若所述预留缓存空间被占用,则重复执行S308;若所述预留缓存空间未被占用,则执行S309。
在工作队列处理消息的过程中,主核可以判断与发送核间中断的从核对应的预留缓存空间是否被占用,若所处理的消息保存在共享缓存空间,则该预留缓存空间是未被占用的;若所处理的消息保存在预留缓存空间,则该预留缓存空间是被占用的,直至工作队列处理完消息,该预留缓存空间被释放后,主核会判断出该预留缓存空间是未被占用的。
步骤S309,主核清除与发送核间中断的从核对应的共享交互区的流量控制标志。
上述实施例中,所述众核处理器的核间通信方法,利用主核对共享缓存空间和预留缓存空间的申请和释放,和主核在对应从核的共享交互区设置和清除流量控制标志共同实现主核和从核之间核间通信的流量控制。
主核在申请共享缓存空间失败后,申请预留缓存空间,并会在对应从核的共享交互区设置流量控制标志,表示主核的消息处理能力已经达到了上限。所述从核在对应的共享交互区的数据区装填消息前,会判断所述共享交互区中是否存在所述流量控制标志:若是,则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息;若否,则在所述共享交互区的数据区装填消息。这就从源头上控制了从核消息的产生。当主核处理完所述消息后,会判断所述预留缓存空间是否被占用,若所述预留缓存空间未被占用,则表示还没有达到主核通信流量的上限,可以继续接收消息,则清除所述共享交互区中的流量控制标志,若所述预留缓存空间仍然被占用,则保留所述流量控制标志,等待对应的预留缓存空间在消息处理完成后被释放。通过以上设置和清除共享交互区的流量控制标志和判断预留缓存空间是否被占用的策略,就实现了对核间通信进行流量控制的目的。
对应的,请参考图4,图4为本发明实施例的众核处理器的结构示意图,需要说明的是,图中仅示出主核与一个从核及其对应的共享交互区的连接关系。所述众核处理器包括:主核401,共享交互区402和从核403。所述主核401和从核403为异构。所述主核401的数量至少为一个,所述主核401一般为通用的处理器核心,其指令集为完整指令集,包括相关的控制指令、运算指令等,可以选自ARM,MIPS、X86或PowerPC中的一种,因此具有较高的通用性。所述从核403的数量为多个,例如所述从核403的数量为64个、128个或者256个等等。所述从核403为指令集和微结构经过简化的处理器核心,但其结构是针对运算指令进行过专门优化的,使其可以较高效的执行图形处理或数字信号处理(DSP,Digital Signal Process)等计算密集型任务,提高了所述运算任务的执行效率,进而提高了整个众核处理器的性能。所述共享交互区402的数量为多个,且所述共享交互区402与所述从核403一一对应,所述共享交互区402对于各个从核来说只有一块,但由于主核401需要与各个从核通信,所以对于主核401来说共享交互区402有多个。所述共享交互区402为集成在众核处理器内的片内存储器,如SRAM等,其存储器空间与片外存储器相比较小,用于主核401和从核403之间的消息共享。
所述主核401包括缓存队列401a、工作队列401b、控制单元401c、设置单元401d、清除单元401e和分配单元401f;所述共享交互区402包括数据区402a和标志区402b;所述从核403包括装填单元403a和判断单元403b。
所述缓存队列401a用于在收到从核403发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间,所述预留缓存空间为系统为每个从核预先保留的缓存空间,例如,可以是在系统初始化时主核401预留给每个从核403的缓存空间,所以申请必定成功。所述预留缓存空间通过主核401的分配单元401f在系统初始化时分配,所述预留缓存空间与从核403一一对应,且为所对应的从核403所独享。
本实施例中,所述的缓存队列401a属于整个众核处理器核间通信机制中的一个子模块,该模块主要用于管理主核缓存空间,提供有申请接口和释放接口,其中申请接口可以设置普通申请方式和强制申请方式的标志,该标志会随着主核401调用申请接口而传递到该缓存队列内,所述的普通申请方式申请共享缓存空间,所述的强制申请方式申请预留缓存空间。在主核401收到从核403发送的核间中断后,主核401调用缓存队列401a的申请接口申请缓存空间,此时缓存队列401a的申请接口设置普通申请方式的标志,申请共享缓存空间,若申请共享缓存空间成功,表示共享缓存空间还有余,则主核401从共享交互区402的数据区402a中获取消息数据,保存到申请到的共享缓存空间中;若申请共享缓存空间失败,则表示共享缓存空间已经用完,但为了保证从核403装填在共享交互区402的数据区402a中的消息不会丢失,此时主核401会申请使用系统初始化时预留给各个从核403的较小的预留缓存空间,此时,缓存队列401a的申请接口设置强制申请方式的标志,随着主核调用缓存队列的申请接口而传递到缓存队列中,由于所述的预留缓存空间与各个从核403一一对应,且为所对应的从核所独享,所以申请必定成功,在申请预留缓存空间成功后,主核401从共享交互区402的数据区402a中获取消息数据,保存到申请到的预留缓存空间中。所述缓存队列401a具有释放接口,在工作队列401b处理完所述消息后,主核401会调用缓存队列401a的释放接口,该接口主要就是回收缓存区,释放所述申请到的缓存空间。
所述工作队列401b在控制单元401c从共享交互区402获取消息并保存到所述缓存队列401a申请到的缓存空间后,处理所述消息。
所述控制单元401c与所述缓存队列401a相配合,在缓存队列401a申请到用于保存消息的缓存空间后,用于从共享交互区402的数据区402a获取消息并保存到所述缓存队列401a申请到的缓存空间,并释放所述共享交互区402。
所述设置单元401d用于在所述缓存队列401a申请共享缓存空间失败后,在所述共享交互区402的标志区402b中设置流量控制标志。当所述缓存队列401a申请共享缓存空间失败时,表示共享缓存空间已经用完,主核401的消息处理能力已经达到了上限,需要控制从核403消息的产生,因此在共享交互区402的标志区402b设置流量控制标志,同时配合从核403发送消息时判断流量控制标志的策略,从而控制从核403消息的发送、达到防止主核401负担太重的目的。
所述清除单元401e用于在判断出所述预留缓存空间未被占用后,清除所述共享交互区402中的流量控制标志。所述的清除单元401e是众核处理器核间通信机制中的一个模块,判断所述预留缓存空间是否被占用:若所述预留缓存空间已经被释放,表示主核401处理消息的负担减轻,则清除所述共享交互区402中的流量控制标志,当与此共享交互区402相对应的从核403产生消息时,由于从核403会首先判断所述共享交互区402的流量控制标志,当流量控制标志已经被清除时,从核403就可以向主核401发送消息;若所述预留缓存空间仍然被占用,则说明主核401的处理能力依然处于上限,所述共享交互区402的流量控制标志继续保持,当与所述共享交互区402相对应的从核403产生消息时,需要继续等待,不能向主核401发送。
所述装填单元403a用于在对应的共享交互区402的数据区402a装填消息,之后利用核间中断通知主核401。所述核间中断是硬件提供的一种事件机制,对于主核401来说属于异步事件,产生的方式与硬件实现的具体方式有关,例如可以通过从核写通道或者写硬件的IO寄存器来产生核间中断信号。装填单元403a通知主核401主要就是利用主从间的核间中断实现的,由硬件保证可靠传输,当主核401收到装填单元403a发送的核间中断后,进入这个中断相应的处理流程。
在本实施例中,所述核间中断是当从核403的装填单元403a在对应的共享交互区402的数据区402a中装填消息之后,利用硬件提供的核间中断机制,通过从核写通道产生一个核间中断,通知主核401消息已经装填入共享交互区402,等待主核401进入对该消息的处理流程。
所述判断单元403b用于判断所述共享交互区402中是否存在流量控制标志。当所述判断单元403b的判断结果为是时,表明主核401的消息处理能力已经达到了上限,而且共享缓存空间已经用尽,与该从核403相对应的预留缓存空间也被占用,主核401暂时不能处理该从核403发送的消息,所以,此时所述从核403的装填单元403a等待主核401清除所述流量控制标志后才能在所述共享交互区402的数据区402a装填消息;当所述判断单元403b的判断结果为否时,表明所述从核403所对应的预留缓存空间未被占用,主核401还可以接受从核403发送的消息,所以,此时所述装填单元403b在该从核403对应的共享交互区402的数据区402a装填消息,之后利用核间中断通知所述主核401。
所述共享交互区402用于主核401和从核403之间的消息共享,所述共享交互区402包括数据区402a。所述数据区402a作为主核401和从核403之间消息的暂存区,在从核403产生消息并通过判断单元403b判断出所述共享交互区402的标志区402b不存在流量控制标志时,装填单元403a在共享交互区的数据区402a填装消息,之后利用核间中断通知所述主核401;主核401在收到所述从核403发送的核间中断后,所述缓存队列401a申请共享缓存空间或者预留缓存空间,申请成功后,缓存队列401a获取共享交互区的数据区402a中的消息存入缓存空间,等待处理。
所述共享交互区402的标志区402b中的流量控制标志是由主核401设置和清除的。在本实施例中,标志区402b可以保存一个比特位的标志位,当需要在标志区402b设置流量控制标志时,将此标志位置1,当需要清除标志区402b的流量控制标志时,将此标志位置0。设置流量控制标志的时机由缓存队列401a申请共享缓存空间成功与否确定,清除流量控制标志的时机由缓存空间释放后判断与所述从核403对应的预留缓存空间是否被占用确定。当主核401接收到从核403发送的核间中断后,缓存队列401a申请用于保存消息的共享缓存空间,当申请失败时,表示共享缓存空间已经用完,主核401的消息处理能力已经达到了上限,主核401感觉到了通信压力,需要控制从核403消息的产生,在与所述从核403相对应的共享交互区的标志区402b设置流量控制标志,迫使从核403暂停消息发送,从而从源头上减少主核401和从核403之间的通信流量。当所述工作队列401b处理完所述消息后,会判断所述预留缓存空间是否被占用,若所述预留缓存空间未被占用,则表示主核401处理消息的负担减轻,还没有达到主核401通信流量的上限,可以继续接收消息,则清除所述标志区402b中的流量控制标志,当与此共享交互区402相对应的从核403产生消息时,由于从核403会首先判断所述标志区402b的流量控制标志,流量控制标志已经被清除时,从核403就可以向主核401发送消息。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (17)

1.一种众核处理器核间通信的方法,所述众核处理器包括主核、从核和共享交互区,所述共享交互区包括数据区,其特征在于,众核处理器核间通信的方法包括:
所述从核在对应的所述共享交互区的数据区装填消息,之后利用核间中断通知所述主核;
所述主核在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;
所述主核从所述共享交互区获取所述消息并保存到申请到的所述共享缓存空间或者预留缓存空间,之后所述主核释放所述共享交互区;
所述主核处理所述消息,在处理完所述消息后,释放所述申请到的共享缓存空间或者预留缓存空间。
2.如权利要求1所述的众核处理器核间通信的方法,其特征在于,还包括:若所述主核申请共享缓存空间失败,则所述主核在所述共享交互区中设置流量控制标志。
3.如权利要求2所述的众核处理器核间通信的方法,其特征在于,还包括:主核判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
4.如权利要求3所述的众核处理器核间通信的方法,其特征在于,还包括:所述从核在对应的共享交互区的数据区装填消息前,判断所述共享交互区中是否存在所述流量控制标志,若是则等待所述主核清除流量控制标志后再在所述共享交互区的数据区装填消息,若否则在所述共享交互区的数据区装填消息。
5.如权利要求1所述的众核处理器核间通信的方法,其特征在于,所述预留缓存空间由所述主核在系统初始化时分配给对应的从核。
6.一种众核处理器,其特征在于,包括主核、从核和共享交互区,所述主核 包括缓存队列、工作队列和控制单元,所述从核包括装填单元,所述共享交互区包括数据区,其中:
所述共享交互区适于主核和从核之间的消息共享;
所述装填单元适于在对应的共享交互区的数据区装填消息,之后利用核间中断通知所述主核;
所述缓存队列适于在收到所述从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;
所述控制单元适于从所述共享交互区获取所述消息并保存到所述缓存队列申请到的共享缓存空间或者预留缓存空间,之后释放所述共享交互区;
所述工作队列适于处理所述消息;
所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的共享缓存空间或者预留缓存空间。
7.如权利要求6所述的众核处理器,其特征在于,所述主核还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
8.如权利要求7所述的众核处理器,其特征在于,所述主核还包括清除单元,适于判断所述预留缓存空间是否被占用,在判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
9.如权利要求8所述的众核处理器,其特征在于,所述从核还包括判断单元,适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果为否时在所述共享交互区的数据区装填消息。
10.如权利要求6所述的众核处理器,其特征在于,所述主核还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
11.如权利要求6所述的众核处理器,其特征在于,所述缓存队列具有申请接口和释放接口。
12.一种主核,其特征在于,包括缓存队列、工作队列和控制单元,其中,
所述缓存队列适于在收到从核发送的核间中断后申请共享缓存空间,若申请共享缓存空间失败则申请对应所述从核的预留缓存空间;
所述控制单元适于从对应所述从核的共享交互区获取消息并保存到所述缓存队列申请到的共享缓存空间或者预留缓存空间,之后释放所述共享交互区;
所述工作队列适于处理所述消息;
所述缓存队列还适于在所述工作队列处理完所述消息后,释放所述申请到的共享缓存空间或者预留缓存空间。
13.如权利要求12所述的主核,其特征在于,还包括设置单元,适于在所述缓存队列申请共享缓存空间失败后,在所述共享交互区中设置流量控制标志。
14.如权利要求13所述的主核,其特征在于,还包括清除单元,适于在所述工作队列处理完所述消息后,判断出所述预留缓存空间未被占用后,清除所述共享交互区中的流量控制标志。
15.如权利要求12所述的主核,其特征在于,还包括分配单元,适于在系统初始化时将所述预留缓存空间分配给对应的从核。
16.如权利要求12所述的主核,其特征在于,所述缓存队列具有申请接口和释放接口。
17.一种与权利要求14所述的主核进行核间通信的从核,其特征在于,包括判断单元和装填单元,其中,
所述判断单元适于判断所述共享交互区中是否存在所述流量控制标志;所述装填单元适于在所述判断单元的判断结果为是时等待所述流量控制标志清除后再在所述共享交互区的数据区装填消息,在所述判断单元的判断结果 为否时在所述共享交互区的数据区装填消息,在装填消息后利用利用核间中断通知所述主核。
CN201210441457.7A 2012-11-06 2012-11-06 众核处理器及其核间通信的方法、主核和从核 Active CN102929834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210441457.7A CN102929834B (zh) 2012-11-06 2012-11-06 众核处理器及其核间通信的方法、主核和从核

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210441457.7A CN102929834B (zh) 2012-11-06 2012-11-06 众核处理器及其核间通信的方法、主核和从核

Publications (2)

Publication Number Publication Date
CN102929834A CN102929834A (zh) 2013-02-13
CN102929834B true CN102929834B (zh) 2015-10-07

Family

ID=47644635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210441457.7A Active CN102929834B (zh) 2012-11-06 2012-11-06 众核处理器及其核间通信的方法、主核和从核

Country Status (1)

Country Link
CN (1) CN102929834B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468448B (zh) * 2015-11-24 2019-01-01 无锡江南计算技术研究所 一种面向异构众核环境的从核系统调用实现方法
CN105824779A (zh) * 2016-03-16 2016-08-03 享拍科技(深圳)有限公司 一种双核间的数据通信方法及系统
CN105893320B (zh) * 2016-03-29 2019-08-06 浙江大学 一种面向多核处理器的远程任务函数调用方法
CN107590100B (zh) * 2017-09-06 2020-06-19 北京航天发射技术研究所 一种多核处理器的核间数据交互方法
CN109634672A (zh) * 2018-12-04 2019-04-16 中国航空工业集团公司西安航空计算技术研究所 一种基于核间通信的多核处理器加载方法
CN109976925B (zh) * 2019-03-27 2020-04-03 北京翼辉信息技术有限公司 一种基于混合多系统核间实时通信的方法和系统
CN110597643B (zh) * 2019-08-30 2022-08-12 Oppo广东移动通信有限公司 核间通信方法、处理器以及电子设备
CN111913822B (zh) * 2020-08-28 2023-03-28 电子科技大学 一种基于amp架构的核间通信方式
CN112463711B (zh) * 2020-12-11 2023-03-31 北京航空航天大学 一种针对众核处理器的从核软件缓存共享方法
CN112765091B (zh) * 2021-02-04 2024-05-03 南方电网科学研究院有限责任公司 一种SoC核间通信方法和装置
CN113204517B (zh) * 2021-04-30 2022-09-09 南京国电南自电网自动化有限公司 一种电力专用以太网控制器的核间共享方法
CN117520250A (zh) * 2024-01-04 2024-02-06 珠海格力电器股份有限公司 双核设备的数据处理方法和双核设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510191A (zh) * 2009-03-26 2009-08-19 浙江大学 具备缓存窗口的多核体系架构及其实现方法
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698504B2 (en) * 2007-07-03 2010-04-13 Oracle America, Inc. Cache line marking with shared timestamps

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510191A (zh) * 2009-03-26 2009-08-19 浙江大学 具备缓存窗口的多核体系架构及其实现方法
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组

Also Published As

Publication number Publication date
CN102929834A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102929834B (zh) 众核处理器及其核间通信的方法、主核和从核
EP3796150B1 (en) Storage volume creation method and apparatus, server, and storage medium
CN105183549A (zh) 基于任务分配的自动出票系统
US8713287B2 (en) Off-loading of processing from a processor blade to storage blades based on processing activity, availability of cache, and other status indicators
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
CN106301859B (zh) 一种管理网卡的方法、装置及系统
CN104102548B (zh) 任务资源调度处理方法和系统
CN102577278B (zh) 用于分布式集群存储网络的动态资源分配
CN101739290B (zh) 用于保障多线程服务器应用的系统
US8539260B2 (en) Method, apparatus, and system for enabling platform power states
US20120254484A1 (en) Dynamic reassignment for i/o transfer processing
CN110532109B (zh) 一种共享多通道进程通信内存结构和方法
EP3993346A1 (en) Method and device for distributed data storage
CN102855214B (zh) 实现数据一致性的方法和一种多核系统
CN109918230A (zh) 一种业务板卡异常恢复方法及系统
EP4357901A1 (en) Data writing method and apparatus, data reading method and apparatus, and device, system and medium
CN110007877A (zh) 主机与双控存储设备间数据传输方法、装置、设备及介质
CN107797848A (zh) 进程调度方法、装置和主机设备
CN111290979B (zh) 数据传输方法、装置及系统
CN106662895A (zh) 计算机设备和计算机设备数据读写的方法
CN101980170B (zh) 一种微内核系统中软件模块的通信方法、系统及装置
CN110445580B (zh) 数据发送方法及装置、存储介质、电子装置
JPH11143779A (ja) 仮想記憶装置におけるページング処理システム
CN104899105A (zh) 一种进程间通信方法
US20110271060A1 (en) Method And System For Lockless Interprocessor Communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant