CN109491791B - 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置 - Google Patents

基于申威众核处理器的nsga-ii的主从增强式运行方法及装置 Download PDF

Info

Publication number
CN109491791B
CN109491791B CN201811334124.8A CN201811334124A CN109491791B CN 109491791 B CN109491791 B CN 109491791B CN 201811334124 A CN201811334124 A CN 201811334124A CN 109491791 B CN109491791 B CN 109491791B
Authority
CN
China
Prior art keywords
core
individuals
slave
core group
effective
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.)
Active
Application number
CN201811334124.8A
Other languages
English (en)
Other versions
CN109491791A (zh
Inventor
刘垚
廖启丹
段燕红
陈美君
王肃
郑凯
郑琳
魏同权
胡锰涛
刘力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN201811334124.8A priority Critical patent/CN109491791B/zh
Publication of CN109491791A publication Critical patent/CN109491791A/zh
Application granted granted Critical
Publication of CN109491791B publication Critical patent/CN109491791B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Physiology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供一种基于申威众核处理器的NSGA‑II的主从增强式运行方法及装置,本发明不仅将个体间无关联性的适应度函数分配到各个从核中并行执行,而且将个体间关联性较大的非支配排序和拥挤度计算也分配到各个从核中并行执行,提高了从核的利用率和并行效率;此外,各个从核采用DMA方式与主核进行通信,在非支配排序和拥挤度计算过程中,从核之间按蛇形且首尾相连的环形从核序列进行寄存器通信,有效缓解了单个从核上过多的个体数量与有限的局部数据存储空间的矛盾。

Description

基于申威众核处理器的NSGA-II的主从增强式运行方法及 装置
技术领域
本发明涉及计算机领域,特别是涉及基于申威众核处理器的NSGA-II的主从增强式并行化运行方法及装置。
背景技术
“神威·太湖之光”计算机系统全面采用了申威众核处理器。申威众核处理器集成4个运算核组,每个核组包含1个主核和64个从核;每核组内,主核主存为8GB,从核的局部数据存储为64KB,从核可直接离散访问主存,也可以通过DMA方式批量访问主存,同行与同列的从核间可采用寄存器通信方式进行通信。
NSGA-II算法是Srinivas和Deb于2000年在NSGA的基础上提出的,比NSGA算法更加优越。NSGA-II采用非支配排序算法,降低了计算的复杂度;引入精英策略,将父代种群跟子代种群进行合并,扩大了采样空间,使得下一代的种群从双倍的空间中进行选取,保留了父代中优秀的个体;采用拥挤度计算,克服了NSGA中需要人为指定共享参数的缺陷;提出将拥挤度作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。
在现有的处理器上NSGA-II算法的并行化过程通常存在以下问题:1)在进行适应度函数的运算时,通信开销较大;2)非支配排序和拥挤度计算是个体间关联性较大的操作,往往无法并行执行;3)申威众核处理器的主核主存访问速度慢,无法满足算法的运行要求;4)申威众核处理器的单个从核内局部数据存储容量过小,无法满足大量个体的存储需求。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于申威众核处理器的NSGA-II的主从增强式运行方法及装置,用于解决现有技术中计算机并行化NSGA-II算法时的通信开销大、部分操作关联性大、主核主存访问速度慢、单个从核局部数据存储不足等的问题。
为实现上述目的及其他相关目的,本发明提供基于申威众核处理器的NSGA-II的主从增强式运行方法,所述申威众核处理器包括4个核组,每个核组包括1个主核和64个从核,所述方法应用于申威众核处理器的1个核组中,包括以下步骤:步骤S101:在所述核组的所述主核内初始化进化代数及第一种群P;其中,所述第一种群P由N个第一有效个体组成;步骤S102:在所述核组的所述主核内对初始化后的所述第一种群P进行解码;步骤S103:在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述核组的64个从核中,所述核组的所述64个从核并行地计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数值传输至所述核组的所述主核内;步骤S104:对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;步骤S105:在所述核组的所述主核内对所述第二种群Q进行解码;步骤S106:在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行地计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;步骤S107:在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体;步骤S108:在所述核组的所述主核内将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述64个从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在所述预设序列中由前序从核向相邻的后序从核发送数据;步骤S109:所述核组的所述64个从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述64个从核按照所述预设序列进行单向的寄存器通信;步骤S110:将所述核组的所述64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;步骤S111:判断所述新的进化代数是否小于预设的代数阈值,若否,则执行步骤S112;若是,则执行步骤S113;步骤S112:运行终止;步骤S113:令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并跳转至所述步骤S104。
于本发明一具体实施例中,所述核组的所述主核与所述核组的所述从核通过DMA方式进行通信;在所述非支配排序和拥挤度计算过程中,所述核组的所述从核之间按所述序列进行寄存器通信。
于本发明一具体实施例中,所述非支配排序的过程至少包括:步骤S201:所述核组的所述从核中的当前第三有效个体与所述当前第三有效个体所在的从核的其他第三有效个体进行非支配关系比较后,根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中以与所述核组的其他的从核中的第三有效个体进行所述非支配关系的比较,直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则完成了当前第三有效个体与所述核组的所有从核中其他第三有效个体的比较;步骤S202:当所述核组的所有从核中的所有所述第三有效个体均完成所述步骤S201的比较过程后,令所述核组的所有从核内未被分层且未被支配的所述第三有效个体作为本层个体,并标记为已分层个体,以完成本次分层;步骤S203:统计所述核组的所有从核内未被分层的所述第三有效个体的数量,根据所述统计结果判断所述核组的所有从核是否完全分层,若是,则向所述核组的所有从核广播停止指令,以结束所述非支配排序;若否,则返回所述步骤S201。
于本发明一具体实施例中,统计所述核组的所有从核内未被分层的所述第三有效个体的数量的步骤包括:根据所述核组的所述从核间的所述预设序列,从编号为0的从核开始,依次获取当前从核中的未分层的所述第三有效个体的数量并传输至所述核组的下一个从核以进行累加,直到所述编号为0的从核接收到编号为56的从核发送的数据以计算得到所述统计结果。
于本发明一具体实施例中,所述核组的所述从核对接收到的所述第三有效个体进行拥挤度计算的过程包括:步骤S301:针对每个适应度函数,一所述核组的所述从核中的当前第三有效个体与所述当前第三有效个体所在的从核内的其他第三有效个体进行适应度函数值的比较,并记录当前第三有效个体所在层中比当前第三有效个体大的个体数量;步骤S302:根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,与所述核组的其他的从核中的第三有效个体进行适应度函数值的比较,并记录所述核组的其他的从核中的当前第三有效个体所在层中比当前第三有效个体大的个体数量;步骤S303:直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则针对每个适应度函数完成了当前第三有效个体与所述核组的所有从核中的其他第三有效个体的比较,并统计所述核组的所有从核中的当前第三有效个体所在层中比当前第三有效个体大的所有个体数量,即可得到针对每个适应度函数的当前第三有效个体在当前第三有效个体所在层中的序号;步骤S304:当所述核组的所有从核中所有所述第三有效个体均完成所述步骤S301、S302、S303的过程后,即得到针对每个适应度函数的所有所述第三有效个体在所有所述第三有效个体所在层中的序号,完成了每层内所有所述第三有效个体针对每个适应度函数的排序;步骤S305:针对每个适应度函数,一所述核组的所述从核中所述当前第三有效个体在所述当前第三有效个体所在从核内寻找当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;步骤S306:根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,在所述核组的其他从核内寻找所述当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;步骤S307:直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则针对每个适应度函数计算所述当前第三有效个体与所述当前第三有效个体所在层中相邻的两个个体的适应度函数值差值的和,将每个适应度函数对应的所述差值的和进行累加,即得到所述当前第三有效个体的拥挤度距离;步骤S308:当所述核组的所有从核中所有所述第三有效个体均完成所述步骤S305、S306、S307的过程后,即完成了所述核组的所有从核中所有所述第三有效个体的拥挤度距离的计算。
于本发明一具体实施例中,在所述预设序列中编号为i的从核的相邻后序从核的编号nextID的计算公式为:
Figure BDA0001860755200000041
为实现上述目的及其他相关目的,本发明还提供一种基于申威众核处理器的NSGA-II的主从增强式运行装置,应用于申威众核处理器的1个核组中,所述装置包括:初始化模块,用以在所述核组的所述主核内初始化进化代数及第一种群P;其中,所述第一种群P由N个第一有效个体组成;第一解码模块,用以在所述核组的所述主核内对初始化后的所述第一种群P进行解码;第一传输模块,用以在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行的计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数传输值至所述核组的所述主核内;交叉变异模块,用以对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;第二解码模块,用以在所述核组的所述主核内对所述第二种群Q进行解码;第二传输模块,用以在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行地计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;合并模块,用以在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体;排序模块,用以在所述核组的所述主核内将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述64个从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在所述序列中由前序从核向相邻的后序从核发送数据;拥挤度计算模块,用以所述核组的所述64个从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述64个从核按照所述预设序列进行单向的寄存器通信;删选模块,用以将所述核组的64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;判断模块,用以判断所述新的进化代数是否小于预设的代数阈值,若否,则运行终止;若是,则令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并重新执行所述交叉变异模块、所述第二解码模块、所述第二传输模块、所述合并模块、所述排序模块、所述拥挤度计算模块、所述删选模块以及所述判断模块。
如上所述,本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法及装置,本发明不仅将个体间无关联性的适应度函数分配到各个从核中并行执行,而且将个体间关联性较大的非支配排序和拥挤度计算也分配到各个从核中并行执行,提高了从核的利用率和并行效率;此外,各个从核采用DMA方式与主核进行通信,在非支配排序和拥挤度计算过程中,从核之间按蛇形且首尾相连的环形从核序列进行寄存器通信,有效缓解了单个从核上过多的个体数量与有限的局部数据存储空间的矛盾。综上,本发明提高了从核的利用率和并行效率,有效缓解了单个从核上过多的个体数量与有限的局部数据存储空间的矛盾。
附图说明
图1显示为本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法在一具体实施例中的流程示意图。
图2显示为本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法在一具体实施例中的流程示意图。
图3显示为本发明的从核在一具体实施例中的通信序列示意图。
图4显示为本发明应用的非支配排序的流程示意图。
图5显示为本发明应用的拥挤度计算的流程示意图。
图6应用Binkorn函数的串行和主从增强式运行的解集对比示意图。
元件标号说明
步骤S101~步骤S113 流程步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提出一种基于申威众核处理器的NSGA-II的主从增强式运行方法,不仅将个体间无关联性的适应度函数分配到各从核中并行执行,而且将个体间关联性较大的非支配排序和拥挤度计算也分配到各从核中并行执行,提高了从核的利用率和并行效率;此外,从核采用DMA方式与主核进行通信,在非支配排序和拥挤度计算过程中,从核之间按蛇形且首尾相连的环形从核序列进行寄存器通信,有效缓解了单个从核过多的上个体数量与有限的局部数据存储空间的矛盾。
NSGA-Ⅱ是多目标遗传算法之一,它降低了非劣排序遗传算法的复杂性,具有运行速度快,解集的收敛性好的优点,成为其他多目标优化算法性能的基准。NSGA-II采用非支配排序算法,降低了计算的复杂度;引入精英策略,将父代种群跟子代种群进行合并,扩大了采样空间,使得下一代的种群从双倍的空间中进行选取,保留了父代中优秀的个体;采用拥挤度计算,克服了NSGA中需要人为指定共享参数的缺陷;提出将拥挤度作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。
请参阅图1,显示为本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法在一具体实施例中的流程示意图。
所述申威众核处理器包括4个核组,每个核组包括1个主核和64个从核,所述基于申威众核处理器的NSGA-II的主从增强式运行方法应用于申威众核处理器的1个核组中,所述方法包括以下步骤:
步骤S101:在所述核组的所述主核内初始化进化代数及第一种群P;其中,所述第一种群P由N个第一有效个体组成;
步骤S102:在所述核组的所述主核内对初始化后的所述第一种群P进行解码;
步骤S103:在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行的计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数值传输至所述核组的所述主核内;于本发明一具体实施例中,所述核组的所述主核与所述核组的所述从核通过DMA方式进行通信。
步骤S104:对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;
步骤S105:在所述核组的所述主核内对所述第二种群Q进行解码;
步骤S106:在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行的计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;
步骤S107:在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体。
步骤S108:在所述核组的所述主核内,将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述64个从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在所述序列中由前序从核向相邻的后序从核发送数据;
于一具体实施例中,所述非支配排序的过程至少包括如下所述的流程:
1):一所述核组的所述从核中的当前第三有效个体与所述当前第三有效个体所在的从核的其他第三有效个体进行非支配关系比较后,根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中以与所述核组的其他的从核中的第三有效个体进行所述非支配关系的比较,直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则完成了当前第三有效个体与所述核组的所有从核中其他第三有效个体的比较;
2):当所述核组的所有从核中的所有所述第三有效个体均完成所述步骤的比较过程后,令所述核组的所有从核内未被分层且未被支配的所述第三有效个体作为本层个体,并标记为已分层个体,以完成本次分层;
3):统计所述核组的所有从核内未被分层的所述第三有效个体的数量,根据所述统计结果判断所述核组的所有从核是否完全分层,若是,则向所述核组的所有从核广播停止指令,以结束所述非支配排序;若否,则返回所述步骤1)。于一具体实施例中,统计所述核组的所有从核内未被分层的所述第三有效个体的数量的步骤包括:统计所述核组的所有从核内未被分层的所述第三有效个体的数量的步骤包括:根据所述核组的所述从核间的所述预设序列,从编号为0的从核开始,依次获取当前从核中的未分层的所述第三有效个体的数量并传输至所述核组的下一个从核以进行累加,直到所述编号为0的从核接收到编号为56的从核发送的数据以计算得到所述统计结果。
步骤S109:所述核组的所述64个从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述64个从核按照所述预设序列进行单向的寄存器通信。于一具体实施例中,所述核组的所述从核对接收到的所述第三有效个体进行所述拥挤度计算的过程至少包括如下所述的流程:
1'):针对每个适应度函数,一所述核组的从核中的当前第三有效个体与所述当前第三有效个体所在的从核内的其他第三有效个体进行适应度函数值的比较,并记录当前第三有效个体所在层中比当前第三有效个体大的个体数量;
2'):根据所述核组的从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,与所述核组的其他的从核中的第三有效个体进行适应度函数值的比较,并记录所述核组的其他的从核中的当前第三有效个体所在层中比当前第三有效个体大的个体数量;
3'):直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的从核,则针对每个适应度函数完成了当前第三有效个体与所述核组的所有从核中的其他第三有效个体的比较,并统计所述核组的所有从核中的当前第三有效个体所在层中比当前第三有效个体大的所有个体数量,即可得到针对每个适应度函数的当前第三有效个体在当前第三有效个体所在层中的序号;
4'):当所述核组的所有从核中所有所述第三有效个体均完成所述步骤1')、2')、3')的过程后,即得到针对每个适应度函数的所有所述第三有效个体在所有所述第三有效个体所在层中的序号,完成了每层内所有所述第三有效个体针对每个适应度函数的排序;
5'):针对每个适应度函数,一所述核组的从核中所述当前第三有效个体在所述当前第三有效个体所在从核内寻找当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;
6'):根据所述核组的从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,在所述核组的其他从核内寻找所述当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;
7'):直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的从核,则针对每个适应度函数计算所述当前第三有效个体与所述当前第三有效个体所在层中相邻的两个个体的适应度函数值差值的和,将每个适应度函数对应的所述差值的和进行累加,即得到所述当前第三有效个体的拥挤度距离;
8'):当所述核组的所有从核中所有所述第三有效个体均完成所述步骤5')、6')、7')的过程后,即完成了所述核组的所有从核中所有所述第三有效个体的拥挤度距离的计算。
步骤S110:将所述核组的所述64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;
步骤S111:判断所述新的进化代数是否小于预设的代数阈值,若否,则执行步骤S112;若是,则执行步骤S113;
步骤S112:运行终止;
步骤S113:令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并跳转至所述步骤S104。
本发明根据众核处理器的主核和从核的特点,设计了一种基于申威众核处理器的并行NSGA-II的主从增强模式,该模式是指:主核负责初始化、解码、交叉、变异、选择、合并、从核任务调度等工作;从核不仅负责个体间无关联性的适应度函数计算的并行执行的工作,而且负责个体间关联性较大的非支配排序和拥挤度计算的并行执行的工作;64个从核采用DMA方式与主核进行通信,在非支配排序和拥挤度计算过程中,从核之间按蛇形且首尾相连的环形从核序列进行寄存器通信。
进一步参阅图2,显示为本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法在一具体实施例中的流程示意图。参阅图3,显示为本发明的从核在一具体实施例中的通信序列示意图。参阅图4,显示为本发明应用的非支配排序的流程示意图。参阅图5,显示为本发明应用的拥挤度计算的流程示意图。
结合图2~图5再进一步对本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法做详细的描述,于该实施例中,编号为i的从核的相邻后序从核的编号nextID的计算公式为:
Figure BDA0001860755200000101
参阅图2~图5,具体包括以下步骤:
步骤一:在主核内初始化进化代数及种群P,种群P由N个有效个体组成;
步骤二:在主核内对种群P进行解码;
步骤三:将主核中的种群P平均分为64份,分别传输到64个从核中,并同时在64个从核中并行地计算种群P的所有个体的适应度函数,其中每个从核处理N/64个有效个体,计算完成后将适应度函数值传输回主核中的种群P;
步骤四:在主核内对种群P进行交叉和变异操作生成子代的种群Q,种群Q由N个有效个体组成,其中交叉操作的概率值设定为Pacr,变异操作的概率值设定为Pmut
步骤五:在主核内对种群Q进行解码;
步骤六:将主核中的种群Q平均分为64份,分别传输到64个从核中,并同时在64个从核中并行地计算种群Q的所有个体的适应度函数,其中每个从核处理N/64个有效个体,将从核中计算出的适应度函数传输回主核中的种群Q;
步骤七:在主核内将种群P和种群Q合并为新的种群R,种群R由2N有效个体组成;
步骤八:将主核中的种群R平均分为64份,分别传输到64个从核中对种群R进行非支配排序,排序过程中,从核间按如图3所示的蛇形且首尾相连的环形从核序列进行寄存器通信,具体流程参阅图4所示,具体为:
a1):设定当前所在的层Rank的初始值为1;
b1):设定k的初始值为0,j的初始值为1;
c1):发送本从核的第j个个体及相关信息到相邻后序从核;
d1):本从核接收相邻前序从核发来的第j个个体及相关信息;
e1):将接收的个体与本从核内所有个体比较,判断支配关系;
f1):判断接收的个体是否为本从核个体,即k是否等于64。若是,则跳转步骤g1),否则将接收的个体及相关信息发送到相邻后序从核,k自加1,重复步骤d1)、e1)、f1);
g1):判断是否所有的从核中每个个体都返回原从核,即j是否等于n。若是,则跳转步骤h1),否则将j自加1,k赋值为0,重复步骤c1)、d1)、e1)、f1)、g1);
h1):将未被分层个体中未被支配的个体设定为第Rank层;
i1):判断是否所有的个体已经被完全分层。若是,则结束非支配排序,否则将Rank自加1,重复步骤b1)、c1)、d1)、e1)、f1)、g1)、h1)、i1);
其中,图4中,k,j无含义用于计数;Rank表示所在分层号;n表示各个从核内个体总数,即n=N/64。
步骤九:结合图5,对在64个从核中对种群R进行拥挤度计算的流程进行具体说明,其中,从核间按图3所示的蛇形且首尾相连的环形从核序列进行寄存器通信,具体流程如下:
a2):设定k的初始值为0,j的初始值为1;
b2):比较并记录本从核第j个个体的f,发送该个体及相关信息到相邻后序从核;
c2):接收相邻前序从核发来的第j个个体及相关信息;
d2):将接收的个体与本从核内所有个体比较,累计该个体的f;
e2):判断接收的个体是否为本从核个体,即k是否等于64。若是则跳转步骤f2),否则将接收的个体及相关信息发送到相邻后序从核,k自加1重复c2)、d2)、e2);
f2):判断是否所有的从核中每个个体都返回原从核,即j是否等于n。若是,则跳转步骤g2),否则将j自加1,k赋值为0,重复b2)、c2)、d2)、e2)、f2);
g2):设定k的初始值为0,j的初始值为1;
h2):发送本从核第j个个体及相关信息到相邻后序从核;
i2):接收相邻前序从核发来的第j个个体及相关信息;
j2):判断是否查找到接收的个体所在层中序号存在于(f-1)和(f+1)的个体。若是,则跳转步骤k2),否则跳转步骤l2)
k2):求解接收的个体与差值到的个体间适应度函数值的差值;
l2):判断接收的个体是否为本从核个体,即k是否等于64。若是,则跳转步骤f2),否则将接收的个体及相关信息发送到相邻后序从核,k自加1,重复i2)、j2)、k2)、l2);
m2):计算接收个体的拥挤度;
n2):判断是否所有的从核中每个个体都返回原从核,即j是否等于n。若是,则结束拥挤度计算,否则将j自加1,k赋值为0,重复i2)、j2)、k2)、l2)、m2)、n2);
其中,图5中,k,j无含义用于计数;Rank表示所在分层号;n表示各个从核内个体总数,即n=N/64;f表示个体适应度函数值的排序序号向量。
步骤十:将64个从核中的非支配排序和拥挤度计算的结果传输回主核,并根据非支配排序和拥挤度计算的结果,从种群R中筛选出N个有效个体形成下一代种群P',并对当前进化代数执行加一的操作,生成新的进化代数;
步骤十一:判断进化代数是否小于预设进化代数,若否,则执行步骤十二;若是,则执行步骤十三;
步骤十二:运行终止;
步骤十三:令种群P'作为种群P,且令新的进化代数作为当前进化代数,并跳转至步骤四。
于一具体实施例中,以Binkorn函数为该发明中的NSGA-II的适应度函数,参数设定:第一种群P中的有效个体数为32000,第三种群R的有效个体数为64000。种群进化代数的阈值设为10,交叉概率值Pacr设定为0.8,变异概率值Pmut设定为0.1,从核数为64。且,该Binkorn函数为:
f1(x,y)=4x2+4y2
f2(x,y)=(x-5)2+(y-5)2
0≤x≤5,0≤y≤3,
约束条件为:
g1(x,y)=(x-5)2+y2≤25;
g2(x,y)=(x-8)2+(y+3)2≥7.7
图6为应用Binkorn函数的串行和主从增强式运行的解集对比示意图。且表1为应用Binkorn函数的串行和主从增强式运行求解所用时间的对比示意图。图5中,三角形“△”代表串行的解,加号“+”代表应用本发明的主从增强式运行的解,从图6中可以看出,两者的方法所得解集基本一致,且应用本发明的主从增强式运行所得的解集分布更加均匀,且由表1可知,应用本发明提供的主从增强式运行求解,所用时间会较串行式显著减少。
执行方式 所用时间
串行 1.04E+10
主从增强式运行 1.55E+09
表1
本发明为NSGA-II在申威众核处理器上实现并行提供了有效的方法,提高了从核的利用率和并行效率,有效缓解了单个从核上过多的个体数量与有限的局部数据存储空间的矛盾。
本发明一具体实施例中,还提出一种基于申威众核处理器的NSGA-II的主从增强式运行装置,所述申威众核处理器包括4个核组,每个核组包括1个主核和64个从核,所述装置应用于申威众核处理器的1个核组中,所述装置包括:
第一解码模块,用以在所述核组的所述主核内对初始化后的所述第一种群P进行解码;
第一传输模块,用以在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述64个从核中,所述64个从核并行的计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数传输值至所述核组的所述主核内;
交叉变异模块,用以对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;
第二解码模块,用以在所述核组的所述主核内对所述第二种群Q进行解码;
第二传输模块,用以在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的64个从核中,所述核组的64个从核并行地计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;
合并模块,用以在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体;
排序模块,用以在所述核组的所述主核内,将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的64个从核中,所述核组的所述从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在所述序列中由前序从核向相邻的后序从核发送数据;
拥挤度计算模块,用以所述核组的所述从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述从核按照所述预设序列进行单向的寄存器通信;
删选模块,用以将所述核组的64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;
判断模块,用以判断所述新的进化代数是否小于预设的代数阈值,若否,则运行终止;若是,则令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并重新执行所述交叉变异模块、所述第二解码模块、所述第二传输模块、所述合并模块、所述排序模块、所述拥挤度计算模块、所述删选模块以及所述判断模块。
所述基于申威众核处理器的NSGA-II的主从增强式运行装置与所述基于申威众核处理器的NSGA-II的主从增强式运行方法的技术方案一一对应,所有关于所述基于申威众核处理器的NSGA-II的主从增强式运行方法的描述均可应用于本实施例中,在此不加赘述。
综上所述,本发明的基于申威众核处理器的NSGA-II的主从增强式运行方法及装置,本发明不仅将个体间无关联性的适应度函数分配到各个从核中并行执行,而且将个体间关联性较大的非支配排序和拥挤度计算也分配到各个从核中并行执行,提高了从核的利用率和并行效率;此外,各个从核采用DMA方式与主核进行通信,在非支配排序和拥挤度计算过程中,从核之间按蛇形且首尾相连的环形从核序列进行寄存器通信,有效缓解了单个从核上过多的个体数量与有限的局部数据存储空间的矛盾。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (6)

1.一种基于申威众核处理器的NSGA-II的主从增强式运行方法,其特征在于,所述申威众核处理器包括4个核组,每个核组包括1个主核和64个从核,所述方法应用于申威众核处理器的1个核组中,包括以下步骤:
步骤S101:在所述核组的所述主核内初始化进化代数及第一种群P;其中,所述第一种群P由N个第一有效个体组成;
步骤S102:在所述核组的所述主核内对初始化后的所述第一种群P进行解码;
步骤S103:在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述核组的64个从核中,所述核组的所述64个从核并行地计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数值传输至所述核组的所述主核内;
步骤S104:对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;
步骤S105:在所述核组的所述主核内对所述第二种群Q进行解码;
步骤S106:在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行地计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;
步骤S107:在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体;
步骤S108:在所述核组的所述主核内将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述64个从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在预设序列中由前序从核向相邻的后序从核发送数据;
步骤S109:所述核组的所述64个从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述64个从核按照所述预设序列进行单向的寄存器通信;
步骤S110:将所述核组的所述64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;
步骤S111:判断所述新的进化代数是否小于预设的代数阈值,若否,则执行步骤S112;若是,则执行步骤S113;
步骤S112:运行终止;
步骤S113:令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并跳转至所述步骤S104。
2.如权利要求1所述的运行方法,其特征在于,所述核组的所述主核与所述核组的所述从核通过DMA方式进行通信;在所述非支配排序和拥挤度计算过程中,所述核组的所述从核之间按所述预设序列进行寄存器通信。
3.如权利要求1所述的运行方法,其特征在于,所述非支配排序的过程至少包括:
步骤S201:一所述核组的所述从核中的当前第三有效个体与所述当前第三有效个体所在的从核的其他第三有效个体进行非支配关系比较后,根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中以与所述核组的其他的从核中的第三有效个体进行所述非支配关系的比较,直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则完成了当前第三有效个体与所述核组的所有从核中其他第三有效个体的比较;
步骤S202:当所述核组的所有从核中的所有所述第三有效个体均完成所述步骤S201的比较过程后,令所述核组的所有从核内未被分层且未被支配的所述第三有效个体作为本层个体,并标记为已分层个体,以完成本次分层;
步骤S203:统计所述核组的所有从核内未被分层的所述第三有效个体的数量,根据统计结果判断所述核组的所有从核是否完全分层,若是,则向所述核组的所有从核广播停止指令,以结束所述非支配排序;若否,则返回所述步骤S201。
4.如权利要求3所述的运行方法,其特征在于,统计所述核组的所有从核内未被分层的所述第三有效个体的数量的步骤包括:根据所述核组的所述从核间的所述预设序列,从编号为0的从核开始,依次获取当前从核中的未分层的所述第三有效个体的数量并传输至所述核组的下一个从核以进行累加,直到所述编号为0的从核接收到编号为56的从核发送的数据以计算得到所述统计结果。
5.如权利要求1所述的运行方法,其特征在于,所述核组的所述从核对接收到的所述第三有效个体进行拥挤度计算的过程包括:
步骤S301:针对每个适应度函数,一所述核组的所述从核中的当前第三有效个体与所述当前第三有效个体所在的从核内的其他第三有效个体进行适应度函数值的比较,并记录当前第三有效个体所在层中比当前第三有效个体大的个体数量;
步骤S302:根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,与所述核组的其他的从核中的第三有效个体进行适应度函数值的比较,并记录当前第三有效个体所在层中比当前第三有效个体大的个体数量;
步骤S303:直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则针对每个适应度函数完成了当前第三有效个体与所述核组的所有从核中的其他第三有效个体的比较,并统计所述核组的所有从核中的当前第三有效个体所在层中比当前第三有效个体大的所有个体数量,即可得到针对每个适应度函数的当前第三有效个体在当前第三有效个体所在层中的序号;
步骤S304:当所述核组的所有从核中所有所述第三有效个体均完成所述步骤S301、S302、S303的过程后,即得到针对每个适应度函数的所有所述第三有效个体在所有所述第三有效个体所在层中的序号,完成了每层内所有所述第三有效个体针对每个适应度函数的排序;
步骤S305:针对每个适应度函数,一所述核组的所述从核中所述当前第三有效个体在所述当前第三有效个体所在从核内寻找当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;
步骤S306:根据所述核组的所述从核间的通信关系,将所述当前第三有效个体及其相关信息传输至其他从核中,针对每个适应度函数,在所述核组的其他从核内寻找所述当前第三有效个体所在层中的相邻个体,如果存在,则计算当前第三有效个体与当前第三有效个体的相邻个体的适应度函数值的差值;
步骤S307:直到所述当前第三有效个体及其相关信息被传输回所述当前第三有效个体原本所在的所述核组的所述从核,则针对每个适应度函数计算所述当前第三有效个体与所述当前第三有效个体所在层中相邻的两个个体的适应度函数值差值的和,将每个适应度函数对应的所述差值的和进行累加,即得到所述当前第三有效个体的拥挤度距离;
步骤S308:当所述核组的所有从核中所有所述第三有效个体均完成所述步骤S305、S306、S307的过程后,即完成了所述核组的所有从核中所有所述第三有效个体的拥挤度距离的计算。
6.一种基于申威众核处理器的NSGA-II的主从增强式运行装置,其特征在于,所述申威众核处理器包括4个核组,每个核组包括1个主核和64个从核,所述装置应用于申威众核处理器的1个核组中,所述装置包括:
初始化模块,用以在所述核组的所述主核内初始化进化代数及第一种群P;其中,所述第一种群P由N个第一有效个体组成;
第一解码模块,用以在所述核组的所述主核内对初始化后的所述第一种群P进行解码;
第一传输模块,用以在所述核组的所述主核内将解码后的所述第一种群P的所述N个第一有效个体平均分为64份,并将所述64份的所述第一有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行的计算接收到的所述第一有效个体的适应度函数,且将所述第一有效个体的适应度函数传输值至所述核组的所述主核内;
交叉变异模块,用以对所述第一种群P进行交叉和变异操作以生成子代的第二种群Q;其中,所述第二种群Q由N个第二有效个体组成;
第二解码模块,用以在所述核组的所述主核内对所述第二种群Q进行解码;
第二传输模块,用以在所述核组的所述主核内将解码后的所述第二种群Q的所述N个第二有效个体平均分为64份,并将所述64份的所述第二有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核并行地计算接收到的所述第二有效个体的适应度函数,且将所述第二有效个体的适应度函数值传输至所述核组的所述主核内;
合并模块,用以在所述核组的所述主核内将所述第一种群P和所述第二种群Q合并为新的第三种群R;其中,所述第三种群R由2N个第三有效个体组成,且所述2N个所述第三有效个体包括N个所述第一有效个体以及N个所述第二有效个体;
排序模块,用以在所述核组的所述主核内将所述第三种群R的所述2N个第三有效个体平均分为64份,将所述64份的所述第三有效个体分别传输至所述核组的所述64个从核中,所述核组的所述64个从核对接收到的所述第三有效个体进行非支配排序;其中,在所述非支配排序过程中,所述核组的所述64个从核按照预设的蛇形且首尾相连的环形序列进行单向的寄存器通信,且在所述序列中由前序从核向相邻的后序从核发送数据;
拥挤度计算模块,用以所述核组的所述64个从核对接收到的所述第三有效个体进行拥挤度计算;其中,在所述拥挤度计算过程中,所述核组的所述64个从核按照预设序列进行单向的寄存器通信;
删选模块,用以将所述核组的64个从核中的非支配排序和拥挤度计算的结果传输至所述核组的所述主核,所述核组的所述主核根据所述非支配排序和拥挤度计算的结果,从所述第三种群R中筛选出N个第四有效个体以形成关于所述第一种群P的下一代的第四种群P',并对当前进化代数执行加一的操作,生成新的进化代数;
判断模块,用以判断所述新的进化代数是否小于预设的代数阈值,若否,则运行终止;若是,则令所述第四种群P'作为所述第一种群P,且令所述新的进化代数作为所述当前进化代数,并重新执行所述交叉变异模块、所述第二解码模块、所述第二传输模块、所述合并模块、所述排序模块、所述拥挤度计算模块、所述删选模块以及所述判断模块。
CN201811334124.8A 2018-11-09 2018-11-09 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置 Active CN109491791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811334124.8A CN109491791B (zh) 2018-11-09 2018-11-09 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811334124.8A CN109491791B (zh) 2018-11-09 2018-11-09 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置

Publications (2)

Publication Number Publication Date
CN109491791A CN109491791A (zh) 2019-03-19
CN109491791B true CN109491791B (zh) 2021-11-19

Family

ID=65694135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811334124.8A Active CN109491791B (zh) 2018-11-09 2018-11-09 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置

Country Status (1)

Country Link
CN (1) CN109491791B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112181894B (zh) * 2019-07-04 2022-05-31 山东省计算中心(国家超级计算济南中心) 一种基于申威众核处理器的核组内分组自适应调整运行方法
CN110968734B (zh) * 2019-11-21 2023-08-04 华东师范大学 一种基于深度度量学习的行人重识别方法及装置
CN111427816A (zh) * 2020-03-04 2020-07-17 深圳震有科技股份有限公司 一种amp系统核间通讯方法、计算机设备及存储介质
CN117632530B (zh) * 2024-01-25 2024-05-03 山东省计算中心(国家超级计算济南中心) 基于新一代申威众核处理器的从核数量调整并行加速方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929724A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 基于异构众核处理器的多级访存方法、离散访存方法
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN104375807A (zh) * 2014-12-09 2015-02-25 中国人民解放军国防科学技术大学 基于众核协处理器的三级流水序列比对方法
CN104849698A (zh) * 2015-05-21 2015-08-19 中国人民解放军海军工程大学 一种基于异构多核系统的雷达信号并行处理方法及系统
CN104952067A (zh) * 2015-05-13 2015-09-30 西安电子科技大学 基于nsga-ⅱ进化算法的彩色图像分割
CN106600054A (zh) * 2016-12-12 2017-04-26 广东电网有限责任公司电力科学研究院 基于mic卡的人工鱼群算法并行处理tsp问题的方法及装置
CN107301459A (zh) * 2017-07-14 2017-10-27 郑州云海信息技术有限公司 一种基于fpga异构运行遗传算法的方法及系统
CN108363622A (zh) * 2018-01-29 2018-08-03 哈尔滨工程大学 一种基于多核dsp运算的无源时差定位算法的实现方法
CN108710970A (zh) * 2018-05-07 2018-10-26 华中科技大学 一种巨型梯级水电系统的多目标调度并行降维方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI295019B (en) * 2005-06-06 2008-03-21 Accusys Inc Data transfer system and method
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
CN106487036B (zh) * 2016-11-04 2018-11-30 浙江工业大学 一种基于多目标优化算法的独立光伏拖动系统容量配置方法
CN107168683B (zh) * 2017-05-05 2020-06-09 中国科学院软件研究所 申威26010众核cpu上gemm稠密矩阵乘高性能实现方法
CN107273094B (zh) * 2017-05-18 2020-06-16 中国科学院软件研究所 一种适应于“神威·太湖之光”上hpcg优化的数据结构及其高效实现方法
CN108509270B (zh) * 2018-03-08 2020-09-29 中国科学院软件研究所 一种国产申威26010众核处理器上K-means算法的高性能并行实现方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929724A (zh) * 2012-11-06 2013-02-13 无锡江南计算技术研究所 基于异构众核处理器的多级访存方法、离散访存方法
CN104239213A (zh) * 2014-09-29 2014-12-24 北京航空航天大学 一种面向航天器自动化测试的并行测试任务两阶段调度方法
CN104375807A (zh) * 2014-12-09 2015-02-25 中国人民解放军国防科学技术大学 基于众核协处理器的三级流水序列比对方法
CN104952067A (zh) * 2015-05-13 2015-09-30 西安电子科技大学 基于nsga-ⅱ进化算法的彩色图像分割
CN104849698A (zh) * 2015-05-21 2015-08-19 中国人民解放军海军工程大学 一种基于异构多核系统的雷达信号并行处理方法及系统
CN106600054A (zh) * 2016-12-12 2017-04-26 广东电网有限责任公司电力科学研究院 基于mic卡的人工鱼群算法并行处理tsp问题的方法及装置
CN107301459A (zh) * 2017-07-14 2017-10-27 郑州云海信息技术有限公司 一种基于fpga异构运行遗传算法的方法及系统
CN108363622A (zh) * 2018-01-29 2018-08-03 哈尔滨工程大学 一种基于多核dsp运算的无源时差定位算法的实现方法
CN108710970A (zh) * 2018-05-07 2018-10-26 华中科技大学 一种巨型梯级水电系统的多目标调度并行降维方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Distributed NSGA-II using the divide-and-conquer method and migration for compensation on many-core processors;Yuji Sato;《2017 21st Asia Pacific Symposium on Intelligent and Evolutionary Systems (IES)》;20171225;第83-88页 *
基于异构多核处理器系统的任务调度算法研究;王旭涛;《中国优秀硕士学位论文全文数据库信息科技辑》;20120415(第4期);I138-27 *
基于申威众核处理器的混合并行遗传算法;赵瑞祥;《计算机应用》;20170901(第9期);第35-40页 *
申威众核处理器的并行NSGA-Ⅱ算法;沈焕学;《计算机工程与应用》;20180301(第17期);第2518-2523页 *

Also Published As

Publication number Publication date
CN109491791A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109491791B (zh) 基于申威众核处理器的nsga-ii的主从增强式运行方法及装置
CN104268722B (zh) 基于多目标进化算法的动态柔性作业车间调度方法
CN111507641A (zh) 一种批处理设备调度方法及其装置
CN110909787A (zh) 基于聚类的进化算法进行多目标批调度优化的方法和系统
CN115600774B (zh) 一种装配式建筑构件产线的多目标生产调度优化方法
CN108009003A (zh) 一种多目标虚拟机自适应位置选择方法、分布式云系统
CN105094970B (zh) 一种求解分布式系统下可分任务多趟调度模型的方法
CN111126800B (zh) 使用分层自适应智能算法的多模资源受限项目调度方法
CN111047272A (zh) 一种用于多语言协同开发的项目调度方法及装置
CN109523178A (zh) 一种面向电力通信现场的运维方法及装置
CN113887782A (zh) 一种面向维修资源配送调度的遗传-烟花混合方法及系统
CN117075545A (zh) 一种多目标柔性作业车间调度方法、电子设备、介质
CN118261376A (zh) 基于改进模拟退火算法的服装生产线动态调度方法及系统
CN113505910A (zh) 一种含多路径有限连续输出库存的混合车间生产调度方法
CN111026534B (zh) 云计算环境下基于多种群遗传算法的工作流执行优化方法
CN104461720A (zh) 一种可分任务调度模型的求解方法及系统
CN117170318A (zh) 基于改进堆优化算法解决模糊生产调度问题的方法
CN110689320A (zh) 一种基于协同进化算法的大规模多目标项目调度方法
CN113723695B (zh) 一种基于场景的再制造调度优化方法
CN115829280A (zh) 一种制造资源的配置方法、装置及设备
CN110968428B (zh) 云工作流虚拟机配置和任务调度协同优化方法
CN115238995A (zh) 一种复杂过程的智能调度优化方法
CN110633784A (zh) 一种多规则人工蜂群改进算法
CN110928670B (zh) 云计算环境下基于偏序自适应遗传算法的工作流优化方法
CN111078361A (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