CN101609443B - 演化硬件控制器及其控制方法 - Google Patents
演化硬件控制器及其控制方法 Download PDFInfo
- Publication number
- CN101609443B CN101609443B CN2009100891185A CN200910089118A CN101609443B CN 101609443 B CN101609443 B CN 101609443B CN 2009100891185 A CN2009100891185 A CN 2009100891185A CN 200910089118 A CN200910089118 A CN 200910089118A CN 101609443 B CN101609443 B CN 101609443B
- Authority
- CN
- China
- Prior art keywords
- processor
- control program
- master control
- hardware
- numbering
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种演化硬件控制器,包括可重配置硬件,在该可重配置硬件中包括多个处理器,且处理器之间通过网络相连,处理器中设有包含硬件设备控制程序的硬件设备控制模块及包括内含遗传算法之主控制程序的主控制程序模块的存储器,主控制程序轮流在处理器上运行遗传算法,在主控制程序模块中还包括透过网络与各处理器通信并顺序在处理器中传递主控制程序运行权的通信单元;硬件设备控制程序在各个处理器中接收主控制程序的命令并返回执行状态,主控制程序采用遗传算法并通过硬件设备控制程序对硬件设备实施控制,任意时刻只有一处理器中存在主控制程序运行权。本发明优点在于可靠性高,即使个别处理器或连接网络出现故障仍然可继续执行控制任务。
Description
技术领域
本发明涉及一种硬件控制器,特别是涉及一种由多个处理器和连接它们的网络组成的运算遗传算法程序的硬件设备控制器。
背景技术
演化硬件(EHW,Evolvable Hardware)一种特别类型的硬件,即,具有自组织、自适应、自修复能力的硬件。其功能和结构都能够自主、自动地改变,在执行任务的过程中能够通过在线的动态变化以适应其要处理的问题和所处环境的变化。所述演化硬件是可重配置硬件设备(reconfigurable hardware devices)和遗传算法(GA,genetic algorithms)结合的产物,即在遗传算法控制下的可重配置的硬件。
目前,大多数的演化硬件的可重配置硬件部分通常是采用现场可编程门阵列(FPGA,FieldProgrammable Gate Array)器件构建,而FPGA的结构和功能是由它的配置数据来决定,即给FPGA加载不同的配置数据,就可以完成不同的硬件功能,甚至可以在系统运行中改变配置,实现系统功能的动态重组。
所述遗传算法通常在可重配置硬件外部的计算机或处理器中执行,如图1和图2中所示,其根据任务和环境的变化去重新配置FPGA,进而改变硬件的功能和作用,但是如果遗传算法赖以执行的计算机或处理器出现问题,就会致使演化硬件失效。
发明内容
鉴于目前演化硬件存在的问题,本发明之一目的在于提供一种由多个带有存储器的处理器以及连接它们的网络组成的,且可运行遗传算法程序的,可靠性高的演化硬件控制器。
为了实现上述目的,本发明采用了下述技术方案:
所述演化硬件控制器包括可重配置硬件,在该可重配置硬件中包括:
多个处理器,每个处理器之间通过网络相连,且在处理器中设置有包含硬件设备控制程序的存储器以及包括内含遗传算法之主控制程序的主控制程序模块;其中,所述主控制程序模块轮流在任一所述处理器上运行实现遗传算法的主控制程序,且在该主控制程序模块中还包含一透过网络与所述处理器通信并顺序在处理器中传递主控制程序运行权的通信单元。
所述硬件设备控制模块中的硬件设备控制程序在各个处理器上接收主控制程序的命令并返回执行状态,所述主控制程序采用遗传算法且通过硬件设备控制程序对硬件设备实施控制,且对于任一时刻,多个处理器中只有一个处理器中包含主控制程序运行权。
所述处理器中设置有包含超时处理程序的超时处理单元,其用以确保相连通的多个处理器之中存在且仅存在唯一的一个具有主控制程序运行权的处理器;所述超时处理单元中设置有一定时器,用以设定超时时间。
所述处理器在所设定超时时间范围内没有收到主控制程序模块发送的运行消息,则自动产生主控制程序运行权运行主控制程序,其中,在产生主控制程序运行权过程中若收到主控制程序模块传递的主控制程序运行权,则处理器编号小的继续运行主控制程序。
此外,本发明另一目的在于提供一种演化硬件控制方法,其包括以下步骤:
1)透过网络或硬件设备接收用户命令并运行一处理器中的主控制程序;
2)主控制程序运行并通过网络,向其它处理器发送广播消息告之,本处理器现在运行主控制程序;
3)记录对广播消息所反馈回之应答消息的处理器编号;
4)运行包含遗传算法的主控制程序;
5)根据记录的处理器编号通知下一个准备运行主控制程序的处理器;
6)收到待运行处理器之应答消息后,广播发送运行主控制程序所需的数据,并广播告知其它处理器,主控制程序交由所述待运行处理器运行;
7)跳至步骤(4)执行,直至演化任务执行完毕。
其中,在步骤3)中还包括,运行过程中,如果发现有其它处理器正在运行主控制程序,则与该处理器编号大小进行比较,如果其它处理器编号大,则其停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。步骤5)中包括,如果运行主控制程序的处理器是最大编号,则待运行处理器选择最小编号的;否则,则选择比自己编号大且编号之差最小的处理器。在步骤5)和步骤6)之间包括,如果没有收到应答消息,则继续选择下一个处理器,如果运行主控制程序的是最大编号,则选择最小编号的处理器;否则,则选择比自己编号大且编号之差最小的处理器。
另外,在各处理器中包括一超时处理程序,该超时处理程序包括以下步骤:
A)如果在设定时间范围内处理器没有收到主控制程序发来的运行消息,则所述处理器超时;
B)延迟(设定时间×(处理器编号+1))时间后,处理器自动开始运行主控制程序。
C)如果在开始运行主控制程序的过程中,收到其它处理器发来的主控制程序运行的消息,则给与应答并退出主控制程序运行。
此外,在步骤C中还包括与运行主控制程序的其它处理器之编号进行大小比较,如果其它处理器编号大,则其它处理器停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。
相比现有技术中的演化硬件而言,本发明能够在某个处理器或连接网络出现故障时继续执行控制任务,可靠性高,可适用于大范围的硬件设备控制中,且通过遗传算法在多个处理器组成的阵列中执行,因此能够动态、自主地重新配置其自身结构的,并具有在线适应性的由处理器组成的硬件。
附图说明
图1为现有技术中所述演化硬件的概念示意图;
图2为现有技术演化硬件常用的原理示意图;
图3为本发明所述演化硬件控制器相对现有技术中所述演化硬件的概念示意图;
图4为本发明所述演化硬件控制器的原理示意图;
图5为本发明所述演化硬件控制器的结构示意图
图6为本发明所述演化硬件控制器其中一处理器运行主控制程序的示意图;
图7为本发明所述演化硬件控制器中硬件设备控制程序框图;
图8为本发明所述演化硬件控制器中主控制程序运行权传递图;
图9为本发明所述演化硬件控制方法的流程图;
图10为本发明所述演化硬件控制器中超时处理程序框图;
图11为本发明具体实施例中处理器出现故障时的运行示意图;
图12为本发明具体实施例中网络出现故障时的运行示意图。
具体实施方式
下面结合附图以及具体实施方式来对本发明所述演化硬件控制器及其控制方法作进一步的详细说明。
参照图5,其为本发明所述演化硬件控制器的具体结构示意图,且结合图3、图4和图6所示,所述演化硬件控制器包括可重配置硬件1,在该可重配置硬件1中设置有多个带有存储器120的处理器12、连接该些处理器12的网络13以及包括内含遗传算法之主控制程序的主控制程序模块1201,且在所述主控制程序模块1201中还包含一透过网络13与所述处理器12通信并顺序在多个处理器12中传递主控制程序运行权的通信单元12011。
在每个处理器12上还设置有包含硬件设备控制程序的硬件设备控制模块1202,该硬件设备控制模块1202为设置在存储器120中,见图7,其中,该所述硬件设备控制程序等待接收主控制程序的消息或命令,并在接收到主控制程序的消息或命令后,向主控制程序发送应答,执行相应的命令;以及等待接收硬件设备14的请求或状态,且在接收到该所述请求或状态后,向主控制程序发送报告。
所述主控制程序执行遗传算法并与所有处理器12中的硬件设备控制程序通信,且通过所述硬件设备控制程序去控制硬件设备14,并轮流在所述多个处理器12中运行。
此外,任一时刻多个处理器12中有且只有一个处理器12得到运行主控制程序的运行权,在实际应用中,如图8中所示,每个处理器12运行主控制程序一段预定的时间后,转交另一个处理器12运行主控制程序,而其中定时则可以根据实际需要设定长短。
另外,在每个处理器12上都设置有包含超时处理程序的超时处理单元1203,该超时处理单元1203用于确保相连通的多个处理器12之间存在且仅存在唯一的一个具有主控制程序运行权的处理器12,且在该超时处理单元1203中设置有定时器(图中未示),通过该定时器,可设定超时时间,实际应用中,如果在定时器所设定时间范围内没有收到主控制程序发来的运行消息,则处理器12超时。
所述处理器12各自延迟一个时间间隔(如,时间常数×(处理器编号+1)),就会自动运行主控制程序,其中,在运行过程中,如果收到其它处理器12发来的主控制程序运行消息,则给与应答并复位定时器,退出主控制程序。
对于上述过程,为了避免处理器12之间同时相互收到所述主控制程序运行消息,还包括一个处理器12编号大小的比较,还包括与运行主控制程序的其它处理器12之编号进行大小比较,如果其它处理器12编号大,则其它处理器12停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。
参照图9,其为本发明所述演化硬件控制方法的流程图,首先,主控制程序模块在接收到用户控制命令后开始运行,并进入执行状态(步骤80);其次,通过网络向其它处理器发送广播消息告之,本处理器现在运行主控制程序(步骤81);记录对广播消息有反馈应答消息的处理器之编号(步骤82);在运行过程中,如果有其它处理器也正在运行主控制程序,则与该处理器编号大小进行比较,如果其它处理器的编号大,则其停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序(步骤83、步骤830、步骤831和步骤832)。然后,在多个处理器中只有唯一的一个处理器运行包含遗传算法的控制程序。
在上述基础上,且在主控制程序运行一段时间后,根据记录的处理器编号通知下一个准备运行主控制程序的处理器(步骤84),其中所述时间可根据实际配置需要去设定该主控制程序在一处理器中运行的时间。
其中,如果当前运行主控制程序的处理器是最大编号,则待运行处理器选择最小编号的处理器;否则,则选择比自己编号大且编号之差最小的处理器(步骤840、步骤841和步骤842)。
如果主控制程序没有收到待运行处理器之应答消息,则跳至步骤84中运行(步骤843)。如果循环查询各处理器一遍,都没有收到待运行处理器之应答消息,(图中未示),则表示出现故障,该处理器将会等待故障排除后自动恢复正常运行。
如果主控制程序收到待运行处理器之应答消息后,广播发送运行主控制程序所需的数据,并广播告知其它处理器,主控制程序由该所述待运行处理器运行,主控制程序运行权已经转移(步骤85)。
结合图10所示,在每个处理器中都包括一超时处理程序,该程序包括以下步骤:如果在设定时间范围内,处理器没有收到主控制程序发来的运行消息,则处理器超时(步骤90);在延迟(设定时间×(处理器编号+1))时间后,处理器自动开始运行主控制程序,如果该处理器运行过程中收到主控制程序的运行消息,则给与应答并退出主控制程序运行(步骤91和步骤910)。
所述超时处理程序主要用于保证在相连通的多个处理器中总会有一个处理器运行主控制程序,并继续传递主控制程序运行权,能在出现故障、主控制程序运行权丢失的情况下自动恢复正常工作。
为了避免处理器之间同时收到所述主控制程序运行消息后,都给予退出主控制程序的运行,从而在上述处理器运行主控制程序过程中,还包括处理器编号大小比较的过程,即该处理器还需要与发出主控制程序运行消息的处理器之编号进行大小比较,如果发出主控制程序运行消息的处理器编号大,则接收到主控制程序运行消息的处理器停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。
结合上述,即使出现硬件故障,通过本发明所述演化硬件控制器及其方法也可以继续工作,可靠性远远高于现有技术中的演化硬件,例如:
多处理器演化硬件控制器在工作时遇到的硬件故障分为两类,A:某一个或几个处理器故障;B:网络线路故障。
当某一个或几个处理器故障时,主控制程序仍然可以正常执行,继续组织能正常工作的处理器实现控制功能,见图11,其为处理器4出现故障时,其它处理器仍可正常工作的示意图,只是处理器3就会把主控制程序运行权直接传给处理器5,而不会经过处理器4。
当网络线路故障时,由于网络的连通性遭到破坏,各自连通的处理器中会重新出现主控制程序,该主控制程序组织其所连通的处理器继续工作。如图12所示,此时,如果两个回路的主控制程序都能与用户端通信,则将向用户端报告情况,并按照用户端的控制命令工作。如果一个主控制程序不能与用户端通信,将进入预定的故障处理和等待状态,确保受控硬件设备不失控。一旦网络连通或与用户端通信成功,就会恢复正常工作。
此外,在本发明中所述在主控制程序中采用的遗传算法是标准的遗传算法,它用于对各处理器所连接的硬件设备选择一个满意度高的配置方案,再进行控制。这就是说各处理器和它们连接的硬件设备是可重配置的。
对可重配置的硬件设备的配置方案进行编码,从中选择满意度高的方案,再对编码的方案按一定概率进行交叉,按一定概率进行变异,得到一组新的方案。再从中选择,循环计算,直到得到达到预定满意度值的配置方案。按此方案实施控制,完成所需的功能。这个过程与通用的遗传算法控制可重配置硬件的方法相同,不再赘述。
例如,评价满意度可使用如下的评价函数公式:
式中:Hi是配置方案违反第i条硬约束的处罚,对应的权重为αi;
Si是配置方案违反第j条软约束的处罚,对应的权重为βj;
当全部硬约束得到满足后γ=1,否则γ=0。
当γ=1且评价函数值大于预定的值,则可认为得到满意的硬件设备配置方案。
参见图1、图2、图3、图4、图5、图6和图9中所示,遗传算法运行在可重配置硬件1的内部,而不是外部(如图3所示),遗传算法111根据用户的命令自行找出硬件配置方案实施控制,这就是硬件的自组织。当硬件出现故障或环境条件变化,遗传算法将根据硬件状态的变化重新找出硬件配置方案实施控制,这就是硬件的自适应。实现硬件自组织、自适应,是演化硬件固有能力,也是多处理器演化硬件控制器所具有的能力。
此外,本发明中所述网络13可以是简单的总线结构,也可以是各种局域网或互联网,可以用于大范围的硬件设备控制。
在本发明中,多个处理器间的逻辑连接可采用令牌环结构,即每一个节点在得到主控制程序的运行权时可以发送报文给任何其它节点。每一个处理器本发明中起两个方面的作用:(1)控制一个或多个硬件设备,监视其工作状态,并给予报告。(2)当状态变化时,任何一个处理器在得到主控制程序的运行权后,可以通过发送报文改变其它节点及其控制的硬件设备的状态,也即重新配置系统。
Claims (8)
1.一种演化硬件控制器,包括可重配置硬件,其特征在于,所述可重配置硬件包括:
多个处理器,每个处理器之间通过网络相连,且在处理器中设置有存储器,在该存储器中设置有包括硬件设备控制程序的硬件设备控制模块以及包括内含遗传算法之主控制程序的主控制程序模块;
其中,处理器上的所述主控制程序模块轮流运行实现遗传算法的主控制程序,且在该主控制程序模块中还包含一透过网络与处理器通信并顺序在多个处理器中传递主控制程序运行权的通信单元;
各个处理器上的所述硬件设备控制模块中的硬件设备控制程序接收主控制程序的命令并返回执行状态,所述主控制程序采用遗传算法且通过硬件设备控制程序对硬件设备实施控制,且对于任一时刻,多个处理器中只有一个处理器中包含主控制程序运行权;
所述处理器中设置有包含超时处理程序的超时处理单元,其用以确保相连通的多个处理器之中存在且仅存在唯一的一个具有主控制程序运行权的处理器。
2.根据权利要求1所述演化硬件控制器,其特征在于,所述超时处理单元中设置有一定时器,其用以设定超时时间。
3.一种演化硬件控制方法,其特征在于,包括以下步骤:
1)透过网络或硬件设备接收用户命令并运行一处理器中的主控制程序;
2)主控制程序运行并通过网络,向其它处理器发送广播消息告之,本处理器现在运行主控制程序;
3)记录对广播消息所反馈回之应答消息的处理器编号;
4)继续运行包含遗传算法的主控制程序;
5)根据记录的处理器编号通知下一个准备运行主控制程序的处理器;
6)收到待运行处理器之应答消息后,广播发送运行主控制程序所需的数据,并广播告知其它处理器,主控制程序运行权交由所述待运行处理器运行;
7)跳至步骤(4)执行,直至演化任务执行完毕。
4.根据权利要求3所述演化硬件控制方法,其特征在于,步骤3)中还包括,运行过程中,如果发现有其它处理器正在运行主控制程序,则与其它处理器编号大小进行比较,如果其它处理器编号大,则其停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。
5.根据权利要求3所述演化硬件控制方法,其特征在于,步骤5)中包括,如果运行主控制程序的处理器是最大编号,则待运行处理器选择最小编号的;否则,则选择比自己编号大且编号之差最小的处理器。
6.根据权利要求3所述演化硬件控制方法,其特征在于,在步骤5)和步骤6)之间包括,如果没有收到应答消息,则继续选择下一个处理器,如果运行主控制程序的处理器是最大编号,则选择最小编号的处理器;否则,则选择比自己编号大且编号之差最小的处理器。
7.根据权利要求3所述演化硬件控制方法,其特征在于,各处理器中包括一超时处理程序,其包括以下步骤:
A)如果在设定时间范围内处理器没有收到主控制程序发来的运行消息,则所述处理器超时;
B)延迟=设定时间×(处理器编号+1),经过上述延迟时间后,处理器自动开始运行主控制程序。
C)在开始运行主控制程序的过程中,如果收到其它处理器发来的主控制程序运行的消息,则给与应答并退出主控制程序运行。
8.根据权利要求7所述演化硬件控制方法,其特征在于,步骤C)中包括,与运行主控制程序的其它处理器之编号进行大小比较,如果其它处理器编号大,则其停止运行主控制程序,反之则继续运行包含遗传算法的主控制程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100891185A CN101609443B (zh) | 2009-07-31 | 2009-07-31 | 演化硬件控制器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100891185A CN101609443B (zh) | 2009-07-31 | 2009-07-31 | 演化硬件控制器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101609443A CN101609443A (zh) | 2009-12-23 |
CN101609443B true CN101609443B (zh) | 2011-03-30 |
Family
ID=41483200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100891185A Expired - Fee Related CN101609443B (zh) | 2009-07-31 | 2009-07-31 | 演化硬件控制器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101609443B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117480A (zh) * | 2011-03-08 | 2011-07-06 | 武汉大学 | 基于函数级演化硬件的图像空间域滤波系统及方法 |
CN102254225B (zh) * | 2011-06-03 | 2013-09-25 | 中国科学院西安光学精密机械研究所 | 基于趋向型紧凑遗传算法的演化硬件实现方法 |
CN108445797B (zh) * | 2018-03-08 | 2020-06-02 | 河南科技大学 | 一种演化硬件无延迟控制方法 |
CN108345250B (zh) * | 2018-03-08 | 2020-04-21 | 河南科技大学 | 一种演化硬件无延迟控制装置 |
CN109057863B (zh) * | 2018-07-31 | 2020-03-31 | 郑州智谷工业技术有限公司 | 一种基于演化硬件的井下生命探测装置及方法 |
-
2009
- 2009-07-31 CN CN2009100891185A patent/CN101609443B/zh not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
姚爱红等.基于动态可重构FPGA的自演化硬件概述.《智能系统学报》.2008,第3卷(第5期), * |
罗惠琼等.无线网中采用令牌环操作机制研究.《电信科学》.1997,第13卷(第3期), * |
Also Published As
Publication number | Publication date |
---|---|
CN101609443A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101609443B (zh) | 演化硬件控制器及其控制方法 | |
CN1159630C (zh) | 用于产生和分配警报和事件通知的系统和方法 | |
CN102984042B (zh) | 一种实现总线通信的确定性调度方法及系统 | |
CN104798399B (zh) | 数据收发方法 | |
CN1717658A (zh) | 集群系统的心跳机构 | |
CN105159769A (zh) | 一种适用于计算能力异构集群的分布式作业调度方法 | |
CN104320495A (zh) | 一种用电信息采集系统的海量数据存储方法及系统 | |
CN102110860B (zh) | 分布式电池管理系统及其标识分配方法 | |
CN100442713C (zh) | 一种提高通讯链路层协议效率的方法 | |
CN107025152A (zh) | 基于任务级的双冗余热备份设备的数据同步方法 | |
CN109728941A (zh) | 一种区块链领导人选举方法及其装置 | |
CN113037889A (zh) | 一种储能电池管理系统从机地址分配方法 | |
CN102411607A (zh) | 分布式数据存储系统中数据复制的方法以及相应设备 | |
CN105471755A (zh) | 网络流量均衡的方法及超级控制器 | |
CN108199920A (zh) | 监控云平台中的服务器的性能的方法和服务器 | |
CN103973489A (zh) | 一种异构设备集中监控系统 | |
CN105122736A (zh) | 用于主仲裁的方法和系统 | |
CN106953809B (zh) | 一种基于485分时通信的设备资源采集方法 | |
CN105407087A (zh) | 消息发送方法和装置 | |
CN114615337B (zh) | 设备调度方法、系统、服务器及存储介质 | |
CN202261354U (zh) | 一种应用于数据采集装置的can总线结构 | |
CN214751843U (zh) | 一种看门狗监控系统 | |
CN103634821A (zh) | 一种多路无线网络通信设备链路动态监控处理方法 | |
CN108469747A (zh) | 通信管理方法、系统及计算机可读存储介质 | |
CN105554900A (zh) | 一种剩余能量排序负载调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110330 Termination date: 20150731 |
|
EXPY | Termination of patent right or utility model |