本发明专利技术实施例提供的多核系统的核间通信方法及装置,属于数据通信领域。所述方法包括:所述第一内核向第二内核发送第一数据时,所述第一内核将所述第一数据入队到,与所述第二内核对应的队列池中所述第一内核可执行入队操作的队列中;所述第二内核在对应的队列池进行出队操作,读取出所述第一数据。本发明专利技术实施例提供的多核系统的核间通信方法使得单个队列的入队操作和出队操作都只有一个内核参与,进而队列不再需要锁保护,使得多个内核进行入队操作或者出队操作时,不再需要锁进行互斥,进而实现了无锁的多入多出队列,提升了多核系统利用队列进行数据传输的效率。
【技术实现步骤摘要】
本专利技术涉及数据通信领域,具体而言,涉及一种多核系统的核间通信方法及装置。
技术介绍
随着网络通信技术的迅猛发展,网络客户对网络要求越来越高,传统的单核系统在处理性能上越来越不能适应需要,因此多核系统得到了越来越多网络设备的应用。多核系统中的核间通信通常采用队列技术来实现。随着多核系统中核数目的增多,队列的访问者也随之增加,而为了保证队列的完整性,通常需要给队列添加锁,以实现核与核之间互斥的访问队列。但是,多核系统中类似自旋锁之类的互斥手段会随着核与核之间的竞争的增加,导致队列的数据传输效率较低,最终造成核间的数据传输效率下降。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种多核通信方法及装置,以提升多核系统利用队列进行数据传输的效率。第一方面,本专利技术实施例提供了一种多核系统的核间通信方法,所述多核系统包括多[权利要求没有用到N,所以这里提到N的意义不大,最好还是用文字吧]个内核,每个所述内核对应有一个队列池,且每个所述内核仅能在对应的队列池中进行出队操作,所述队列池包括多个队列,每个所述队列对应有唯一可对其执行入队操作的内核,每个内核对应至少一个可供其执行入队操作的队列,其中,所述多个内核至少包括第一内核和第二内核;所述方法包括:所述第一内核向所述第二内核发送第一数据时,所述第一内核将所述第一数据入队到,与所述第二内核对应的队列池中所述第一内核可执行入队操作的队列中;所述第二内核在对应的队列池进行出队操作,读取出所述第一数据。第二方面,本专利技术实施例提供了一种多核系统的核间通信装置,所述多核系统包括多个内核,每个所述内核对应有一个队列池,且每个所述内核仅能在对应的队列池中进行出队操作,所述队列池包括多个队列,每个所述队列对应有唯一可对其执行入队操作的内核,每个内核对应至少一个可供其执行入队操作的队列,其中,所述多个内核至少包括第一内核和第二内核;所述装置包括:第一数据入队单元,用于当所述第一内核向第二内核发送第一数据时,将所述第一数据入队到,与所述第二内核对应的队列池中所述第一内核可执行入队操作的队列中;第一数据出队单元,用于在所述第二内核对应的队列池进行出队操作,读取出所述第一数据。本专利技术实施例提供的多核系统的核间通信方法及装置,通过给多核系统中每个内核分配一个对应的队列池,且每个所述内核仅能在对应的队列池中进行出队操作,而每个所述队列分配唯一可执行入队操作的内核的方式,使得多个内核中的第一内核向第二内核发送数据时,只会在第二内核对应的队列池中用于第一内核用于入队操作的队列中进行入队操作,而有其他内核同时向第二内核发送数据时,其他内核只会在第二内核对应的队列池中用于该内核用于入队操作的队列中进行入队操作,而第二内核也只会在对应的队列池中进行出队操作,单个队列的入队操作和出队操作都只有一个内核参与,进而队列不再需要锁保护,使得多个内核进行入队操作或者出队操作时,不再需要锁进行互斥,进而实现了无锁的多入多出队列,提升了多核系统利用队列进行数据传输的效率。本专利技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术实施例了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本专利技术实施例提供的队列示意图;图2为本专利技术实施例提供的通信设备的结构框图;图3为本专利技术实施例提供的多核系统的核间通信方法的流程图;图4为本专利技术实施例提供的用于内核间通信的队列的出队和入队的示意图;图5为本专利技术实施例提供的多核系统的核间通信装置的结构框图。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。如图1所示,在队列技术中,每个队列均设置有头指针head和尾指针tail,头指针head用于入队操作,尾指针tail用于出队操作,在入队操作时,判断头指针head加1后是否和尾指针tail相等,如果相等,表明队列已满,不能入队。如果不相等,表明队列未满,可以入队,入队后,头指针head加1。出队操作判断尾指针tail和头指针head是否相等,如果相等,表明队列为空,不能出队,如果不相等,表明队列有表项,可以出队,出队后,将尾指针tail加1。因为队列实现较为方便,且操作简便,在多核系统中,队列技术也越来越普遍。队列在多核环境下运用时,由于存在多个内核同时操作队列的情况,需要在队列的入队操作和出队操作时添加锁进行互斥,以便获取到锁的内核以独占的方式对队列进行操作,以避免队列内数据出现错误。例如,当多个内核同时通过队列向另一个内核发送数据时,或者多个内核同时通过队列操作同一存储区域时,都需要给被操作的队列添加锁。随着多核系统中内核的数量增多,多个内核间对于锁的争夺也更加的激烈,造成了的更多的系统资源消耗,进而导致队列的数据传输效率较低,最终造成核间的数据传输效率下降。为了改善上述问题,本专利技术实施例提供了一种多核系统的核间通信方法及装置。图2示出了一种可设置本实施例提供的多核系统的通信设备100的结构框图。通信设备100可以包括存储器101、多核的处理器102和网络模块103。存储器101、处理器102、网络模块103各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。所述多核系统的核间通信方法分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器101中的软件功能模块,例如所述多核系统的核间通信装置包括的软件功能模块或计算机程序。存储器101可以存储各种软件程序以及模块,如本申请实施例提供的多核系统的核间通信方法及装置对应的程序指令/模块。处理器102通过运行存储在存储器101中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的多核系统的核间通信方法。存储器101可以包括但不限于随机存取存储器(RandomAccessMemory,RAM),只读存储器(ReadOnlyMemory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(ErasableProgrammab本文档来自技高网...
【技术保护点】
一种多核系统的核间通信方法,其特征在于,所述多核系统包括多个内核,每个所述内核对应有一个队列池,且每个所述内核仅能在对应的队列池中进行出队操作,所述队列池包括多个队列,每个所述队列对应有唯一可对其执行入队操作的内核,每个内核对应至少一个可供其执行入队操作的队列,其中,所述多个内核至少包括第一内核和第二内核;所述方法包括:所述第一内核向所述第二内核发送第一数据时,所述第一内核将所述第一数据入队到与所述第二内核对应的队列池中所述第一内核可执行入队操作的队列中;所述第二内核在对应的队列池进行出队操作,读取出所述第一数据。
【技术特征摘要】
1.一种多核系统的核间通信方法,其特征在于,所述多核系统包括多个内核,每个所述内核对应有一个队列池,且每个所述内核仅能在对应的队列池中进行出队操作,所述队列池包括多个队列,每个所述队列对应有唯一可对其执行入队操作的内核,每个内核对应至少一个可供其执行入队操作的队列,其中,所述多个内核至少包括第一内核和第二内核;所述方法包括:所述第一内核向所述第二内核发送第一数据时,所述第一内核将所述第一数据入队到与所述第二内核对应的队列池中所述第一内核可执行入队操作的队列中;所述第二内核在对应的队列池进行出队操作,读取出所述第一数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述第二内核向所述第一内核发送第二数据时,所述第二内核将所述第二数据入队到,与所述第一内核对应的队列池中所述第二内核可执行入队操作的队列中;所述第一内核在对应的队列池进行出队操作,读取出所述第二数据。3.根据权利要求1所述的方法,其特征在于,所述第二内核在对应的队列池进行出队操作,读取出所述第一数据,包括:所述第二内核轮询对应的队列池内的每一个队列,从所述第一数据入队的队列中,读取出所述第一数据。4.根据权利要求3所述的方法,其特征在于,所述第二内核轮询对应的队列池内的每一个队列,从所述第一数据入队的队列中,读取出所述第一数据,包括:所述第二内核依次判断对应的队列池内的每一个队列的头指针和尾指针是否相等;从所述头指针和所述尾指针不相同的队列中读取出所述第一数据。5.根据权利要求1所述的方法,其特征在于,每个所述队列对应的可对其执行入队操作的内...
【专利技术属性】
技术研发人员:曾健,
申请(专利权)人:迈普通信技术股份有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。