CN111427690B - 分散处理单元并行计算方法 - Google Patents

分散处理单元并行计算方法 Download PDF

Info

Publication number
CN111427690B
CN111427690B CN202010220467.2A CN202010220467A CN111427690B CN 111427690 B CN111427690 B CN 111427690B CN 202010220467 A CN202010220467 A CN 202010220467A CN 111427690 B CN111427690 B CN 111427690B
Authority
CN
China
Prior art keywords
parallel
point table
computing
task
processing 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.)
Active
Application number
CN202010220467.2A
Other languages
English (en)
Other versions
CN111427690A (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.)
Shanghai Puyi Industrial Co ltd
Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd
Hangzhou E Energy Electric Power Technology Co Ltd
Original Assignee
Shanghai Puyi Industrial Co ltd
Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd
Hangzhou E Energy Electric Power Technology Co Ltd
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 Shanghai Puyi Industrial Co ltd, Electric Power Research Institute of State Grid Zhejiang Electric Power Co Ltd, Hangzhou E Energy Electric Power Technology Co Ltd filed Critical Shanghai Puyi Industrial Co ltd
Priority to CN202010220467.2A priority Critical patent/CN111427690B/zh
Publication of CN111427690A publication Critical patent/CN111427690A/zh
Application granted granted Critical
Publication of CN111427690B publication Critical patent/CN111427690B/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • 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/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明公开了一种分散处理单元并行计算方法。本发明对分散处理单元的全局数据总线上的点表与数据结构、调度进行并行化改造,从而在多个进行了并行部署的分散处理单元中实现并行计算。通过本发明对分散处理单元进行并行计算的改造,使得分散处理单元具有并行计算的能力,使得一个复杂的计算任务在空间上进行了分散处理,保证了安全;在时间上进行了并行处理,保证了效率。本发明可以使得平行控制、平行安全等领域的应用通过分散处理单元来完成大量的复杂的并行计算,从而具备在线应用的能力。

Description

分散处理单元并行计算方法
技术领域
本发明属于自动控制技术领域,涉及一种分散处理单元并行计算方法。
背景技术
随着智慧能源技术在电力控制行业的深入,各种新兴的智能应用提出了更为广泛的、深入的、快速的计算需求,这使得当前在自动控制领域承担计算任务的设备不能完全胜任,对这些设备进行垂直方向的升级仍然不能满足运算的需要,因此水平方向的拓展,是公认解决计算能力瓶颈的最佳方法。
在热工自动控制环境内搭建云平台、计算集群等,当前条件下不具备可行性,而利用新增分散处理单元、利用现有分散处理单元的计算裕量、以及通过操作员站闲置算力开设的虚拟分散处理单元等,都可以方便地搭建起基于分散处理单元的并行计算环境,具有现实的可行性。
在自动控制领域广泛使用的分散处理单元在处理数据采集、标度变换、报警限值检查、操作记录与顺序事件记录、逻辑控制等方面能力较强,也具有一定的计算能力,因此成为自动控制领域内承担计算任务的基本设备,但是分散处理单元普遍不具有并行计算的能力。
从已经公开的发明及其相关文献来看,目前未见任何基于分散处理单元的并行计算机制,不过在相关的领域中有了一些有益的探索,主要应用于基于虚拟机的云计算、基于大型的计算集群等,即存在上述热工控制应用环境的限制问题,例如专利申请《一种云计算并行操作中的调度方法》(申请号201810997296.7,公开号CN109684070A);例如专利申请《一种分布式集群及并行计算任务调度方法》(申请号201810858396.1,公开号CN109343939A)等。
此外,热工控制应用环境下任务的复杂程度、难易程度等相对均衡,无论是平行控制应用中控制优化解域空间的探索与试算,还是平行安全应用中各种危险点的攻防演练,均体现出计算资源占用的均衡性。前述专利申请《一种云计算并行操作中的调度方法》通过虚拟机启动时间的特点设计最优控制策略,从而实现近似最优的加速;前述专利申请《一种分布式集群及并行计算任务调度方法》利用集群空闲资源,对所有的子任务进行同步计算,提高任务运行可靠性,加快计算任务,运行速度缩短执行时间等,对于基于分散控制单元的并行计算而言,借鉴意义不大。
因此,需要针对分散处理单元的特征构建并行计算机制,使得热工控制领域中一些智能应用可以从并行计算的高效性中获益,具备强大的算力,从而具备实时在线的能力。
发明内容
本发明的目的在于提供一种分散处理单元并行计算方法,使得工业控制领域普遍应用的分散处理单元具有并行计算的能力,为分散处理单元的并行处理、并行计算、并行分析等提供技术支撑,使得并行计算可以基于分散处理单元部署并且展开。
为实现上述目的,本发明采用如下的技术方案:分散处理单元并行计算方法,其对分散处理单元的全局数据总线上的点表与数据结构、调度进行并行化改造,从而在多个进行了并行部署的分散处理单元中实现并行计算。
本发明可以使得平行控制、平行安全等领域的智能应用通过分散处理单元来完成大量的复杂的并行计算,从而具备在线应用的能力。
进一步地,在分散处理单元全局点表中增加并行点表,并行点表在全局数据总线初始化的时候被赋予全局唯一地址,是全局点表的一个组成部分,与全局项目点表和固定点表属于同一个全局点表内,在分散控制系统平台管理下可进行信息的互换与赋值;
固定点表并行分区中的每一个测点都有2p个并行测点,依序存放于并行点表中,固定点表并行分区、并行点表以及两者的映射都具有唯一性。
并行点表的创建是指在分散控制系统全局数据总线中新建一个点表,并行点表与全局数据总线上的项目点表、固定点表具有同等的地位,在全局数据总线初始化的时候被赋予全局唯一地址,所述地址为数据总线上的测点标识,各个分散处理单元均通过测点地址来判定测点属性。
并行点表与全局点表中的其他部分,即非并行部分(俗称单值点表部分)具有类似的构成,相对于单值点表而言,并行点表增加了并行的信息内容,当忽略了这些并行信息,并行点表可以简化为单值点表,反过来说,为单值点表配置了并行信息之后,单值点表可以在一定程度上转化为并行点表。
进一步地,并行点表常规规模设置为16384,为常见的8路并行提供2048个测点,或者为常见的16路并行提供1024个测点。并行点表的规模可以根据工程需求进行扩容,扩容遵循2n规则或者2m累加规则。所述2n规则是指并行点表的规模满足2n大小,如214=16384。所述2m累加规则是指在现有并行点表的基础上累加2m大小,如16384+210=17408,为常见的8路并行提供2176个测点,或者为常见的16路并行提供1088个测点。
沿袭传统定义分散处理单元为DPU,定义主控分散处理单元为MPU,定义进行并行计算部署的分散处理单元为PPU。主控分散处理单元为MPU是执行主控任务的DPU,并行分散处理单元PPU是执行并行计算任务的DPU。主控分散处理单元MPU与并行分散处理单元PPU都是分散处理单元DPU的并行拓展。主控分散处理单元MPU可以有冗余的辅控节点,并行分散处理单元PPU一般无冗余节点。
进一步地,并行点表并行各路的点名通过点名中内含的节点号标记来识别,各个并行分散处理单元PPU通过解析其中的节点号来判断该点名是否属于本PPU。更进一步地,各个并行分散处理单元通过下装或者同步获得组态时,对隶属本PPU的点名进行匹配。
进一步地,建立分散处理单元中包含并行信息的数据结构,该并行数据结构定义的测点在全局数据总线上的广播方式、生命周期、历史记录均与其他全局数据结构所定义的数据一样;通过并行数据结构定义的测点在全局数据总线上的流通,各个并行分散处理单元与主控分散处理单元之间传递完整的并行信息;
并行数据在全局数据总线上与页间传递、网间传递、柜间传递进行同等的流通。
所述并行数据结构是指分散处理单元中包含并行信息的数据结构,该数据结构是分散处理单元全局数据结构之一,是分散控制系统存储、组织并行数据的预先定义方式,是并行数据与指令并存的数据元素的集合。所述主控分散处理单元是指执行主控任务的分散处理单元,所述主控任务是指针对平行控制、平行安全等进行基本管理的任务,包括对并行计算进行调度。所述全局数据总线上的流通是指分散处理单元的全局数据库中的页间传递、网间传递、柜间传递、并行传递等。所述页间是指分散处理单元的组态页面之间。所述网间是指分散处理单元的全局数据网络之间。所述柜间是指分散处理单元与传感器或者执行机构之间。所述并行是指并行运行的分散处理单元之间。分散处理单元的并行不是指同时运行的多个独立的分散处理单元,也不是指同步运行的多个冗余分散处理单元,而是指进行了并行计算部署的多个分散处理单元。
并行数据结构包含了并行组别、主并节点号、并行节点属性、并行节点状态等信息,还容纳Kp路并行数据,Kp数值由系统定义,限定为2的次方数,如2路、4路、8路、16路等。所述并行组别是指进行并行计算的不同分组的序号,其中分组是指为多个同时展开的并行计算进行的小组区分。所述主并节点是指主控节点与并行节点,所述主控节点即为主控分散处理单元,是指执行主控任务的分散处理单元MPU,所述并行节点是指执行并行计算任务的分散处理单元PPU,主控节点和并行节点都有全局数据总线上唯一的节点号,用于标识该分散处理单元及其所属的测点。所述并行节点状态是指被定义为并行节点的分散处理单元属性,包括该PPU的从属组别、在并行分组中的序号、自有数据区等属性。所述并行节点状态是指并行节点的实际运行状态,包括计算、闲置、中断、错误等。所述计算指并行节点处于运行过程,所述闲置指并行节点处于闲置状态,所述中断指并行阶段的计算过程正在被暂停,暂停的原因包括计算输入的调整、计算方式的调整、外部数据的比对和补充等,所述错误是指并行节点发生错误,包括宕机、死循环、高负载、通讯断路、未知等非正常状态。
进一步地,对进行了并行计算部署的多个并行分散处理单元进行并行计算的任务调度,这种并行调度与全局数据总线上各个分散处理单元已有的分散式调度兼容。
主控节点自身调度以及对并行节点的调度均属并行调度的范畴,主控节点同时处于分散式调度模式之中。通过并行调度,使得分散处理单元具有并行计算的能力,一个计算任务在空间上进行了分散处理,保证了安全,在时间上进行了并行处理,保证了效率。为了使得空间与时间的两个维度开展的这个计算任务得到有效的组织和管理,必须进行有效的并行调度,这种并行调度与全局数据总线上各个分散处理单元已有的分散式调度是兼容的。所述分散式调度是指在分散控制系统内部进行任务调度,为本领域的公知常识。
进一步地,在并行解析、属性设置、同步校验、任务派发、任务均衡的过程中均保持周期性的状态轮询,周期的设置为所有并行计算组态页面扫描周期的最大公约数或所有并行计算组态页面扫描周期的某些公约数。选取任意公约数的缘由在于加快轮询的速度。
进一步地,为获取并行节点的实际运行状态,包括计算、闲置、中断、错误,均通过网间通道与并行通道送到主控节点,由主控节点根据相关情形进行处置;当轮询状态为计算时,主控节点不予干扰;当轮询状态为闲置时,状态被计入等待下次任务均衡时调度;当轮询状态为中断时,主控节点查询中断信号是否来自本主控,若否则发布网络通告征询是否来自其他主控节点,若否则清除中断状态;当轮询状态为错误时,根据宕机、死循环、高负载、通讯断路、未知的非正常状态进行相关处置。
进一步地,主控节点通过所述属性设置对全局数据总线上的并行节点进行实时属性管理,包括其一确认或者修改并行节点所从属的组别,当同时开展的多个并行计算需要进行资源调配时,对在并行节点中断的状态下修改其从属;包括其二确认或者修改并行分组中的序号,从而获得指定分区的全局数据点表;包括其三确认或者修改自有数据区的配置;属性设置完成后,并行节点基本就绪,等待组态的同步校验后即可接受并行计算的任务派发。
进一步地,主控节点通过所述同步校验对全局数据总线上的并行节点进行实时同步状态的校验检查,当逻辑和计算组态以及计算周期的设定不一致时,主控节点自动进行或者人工确认后进行组态下装或者同步;主控节点在同组的并行节点之间需要保持逻辑和计算组态以及计算周期设定的一致,在并行节点部署受限时,允许同一个并行节点中包含不同组别的并行计算。
所述逻辑组态是指控制逻辑的组态,所述计算组态是指中间过程计算的组态,所述计算周期为分散处理单元各个组态页面的计算周期。主控节点在同组的并行节点之间需要保持逻辑和计算组态以及计算周期设定的一致,在并行节点部署受限时,允许同一个并行节点中包含不同组别的并行计算,不同组别的并行计算必需部署在不同的组态页面上,若某并行节点不参与某些组别并行计算则相应的组态页面留空。举例说明,设有两个组别的并行计算部署在8个并行节点上,其中1-4号并行节点承担并行计算任务1,1-8号并行节点承担并行计算任务2,并行计算任务1占据页面1-50,并行任务2占据页面60-70,则5-8号并行节点的1-50组态页面自动留空。
进一步地,主控节点通过所述状态轮询对全局数据总线上的并行节点进行实时的、定期的状态轮回检查,获取并行节点的实际运行状态,包括计算、闲置、中断、错误等。所述轮询的定期由分散控制系统设定,定期轮询获知的状态被送入主控节点,供任务派发和任务均衡时采用。
进一步地,主控节点通过任务派发对全局数据总线上的并行节点进行并行计算任务派发,计算任务满足轻量特性的、可以在一个并行节点一个运行周期内完成的,采用连续派发;计算任务满足重量特性的、需要耗费一个并行节点数个运行周期完成的,采用伺机派发;此外,连续派发的计算任务在进行任务均衡时也会采用伺机派发的模式。
根据计算任务的性质不同,派发分为连续派发和伺机派发两种类型,所述连续派发是指主控节点连续不断地向各并行节点派发计算任务,所述伺机派发是指主控节点根据各并行节点的实际状态派发计算任务,两者的应用场合取决于计算任务的复杂程度和计算任务的特性,对于逻辑类的计算任务如平行安全的攻防演练以及较为简便的计算任务如平行控制的多模式寻优计算等通常采用连续派发,对于时间耗费较多的计算任务如多变量模型预测控制或厚壁设备的有限元计算等通常采用伺机派发。
进一步地,主控节点通过任务均衡对全局数据总线上的并行节点进行并行计算任务的优化分配,优化分配是计算任务的再分配,至少包括两种情形,情形一,伺机派发的任务部分完成后尚有从未分配的计算任务,情形二,连续派发的计算任务完成后尚有从未分配的计算任务。由于热工控制领域的并行计算具有计算任务较为均衡的特点,计算任务的初始分配是平均分配的,所述优化分配一般是计算任务的再分配。
进一步地,主控节点通过所述并行解析对计算任务进行并行算法分解以及计算的触发,对并行计算获取的结果进行算法聚合,对于寻优类型的计算任务需要进行迭代,当计算结果满足既定的计算指标时进行必要的决策等。
实施本发明,具有如下有益效果:
通过本发明对分散处理单元进行并行计算的改造,使得分散处理单元具有并行计算的能力,使得一个复杂的计算任务在空间上进行了分散处理,保证了安全,在时间上进行了并行处理,保证了效率。分散处理单元具备并行处理、并行计算、并行分析等技术支撑,使得智慧能源技术的多种新兴智能应用可以基于分散处理单元部署并且展开。
附图说明
说明书附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是为本发明实施例提供的分散处理单元并行化点表分区示意图。
图2是为本发明实施例提供的并行点表创建过程示意图。
图3是为本发明实施例提供的并行IO示意图。
图4是为本发明实施例提供的并行计算调度过程示意图。
具体实施方式
以下结合说明书附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的保护范围。
本发明基于分散处理单元进行,分散处理单元的硬件、软件、网络环境、配置等均为本发明的前提条件,本发明在所述前提条件所搭建的必要环境,例如数据总线、数据库点表、网络广播包等完整就位的基础上实施。
全局是指数据总线的通道范围为分散控制系统网络上授权的全部设备,包括分散处理单元、操作员站等。所述分散处理单元为工业控制领域分散控制系统的基本计算单元。所述数据总线为分散处理单元的软件总线,通过端口与网络通讯的方式在分散控制系统的网络上进行数据的分发与集成。这些均为本领域的公知常识,此不赘述。
本发明的实施例包括分散处理单元并行化改造的并行点表、并行数据结构、并行调度等内容,图1是为本发明实施例提供的分散处理单元并行化点表分区示意图;图2是为本发明实施例提供的并行点表创建过程示意图,是基于图1的进一步说明;图3是为本发明实施例提供的并行IO示意图,是图4的前置性说明;图4是为本发明实施例提供的并行计算调度过程示意图。
以下结合图1说明分散处理单元并行化改造的点表分区格式内容。
分散控制系统及其分散处理单元通用的全局点表在全局数据总线初始化的时候被赋予全局唯一地址,所述地址为数据总线上的测点标识,各个分散处理单元均通过测点地址来判定测点属性。并行化改造后的全局点表由三个部分组成,分别为110区项目点表、120区固定点表、130区并行点表。并行点表是指分散处理单元的并行全局测点列表,它是全局点表的一个组成部分,与项目点表和固定点表属于同一个全局点表内,在分散控制系统平台管理下可以进行信息的互换与赋值。
首要地,根据不同的工程项目设置的点表建立项目点表,位于110区,此点表为传统的分散控制系统点表,其中I区为主表,表示点表实际占据空间,I+区为I区弹性空间,I区与I+区的空间总和为1000的倍数,I+区空间大小计算方法为round(SI/1000)*1000+1000,其中round()表示四舍五入,SI表示I区的空间大小。设置I+区空间后,其中的点名由分散控制系统自动给出。所述项目点表为单值点表,在全局数据总线上每个时刻点表中的任意一个测点只有一个数值。
进一步地,由分散控制系统读入固定点表,位于120区,此点表为统一不同项目中的固定点名而设置,包括n个区域,每个区域由主表和弹性点表组成,主表和弹性点表的空间总和为100的倍数。弹性点表的空间大小计算方法为round(SIIi/100)*100+100,其中round()表示四舍五入,SIIi表示II区内每个主表的空间大小。所述固定点表为单值点表,在全局数据总线上每个时刻点表中的任意一个测点只有一个数值。
更进一步地,在固定点表中包含一个并行点表索引分区,这个分区用来在主控分散处理单元(即主控节点MPU)中以单值的方式解析并行计算时使用,即所有并行分区中的并行点表都被简化成一个单值点表置于固定点表的一个给定分区,用于并行解析。固定点表并行分区的点名由系统自动给出,例如SmxP0000、SmxP0001等。
进一步地,由分散控制系统生成并行点表,位于130区,空间大小为q,通常q设置为16384,为常见的8路并行提供2048个测点,或者为常见的16路并行提供1024个测点。并行点表的规模可以根据工程需求进行扩容,扩容遵循2n规则或者2m累加规则。所述2n规则是指并行点表的规模满足2n大小,如214=16384。所述2m累加规则是指在现有并行点表的基础上累加2m大小,如16384+210=17408,为常见的8路并行提供2176个测点,或者为常见的16路并行提供1088个测点。并行点表与全局点表中的其他部分,即非并行部分具有类似的构成,相对于单值点表而言,并行点表增加了并行的信息内容,当忽略了这些并行信息,并行点表可以简化为单值点表,反过来说,为单值点表配置了并行信息之后,单值点表可以在一定程度上转化为并行点表。定义为并行数据结构的并行点表具有多值的属性,不与单值点表进行转换。
更深入地,项目点表、固定点表、并行点表都在全局数据总线初始化的时候被赋予全局唯一地址,在全局点表分散在各个分散处理单元中配置和管理的情况下,这个地址需要加上分散处理单元节点号的前缀,加以区分。
以下结合图2说明并行点表创建过程。
步骤200,并行点表的设计是由基于分散控制系统的智能应用启动的,启动的时间既可以是项目预设阶段,也可以在项目调试节点修改。
步骤210,设置并行行数Kp。Kp限定为2的次方数,如2路、4路、8路、16路等,由于并行点表通常总空间为214=16384,因此在不同的Kp划分下,并行点表的分区也是2的次方数。并行行数的设定存在与分散控制系统的实时配置中,可以被实时修改,考虑到工程使用的方便,实时修改一般以缩小行数为方向,例如从16路变更为8路等。
步骤220,检测固定点表的并行分区。当并行分区存在于固定点表并且符合既定的格式,则继续步骤230,否则进入步骤221。
步骤221,新建固定点表并行分区,固定点表并行分区建立后,可存入分散控制系统配置,以便下次全局数据总线初始化时,由分散控制系统自动读入。固定点表并行分区的空间大小由并行点表空间大小与并行行数kp计算而得,如步骤230,公式为214/2p
步骤222,在新建的固定点表并行分区中自动设定并行点名,点名的命名规则为SmxPssss到SmxPeeee,前者为第一个点名,ssss为其编号,通常为0000,后者为最后一个点名,eeee为其编号,不足4位的以0补齐高位。
步骤230,计算并行分区数,公式为214/2p
步骤240,在并行点表中设定与固定点表并行分区中点表的映射,映射完成后并行点表一个并行点的点名规则为SmxPxxxx00到SmxPxxxxpp,其中xxxx为某一个并行测点,pp为并行行数,不足2位的以0补齐高位。从SmxPssss到SmxPeeee均映射p个测点,并行点表中的所有测点均获得映射。
步骤250,更新并行点表。所述更新是为将映射后的并行点表通知到全局数据总线,从而使得并行点表可以直接被分散处理单元共同使用。
以下结合图3说明并行IO的使用。
分散控制系统的全局数据总线进行了并行化改造之后,在原有的页间IO、网间IO、柜间IO之外增加了并行IO。所述页间是指分散处理单元的组态页面之间,所述网间是指分散处理单元的全局数据网络之间,所述柜间是指分散处理单元与传感器或者执行机构之间,所述并行是指并行运行的分散处理单元之间。图中DPU为沿袭传统的分散处理单元的定义,MPU定义为主控分散处理单元,PPU定义为进行并行计算部署的分散处理单元,MMS定义为分散处理单元中的模块化算法模块。主控分散处理单元为MPU是执行主控任务的DPU,并行分散处理单元PPU是执行并行计算任务的DPU。主控分散处理单元MPU与并行分散处理单元PPU都是分散处理单元DPU的并行拓展。主控分散处理单元MPU可以有冗余的辅控节点,并行分散处理单元PPU一般无冗余节点。
图中330示意了页间IO的传递模式,图中340示意了网间IO的传递模式,图中310示意了柜间IO的传递模式,图中320示意了并行IO的传递模式。
以下结合图4说明并行计算的调度过程。
步骤500,并行计算的开始是由基于分散控制系统的智能应用所触发的,根据计算复杂程度的不同,一次并行计算的完成时间可能小于应用触发逻辑的周期,也可能大于应用触发逻辑的周期。如果所述一次并行计算的完成时间小于应用触发逻辑的周期,那么步骤500之后此后所有步骤的计算完成后,等待下一次应用逻辑的触发;如果所述一次并行计算的完成时间大于应用触发逻辑的周期,那么应用逻辑等待步骤500之后此后所有步骤的计算完成后再进行下一次触发。
步骤510,并行计算触发后,主控节点MPU首先进行点表检查。所述点表检查从固定点表并行分区检查、并行点表检查、两者映射检查、并行数据结构定义点表检查等四个步骤同时开展。所述固定点表分区检查是指对固定点表所包含并行点表索引分区进行检查,所有并行分区中的并行点表都被简化成一个单值点表置于固定点表的一个给定分区,用于并行解析,从而供给主控分散处理单元(即主控节点MPU)以单值的方式解析并行计算使用。所述并行点表检查是对分散控制系统生成的并行点表进行检查,并行点表的容量符合2n规则或者2m累加规则,所述2n规则是指并行点表的规模满足2n大小,所述2m累加规则是指在现有并行点表的基础上累加2m大小。所述映射检查是指检查固定点表并行分区与并行点表之间是否已经建立了并行映射,固定点表并行分区中的每一个测点都有分散控制系统定义的2p个并行测点依序存放于并行点表中,固定点表并行分区、并行点表、以及两者的映射都具有唯一性。所述并行数据结构定义点表检查是指对并行数据结构是否包含了并行组别、主并节点号、并行节点属性、并行节点状态等信息且容纳Kp路并行数据等进行检查。
步骤520,并行点表检查通过后主控节点MPU进入到并行解析过程。主控节点MPU通过并行解析对计算任务进行并行算法分解以及计算的触发,当计算结果不能满足预设时将分解后的算法推入迭代步骤,必要的时候重新解析并行算法,优化迭代细节。
步骤590,在并行解析的同时,状态轮询开启启动,并在在后继的属性设置、同步校验、任务派发、任务均衡的过程中均保持轮询。状态轮询是周期性进行的,周期的设置为所有并行计算组态页面扫描周期的最大公约数,这个周期也可以是所有并行计算组态页面扫描周期的某些公约数,选取任意公约数的缘由在于加快轮询的速度,保证属性设置、同步校验、任务派发、任务均衡过程中的状态可以被及时发现并且得到处置。状态轮询所获取并行节点的实际运行状态,包括计算、闲置、中断、错误等,均通过网间IO通道与并行IO送到主控节点MPU,由主控节点根据相关情形进行处置。当轮询状态为计算时,主控节点不予干扰;当轮询状态为闲置时,状态被计入等待下次任务均衡时调度;当轮询状态为中断时,主控节点查询中断信号是否来自本主控,若否则发布网络通告征询是否来来自其他主控节点,若否则清除中断状态;当轮询状态为错误时,根据宕机、死循环、高负载、通讯断路、未知等非正常状态进行相关处置。
步骤530,并行解析完成后,主控节点开始对全局数据总线上的并行节点进行实时属性管理,包括其一确认或者修改并行节点所从属的组别,当同时开展的多个并行计算需要进行资源调配时,对在并行节点中断的状态下修改其从属。包括其二确认或者修改并行分组中的序号,从而获得指定分区的全局数据点表。包括其三确认或者修改自有数据区的配置。属性设置完成后,并行节点基本就绪,等待组态的同步校验后即可接受并行计算的任务派发。
步骤540,主控节点对全局数据总线上的并行节点进行实时同步状态的校验检查,处于同组的并行节点应该具有相同的逻辑和计算组态以及计算周期设定等,当逻辑和计算组态以及计算周期的设定不一致时,主控节点自动进行组态下装或者同步,这个步骤也可以由人工确认并且完成。更进一步地,主控节点在同组的并行节点之间需要保持逻辑和计算组态以及计算周期设定的一致,在并行节点部署受限时,允许同一个并行节点中包含不同组别的并行计算,不同组别的并行计算必需部署在不同的组态页面上,若某并行节点不参与某些组别并行计算则相应的组态页面留空。同步校验完成后,所有并行节点均已进行了基本设定并且保证逻辑与计算组态一致,可以开始接受并行计算的任务派发。
步骤550,主控节点对全局数据总线上的并行节点进行并行计算任务派发,根据计算任务的复杂程度和计算任务的特性不同,对于逻辑类的计算任务如平行安全的攻防演练以及较为简便的计算任务如平行控制的多模式寻优计算等,主控节点对并行节点采用连续派发的方式,即主控节点连续不断地向各并行节点派发计算任务;对于时间耗费较多的计算任务如多变量模型预测控制或厚壁设备的有限元计算等,主控节点对并行节点采用采用伺机派发的方式。计算任务满足轻量特性的、可以在一个并行节点一个运行周期内完成的,通常采用连续派发;计算任务满足重量特性的、通常需要耗费一个并行节点数个运行周期完成的,通常采用伺机派发。此外,连续派发的计算任务在进行任务均衡时也会采用伺机派发的模式。
步骤560,主控节点对全局数据总线上的并行节点进行并行计算任务的优化分配。由于热工控制领域的并行计算具有计算任务较为均衡的特点,计算任务的初始分配是平均分配的,所述优化分配一般是计算任务的再分配。所述计算任务的再分配至少包括两种情形,情形一,伺机派发的任务部分完成后尚有从未分配的计算任务,情形二,连续派发的计算任务完成后尚有从未分配的计算任务。
步骤570,并行计算的一次循环结束后再次在主控节点MPU进入并行解析过程。主控节点MPU通过并行解析对对并行计算获取的结果进行算法聚合,对于寻优类型的计算任务需要进行迭代,当计算结果满足既定的计算指标时发出计算完成信号并接续进行必要的决策等。
步骤580,并行计算完成后,分散处理单元等待进入下一个计算周期。
本发明通过计算机软件对分散处理单元进行并行化改造,在多个分散处理单元中实现并行计算。
以上为分散处理单元并行计算方法的典型实施例。虽然以上内容描述了本发明的具体实施方式,但是本领域的技术人员应当理解这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,因此,本发明的保护范围由所附录权利要求书限定。

Claims (7)

1.分散处理单元并行计算方法,其特征在于,对分散处理单元的全局数据总线上的点表与数据结构、调度进行并行化改造,从而在多个进行了并行部署的分散处理单元中实现并行计算;
在分散处理单元全局点表中增加并行点表,在全局数据总线初始化的时候被赋予全局唯一地址,是全局点表的一个组成部分,与项目点表和固定点表属于同一个全局点表内,在分散控制系统平台管理下可进行信息的互换与赋值;
固定点表并行分区中的每一个测点都有2p个并行测点,依序存放于并行点表中,固定点表并行分区、并行点表以及两者的映射都具有唯一性;
建立分散处理单元中包含并行信息的数据结构,该并行数据结构定义的测点在全局数据总线上的广播方式、生命周期、历史记录均与其他全局数据结构所定义的数据一样;通过并行数据结构定义的测点在全局数据总线上的流通,各个并行分散处理单元与主控分散处理单元之间传递完整的并行信息;
并行数据在全局数据总线上与页间传递、网间传递、柜间传递进行同等的流通;
对进行了并行计算部署的多个并行分散处理单元进行并行计算的任务调度,这种并行调度与全局数据总线上各个分散处理单元已有的分散式调度兼容。
2.根据权利要求1所述的分散处理单元并行计算方法,其特征在于,在并行解析、属性设置、同步校验、任务派发、任务均衡的过程中均保持周期性的状态轮询,周期的设置为所有并行计算组态页面扫描周期的最大公约数或所有并行计算组态页面扫描周期的某些公约数。
3.根据权利要求2所述的分散处理单元并行计算方法,其特征在于,为获取并行节点的实际运行状态,包括计算、闲置、中断、错误,均通过网间通道与并行通道送到主控节点,由主控节点根据相关情形进行处置;当轮询状态为计算时,主控节点不予干扰;当轮询状态为闲置时,状态被计入等待下次任务均衡时调度;当轮询状态为中断时,主控节点查询中断信号是否来自本主控,若否则发布网络通告征询是否来自其他主控节点,若否则清除中断状态;当轮询状态为错误时,根据宕机、死循环、高负载、通讯断路、未知的非正常状态进行相关处置。
4.根据权利要求2所述的分散处理单元并行计算方法,其特征在于,主控节点通过所述属性设置对全局数据总线上的并行节点进行实时属性管理,包括其一确认或者修改并行节点所从属的组别,当同时开展的多个并行计算需要进行资源调配时,对在并行节点中断的状态下修改其从属;包括其二确认或者修改并行分组中的序号,从而获得指定分区的全局数据点表;包括其三确认或者修改自有数据区的配置;属性设置完成后,并行节点基本就绪,等待组态的同步校验后即可接受并行计算的任务派发。
5.根据权利要求2所述的分散处理单元并行计算方法,其特征在于,主控节点通过所述同步校验对全局数据总线上的并行节点进行实时同步状态的校验检查,当逻辑和计算组态以及计算周期的设定不一致时,主控节点自动进行或者人工确认后进行组态下装或者同步;主控节点在同组的并行节点之间需要保持逻辑和计算组态以及计算周期设定的一致,在并行节点部署受限时,允许同一个并行节点中包含不同组别的并行计算。
6.根据权利要求2所述的分散处理单元并行计算方法,其特征在于,主控节点通过所述任务派发对全局数据总线上的并行节点进行并行计算任务派发,计算任务满足轻量特性的、可以在一个并行节点一个运行周期内完成的,采用连续派发;计算任务满足重量特性的、需要耗费一个并行节点数个运行周期完成的,采用伺机派发;此外,连续派发的计算任务在进行任务均衡时也会采用伺机派发的模式。
7.根据权利要求2所述的分散处理单元并行计算方法,其特征在于,主控节点通过所述任务均衡对全局数据总线上的并行节点进行并行计算任务的优化分配,优化分配是计算任务的再分配,至少包括两种情形,情形一,伺机派发的任务部分完成后尚有从未分配的计算任务,情形二,连续派发的计算任务完成后尚有从未分配的计算任务。
CN202010220467.2A 2020-03-25 2020-03-25 分散处理单元并行计算方法 Active CN111427690B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010220467.2A CN111427690B (zh) 2020-03-25 2020-03-25 分散处理单元并行计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010220467.2A CN111427690B (zh) 2020-03-25 2020-03-25 分散处理单元并行计算方法

Publications (2)

Publication Number Publication Date
CN111427690A CN111427690A (zh) 2020-07-17
CN111427690B true CN111427690B (zh) 2023-04-18

Family

ID=71551498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010220467.2A Active CN111427690B (zh) 2020-03-25 2020-03-25 分散处理单元并行计算方法

Country Status (1)

Country Link
CN (1) CN111427690B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231084B (zh) * 2020-10-20 2024-04-09 苏州连世创智科技有限公司 一种读取通讯总线宿端口数据的调度方法
CN113238484B (zh) * 2021-05-10 2023-01-03 国家能源集团新疆吉林台水电开发有限公司 基于智能群岛并行粒子群方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870338A (zh) * 2014-03-05 2014-06-18 国家电网公司 一种基于cpu核管理的分布式并行计算平台及方法
CN104662513A (zh) * 2012-07-10 2015-05-27 洛林·克雷默 自动改进程序编译中的并行处理的方法及其系统
CN107683340A (zh) * 2015-05-07 2018-02-09 加利福尼亚太平洋生物科学股份有限公司 多处理器流水线架构
CN109086537A (zh) * 2018-08-13 2018-12-25 吉林大学 基于fpga的粒子群算法加速方法
CN109347908A (zh) * 2018-09-06 2019-02-15 东莞中子科学中心 分布式异构计算的数据访问方法
CN110704360A (zh) * 2019-09-29 2020-01-17 华中科技大学 一种基于异构fpga数据流的图计算优化方法
CN110825061A (zh) * 2019-11-29 2020-02-21 新疆新能集团有限责任公司乌鲁木齐电力建设调试所 一种分散处理单元的流数据二维处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141131B2 (en) * 2011-08-26 2015-09-22 Cognitive Electronics, Inc. Methods and systems for performing exponentiation in a parallel processing environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662513A (zh) * 2012-07-10 2015-05-27 洛林·克雷默 自动改进程序编译中的并行处理的方法及其系统
CN103870338A (zh) * 2014-03-05 2014-06-18 国家电网公司 一种基于cpu核管理的分布式并行计算平台及方法
CN107683340A (zh) * 2015-05-07 2018-02-09 加利福尼亚太平洋生物科学股份有限公司 多处理器流水线架构
CN109086537A (zh) * 2018-08-13 2018-12-25 吉林大学 基于fpga的粒子群算法加速方法
CN109347908A (zh) * 2018-09-06 2019-02-15 东莞中子科学中心 分布式异构计算的数据访问方法
CN110704360A (zh) * 2019-09-29 2020-01-17 华中科技大学 一种基于异构fpga数据流的图计算优化方法
CN110825061A (zh) * 2019-11-29 2020-02-21 新疆新能集团有限责任公司乌鲁木齐电力建设调试所 一种分散处理单元的流数据二维处理方法

Also Published As

Publication number Publication date
CN111427690A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
CN111427690B (zh) 分散处理单元并行计算方法
CN109933631A (zh) 基于Infiniband网络的分布式并行数据库系统及数据处理方法
JPWO2012144647A1 (ja) 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム
EP0397924B1 (en) Work station controller module
CN105071994B (zh) 一种海量数据监控系统
CN105005503B (zh) 基于元胞自动机的云计算负载均衡任务调度方法
CN106033442A (zh) 一种基于共享内存体系结构的并行广度优先搜索方法
CN104506669A (zh) 一种面向分布式网络仿真平台的ip地址分配系统及方法
CN110912967A (zh) 一种服务节点调度方法、装置、设备及存储介质
CN109951370B (zh) 多大数据中心分层互联互通方法及装置
CN102098223A (zh) 节点设备调度方法、装置和系统
CN110879753B (zh) 基于自动化集群资源管理的gpu加速性能优化方法和系统
CN112711470A (zh) 一种集群并行处理多任务的方法
US11637791B2 (en) Processing allocation in data center fleets
CN101299758B (zh) 一种大规模事件处理的规则群组系统及处理方法
CN112862312B (zh) 基于随机在线算法的制造服务资源动态调度方法及系统
CN103034698B (zh) 数据存储方法及装置
CN102087620B (zh) 在异构机群中运行应用程序、提升运算速度的方法及装置
Yan et al. QTMS: A quadratic time complexity topology-aware process mapping method for large-scale parallel applications on shared HPC system
CN113791593B (zh) 分散控制系统测点导出方法、系统、终端设备及可读存储介质
Gropp et al. Recursive mesh refinement on hypercubes
CN113504926B (zh) 一种项目的打包方法、装置及计算机可读存储介质
Sourati et al. Reducing transfer costs of fragments allocation in replicated distributed database using genetic algorithms
Fang et al. Research of Task Scheduling Mechanism Based on Prediction of Memory Utilization
CN117785397A (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