CN109857562A - 一种众核处理器上访存距离优化的方法 - Google Patents
一种众核处理器上访存距离优化的方法 Download PDFInfo
- Publication number
- CN109857562A CN109857562A CN201910112849.0A CN201910112849A CN109857562A CN 109857562 A CN109857562 A CN 109857562A CN 201910112849 A CN201910112849 A CN 201910112849A CN 109857562 A CN109857562 A CN 109857562A
- Authority
- CN
- China
- Prior art keywords
- node
- many
- core
- optimization
- memory access
- 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
Landscapes
- Complex Calculations (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种众核处理器上访存距离优化的方法,包括生成内核间的流水线调度表、根据内核间的流水线调度表进行众核处理器上访存距离优化、通信优化,生成内核间的流水线调度表的步骤具体为:首先,对同步数据流图进行进程级任务划分,确定每个计算任务分配到的对应集群节点;其次,对集群节点内的同步数据流图中的任务进行线程级任务划分,确定每个计算任务分配到的对应集群节点内的处理核,本发明针对众核处理器内部的缓存的使用进行了优化,提高数据访问的局部性和缓存利用率,增强程序的运行效率。
Description
技术领域
本发明涉及计算机编译领域,尤其是涉及一种众核处理器上访存距离优化的方法。
背景技术
数据运营和处理能力已成为一个企业乃至国家的核心竞争力,在中国,云计算、物联网、三网融合、宽带提速等等重大战略布局空前提速,又进一步扩大并深化了数据爆炸的范围和影响,从而加剧了对网络高性能、高稳定性的进一步需求。作为数据通信网的核心,路由器设备成为制约数据业务表现的关键要素;尤其是数据集中的云计算应用日益升温,对高端核心路由器的需求也与日俱增。众核是一个兼顾了性能和灵活性的产品,在路由器架构方面众核是未来的主流选择。
目前对于众核处理器上访存效率优化存在缺陷,造成各个核心之间存在过度相互独立的情况,使得整体的访存效率较差。
发明内容
本发明为克服上述情况不足,旨在提供一种能解决上述问题的技术方案。
一种众核处理器上访存距离优化的方法,包括生成内核间的流水线调度表、根据内核间的流水线调度表进行众核处理器上访存距离优化、通信优化;
生成内核间的流水线调度表的步骤具体为:首先,对同步数据流图进行进程级任务划分, 确定每个计算任务分配到的对应集群节点;其次,对集群节点内的同步数据流图中的任务进行线程级任务划分,确定每个计算任务分配到的对应集群节点内的处理核;然后采用多层K路图划分算法对各个集群节点内部的计算单元进行初始划分;随后采用复制分裂算法对负载大的计算单元进行分裂,降低计算单元的粒度;最后,重新使用多层K路图划分算法对经过分裂后的图进行划分,保证处理核上的负载均衡和良好的局部性;
对数据流图中的结点进行拓扑排序,形成拓扑序列;其次,对拓扑序列中的每个节点将其结点的阶段号初始化为 0,然后,判断其与前驱结点是否在同一个处理核上,如果在,那么它与前驱节点的阶段相同,如果不在,那么其阶段号比前驱结点阶段号大 2,数据传输操作(DTA)的阶段号比前驱结点大 1,通过遍历整个拓扑序列,对所有结点和数据传输操作(DTA)进行阶段号赋值。
所述的众核处理器上访存距离优化步骤具体为:首先,计算流水线运行所需要的存储容量;然后,根据众核处理器上的层次性存储结构,将计算任务所需的数据进行优化分配,将尽可能多次访问的数据分配到片上便笺式存储器,溢出数据放在主存;最后,对软件流水调度中分配在主存的数据拷贝操作进行消除。
作为本发明进一步的方案:所述进行优化分配的具体过程为:首先,为每个处理核统计所分配到的所有缓冲区的总缓存容量,其中,如果两个计算任务节点分配到了同一个处理核上,两个计算任务节点之间缓冲区分配到该处理器上;其次,找出总缓存容量超出片上便笺式存储器容量的所有处理核,并对分配到其上的所有缓冲区按其缓存容量从大到小挑出分配到主存,直到该处理器的便笺式存储器容量能够容下所有剩下的所有缓冲区总缓存容量为止。
作为本发明进一步的方案:所述通信优化步骤中,采用模拟退火的方法确定通信量最小的映射方式,具体为:随机选择两个虚拟处理核并交换它们所对应的物理核,得到的映射状态即为当前映射状态的下一个映射状态;以模拟退火的指数退避函数作为概率接受函数,用以判断所述扰动函数生成的映射状态是否会被接受;确定代价函数,用于计算每一种映射状态下的通信和同步开销代价。
本发明的有益效果:本发明针对众核处理器内部的缓存的使用进行了优化,提高数据访问的局部性和缓存利用率,增强程序的运行效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,一种众核处理器上访存距离优化的方法,包括生成内核间的流水线调度表、根据内核间的流水线调度表进行众核处理器上访存距离优化、通信优化;
生成内核间的流水线调度表的步骤具体为:首先,对同步数据流图进行进程级任务划分, 确定每个计算任务分配到的对应集群节点;其次,对集群节点内的同步数据流图中的任务进行线程级任务划分,确定每个计算任务分配到的对应集群节点内的处理核;然后采用多层K路图划分算法对各个集群节点内部的计算单元进行初始划分;随后采用复制分裂算法对负载大的计算单元进行分裂,降低计算单元的粒度;最后,重新使用多层K路图划分算法对经过分裂后的图进行划分,保证处理核上的负载均衡和良好的局部性;
对数据流图中的结点进行拓扑排序,形成拓扑序列;其次,对拓扑序列中的每个节点将其结点的阶段号初始化为 0,然后,判断其与前驱结点是否在同一个处理核上,如果在,那么它与前驱节点的阶段相同,如果不在,那么其阶段号比前驱结点阶段号大 2,数据传输操作(DTA)的阶段号比前驱结点大 1,通过遍历整个拓扑序列,对所有结点和数据传输操作(DTA)进行阶段号赋值。
所述的众核处理器上访存距离优化步骤具体为:首先,计算流水线运行所需要的存储容量;然后,根据众核处理器上的层次性存储结构,将计算任务所需的数据进行优化分配,将尽可能多次访问的数据分配到片上便笺式存储器,溢出数据放在主存;最后,对软件流水调度中分配在主存的数据拷贝操作进行消除。
所述进行优化分配的具体过程为:首先,为每个处理核统计所分配到的所有缓冲区的总缓存容量,其中,如果两个计算任务节点分配到了同一个处理核上,两个计算任务节点之间缓冲区分配到该处理器上;其次,找出总缓存容量超出片上便笺式存储器容量的所有处理核,并对分配到其上的所有缓冲区按其缓存容量从大到小挑出分配到主存,直到该处理器的便笺式存储器容量能够容下所有剩下的所有缓冲区总缓存容量为止。
所述通信优化步骤中,采用模拟退火的方法确定通信量最小的映射方式,具体为:随机选择两个虚拟处理核并交换它们所对应的物理核,得到的映射状态即为当前映射状态的下一个映射状态;以模拟退火的指数退避函数作为概率接受函数,用以判断所述扰动函数生成的映射状态是否会被接受;确定代价函数,用于计算每一种映射状态下的通信和同步开销代价。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
Claims (4)
1.一种众核处理器上访存距离优化的方法,其特征在于,包括生成内核间的流水线调度表、根据内核间的流水线调度表进行众核处理器上访存距离优化、通信优化;
生成内核间的流水线调度表的步骤具体为:首先,对同步数据流图进行进程级任务划分, 确定每个计算任务分配到的对应集群节点;其次,对集群节点内的同步数据流图中的任务进行线程级任务划分,确定每个计算任务分配到的对应集群节点内的处理核;然后采用多层K路图划分算法对各个集群节点内部的计算单元进行初始划分;随后采用复制分裂算法对负载大的计算单元进行分裂,降低计算单元的粒度;最后,重新使用多层K路图划分算法对经过分裂后的图进行划分,保证处理核上的负载均衡和良好的局部性;
对数据流图中的结点进行拓扑排序,形成拓扑序列;其次,对拓扑序列中的每个节点将其结点的阶段号初始化为 0,然后,判断其与前驱结点是否在同一个处理核上,如果在,那么它与前驱节点的阶段相同,如果不在,那么其阶段号比前驱结点阶段号大 2,数据传输操作(DTA)的阶段号比前驱结点大 1,通过遍历整个拓扑序列,对所有结点和数据传输操作(DTA)进行阶段号赋值。
2.根据权利要求1所述的众核处理器上访存距离优化的方法,其特征在于,所述的众核处理器上访存距离优化步骤具体为:首先,计算流水线运行所需要的存储容量;然后,根据众核处理器上的层次性存储结构,将计算任务所需的数据进行优化分配,将尽可能多次访问的数据分配到片上便笺式存储器,溢出数据放在主存;最后,对软件流水调度中分配在主存的数据拷贝操作进行消除。
3.根据权利要求2所述的众核处理器上访存距离优化的方法,其特征在于,所述进行优化分配的具体过程为:首先,为每个处理核统计所分配到的所有缓冲区的总缓存容量,其中,如果两个计算任务节点分配到了同一个处理核上,两个计算任务节点之间缓冲区分配到该处理器上;其次,找出总缓存容量超出片上便笺式存储器容量的所有处理核,并对分配到其上的所有缓冲区按其缓存容量从大到小挑出分配到主存,直到该处理器的便笺式存储器容量能够容下所有剩下的所有缓冲区总缓存容量为止。
4.根据权利要求1所述的众核处理器上访存距离优化的方法,其特征在于,所述通信优化步骤中,采用模拟退火的方法确定通信量最小的映射方式,具体为:随机选择两个虚拟处理核并交换它们所对应的物理核,得到的映射状态即为当前映射状态的下一个映射状态;以模拟退火的指数退避函数作为概率接受函数,用以判断所述扰动函数生成的映射状态是否会被接受;确定代价函数,用于计算每一种映射状态下的通信和同步开销代价。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112849.0A CN109857562A (zh) | 2019-02-13 | 2019-02-13 | 一种众核处理器上访存距离优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910112849.0A CN109857562A (zh) | 2019-02-13 | 2019-02-13 | 一种众核处理器上访存距离优化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109857562A true CN109857562A (zh) | 2019-06-07 |
Family
ID=66897902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910112849.0A Pending CN109857562A (zh) | 2019-02-13 | 2019-02-13 | 一种众核处理器上访存距离优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857562A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021115052A1 (zh) * | 2019-11-20 | 2021-06-17 | 深圳先进技术研究院 | 一种异构芯片的任务处理方法、任务处理装置及电子设备 |
CN114546926A (zh) * | 2020-11-24 | 2022-05-27 | 北京灵汐科技有限公司 | 核心簇同步、控制方法、数据处理方法、核心、设备、介质 |
CN116719643A (zh) * | 2023-07-17 | 2023-09-08 | 合芯科技有限公司 | 一种优化三级缓存访问延迟的多核处理器调度方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006072061A2 (en) * | 2004-12-27 | 2006-07-06 | Intel Corporation | System and method for non-uniform cache in a multi-core processor |
CN102541628A (zh) * | 2010-12-17 | 2012-07-04 | 三星电子株式会社 | 多核系统的编译装置和方法 |
CN102855153A (zh) * | 2012-07-27 | 2013-01-02 | 华中科技大学 | 面向片式多核处理器的流编译优化方法 |
CN103970580A (zh) * | 2014-05-05 | 2014-08-06 | 华中科技大学 | 一种面向多核集群的数据流编译优化方法 |
-
2019
- 2019-02-13 CN CN201910112849.0A patent/CN109857562A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006072061A2 (en) * | 2004-12-27 | 2006-07-06 | Intel Corporation | System and method for non-uniform cache in a multi-core processor |
CN102541628A (zh) * | 2010-12-17 | 2012-07-04 | 三星电子株式会社 | 多核系统的编译装置和方法 |
CN102855153A (zh) * | 2012-07-27 | 2013-01-02 | 华中科技大学 | 面向片式多核处理器的流编译优化方法 |
CN103970580A (zh) * | 2014-05-05 | 2014-08-06 | 华中科技大学 | 一种面向多核集群的数据流编译优化方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021115052A1 (zh) * | 2019-11-20 | 2021-06-17 | 深圳先进技术研究院 | 一种异构芯片的任务处理方法、任务处理装置及电子设备 |
CN114546926A (zh) * | 2020-11-24 | 2022-05-27 | 北京灵汐科技有限公司 | 核心簇同步、控制方法、数据处理方法、核心、设备、介质 |
CN114546926B (zh) * | 2020-11-24 | 2023-08-08 | 北京灵汐科技有限公司 | 核心簇同步、控制方法、数据处理方法、核心、设备、介质 |
CN116719643A (zh) * | 2023-07-17 | 2023-09-08 | 合芯科技有限公司 | 一种优化三级缓存访问延迟的多核处理器调度方法及装置 |
CN116719643B (zh) * | 2023-07-17 | 2024-04-05 | 合芯科技有限公司 | 一种优化三级缓存访问延迟的多核处理器调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022021176A1 (zh) | 云边协同网络资源平滑迁移与重构方法及系统 | |
CN109857562A (zh) | 一种众核处理器上访存距离优化的方法 | |
CN110087250B (zh) | 一种基于多目标联合优化模型的网络切片编排方案及其方法 | |
CN110784366B (zh) | Sdn中基于immac算法的交换机迁移方法 | |
CN105468435A (zh) | Nfv动态资源分配方法 | |
CN112953761B (zh) | 一种面向多跳网络中虚网构建的资源虚实映射方法 | |
CN107196806B (zh) | 基于子图辐射的拓扑临近匹配虚拟网络映射方法 | |
CN109104464A (zh) | 一种边缘计算环境下面向协同存储的分布式数据更新方法 | |
CN103259744A (zh) | 一种基于分簇的移动虚拟网络映射方法 | |
CN108170530A (zh) | 一种基于混合元启发式算法的Hadoop负载均衡任务调度方法 | |
CN110147372A (zh) | 一种面向htap的分布式数据库智能混合存储方法 | |
CN110198280A (zh) | 一种基于bp神经网络的sdn链路分配方法 | |
Gu et al. | A multi-objective fog computing task scheduling strategy based on ant colony algorithm | |
CN105005503B (zh) | 基于元胞自动机的云计算负载均衡任务调度方法 | |
Zhang et al. | A novel virtual network mapping algorithm for cost minimizing | |
CN116050540A (zh) | 一种基于联合双维度用户调度的自适应联邦边缘学习方法 | |
CN109327340A (zh) | 一种基于动态迁移的移动无线网络虚拟网映射方法 | |
CN113986485A (zh) | 一种跨数据中心数据传输节能优化方法及系统 | |
CN114217944A (zh) | 一种神经网络的针对模型并行的动态负载均衡方法 | |
Zhao et al. | A parallel-batch multi-objective job scheduling algorithm in edge computing | |
CN105138391B (zh) | 面向广域分布云系统公平的多任务虚拟机分配方法 | |
Zhang et al. | Joint optimization of multi-user computing offloading and service caching in mobile edge computing | |
CN104812002B (zh) | 集中式ran架构下的处理资源动态调整方法、设备及系统 | |
CN115617526A (zh) | 基于云数据中心构建和虚拟机整合的云数据中心节能方法 | |
CN109688068A (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: 20190607 |