CN112181867A - 基于多目标遗传算法的片上网络内存控制器布局方法 - Google Patents
基于多目标遗传算法的片上网络内存控制器布局方法 Download PDFInfo
- Publication number
- CN112181867A CN112181867A CN202011054962.7A CN202011054962A CN112181867A CN 112181867 A CN112181867 A CN 112181867A CN 202011054962 A CN202011054962 A CN 202011054962A CN 112181867 A CN112181867 A CN 112181867A
- Authority
- CN
- China
- Prior art keywords
- layout
- memory controller
- population
- network
- binary matrix
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种基于NSGA‑2的多核片上网络内存控制器布局优化方法,其实现步骤为:对内存控制器布局优化问题建模;使用多目标遗传算法NSGA‑2搜索得到模型最优布局集;在模型最优布局集中通过黄金分割法筛选得到实际最优布局。本发明通过代数式建模减少了方案的时间复杂度;对优化目标细致分析并拆分目标建立精确的目标函数,保证了优化的精确度;使用改进后的NSGA‑2算法对存控布局问题进行多目标优化,求解出问题的模型最优布局集,保留了寻找综合性能最优的布局的机会。实现了多核片上网络内存控制器布局封装化、自动化,大大缩短了内存控制器布局优化的时间,可用于高阶网络下的布局优化。
Description
技术领域
本发明属于电通信技术领域,更进一步涉及数字信息的传输技术领域中的基于多目标遗传算法的片上网络内存控制器布局方法。本发明用于搭建对应最优内存控制器布局的片上网络系统,降低片上网络中的流量访存开销,提高片上网络通信效率,提升系统整体性能。
背景技术
相较于单核系统,多核片上系统具有更强的性能优势,如今越来越多处理核心被集成到单块芯片上。但国际半导体技术蓝图(ITRS)指出,单芯片封装引脚数量增长速率每年低于10%,在满足处理器核快速增长的引脚需求前提下,片上可分配给内存控制器的引脚资源不足,导致内存控制器数量远少于处理器核数量。由于通信节点数量与处理器核数量相等,此时少量内存控制器连接大量通信节点会产生多种不同的布局方式,改变布局方式影响访存流量路径进而影响系统性能。基于以上原因,内存控制器布局需被优化。现有内存控制器布局方案普遍遵循最优化处理流程,即确定优化目标,建立数学模型,最后通过优化算法得到最优解。
Dennis Abts,John Kim等人在其发表的论文“Achieving Predictable Perfo-rmance through Better Memory Controller Placement in Many-Core CMPs”(International Symposium on Computer Architecture,Austin,Texas,USA, 2009)中提出一种基于仿真建模的优化内存控制器布局的方法。优化步骤为:1)确定优化目标,即通过改变内存控制器布局来增大系统的理想吞吐量,理想吞吐量可由参数“最大通道负载”决定;2)将“最大通道负载”做为某一布局的评价函数,通过合成流量仿真来求解此评价函数;3)使用遗传算法和随机游走算法搜索得到最优解。但是,该方法存在的不足之处是:在遗传算法每一代求评价函数过程中,为了保证流量模式高度随机,需对每个个体进行高达上万次不同类型的合成流量仿真,导致该方法时间复杂度高,扩展性很差。
Ting-Ru Lin等人在其发表的论文“Design Space Exploration of Memory Con-troller Placement in Throughput Processors with Deep Learning”(IEEE Comp-uter Architecture Letters,vol.18,no.1,pp.51-54,2019)中提出了一种基于深度学习的优化内存控制器布局的方法。优化步骤为:1)确定优化目标,即通过改变内存控制器布局来增大系统运行时的“周期指令数(IPC)”;2)收集模型训练数据,包括有布局方式、最大通道负载、虚拟通道独占情况、平均跳数、独占虚拟通道的数量以及通过全系统仿真收集到的IPC;3)训练性能预测模型;4)将训练出的模型作为迭代过程中的评价函数。5)使用启发式算法搜索得到最优解。但是,该方法存在的不足之处是:需利用机器学习训练预测模型,训练开销很大,方案扩展能力十分有限,应用价值低。
Fen Ge等人在其发表的论文“Exploring Memory Controller Configurationsfor Many-Core Systems with 3D Stacked DRAMs”(International Symposium onQuality Electronic Design,Santa Clara,CA,pp.565-570,2015)中提出一种基于代数式建模的优化内存控制器布局的方法。优化步骤为:1)确定优化目标,即通过改变内存控制器布局来减小系统的平均网络时延;2)将平均网络时延拆分成多个影响因素,构建代数公式模拟各影响因素,得到3个目标函数;3)使用线性加权组合法将 3个目标函数转化为单目标函数;4)将此单目标函数作为迭代过程中的评价函数。5) 利用启发式算法搜索得到最优解。但是,该方法存在的不足之处是:该设计未严格按照多目标优化算法施行,多目标转单目标优化放弃了Pareto前沿上诸多最优解,缺少最优解的搜索过程,导致该方案求解精度不足。
发明内容
本发明的目的在于针对上述现有技术存在的缺陷,提出一种度量全面、求解快速的自动一体化内存控制器布局方案,用于突破现有内存控制器布局方案时间复杂度高、扩展性差、建模不精确和优化不彻底的局限。
本发明的具体步骤如下:
(1)将一种片上网络的布局形式转化为二进制矩阵:
1a)将有n个路由器的片上网络布局形式以Mesh拓扑相连,选择Mesh网络中m 个位置连接内存控制器(m<n),若这m个位置与已有布局形式中内存控制器的位置重合,则重新创建布局形式,若这m个位置与已有布局形式中内存控制器的位置不重合,则新布局创建成功,各路由器继续分别连接一个本地处理器;
1b)将所创建布局形式转化为二进制矩阵:对应拓扑定义一个 的空矩阵,定义空矩阵中s个位置对应1a)中连接内存控制器的m个路由器的位置,s=m,将这s个位置赋值为“0”,将空矩阵中n-s个剩余位置赋值为“1”,“1”表示在片上网络中仅连接处理器核的路由器的位置,由此将该布局形式的位置信息转化成的二进制矩阵;
(2)计算平均曼哈顿距离:
2a)计算每个节点与每个“0”对应位置之间的曼哈顿距离;
(3)按照下式,计算各节点与其最近“0”之间的曼哈顿距离的方差f2:
其中,H(i,in0)表示第i个节点到最近的“0”的距离,即到in0的距离;
(4)按照下式,计算二进制矩阵中行和列的“0”数量方差f3:
其中,y表示二进制矩阵行的总数,z表示二进制矩阵列的总数,p表示行的序号,q表示列的序号,N(p)表示二进制矩阵中第p行“0”的个数,M(q)表示二进制矩阵中第q行“0”的个数,μ2表示二进制矩阵中行和列的“0”个数的平均值;
(5)将该二进制矩阵平铺为w位的二进制序列,w=n;将f1、f2和f3依次添加到二进制序列末尾后作为一个布局个体;
(6)重复执行步骤(1)-(5)100次,将得到的100个布局个体组成一个100行w +3列的布局种群pa;
(7)使用多目标遗传算法求模型最优布局集:
7a)将变异率设置为0.2、交叉率设置为0.8;
7b)对布局种群pa中所有布局进行非支配排序和拥挤度排序;得到各布局的非支配等级和拥挤度值;
7c)依据各布局的非支配等级和拥挤度值,进行锦标赛选择得到种群pb;
7d)对种群pb依次进行交叉、变异操作,得到种群pc;种群pc中的二进制矩阵被更新;采用与步骤(2)相同的方法,计算更新后的二进制矩阵的平均曼哈顿距离;采用与步骤(3)相同的方法,计算更新后的二进制矩阵的各节点与其最近“0”之间的曼哈顿距离的方差;采用与步骤(4)相同的方法,计算更新后的二进制矩阵的各行列“0”数量的方差;接着进行父代子代种群合并得到下一个种群pd,再次对种群pd中的布局进行非支配排序和拥挤度排序,利用求出的非支配等级和拥挤度值进行精英策略操作,得到种群pe;
7e)重复步骤7c)到7d)600次,将得到的100个模型最优布局组成模型最优布局集;
(8)筛选实际最优布局:
使用黄金分割法结合全系统仿真对模型最优布局集进行搜索,得到实际最优布局。
本发明与现有技术相比具有以下优点:
第一,由于本发明将一种片上网络的布局形式转化为二进制矩阵,以数学建模的方式代替合成流量仿真来确定适应度值,克服了现有技术对每个个体进行高达上万次不同类型的合成流量仿真而造成的时间复杂度高的问题,使得本发明的适应度模型具有快速产出评价指标的优点。
第二,由于本发明使用多目标遗传算法求模型最优布局集,克服了现有技术利用机器学习训练预测模型的扩展性差的问题,使得本发明的算法具有收敛快速,扩展性强,兼容性强的优点。
第三,由于本发明使用黄金分割法结合全系统仿真对模型最优布局集进行搜索,克服了现有技术因缺少最优解的搜索过程而导致的求最优布局精度不足的问题,使得本发明搜索出的最优布局具有精度高的优点。
附图说明
图1是本发明的流程图;
图2是本发明的片上网络结构示意图;
图3是本发明在对64核16内存控制器配置进行布局优化后得到的模型最优布局集的空间位置图;
图4是本发明通过重复实验得出的四个实际最优布局的结构图。
具体实施方式
下面结合附图和实施例对本发明做进一步的描述。
参照图1对本发明的实现步骤做进一步的描述。
步骤1,将一种片上网络的布局形式转化为二进制矩阵。
将有n个路由器的片上网络布局形式以Mesh拓扑相连,选择Mesh网络中m个位置连接内存控制器(m<n),若这m个位置与已有布局形式中内存控制器的位置重合,则重新创建布局形式,若这m个位置与已有布局形式中内存控制器的位置不重合,则新布局创建成功,各路由器继续分别连接一个本地处理器。
将所创建布局形式转化为二进制矩阵:对应拓扑定义一个的空矩阵,定义空矩阵中s个位置对应1a)中连接内存控制器的m个路由器的位置,s=m,将这s个位置赋值为“0”,将空矩阵中n-s个剩余位置赋值为“1”,“1”表示在片上网络中仅连接处理器核的路由器的位置,由此将该布局形式的位置信息转化成的二进制矩阵。
步骤2,计算平均曼哈顿距离。
计算每个节点与每个“0”对应位置之间的曼哈顿距离。
步骤3,按照下式,计算各节点与其最近“0”之间的曼哈顿距离的方差f2:
其中,H(i,in0)表示第i个节点到最近的“0”的距离,即到in0的距离。
步骤4,按照下式,计算二进制矩阵中行和列的“0”数量方差f3:
其中,y表示二进制矩阵行的总数,z表示二进制矩阵列的总数,p表示行的序号,q表示列的序号,N(p)表示二进制矩阵中第p行“0”的个数,M(q)表示二进制矩阵中第q行“0”的个数,μ2表示二进制矩阵中行和列的“0”个数的平均值。
步骤5,将该二进制矩阵平铺为w位的二进制序列,w=n;将f1、f2和f3依次添加到二进制序列末尾后作为一个布局个体。
步骤6,重复执行步骤1至步骤5共100次,将得到的100个布局个体组成一个 100行w+3列的布局种群pa。
步骤7,使用多目标遗传算法求模型最优布局集。
将变异率设置为0.2、交叉率设置为0.8。
对布局种群pa中所有布局进行非支配排序和拥挤度排序;得到各布局的非支配等级和拥挤度值。
所述的对布局种群pa中所有布局进行非支配排序和拥挤度排序的步骤如下。
非支配排序:遍历整个种群,计算每个个体的被支配个数np和该个体支配的解的集合sp这两个参数;将种群中参数np=0的个体放入Pareto等级为1的集合F1中,并将这些解从原种群中剔除;对于每一个F1个体,将其支配解集合sp中的所有个体的np参数减1,遍历种群中剩余的所有解,得到新的np=0的个体放入F2集合中;以此类推将所有解划分至各级Pareto等级。
拥挤度排序:引入拥挤度xd,拥挤度排序经历如下步骤:令参数xd=0,x为种群内各个体;对于每个目标函数fm,首先根据该目标函数对该等级的个体进行排序,记为个体目标函数值fm的最大值,为个体目标函数值fm的最小值。对于排序后两个边界的拥挤度1d和Nd置为无穷。最后计算其中fm(i+1)是该个体排序后后一位的目标函数值。
依据各布局的非支配等级和拥挤度值,进行锦标赛选择得到种群pb;所述的锦标赛选择指的是从种群的100个个体中随机选择2个个体;选择较优的个体进入下一代,重复本步骤至得到新的100个个体。
对种群pb依次进行交叉、变异操作,得到种群pc;种群pc中的二进制矩阵被更新;采用与步骤2相同的方法,计算更新后的二进制矩阵的平均曼哈顿距离;采用与步骤3相同的方法,计算更新后的二进制矩阵的各节点与其最近“0”之间的曼哈顿距离的方差;采用与步骤4相同的方法,计算更新后的二进制矩阵的各行列“0”数量的方差;接着进行父代子代种群合并得到下一个种群pd,再次对种群pd中的布局进行非支配排序和拥挤度排序,利用求出的非支配等级和拥挤度值进行精英策略操作,得到种群pe。
所述的对种群pb依次进行交叉、变异操作的步骤如下。
交叉操作:交叉率为pc2,修改交叉过程,选取待交叉的两个父代,先进行常规交叉操作,之后判断各父代中内存控制器数量是否仍为s,若是则继续进行后续父代的交叉,若否,首先选取内存控制器数量少于s的父代,将其交叉段外的随机位置的“1”置为“0”,直到该父代内存控制器数量重新变为s,再选取内存控制器数量大于s的父代,将其交叉段外的随机位置的“0”置为“1”,直到该父代内存控制器数量重新变为s。
变异操作:变异率为pm2,在0~w中随机选取1个数字做变异点,若该点对应位置接内存控制器,则将其改为仅接处理器核,接着在剩余w-s个未接内存控制器的节点中任选一个接内存控制器。若所选变异点对应位置未接内存控制器,则对其添加内存控制器,接着在剩余s个已接内存控制器的节点中任选一个去掉内存控制器。
所述的精英策略操作指的是,在合并父代子代后的200个个体中,根据Pareto等级从低到高的顺序,将整个等级的种群放入下一代种群pn,直到某一级该级个体不能全部放入pn,将该级个体根据拥挤度从大到小排列,依次放入pn,直到pn填满数量 100。
重复锦标赛选择和交叉、变异操作600次,将得到的100个模型最优布局组成模型最优布局集。
步骤8,筛选实际最优布局。
使用黄金分割法结合全系统仿对模型最优布局集进行搜索,得到实际最优布局。
所述黄金分割法的步骤如下:
第1步,使用黄金分割法结合全系统仿真对模型最优布局集进行搜索,设解集区间左端点为a,右端点为b,设位置x1=a+0.382(b-a),位置x2=a+0.618(b-a)。
第2步,对位置x1处的布局p1分别进行13种的PARSEC应用仿真,得到13种时延仿真结果的平均值p1A。
第3步,对位置x2处的布局p2分别进行13种PARSEC应用仿真,得到13种时延仿真结果的平均值p2A。
第4步,比较p1A和p2A,若p1A大于p2A,去掉仿真结果p1A对应布局p1所在位置 x1的左边区间,令a=x1,x1=x2,x2=a+0.618(b-a);若p1A小于p2A,去掉仿真结果 p2A对应布局p2所在位置x2的右边区间,令b=x2,x2=x1,x1=a+0.382(b-a)。
第5步,判断b-a是否大于设定的精度μ,若是,则执行本步骤的第2步;否则,执行本步骤的第6步。
第6步,将b-a<μ时位置a上的布局作为实际最优布局。
下面结合图2对本发明的实施例1做进一步的描述。
实施例1
图2(a)为一种典型的内存控制器布局row_07的结构图,其中包括片上网络必要组件如路由器,接口,缓存,处理器,内存控制器,内存。在row_07布局中,内存控制器分列在网络上下两边缘(如图2(a)中黑色节点所示)。图2(b)和图2(c)为不同的内存控制器位置对流量路径产生影响的示意图,不同访存路径影响网络链路时延、网络拥塞度,使系统产生性能上的区别,由此可见存在内存控制器布局优化的需求。目前已有的部分内存控制器布局优化方案没有为优化目标建立足够精确的数学模型。即使模型足够精确,在求解过程中仍优化不彻底,或是需引入仿真,导致方案求解精确度降低或时间复杂度增加。基于以上种种缺点,本发明提出一种基于多目标遗传算法的多核系统内存控制器布局优化方法。
实施例2
实施例2是针对本发明“具体实施方式”中步骤2、步骤3以及步骤4中对网络跳数和网络拥塞度进行建模的原理描述:
A.确定问题的总优化目标为时延优化:选择处理器核与内存控制器间数据包的访问时延作为评价指标,表示为公式:Lat=LatNoC+LatMC。其中LatNoC表示片上传输时延,LatMC表示内存访问时延。
B.内存访问时延由两部分组成:第一部分,内存控制器队列时延。第二部分,内存访问时延。内存访问时延由存储类型决定,在该设计中设定各数据包内存访问时延相等。内存控制器队列时延由实际数据包排队等候的情况决定,它与网络拥塞程度相关。
C.片上传输时延可表示为如下公式:LatNoC=LatD+LatS=
(H×Tr+Dm×Tl+H×Tc)+(S/b)。其中LatD=H×Tr+Dm×Tl+H×Tc表示数据包的头部时延。H是包的网络跳数,Tr是数据包通过单个路由器的平均cycle数,则H×Tr代表路由器流水线总时延。其次,本设计设定相邻两路由器间的距离为单位距离,Tl为单位距离上的链路时延,Dm表示两节点间的曼哈顿距离,则Dm×Tl代表总链路时延。Tc表示数据包平均每跳的排队时延,则H×Tc代表总排队时延。LatS为序列化时延,它表示数据包剩余部分完成传输的时间,由公式S/b得到,其中S为数据包大小,b为链路带宽。
D.将总目标表示为三个子目标并为每个子目标建立数学模型:当内存控制器位置变化,会影响到3(a-c)中的四个部分:1)片上传输的路由器流水线时延。2)片上传输的链路时延。3)片上传输的排队时延。4)内存控制器队列时延。其中路由器时延和链路时延与节点间平均网络跳数相关,引出第一个目标函数f1,排队时延和内存控制器队列时延与网络拥塞度相关,引出第二个目标函数f2。此外,在基于确定性的X-Y路由时,如果多数内存控制器聚集在同一行或同一列中,数据包在转发时会在当前行列上造成更多的负载。所以为了进一步平衡流量,本设计在f2的基础上延申出f3,使各行列上的内存控制器数目尽量平均。f1,f2和f3将做为最小化优化目标,用于后续的多目标优化算法中。
E.本设计单独验证f1和f2的独立性,使用遗传算法求解并观察它们的收敛结果:其中f1以缩小平均跳数为目标,最后内存控制器布局结果会聚集在网络中央。而f2以减小网络拥塞度为目标,最后内存控制器布局结果会呈一定程度的分散状态。f3拥有多个分散的最优解,没有固定的收敛趋势,需和f2结合优化以满足拥塞度最小。由此可见这些目标函数互相制约,存在多目标优化的价值。
F.确定约束条件:设处理器核数量为n,内存控制器数量为m,需满足0<m<n。
此实施例对时延总目标进行了细分拆解,此前未有设计进行此项工作。得益于此,多目标函数的设计便有了更充分的依据,得出的数学模型精度更高,进而提升了优化结果的精度。
这套分解总优化目标为子目标,并建立各子目标函数的方法同样可以根据使用者需求而重构。使用者可以更换优化目标为功耗,面积等其它参数。并设计自己的目标函数。模型精度取决于设计的优良程度。但总体而言,该方案提供了这种扩展性,方便研究者进行自定义。
下面结合图3和图4对本发明的实施例3做进一步的描述。
实施例3
实施例3是依据本发明流程所进行的一次具体实现:
A.确定待优化的片上网络架构。
各处理器核外接专有一级缓存,其中数据域大小为64KB,指令域大小为32KB。二级缓存为多核共享,大小为2MB。外部存储为3GB的DDR3,整块内存分为8或 16个通道,每个通道对应一个内存控制器并连接片上网络中的某一路由器。确定网络模型为GEM5中的Ruby模块,详细构建路由器微架构、各种链路参数以及链路连接方式;将路由器连接至处理器核和缓存。路由器间使用Mesh为基本拓扑进行连接,但拓扑文件里单独为内存控制器节点预留端口。设置路由器流水线时延为1,节点间链路时延为1,单位为cycle。确定缓存一致性协议为MOESI_CMP_directory;确定路由方式为链路边权路由;确定处理器模型为TimingSimpleCPU。
B.对内存控制器布局优化问题建模。
总优化目标为时延优化,表示为公式:Lat=LatNoC+LatMC。LatNoC表示片上传输时延,表示为LatNoC=LatD+LatS=(H×Tr+Dm×Tl+H×Tc)+(S/b)。将其中所指的路由器时延和链路时延表示为目标函数将LatNoC中的排队时延和LatMC中的内存控制器队列时延表示为目标函数将各行列上的内存控制器数目平均。表示为目标函数
C.使用多目标遗传算法NSGA-2搜索得到Pareto最优解集。
1)设置种群数量为100;迭代数量600;目标函数数量为3;测试的约束条件为 64核16内存控制器,则生成8行8列的Mesh拓扑,决策变量数量为64,单个个体由 64位长的二进制序列和三个目标函数值组成;设置竞标赛选择参赛个体数为2;变异率为0.2;交叉率为0.8。
2)按照实施例4中的步骤执行算法,得到模型最优布局集,其中图3(a)为f1-f2- f3解的三维示意图,x轴对应f1,y轴对应f2,z轴对应f3,每个点对应Pareto最优的 f1,f2和f3的值;图3(b)为f1-f2解剖面图,x轴对应f1,y轴对应f2;图3(c)为f1-f3解剖面图,x轴对应f1,y轴对应f3;图3(d)为f2-f3解剖面图,x轴对应f2,y轴对应 f3。
D.筛选最优解。
在解集区间里,取区间0.618位置处的布局p1,对该布局进行13种PARSEC应用仿真,得到这些应用下的平均网络时延p1A;取0.618对称点0.382处的布局p2,进行blackscholes,bodytrack,canneal,dedup,facesim,ferret,fluidanimate,freqmine,rtview,streamcluster,swaptions,vips,x264的应用仿真并得到这些应用下的平均网络时延p2A;比较p1A和p2A的大小,去掉仿真结果较差的点外部的区间;在新的区间里,在余下的仿真结果较好的点的对称点处取值,进行仿真并得到结果p3A,再比较 p2A和p3A大小,去掉仿真结果较差的点外部的区间。以此类推,逐步缩小布局集区间范围,当区间范围小于精度0.5,选择最后一个迭代点对应的布局为最优布局。
重复运行4次上述C和D步骤。最终得到图4为四种性能相仿的最优布局结构示意图(四种示例):
①10111011 11101110 01110111 11011101 10111011 11101110 0111011111011101
②11110111 10111101 01101111 11011010 11010111 01111101 1110110110111011
③11011011 11011110 01110111 10111101 01110111 11101110 1011101111101101
④10111101 11010111 01111110 11101011 11101110 00111111 1111010111011011 。
Claims (6)
1.一种基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,进行建模预处理,将片上网络的布局形式转化为二进制矩阵;计算二进制矩阵中“0”、“1”节点间的平均曼哈顿距离f1、各节点与其最近“0”之间的曼哈顿距离的方差f2,以及各行列的“0”数量方差f3;将f1,f2和f3作为多目标遗传算法的适应度函数;对算法中的交叉和变异过程做修改,满足约束条件并保证交叉变异的随机性和产生优秀子代的效果;完成搜索后得到模型最优布局集,使用黄金分割法结合全系统仿真筛选出实际最优布局,该方法的步骤包括如下:
(1)将一种片上网络的布局形式转化为二进制矩阵:
1a)将有n个路由器的片上网络布局形式以Mesh拓扑相连,选择Mesh网络中m个位置连接内存控制器(m<n),若这m个位置与已有布局形式中内存控制器的位置重合,则重新创建布局形式,若这m个位置与已有布局形式中内存控制器的位置不重合,则新布局创建成功,各路由器继续分别连接一个本地处理器;
1b)将所创建布局形式转化为二进制矩阵:对应拓扑定义一个的空矩阵,定义空矩阵中s个位置对应1a)中连接内存控制器的m个路由器的位置,s=m,将这s个位置赋值为“0”,将空矩阵中n-s个剩余位置赋值为“1”,“1”表示在片上网络中仅连接处理器核的路由器的位置,由此将该布局形式的位置信息转化成的二进制矩阵;
(2)计算平均曼哈顿距离:
2a)计算每个节点与每个“0”对应位置之间的曼哈顿距离;
(3)按照下式,计算各节点与其最近“0”之间的曼哈顿距离的方差f2:
其中,H(i,in0)表示第i个节点到最近的“0”的距离,即到in0的距离;
(4)按照下式,计算二进制矩阵中行和列的“0”数量方差f3:
其中,y表示二进制矩阵行的总数,z表示二进制矩阵列的总数,p表示行的序号,q表示列的序号,N(p)表示二进制矩阵中第p行“0”的个数,M(q)表示二进制矩阵中第q行“0”的个数,μ2表示二进制矩阵中行和列的“0”个数的平均值;
(5)将该二进制矩阵平铺为w位的二进制序列,w=n;将f1、f2和f3依次添加到二进制序列末尾后作为一个布局个体;
(6)重复执行步骤(1)-(5)100次,将得到的100个布局个体组成一个100行w+3列的布局种群pa;
(7)使用多目标遗传算法求模型最优布局集:
7a)将变异率设置为0.2、交叉率设置为0.8;
7b)对布局种群pa中所有布局进行非支配排序和拥挤度排序;得到各布局的非支配等级和拥挤度值;
7c)依据各布局的非支配等级和拥挤度值,进行锦标赛选择得到种群pb;
7d)对种群pb依次进行交叉、变异操作,得到种群pc;种群pc中的二进制矩阵被更新;采用与步骤(2)相同的方法,计算更新后的二进制矩阵的平均曼哈顿距离;采用与步骤(3)相同的方法,计算更新后的二进制矩阵的各节点与其最近“0”之间的曼哈顿距离的方差;采用与步骤(4)相同的方法,计算更新后的二进制矩阵的各行列“0”数量的方差;接着进行父代子代种群合并得到下一个种群pd,再次对种群pd中的布局进行非支配排序和拥挤度排序,利用求出的非支配等级和拥挤度值进行精英策略操作,得到种群pe;
7e)重复步骤7c)到7d)600次,将得到的100个模型最优布局组成模型最优布局集;
(8)筛选实际最优布局:
使用黄金分割法结合全系统仿真对模型最优布局集进行搜索,得到实际最优布局。
2.根据权利要求1所述的基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,步骤(7b)中所述的对布局种群pa中所有布局进行非支配排序和拥挤度排序的步骤为:
第一步,非支配排序:遍历整个种群,计算每个个体的被支配个数np和该个体支配的解的集合sp这两个参数;将种群中参数np=0的个体放入Pareto等级为1的集合F1中,并将这些解从原种群中剔除;对于每一个F1个体,将其支配解集合sp中的所有个体的np参数减1,遍历种群中剩余的所有解,得到新的np=0的个体放入F2集合中;以此类推将所有解划分至各级Pareto等级;
3.根据权利要求1所述的基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,步骤(7c)中所述的锦标赛选择指的是从种群的100个个体中随机选择2个个体;选择较优的个体进入下一代,重复本步骤至得到新的100个个体。
4.根据权利要求1所述的基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,步骤(7d)中所述的对种群pb依次进行交叉、变异操作的步骤如下:
第一步,交叉操作:交叉率为pc2,修改交叉过程,选取待交叉的两个父代,先进行常规交叉操作,之后判断各父代中内存控制器数量是否仍为s,若是则继续进行后续父代的交叉,若否,首先选取内存控制器数量少于s的父代,将其交叉段外的随机位置的“1”置为“0”,直到该父代内存控制器数量重新变为s,再选取内存控制器数量大于s的父代,将其交叉段外的随机位置的“0”置为“1”,直到该父代内存控制器数量重新变为s;
第二步,变异操作:变异率为pm2,在0~w中随机选取1个数字做变异点,若该点对应位置接内存控制器,则将其改为仅接处理器核,接着在剩余w-s个未接内存控制器的节点中任选一个接内存控制器。若所选变异点对应位置未接内存控制器,则对其添加内存控制器,接着在剩余s个已接内存控制器的节点中任选一个去掉内存控制器。
5.根据权利要求1所述的基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,步骤(7d)中所述的精英策略操作指的是,在合并父代子代后的200个个体中,根据Pareto等级从低到高的顺序,将整个等级的种群放入下一代种群pn,直到某一级该级个体不能全部放入pn,将该级个体根据拥挤度从大到小排列,依次放入pn,直到pn填满数量100。
6.根据权利要求1所述的基于多目标遗传算法的片上网络内存控制器布局方法,其特征在于,步骤(8)所述黄金分割法的步骤如下:
第一步,使用黄金分割法结合全系统仿真对模型最优布局集进行搜索,设解集区间左端点为a,右端点为b,设位置x1=a+0.382(b-a),位置x2=a+0.618(b-a);
第二步,对位置x1处的布局p1分别进行13种的PARSEC应用仿真,得到13种时延仿真结果的平均值p1A;
第三步,对位置x2处的布局p2分别进行13种PARSEC应用仿真,得到13种时延仿真结果的平均值p2A;
第四步,比较p1A和p2A,若p1A大于p2A,去掉仿真结果p1A对应布局p1所在位置x1的左边区间,令a=x1,x1=x2,x2=a+0.618(b-a);若p1A小于p2A,去掉仿真结果p2A对应布局p2所在位置x2的右边区间,令b=x2,x2=x1,x1=a+0.382(b-a);
第五步,判断b-a是否大于设定的精度μ,若是,则执行本步骤的第二步;否则,执行本步骤的第六步;
第六步,将b-a<μ时位置a上的布局作为实际最优布局。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054962.7A CN112181867B (zh) | 2020-09-29 | 2020-09-29 | 基于多目标遗传算法的片上网络内存控制器布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011054962.7A CN112181867B (zh) | 2020-09-29 | 2020-09-29 | 基于多目标遗传算法的片上网络内存控制器布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181867A true CN112181867A (zh) | 2021-01-05 |
CN112181867B CN112181867B (zh) | 2022-07-26 |
Family
ID=73945982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011054962.7A Active CN112181867B (zh) | 2020-09-29 | 2020-09-29 | 基于多目标遗传算法的片上网络内存控制器布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181867B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800547A (zh) * | 2021-01-29 | 2021-05-14 | 中国科学院电工研究所 | 电动汽车电机控制器的布局优化方法、装置及存储介质 |
CN113709056A (zh) * | 2021-08-26 | 2021-11-26 | 无锡沐创集成电路设计有限公司 | 内存流量控制方法、装置、存储介质及电子设备 |
CN113726462A (zh) * | 2021-07-30 | 2021-11-30 | 浪潮电子信息产业股份有限公司 | 一种PCIe虚拟信道选择方法、装置、系统及介质 |
CN113794651A (zh) * | 2021-08-17 | 2021-12-14 | 镕铭微电子(济南)有限公司 | 一种基于AI智能化的NoC数据流优化方法及装置 |
CN113935556A (zh) * | 2021-12-16 | 2022-01-14 | 中船重工(武汉)凌久高科有限公司 | 一种基于dna遗传算法的温度传感器优化布置方法 |
CN114296809A (zh) * | 2021-12-24 | 2022-04-08 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
EP4044079A1 (de) * | 2021-02-15 | 2022-08-17 | Siemens Aktiengesellschaft | System zur raum- und/oder flächenplanung, verwendung eines genetischen algorithmus |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168249A1 (en) * | 2007-01-08 | 2008-07-10 | International Business Machines Corporation | Method and system for determining optimal data layout using blind justice |
CN104317612A (zh) * | 2014-10-14 | 2015-01-28 | 中国航天科工集团第二研究院七〇六所 | 龙芯处理器内存控制器参数交互式调试的方法 |
CN105320808A (zh) * | 2015-09-23 | 2016-02-10 | 辽宁石油化工大学 | 基于nsga算法的管路多目标布局优化方法 |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
US20170118111A1 (en) * | 2015-10-27 | 2017-04-27 | HGST Netherlands B.V. | Multilayer 3d memory based on network-on-chip interconnection |
GB201717125D0 (en) * | 2016-11-28 | 2017-11-29 | National Univ Of Defense Technology | Differential evolution method oriented to agile satellite multi-target task planning |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
CN108183860A (zh) * | 2018-01-19 | 2018-06-19 | 东南大学 | 基于粒子群算法的二维片上网络自适应路由方法 |
CN108573114A (zh) * | 2018-05-09 | 2018-09-25 | 西南交通大学 | 一种基于多种群遗传算法的车间多目标优化总体布局方法 |
CN109460294A (zh) * | 2018-10-13 | 2019-03-12 | 中国人民解放军战略支援部队信息工程大学 | 一种基于面积优先和动态遗传算法的可重构任务布局方法 |
CN109917754A (zh) * | 2019-03-14 | 2019-06-21 | 湘潭大学 | 一种基于多种群分布估计算法的机器人装配单元多目标布局优化方法 |
CN109932903A (zh) * | 2019-02-25 | 2019-06-25 | 北京妙微科技有限公司 | 多父代优化网络和遗传算法的风机控制多目标优化方法 |
CN110033118A (zh) * | 2019-02-25 | 2019-07-19 | 浙江工业大学 | 弹性网络建模且基于遗传算法的风机多目标优化控制方法 |
US20200026992A1 (en) * | 2016-09-29 | 2020-01-23 | Tsinghua University | Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system |
CN110912718A (zh) * | 2018-09-14 | 2020-03-24 | 天津工业大学 | 一种降低异构三维片上网络布图功耗的方法 |
CN111061569A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种基于遗传算法的异构多核处理器任务分配与调度策略 |
AU2020101453A4 (en) * | 2020-07-23 | 2020-08-27 | China Communications Construction Co., Ltd. | An Intelligent Optimization Method of Durable Concrete Mix Proportion Based on Data mining |
-
2020
- 2020-09-29 CN CN202011054962.7A patent/CN112181867B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168249A1 (en) * | 2007-01-08 | 2008-07-10 | International Business Machines Corporation | Method and system for determining optimal data layout using blind justice |
CN105450555A (zh) * | 2014-09-26 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
WO2016045411A1 (zh) * | 2014-09-26 | 2016-03-31 | 华为技术有限公司 | 一种片上网络系统,及片上网络通信链路的建立方法 |
CN104317612A (zh) * | 2014-10-14 | 2015-01-28 | 中国航天科工集团第二研究院七〇六所 | 龙芯处理器内存控制器参数交互式调试的方法 |
CN105320808A (zh) * | 2015-09-23 | 2016-02-10 | 辽宁石油化工大学 | 基于nsga算法的管路多目标布局优化方法 |
US20170118111A1 (en) * | 2015-10-27 | 2017-04-27 | HGST Netherlands B.V. | Multilayer 3d memory based on network-on-chip interconnection |
US20200026992A1 (en) * | 2016-09-29 | 2020-01-23 | Tsinghua University | Hardware neural network conversion method, computing device, compiling method and neural network software and hardware collaboration system |
WO2018072351A1 (zh) * | 2016-10-20 | 2018-04-26 | 北京工业大学 | 一种基于粒子群优化算法对支持向量机的优化方法 |
GB201717125D0 (en) * | 2016-11-28 | 2017-11-29 | National Univ Of Defense Technology | Differential evolution method oriented to agile satellite multi-target task planning |
CN108183860A (zh) * | 2018-01-19 | 2018-06-19 | 东南大学 | 基于粒子群算法的二维片上网络自适应路由方法 |
CN108573114A (zh) * | 2018-05-09 | 2018-09-25 | 西南交通大学 | 一种基于多种群遗传算法的车间多目标优化总体布局方法 |
CN110912718A (zh) * | 2018-09-14 | 2020-03-24 | 天津工业大学 | 一种降低异构三维片上网络布图功耗的方法 |
CN109460294A (zh) * | 2018-10-13 | 2019-03-12 | 中国人民解放军战略支援部队信息工程大学 | 一种基于面积优先和动态遗传算法的可重构任务布局方法 |
CN109932903A (zh) * | 2019-02-25 | 2019-06-25 | 北京妙微科技有限公司 | 多父代优化网络和遗传算法的风机控制多目标优化方法 |
CN110033118A (zh) * | 2019-02-25 | 2019-07-19 | 浙江工业大学 | 弹性网络建模且基于遗传算法的风机多目标优化控制方法 |
CN109917754A (zh) * | 2019-03-14 | 2019-06-21 | 湘潭大学 | 一种基于多种群分布估计算法的机器人装配单元多目标布局优化方法 |
CN111061569A (zh) * | 2019-12-18 | 2020-04-24 | 北京工业大学 | 一种基于遗传算法的异构多核处理器任务分配与调度策略 |
AU2020101453A4 (en) * | 2020-07-23 | 2020-08-27 | China Communications Construction Co., Ltd. | An Intelligent Optimization Method of Durable Concrete Mix Proportion Based on Data mining |
Non-Patent Citations (6)
Title |
---|
DENNIS ABTS 等: "Achieving predictable performance through better memory controller placement in many-coreCMPs", 《ISCA "09: PROCEEDINGS OF THE 36TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE》 * |
TING-RU LIN 等: "Design Space Exploration of Memory Controller Placement in Throughput Processors with Deep Learning", 《IEEE COMPUTER ARCHITECTURE LETTERS》 * |
WENTING WEI 等: "Energy Efficient Virtual Machine Placement With an Improved Ant Colony Optimization Over Data Center Networks", 《 IEEE ACCESS》 * |
于洋等: "基于学习的遗传算法及其在布局中的应用", 《计算机学报》 * |
刘凌云 等: "片上网络映射优化问题研究与进展", 《计算机应用研究》 * |
路艳雪等: "基于改进的NSGA-Ⅱ多目标优化方法研究", 《计算机应用研究》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800547A (zh) * | 2021-01-29 | 2021-05-14 | 中国科学院电工研究所 | 电动汽车电机控制器的布局优化方法、装置及存储介质 |
CN112800547B (zh) * | 2021-01-29 | 2024-03-08 | 中国科学院电工研究所 | 电动汽车电机控制器的布局优化方法、装置及存储介质 |
EP4044079A1 (de) * | 2021-02-15 | 2022-08-17 | Siemens Aktiengesellschaft | System zur raum- und/oder flächenplanung, verwendung eines genetischen algorithmus |
WO2022171462A1 (de) * | 2021-02-15 | 2022-08-18 | Siemens Aktiengesellschaft | System zur raum- und/oder flächenplanung, verwendung eines genetischen algorithmus |
CN113726462A (zh) * | 2021-07-30 | 2021-11-30 | 浪潮电子信息产业股份有限公司 | 一种PCIe虚拟信道选择方法、装置、系统及介质 |
CN113794651A (zh) * | 2021-08-17 | 2021-12-14 | 镕铭微电子(济南)有限公司 | 一种基于AI智能化的NoC数据流优化方法及装置 |
CN113709056A (zh) * | 2021-08-26 | 2021-11-26 | 无锡沐创集成电路设计有限公司 | 内存流量控制方法、装置、存储介质及电子设备 |
CN113935556A (zh) * | 2021-12-16 | 2022-01-14 | 中船重工(武汉)凌久高科有限公司 | 一种基于dna遗传算法的温度传感器优化布置方法 |
CN114296809A (zh) * | 2021-12-24 | 2022-04-08 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
CN114296809B (zh) * | 2021-12-24 | 2023-05-05 | 深圳航天科技创新研究院 | 一种基于操作系统的对象模型构建方法及其系统调用接口 |
Also Published As
Publication number | Publication date |
---|---|
CN112181867B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181867B (zh) | 基于多目标遗传算法的片上网络内存控制器布局方法 | |
CN116629189B (zh) | 一种集成电路的布局生成方法及装置 | |
CN114492770A (zh) | 一种面向循环脉冲神经网络的类脑计算芯片映射方法 | |
CN113673196A (zh) | 一种基于可布线性预测的全局布线优化方法 | |
Wang et al. | Latency-aware mapping for 3D NoC using rank-based multi-objective genetic algorithm | |
CN114997088B (zh) | 一种布线和tdm比率快速优化方法 | |
CN103595652B (zh) | 一种电力通信网络中QoS能效的分级方法 | |
Russo et al. | MEDEA: A multi-objective evolutionary approach to DNN hardware mapping | |
CN103984828A (zh) | 一种温度均衡的三维片上网络核映射方法与系统 | |
CN108108554B (zh) | 一种多材料车身装配顺序规划优化方法 | |
CN111462812B (zh) | 一种基于特征层次的多目标系统发育树构建方法 | |
Yao et al. | Hybrid evolutionary approaches to terminal assignment in communications networks | |
Lai et al. | Floorplan-aware application-specific network-on-chip topology synthesis using genetic algorithm technique | |
CN113285832B (zh) | 基于nsga-ii的电力多模态网络资源优化分配方法 | |
CN112001141B (zh) | 脑网络启发的中大规模片上互连系统综合方法 | |
CN106526450B (zh) | 一种多目标NoC测试规划优化方法 | |
WO2022068880A1 (zh) | 一种量子拓扑图优化方法、装置、终端及存储介质 | |
CN110336694B (zh) | 基于Petri网与IFA的3D NoC测试调度方法 | |
Sangwan et al. | An efficient approach to VLSI circuit partitioning using evolutionary algorithms | |
CN113298315A (zh) | 一种基于双层编码的电动汽车充电站选址优化方法 | |
CN115600537B (zh) | 一种基于双层优化的大规模集成电路布局优化方法 | |
Sepúlveda et al. | A multi-objective adaptive immune algorithm for NoC mapping | |
Praveen | Multi-objective memetic algorithm for FPGA placement using parallel genetic annealing | |
CN109582986A (zh) | 一种功耗限制下三维片上网络测试端口选择优化的方法 | |
CN111695316B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |