一种基于多个微处理器的集群运算方法与流程

文档序号:12271264阅读:281来源:国知局

本发明涉及电子嵌入式领域,具体涉及一种基于多个微处理器的集群运算方法。



背景技术:

目前集群运算主要分三类,网络资源负载均衡,高可靠性集群(多设备并行工作冗余备份),还有所谓超级计算机的科学计算集群。但是这些集群方案都是针对电脑整机的,他们基于网络传输进行逻辑配合达到多设备共同集群运算。但是到目前为止没有人提出过针对嵌入式系统的多个微处理器做集群运算。而随着物联网科技的发展,单片机或者嵌入式系统中一个微控制器已经不能满足开发的需求,目前的多mcu之间的配合工作没有规范,没有协议,处于散养阶段,更不可能达到高效,稳定,可扩展性的要求。

电子嵌入式领域主要是针对某一个微处理器编程开发,如果出现多个微处理器合作就只能特别开发,导致开发成本高,难度高,而且不同的方案不同的通信方式,不可复用,可扩展能力很弱。



技术实现要素:

本发明的目的是针对现有技术中的不足,提供一种多个微控制器共同运算,并且可以随意增减微处理器的方法,多个微处理器既能配合运算做好几个并行逻辑也能分工合作做一个运算逻辑方法。

为实现上述目的,本发明公开了如下技术方案:

一种基于多个微处理器的集群运算方法,包括如下步骤:

S1物理层结构部署:将系统中工作的每个MCU都看作系统中的一个节点,各个节点之间相互连接,都和一个专门的转接节点实现点对点的连接;

S2链路层结构部署:对每个MCU节点做加权公平队列消息传输,转接节点将通过每个节点的重要性做智能的权重分配来保证数据的高效传递,权重高的运行速度就高,权重低的运行速度就低;

S3应用层结构部署:每个应用节点对注册节点通报自己提供的服务以及能够收发的报文结构,系统运行时,每个节点都能够通过注册节点的服务公告,找到服务对应的地址,然后根据地址把服务送达,最后根据服务格式解析数据;

S4采用消息事件驱动模式运行整个系统:每个节点都在一套消息可靠性接收送达的规范内自由运行,只有当消息被送到相关的节点后,该节点才会做具体的反应;每个节点逻辑相对独立,正常运行的条件不依赖于外部环境并且对自身的运行健康状态做监控来保证该节点的长期稳定工作。

进一步的,所述转接节点包括高速节点和低速节点,对于低速节点,物理层结构为多节点共享一条公共总线。

进一步的,在系统的应用层将中心节点透明,认为各个节点都是全互连的网络拓扑,任意两节点之间都能够直连,在这个基础上将某一个节点指定为注册点,这个注册点得到的全部星图就成为了整个系统的服务公告牌,应用层的工作则基于这个公告牌去查询到具体的节点位置。

进一步的,多个MCU之间的物理连接方式至少包括SPI、I2C或UART。

进一步的,每个系统中都有一个或者多个高速数据交换节点,每个系统中都有一个或多个注册签到服务节点,其他的运算节点都使用或者高速连接方式或者低速连接方式和系统中管理节点互联。

本发明公开的一种基于多个微处理器的集群运算方法,具有以下有益效果:

本发明提出了有效的多个mcu节点集群协作的方法,提高了开发效率并且保证了系统的可扩展性和稳定性,并且每个节点都以松耦合的方法有相对独立的工作方式。即使有个别节点出现故障也不会影响整个系统的正常工作。

附图说明

图1是本发明的结构示意图。

具体实施方式

下面结合实施例对本发明作进一步描述。

多mcu之间配合工作已经越来越多成为物联网智能设备的需求,而多个mcu之间的通信和协作处于无政府主义阶段,一种简单高效的多mcu合作运行的方案已经成了项目开发的必然需求。如何能提供清晰的高效的mcu合作工作方案,并且各个mcu之间切实达到松耦合和可随意增删扩展功能,已经成了复杂项目开发的必然需求。本发明提供了多个微控制器共同运算,并且可以随意增减微处理器的方法,多个未处理既能配合运算做多个并行逻辑,也能分工合作做一个运算逻辑。

请参见图1。

一种基于多个微处理器的集群运算方法,包括如下步骤:

S1物理层结构部署:将系统中工作的每个MCU都看作系统中的一个节点,各个节点之间相互连接,都和一个专门的转接节点实现点对点的连接;同时也可包括可嵌套级联的多层结构;

S2链路层结构部署:对每个MCU节点做加权公平队列消息传输,转接节点将通过每个节点的重要性做智能的权重分配来保证数据的高效传递,权重高的运行速度就高,权重低的运行速度就低;

S3应用层结构部署:每个应用节点对注册节点通报自己提供的服务以及能够收发的报文结构,系统运行时,每个节点都能够通过注册节点的服务公告,找到服务对应的地址,然后根据地址把服务送达,最后根据服务格式解析数据;

S4采用消息事件驱动模式运行整个系统:每个节点都在一套消息可靠性接收送达的规范内自由运行,只有当消息被送到相关的节点后,该节点才会做具体的反应;每个节点逻辑相对独立,正常运行的条件不依赖于外部环境并且对自身的运行健康状态做监控来保证该节点的长期稳定工作。

作为具体实施例,所述转接节点包括高速节点和低速节点,对于低速节点,物理层结构为多节点共享一条公共总线。

作为具体实施例,在系统的应用层将中心节点透明,认为各个节点都是全互连的网络拓扑(full mash),任意两节点之间都能够直连,在这个基础上将某一个节点指定为注册点(类似一个观测点),这个注册点得到的全部星图就成为了整个系统的服务公告牌,应用层的工作则基于这个公告牌去查询到具体的节点位置。

作为具体实施例,多个MCU之间的物理连接方式至少包括SPI、I2C、UART或其他可以实现通信的协议。

作为具体实施例,每个系统中都有一个或者多个高速数据交换节点,每个系统中都有一个或多个注册签到服务节点,其他的运算节点都使用或者高速连接方式或者低速连接方式和系统中管理节点互联。每个节点都以签到的方式,通过注册节点将本节点可以提供的服务公告给整个系统。

本发明的整个系统类似于太阳系的运行系统,每个天体可以看作一个MCU的节点,每个节点都是可以独立工作的。任何一个节点都是以相互连接的结构或者嵌套结构围绕中心节点工作。中心节点为每个围绕其旋转的节点赋予不同的权重,权重高的运行速度就高,权重低的运行速度就低。

本发明系统中消息的传播是基于数据交换中心节点的加权公平的资源调度算法。

本发明也可以使用中断响应冲突的机制来实现:目前的系统设计大部分都是使用的中断响应方式,包括电脑和单片机的运行都是工作于各种中断响应的。这种中断响应冲突解决的工作机制就从底层允许无序的抢资源,当出现中断冲突时候再根据不同的中断优先级做裁决。这也就要求硬件系统提供足够多的资源来应答不可预估的中断响应,当系统资源不能满足突发的大量的中断响应的时候就会出现卡顿甚至死机。而本发明对各个mcu的资源使用的是环形的加权的公平队列,这就让整个硬件资源在一种可控的状态下调用,不会出现系统卡死、死机等情况。

以上所述仅是本发明的优选实施方式,而非对其限制;应当指出,尽管参照上述各实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,其依然可以对上述各实施例所记载的技术方案进行修改,或对其中部分或者全部技术特征进行等同替换;而这些修改和替换,并不使相应的技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1