CN109542832A - 一种无锁机制的异构多核cpu间通信系统及方法 - Google Patents
一种无锁机制的异构多核cpu间通信系统及方法 Download PDFInfo
- Publication number
- CN109542832A CN109542832A CN201811459340.5A CN201811459340A CN109542832A CN 109542832 A CN109542832 A CN 109542832A CN 201811459340 A CN201811459340 A CN 201811459340A CN 109542832 A CN109542832 A CN 109542832A
- Authority
- CN
- China
- Prior art keywords
- queue
- message
- msg
- cpu1
- cpu
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 36
- 238000000034 method Methods 0.000 title abstract description 7
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种无锁机制的异构多核CPU间通信系统及方法,包括:假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2,所述循环消息队列通道由若干消息组成,每一个消息的固定长度为L;队列管理结构QUEUE_MNGT1和QUEUE_MNGT2分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2。本发明方案能够提高多核CPU间工作执行效率和协作能力,使资源利用率最大化。
Description
技术领域
本发明涉及嵌入式技术领域,具体而言,涉及到一种无锁机制的异构多核CPU间通信系统及方法。
背景技术
随着近几年来嵌入式应用的广泛推进,嵌入式设备本身实现的功能越来越复杂.异构多核CPU平台被迅速普及,每个CPU核只做自己擅长的工作,有的负责逻辑调度,有的负责计算和数据处理等等.由此引出了嵌入式软件并行运行及调度的难题,异构多核CPU间如何高效协同工作显得尤为重要。
现今使用的SOC芯片内部可能包含多个异构CPU核,各CPU核拥有私有的cache,中断管理等硬件资源和共享的RAM,寄存器等硬件资源。但多个CPU核本身硬件架构不同,可能运行不同的程序代码,很难共享程序代码,会导致不同CPU间通信困难,很难相互协调工作,需要提供一套协商通信协议来保证。
锁机制具体是指多个CPU在使用统一资源时,需要对资源进行互斥保护,一次只允许单个CPU进行读写访问,其他CPU只能等待,有时需要硬件提供底层互斥锁指令来进行实现,影响数据处理速度。
发明内容
为了解决上述问题,本发明提出了一种无锁机制的异构多核CPU间通信系统及方法,可以高效的实现SOC芯片内部多CPU核间的通信。
为了实现上述目的,本发明采用如下技术方案:
在一个或多个实施方式中公开的一种无锁机制的异构多核CPU间通信系统,包括:
假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;
在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2,所述循环消息队列通道由若干消息组成,每一个消息的固定长度为L;循环消息队列通道MSG_QUEUE1由独立的队列管理结构QUEUE_MNGT1维护;循环消息队列通道MSG_QUEUE2由独立的队列管理结构QUEUE_MNGT2维护;
队列管理结构QUEUE_MNGT1和QUEUE_MNGT2分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2,并负责管理各自对应的队列MSG_QUEUE。
后续提及的队列管理结构QUEUE_MNGT代表一个整体,也包含其指向的循环消息队列通道MSG_QUEUE。
进一步地,两个循环消息队列通道中,其中一个为用于CPU0生产消息、CPU1提取消息的队列通道,另一个为用于CPU1生产消息、CPU0提取消息的队列通道。
进一步地,每个消息由唯一的标识码MSG_ID和消息体MSG_BODY组成。
进一步地,每个CPU核能够读写自己维护的变量,只能读其他CPU核维护的变量。
进一步地,两个循环消息队列通道的深度M和N均为2^n,其中,n为正整数。
进一步地,队列管理结构QUEUE_MNGT1和QUEUE_MNGT2由硬件资源模块实现或者由共享RAM指定实现;队列管理结构QUEUE_MNGT1或者QUEUE_MNGT2具体为:(signal_0,signal_1,qhead,qtail,qaddr,qdepth),其中,signal_0和signal_1被配置为用于两CPU核中断互发通知。
进一步地,对于队列管理结构QUEUE_MNGT1:
假设qhead由CPU0维护,qtail由CPU1维护;
CPU0生产消息T1(T1>=1&&T1<M)放入对应的循环消息队列通道MSG_QUEUE1中,并读取和修改消息队列管理结构QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;
CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;
此时CPU1成功的提取了T2条消息,通过signal_0异步通知CPU0消息已经被提取。
在一个或多个实施方式中公开的一种无锁机制的异构多核CPU间通信方法,包括:
假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;
在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
队列管理结构QUEUE_MNGT1(signal_0,signal_1,qhead,qtail,qaddr,qdepth)和MSG_QUEUE2(signal_0,signal_1,qhead,qtail,qaddr,qdepth)分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
对于队列管理结构QUEUE_MNGT1:
假设qhead由CPU0维护,qtail由CPU1维护;
CPU0生产消息T1(T1>=1&&T1<M)放入对应的循环消息队列通道MSG_QUEUE1中,并读取和修改消息队列管理结构QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;
CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;
此时CPU1成功的提取了T2条消息,通过signal_0异步通知CPU0消息已经被提取;
对于队列管理结构QUEUE_MNGT2,采用与QUEUE_MNGT1相同的通信机制。
与现有技术相比,本发明的有益效果是:
1.使用共享RAM可以最大化提高双核通信效率,可以同步或者异步使用消息队列,经过封装后,异构CPU间的通信可以像函数调用一样方便,更好隐藏了底层CPU间的硬件差异。
2.提高多核CPU间工作执行效率和协作能力,使资源利用率最大化。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是一种无锁机制的异构多核CPU间通信系统架构图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
在一个或多个实施方式中公开了一种无锁机制的异构多核CPU间通信系统,如图1所示,SOC内部各CPU一般具有自己私有的RAM和中断处理硬件资源.通过有效利用中断资源,可以起到异步通知CPU消息到来的功能。有效利用此功能,可以实现异步高效通信机制;如果不具有该功能,可以实现同步高效通信机制。
通信双方总会涉及两CPU核,异构多核CPU通信的描述按使用场景可以简化为两个CPU间的通信,由此可以扩展为多核CPU间的通信机制。由此,双核CPU间通信机制描述,借助CPU0和CPU1描述如下:
本实施方式公开的无锁机制的异构多核CPU间通信系统中,假设CPU0和CPU1为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源,作为通信交流的开始。在共享RAM上面建立深度分别为M和N(个数约定为2^n)的单消息固定长度为L的两个循环消息队列通道MSG_QUEUE;
两个循环消息队列通道中,其中一个为用于CPU0生产消息、CPU1提取消息的队列通道,另一个为用于CPU1生产消息、CPU0提取消息的队列通道;每个消息队列通道内部由若干个消息组成,每个消息由唯一的标识码MSG_ID和消息体MSG_BODY组成.消息体可以携带固定长度的消息内容。
采用两个消息队列通道,可以实现一次发多个消息,一次反馈回多个消息,而且消息采用唯一MSG_ID,从而确保了消息可以被乱序发送执行和反馈,双方通过选择性的执行消息,可以最大化最大效率利用自身的资源来完成互相高效通信的任务。
队列深度约定为2^n的优势在于,num=qhead-qtail总是成立,不需要关心qhead和qtail值越界的问题,提取消息按照消息有效编号msg=qtail%(qdepth-1)即可。
考虑到多核CPU间的同步机制,规定每个CPU可以读写自己维护的变量,只能读其他CPU维护的变量。通过这种机制避免了锁机制的使用,实现了无锁机制的通信约定。按此实现,每个MSG_QUEUE由独立的QUEUE_MNGT(signal_0,signal_1,qhead,qtail,qaddr,qdepth)队列管理结构维护,QUEUE_MNGT可以由硬件资源模块实现,也可以由共享RAM指定实现。Qaddr和qdepth主要是方便指定队列使用的共享RAM地址和队列使用的深度用,在运行时方便使用。
每个QUEUE_MNGT指向共享RAM的MSG_QUEUE,其中signal_0和signal_1用于两CPU中断互发通知使用。
对于QUEUE_MNGT1:假设qhead由CPU0维护,qtail由CPU1维护,初始化qhead=qtail=0代表队列空,num=qhead-qtail代表消息数目,num=0时代表消息数目为零,当前消息读取按照msg=qtail%(qdepth-1)。
每个队列采用生产者和消费者模型.CPU0生成一个或者多个消息后放入MSG_QUEUE1后递增QUEUE_MNGT1的qhead,同时使用signal_0发通知给CPU1指示有更新,CPU1从相应的MSG_QUEUE1中消费一个或者多个消息后递增QUEUE_MNGT1的qtail.CPU1在消费消息后需要通知CPU0;具体实现方法如下:
CPU0生产消息T1(T1>=1&&T1<M)放入对应的循环消息队列通道MSG_QUEUE1中,并读取和修改QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;此时CPU1成功的提取了T2条消息.此时可以发送信号signal_0异步通知CPU0消息已经被提取,可以放更多消息。
QUEUE_MNGT2的工作机制和上述一样,CPU0和CPU1职责正好相反。
由于消息由生产方唯一编号,上层应用可以利用该机制让提取方按照资源利用率最大化方式进行乱序执行已经提取的消息并予以及时反馈对应消息执行状态及结果。这样,双核CPU可以达到高效通信互相有效反馈的目的。
实施例二
在一个或多个实施方式中公开的一种无锁机制的异构多核CPU间通信方法,包括:假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;
在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
队列管理结构QUEUE_MNGT1(signal_0,signal_1,qhead,qtail,qaddr,qdepth)和QUEUE_MNGT2(signal_0,signal_1,qhead,qtail,qaddr,qdepth)分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
对于队列管理结构QUEUE_MNGT1:
假设qhead由CPU0维护,qtail由CPU1维护;
CPU0生产消息T1(T1>=1&&T1<M)放入对应的循环消息队列通道MSG_QUEUE1中,并读取和修改QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;
CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;
此时CPU1成功的提取了T2条消息,通过signal_0异步通知CPU0消息已经被提取;
对于队列管理结构QUEUE_MNGT2,采用与MSG_QUEUE1相同的通信机制。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种无锁机制的异构多核CPU间通信系统,其特征在于,包括:
假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;
在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2,所述循环消息队列通道由若干消息组成,每一个消息的固定长度为L;
循环消息队列通道MSG_QUEUE1由独立的队列管理结构QUEUE_MNGT1维护;循环消息队列通道MSG_QUEUE2由独立的队列管理结构QUEUE_MNGT2维护;
队列管理结构QUEUE_MNGT1和QUEUE_MNGT2分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2。
2.如权利要求1所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,两个循环消息队列通道中,其中一个为用于CPU0生产消息、CPU1提取消息的队列通道,另一个为用于CPU1生产消息、CPU0提取消息的队列通道。
3.如权利要求1所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,每个消息由唯一的标识码MSG_ID和消息体MSG_BODY组成。
4.如权利要求1所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,每个CPU核能够读写自己维护的变量,只能读其他CPU核维护的变量。
5.如权利要求1所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,两个循环消息队列通道的深度M和N均为2^n,其中,n为正整数。
6.如权利要求1所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,队列管理结构QUEUE_MNGT1和QUEUE_MNGT2由硬件资源模块实现或者由共享RAM指定实现;队列管理结构QUEUE_MNGT1或者QUEUE_MNGT2具体为:(signal_0,signal_1,qhead,qtail,qaddr,qdepth),其中,signal_0和signal_1被配置为用于两CPU核中断互发通知。
7.如权利要求6所述的一种无锁机制的异构多核CPU间通信系统,其特征在于,对于队列管理结构QUEUE_MNGT1:
假设qhead由CPU0维护,qtail由CPU1维护;
CPU0生产消息T1(T1>=1&&T1<M)放入对应的消息队列MSG_QUEUE1中,并读取和修改QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;
CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;
此时CPU1成功的提取了T2条消息,通过signal_0异步通知CPU0消息已经被提取。
8.一种无锁机制的异构多核CPU间通信方法,其特征在于,
假设CPU0和CPU1分别为需要进行通信的两个CPU核,为CPU0和CPU1分配一块共享的RAM资源;
在共享的RAM资源上面建立深度分别为M和N的两个循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
队列管理结构QUEUE_MNGT1(signal_0,signal_1,qhead,qtail,qaddr,qdepth)和QUEUE_MNGT2(signal_0,signal_1,qhead,qtail,qaddr,qdepth)分别指向循环消息队列通道MSG_QUEUE1和MSG_QUEUE2;
对于队列管理结构QUEUE_MNGT1:
假设qhead由CPU0维护,qtail由CPU1维护;
CPU0生产消息T1(T1>=1&&T1<M)放入对应的消息队列MSG_QUEUE1中,并读取和修改QUEUE_MNGT1中变量qhead+=T1,如果支持发送信号,最后通过signal_1发送通知信号到CPU1;
CPU1收到通知后或者检测到消息到来,读取相应消息T2(T2>=1&&T2<T1)后,修改QUEUE_MNGT1中变量qtail+=T2;
此时CPU1成功的提取了T2条消息,通过signal_0异步通知CPU0消息已经被提取;
对于队列管理结构QUEUE_MNGT2,采用与QUEUE_MNGT1相同的通信机制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459340.5A CN109542832B (zh) | 2018-11-30 | 2018-11-30 | 一种无锁机制的异构多核cpu间通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811459340.5A CN109542832B (zh) | 2018-11-30 | 2018-11-30 | 一种无锁机制的异构多核cpu间通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542832A true CN109542832A (zh) | 2019-03-29 |
CN109542832B CN109542832B (zh) | 2020-09-01 |
Family
ID=65852047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811459340.5A Active CN109542832B (zh) | 2018-11-30 | 2018-11-30 | 一种无锁机制的异构多核cpu间通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542832B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511460A (zh) * | 2020-12-29 | 2021-03-16 | 安徽皖通邮电股份有限公司 | 单收发通道多核网络通讯设备的无锁共享报文转发方法 |
CN114327828A (zh) * | 2021-12-29 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种共享数据的并发访问方法、装置、设备及介质 |
CN114866499A (zh) * | 2022-04-27 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899089A (zh) * | 2015-05-25 | 2015-09-09 | 常州北大众志网络计算机有限公司 | 一种面向异构多核体系的任务调度方法 |
CN106095604A (zh) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | 一种多核处理器的核间通信方法及装置 |
CN106371937A (zh) * | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | 多核系统的核间通信方法及装置 |
US20170046179A1 (en) * | 2015-08-13 | 2017-02-16 | Altera Corporation | Application-based dynamic heterogeneous many-core systems and methods |
CN106997278A (zh) * | 2017-03-07 | 2017-08-01 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘中双核间通信效率的方法 |
WO2018125250A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
-
2018
- 2018-11-30 CN CN201811459340.5A patent/CN109542832B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899089A (zh) * | 2015-05-25 | 2015-09-09 | 常州北大众志网络计算机有限公司 | 一种面向异构多核体系的任务调度方法 |
US20170046179A1 (en) * | 2015-08-13 | 2017-02-16 | Altera Corporation | Application-based dynamic heterogeneous many-core systems and methods |
CN106095604A (zh) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | 一种多核处理器的核间通信方法及装置 |
CN106371937A (zh) * | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | 多核系统的核间通信方法及装置 |
WO2018125250A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
CN106997278A (zh) * | 2017-03-07 | 2017-08-01 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘中双核间通信效率的方法 |
Non-Patent Citations (2)
Title |
---|
吴俊: "基于双优先级队列的异构分布式控制系统容错调度算法", 《东南大学学报(自然科学版)》 * |
王俊昌 等: "基于无锁数据结构的NHNG队列算法", 《计算机工程》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112511460A (zh) * | 2020-12-29 | 2021-03-16 | 安徽皖通邮电股份有限公司 | 单收发通道多核网络通讯设备的无锁共享报文转发方法 |
CN112511460B (zh) * | 2020-12-29 | 2022-09-09 | 安徽皖通邮电股份有限公司 | 单收发通道多核网络通讯设备的无锁共享报文转发方法 |
CN114327828A (zh) * | 2021-12-29 | 2022-04-12 | 科东(广州)软件科技有限公司 | 一种共享数据的并发访问方法、装置、设备及介质 |
CN114866499A (zh) * | 2022-04-27 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
CN114866499B (zh) * | 2022-04-27 | 2024-02-23 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109542832B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102331923B (zh) | 一种基于多核多线程处理器的功能宏流水线实现方法 | |
US9971635B2 (en) | Method and apparatus for a hierarchical synchronization barrier in a multi-node system | |
Voellmy et al. | Scalable software defined network controllers | |
EP2159694B1 (en) | Method and device for barrier synchronization, and multicore processor | |
CN109542832A (zh) | 一种无锁机制的异构多核cpu间通信系统及方法 | |
CN106790599B (zh) | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 | |
CN100530107C (zh) | 基于io事件通知机制的单进程内容服务器装置及方法 | |
CN106850829B (zh) | 一种基于非阻塞通信的微服务系统设计方法 | |
Mai et al. | Optimizing network performance in distributed machine learning | |
CN105247817A (zh) | 用于源同步电路交换片上网络(NoC)的方法、装置和系统 | |
CN102591843B (zh) | 多核处理器的核间通信方法 | |
US20170097854A1 (en) | Task placement for related tasks in a cluster based multi-core system | |
Tasci et al. | Giraphx: Parallel yet serializable large-scale graph processing | |
Fei et al. | FlexNFV: Flexible network service chaining with dynamic scaling | |
CN103744728B (zh) | 一种基于动态ple技术的虚拟机协同调度方法 | |
CN106372029A (zh) | 一种基于中断的点对点片内通信模块 | |
JP2013196706A (ja) | ミニコア基盤の再構成可能プロセッサ、そのためのスケジュール装置及び方法 | |
CN110427426A (zh) | 一种数据同步处理方法及装置 | |
CN109918335A (zh) | 一种基于cpu+fpga 8路dsm架构服务器系统及处理方法 | |
Barca et al. | A virtual cloud computing provider for mobile devices | |
US20240281395A1 (en) | Embedded-Oriented Configurable Many-Core Processor | |
Solanti et al. | POCL-R: distributed OpenCL runtime for low latency remote offloading | |
Danalis et al. | Gravel: A communication library to fast path MPI | |
CN107370652B (zh) | 一种计算机节点动态互联平台及平台组网方法 | |
Grant et al. | Networks and MPI for cluster computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231211 Address after: Room 803-1, North Building, Building 9, Shuntai Plaza, No. 2000 Shunhua Road, Jinan Area, China (Shandong) Pilot Free Trade Zone, Lixia District, Jinan City, Shandong Province, 250000 Patentee after: Shandong Fangcun Microelectronics Technology Co.,Ltd. Address before: 266111-1, building 5, zone a, Yuanchuang international Blue Bay Creative Park, No. 31, Xinye Road, high tech Zone, Qingdao City, Shandong Province Patentee before: QINGDAO FANGCUN MICROELECTRONIC TECHNOLOGY Co.,Ltd. |