CN110716812A - 一种支持高并发的分布式同步管理方法与装置 - Google Patents
一种支持高并发的分布式同步管理方法与装置 Download PDFInfo
- Publication number
- CN110716812A CN110716812A CN201910864442.3A CN201910864442A CN110716812A CN 110716812 A CN110716812 A CN 110716812A CN 201910864442 A CN201910864442 A CN 201910864442A CN 110716812 A CN110716812 A CN 110716812A
- Authority
- CN
- China
- Prior art keywords
- synchronization
- manager
- participant
- point
- unit
- 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.)
- Pending
Links
Images
Classifications
-
- 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/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种支持高并发的分布式同步管理方法与装置,属于计算机体系结构与处理器微结构设计技术领域。该支持高并发的分布式同步管理方法与装置包括如下步骤:S1:选取处理器中第一预设核心作为管理者,其他核心作为参与者;S2:参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求;S3:当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点;S3:管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束。本发明支持多个处理器核同步操作的并发,同步效率较高。
Description
技术领域
本发明属于计算机体系结构与处理器微结构设计技术领域,涉及一种支持高并发的分布式同步管理方法与装置。
背景技术
随着信息技术的发展,对计算机处理器的处理运算能力的需求越来越高,多核处理器(multi-core processor)和众核(many-core processor)处理器逐渐得到了广泛应用。通过在各个内核之间划分任务,实现了多个处理器内核的并行运行,从而提高了整个处理器的运算处理能力。
多个处理器核心之间进行数据和信息的交换是多核处理器研究的重点,由于多个处理器核在运算过程中的数据依赖性等问题,需要对各个处理器核进行同步,以使得各处理器核处于一个共同约定的状态,并在此基础上完成数据的交互从而继续进行后续的计算。
现有技术中,多个处理器核之间进行同步时,常采用以下方式实现:若处理器核0、处理器核1、处理器核2三者之间需要同步,那么处理器核0会对内存中某一标志变量A进行原子操作,使其(初始值为0)值加1,相应地,处理器核1,处理器核2,也会对标志变量A进行操作使其值加1,当处理器核0、处理器核1、处理器核2读到A的值为3时,即表示处理器核0、处理器核1、处理器核2均到达同步点,三者同步完成。接下来处理器核0、处理器核1、处理器核2继续执行各自的指令,来进行信息交换。然而上述方法涉及到对变量的操作,当数据之间进行频繁交换时,上述同步的方式在软件实现上非常复杂,且效率低。
发明内容
本发明针对现有的技术存在的上述问题,提供一种支持高并发的分布式同步管理方法与装置,本发明所要解决的技术问题是:如何提供一种支持高并发的分布式同步管理方法与装置。
本发明的目的可通过下列技术方案来实现:
一种支持高并发的分布式同步管理方法,包括如下步骤:
S1:选取处理器中第一预设核心作为管理者,其他核心作为参与者;
S2:参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求;
S3:当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点;
S4:管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束。
优选的,选取单次同步中核心数编号最小或者最大的核心作为第一预设核心。
优选的,步骤S1之前还包括采取同步向量(行/列同步)或者指定对方核心号(点对点同步)标示参与单次同步的核心数。
优选的,步骤S3和S4之间还包括在本地记录同步向量。
优选的,步骤S4中管理者收集参与者及自身的同步点状态并设置标记位,管理者确认参与者与自己均已达到同一同状态后携带同步向量通知参与者和自己同步结束。
优选的,步骤S4中管理者收集参与者及自身的同步点状态并设置标记位后并检查参与者发送过来的同步向量的合法性。
优选的,步骤S4之后还包括参与者在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常。
优选的,步骤S2中参与者直接、通过行/列同步处理和点对点同步处理给管理者发布同步请求。
优选的,单个核心作为参与者时在同一时刻仅会申请参与一次同步,直至其接收才会发起下一次同步,如果单个核心作为管理者时可以同时接收到其它核心发过来的多个同步请求。
一种支持高并发的分布式同步管理装置,包括用以发出同步请求的参与者单元和用以接收参与者单元发出的同步请求的管理者单元,所述参与者单元直接、通过行/列同步处理和点对点同步处理给管理者单元发布同步请求,所述管理者单元为单次同步中核心数编号最小或者最大的核心,所述参与者单元为在处理器中非管理者单元的其他核心;所述参与者单元到达同步点后,通过举手方式发送同步状态达到管理者通知其自己已到达同步点,并在本地记录同步向量;所述管理者单元收集参与者及自身的同步点状态并置标记位,并择机检查其它核心发送过来的同步向量的合法性,确认均已到达同一同步状态后,携带同步向量通知参与者和自己同步结束;所述参与者单元在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常。
本发明中首先选取处理器中第一预设核心作为管理者,其他核心作为参与者,然后参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求,当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点,管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束,管理者收集参与者发出的举手态,然后管理者通过置完成的方式完成同步功能,支持多个处理器核同步操作的并发,同步效率较高。
附图说明
图1是本发明的流程示意图;
图2是本发明中的同步请求处理的流程示意图。
具体实施方式
以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
请参阅图1和图2,本实施例中的支持高并发的分布式同步管理方法,包括如下步骤:
S1:选取处理器中第一预设核心作为管理者,其他核心作为参与者;
S2:参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求;
S3:当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点;
S4:管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束。
此处,首先选取处理器中第一预设核心作为管理者,其他核心作为参与者,然后参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求,当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点,管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束,管理者收集参与者发出的举手态,然后管理者通过置完成的方式完成同步功能,支持多个处理器核同步操作的并发,同步效率较高。
选取单次同步中核心数编号最小或者最大的核心作为第一预设核心。通过采用采用事先约定的规则选取单次同步中参与核心数编号最小或最大的处理器心核作为第一预设核心,然后将第一预设核心作为管理者。
步骤S1之前还可以包括采取同步向量(行/列同步)或者指定对方核心号(点对点同步)标示参与单次同步的核心数。对于同步操作,为节约线网资源,采取同步向量(行/列同步)或指定对方核心号(点对点同步)标示参与单次同步的核心数。
步骤S3和S4之间还可以包括在本地记录同步向量,便于进行记录和寻找同步向量。
步骤S4中管理者收集参与者及自身的同步点状态并设置标记位,管理者确认参与者与自己均已达到同一同状态后携带同步向量通知参与者和自己同步结束。
步骤S4中管理者收集参与者及自身的同步点状态并设置标记位后并检查参与者发送过来的同步向量的合法性。管理者择机检查其它核心发送过来的同步向量的合法性,确认均已到达同一同步状态后,携带同步向量通知参与者和自己同步结束。
步骤S4之后还可以包括参与者在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常,管理者或者参与者报出异常,支持完备的同步异常报告,对同步向量进行合法性检查。
步骤S2中参与者直接、通过行/列同步处理和点对点同步处理给管理者发布同步请求。管理者可以直接给参与者发布同步请求,在管理者和参与者之间的同步结束后,参与者或者管理者发布同步完成。
单个核心作为参与者时在同一时刻仅会申请参与一次同步,直至其接收才会发起下一次同步,如果单个核心作为管理者时可以同时接收到其它核心发过来的多个同步请求,支持多个处理器核的同步,单个处理器核可出现在多个同步向量中,软件上易于编程,有效提高同步效率。
一种支持高并发的分布式同步管理装置,包括用以发出同步请求的参与者单元和用以接收参与者单元发出的同步请求的管理者单元,所述参与者单元直接、通过行/列同步处理和点对点同步处理给管理者单元发布同步请求,管理者单元为单次同步中核心数编号最小或者最大的核心,参与者单元为在处理器中非管理者单元的其他核心;参与者单元到达同步点后,通过举手方式发送同步状态达到管理者通知其自己已到达同步点,并在本地记录同步向量;管理者单元收集参与者及自身的同步点状态并置标记位,并择机检查其它核心发送过来的同步向量的合法性,确认均已到达同一同步状态后,携带同步向量通知参与者和自己同步结束;参与者单元在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常。管理者单元收集参与者单元举手态,置完成的方式完成同步功能,通过同步向量和前后序区分不同的同步。支持多个处理器核同步操作的并发,支持完备的同步异常报告(管理者或者参与者核心报出),对同步向量进行合法性检查。管理者单元可以直接给参与者发出同步请求,在管理者单元和参与者单元之间的同步结束后,参与者单元或者管理者单元发布同步完成。参与者单元可以直接、通过行/列同步处理和点对点同步处理给管理者发布同步请求。管理者单元可以同时接收到其它参与者单元发过来的多个同步请求,支持多个处理器核的同步,单个处理器核可出现在多个同步向量中,软件上易于编程,有效提高同步效率,支持阵列内多个行同步、列同步、点对点同步操作的并发,并可通过同步的组合,完成更为复杂的同步操作。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (10)
1.一种支持高并发的分布式同步管理方法,其特征在于,包括如下步骤:
S1:选取处理器中第一预设核心作为管理者,其他核心作为参与者;
S2:参与者发出向管理者发出同步请求,管理者接收参与者发出的同步请求;
S3:当各个参与者发现自己到达同步点后,通过举手方式发送同步状态达到管理者以通知管理者参与者已到达同步点;
S4:管理者在确认参与者与自己已到达同一同状态后,通知参与者与自己同步结束。
2.如权利要求1所述的一种支持高并发的分布式同步管理方法,其特征在于:选取单次同步中核心数编号最小或者最大的核心作为第一预设核心。
3.如权利要求1或2所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S1之前还包括采取同步向量(行/列同步)或者指定对方核心号(点对点同步)标示参与单次同步的核心数。
4.如权利要求3所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S3和S4之间还包括在本地记录同步向量。
5.如权利要求4所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S4中管理者收集参与者及自身的同步点状态并设置标记位,管理者确认参与者与自己均已达到同一同状态后携带同步向量通知参与者和自己同步结束。
6.如权利要求5所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S4中管理者收集参与者及自身的同步点状态并设置标记位后并检查参与者发送过来的同步向量的合法性。
7.如权利要求6所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S4之后还包括参与者在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常。
8.如权利要求3所述的一种支持高并发的分布式同步管理方法,其特征在于:步骤S2中参与者直接、通过行/列同步处理和点对点同步处理给管理者发布同步请求。
9.如权利要求1或2所述的一种支持高并发的分布式同步管理方法,其特征在于:单个核心作为参与者时在同一时刻仅会申请参与一次同步,直至其接收才会发起下一次同步,如果单个核心作为管理者时可以同时接收到其它核心发过来的多个同步请求。
10.一种支持高并发的分布式同步管理装置,其特征在于:包括用以发出同步请求的参与者单元和用以接收参与者单元发出的同步请求的管理者单元,所述参与者单元直接、通过行/列同步处理和点对点同步处理给管理者单元发布同步请求,所述管理者单元为单次同步中核心数编号最小或者最大的核心,所述参与者单元为在处理器中非管理者单元的其他核心;所述参与者单元到达同步点后,通过举手方式发送同步状态达到管理者通知其自己已到达同步点,并在本地记录同步向量;所述管理者单元收集参与者及自身的同步点状态并置标记位,并择机检查其它核心发送过来的同步向量的合法性,确认均已到达同一同步状态后,携带同步向量通知参与者和自己同步结束;所述参与者单元在收到管理者返回的同步结束信号后,检查同步向量匹配情况,若一致则通知核心流水线同步结束否则报告同步向量不匹配异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910864442.3A CN110716812A (zh) | 2019-09-12 | 2019-09-12 | 一种支持高并发的分布式同步管理方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910864442.3A CN110716812A (zh) | 2019-09-12 | 2019-09-12 | 一种支持高并发的分布式同步管理方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110716812A true CN110716812A (zh) | 2020-01-21 |
Family
ID=69210444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910864442.3A Pending CN110716812A (zh) | 2019-09-12 | 2019-09-12 | 一种支持高并发的分布式同步管理方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110716812A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908034A (zh) * | 2010-06-28 | 2010-12-08 | 中国科学院计算技术研究所 | 众核处理器片上同步方法和其系统 |
CN102446155A (zh) * | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | 同步装置及方法 |
US8468547B2 (en) * | 2010-11-23 | 2013-06-18 | Advanced Micro Devices, Inc. | Method and system for synchronizing thread wavefront data and events |
CN104063295A (zh) * | 2014-06-26 | 2014-09-24 | 北京控制工程研究所 | 一种多核操作系统可重构容错启动方法 |
CN104331388A (zh) * | 2013-08-28 | 2015-02-04 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN104932947A (zh) * | 2014-03-17 | 2015-09-23 | 华为技术有限公司 | 一种栅栏同步方法及设备 |
-
2019
- 2019-09-12 CN CN201910864442.3A patent/CN110716812A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908034A (zh) * | 2010-06-28 | 2010-12-08 | 中国科学院计算技术研究所 | 众核处理器片上同步方法和其系统 |
CN102446155A (zh) * | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | 同步装置及方法 |
US8468547B2 (en) * | 2010-11-23 | 2013-06-18 | Advanced Micro Devices, Inc. | Method and system for synchronizing thread wavefront data and events |
CN104331388A (zh) * | 2013-08-28 | 2015-02-04 | 威盛电子股份有限公司 | 微处理器及在微处理器的处理核间同步的方法 |
CN104932947A (zh) * | 2014-03-17 | 2015-09-23 | 华为技术有限公司 | 一种栅栏同步方法及设备 |
CN104063295A (zh) * | 2014-06-26 | 2014-09-24 | 北京控制工程研究所 | 一种多核操作系统可重构容错启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4033374A1 (en) | Method and device for synchronizing node data | |
CN107436799B (zh) | 分布式事务一致性实现方法及装置 | |
CN110196759B (zh) | 分布式事务处理方法和装置、存储介质及电子装置 | |
CN101595668A (zh) | 建立协调定时网络中的服务器之间的逻辑路径的方法和系统 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN109885786A (zh) | 数据缓存处理方法、装置、电子设备及可读存储介质 | |
CN108924008A (zh) | 一种双控制器数据通信方法、装置、设备及可读存储介质 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
CN113515320A (zh) | 一种硬件加速处理方法、装置以及服务器 | |
CN108228330A (zh) | 一种串行化的多进程任务调度方法和装置 | |
CN113885945A (zh) | 一种计算加速方法、设备以及介质 | |
CN105373563B (zh) | 数据库切换方法及装置 | |
CN109299116B (zh) | 一种数据同步方法、装置、设备及可读存储介质 | |
CN107704568A (zh) | 一种测试数据添加的方法及装置 | |
CN112835885A (zh) | 一种分布式表格存储的处理方法、装置及系统 | |
CN110716812A (zh) | 一种支持高并发的分布式同步管理方法与装置 | |
CN116414527A (zh) | 一种分布式事务协调器大幅提高性能方法及系统 | |
CN111209263A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN106657350A (zh) | 数据复制方法及装置 | |
CN111143040A (zh) | 事务处理方法、装置、系统及存储介质 | |
CN110795764A (zh) | 一种数据脱敏方法及系统 | |
CN112637201B (zh) | 一种web服务端的请求处理方法、装置、设备及系统 | |
US20210359862A1 (en) | Systems and methods for synchronizing anonymized linked data across multiple queues for secure multiparty computation | |
CN110935168B (zh) | 用于全球同服架构的分布式id生成方法、装置及设备 | |
CN109616156B (zh) | 一种基因测序数据存储方法和装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200121 |