CN106445877B - 一种基于多个微处理器的集群运算方法 - Google Patents

一种基于多个微处理器的集群运算方法 Download PDF

Info

Publication number
CN106445877B
CN106445877B CN201610955200.1A CN201610955200A CN106445877B CN 106445877 B CN106445877 B CN 106445877B CN 201610955200 A CN201610955200 A CN 201610955200A CN 106445877 B CN106445877 B CN 106445877B
Authority
CN
China
Prior art keywords
node
service
method based
operation method
microprocessor
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
CN201610955200.1A
Other languages
English (en)
Other versions
CN106445877A (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.)
Beijing Aiqi Technology Co Ltd
Original Assignee
Beijing Aiqi 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 Beijing Aiqi Technology Co Ltd filed Critical Beijing Aiqi Technology Co Ltd
Priority to CN201610955200.1A priority Critical patent/CN106445877B/zh
Publication of CN106445877A publication Critical patent/CN106445877A/zh
Application granted granted Critical
Publication of CN106445877B publication Critical patent/CN106445877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种基于多个微处理器的集群运算方法,包括如下步骤:S1物理层结构部署;S2链路层结构部署;S3应用层结构部署;S4采用消息事件驱动模式运行整个系统。本发明提出了有效的多个mcu节点集群协作的方法,提高了开发效率并且保证了系统的可扩展性和稳定性,并且每个节点都以松耦合的方法有相对独立的工作方式。即使有个别节点出现故障也不会影响整个系统的正常工作。

Description

一种基于多个微处理器的集群运算方法
技术领域
本发明涉及电子嵌入式领域,具体涉及一种基于多个微处理器的集群运算方法。
背景技术
目前集群运算主要分三类,网络资源负载均衡,高可靠性集群(多设备并行工作冗余备份),还有所谓超级计算机的科学计算集群。但是这些集群方案都是针对电脑整机的,他们基于网络传输进行逻辑配合达到多设备共同集群运算。但是到目前为止没有人提出过针对嵌入式系统的多个微处理器做集群运算。而随着物联网科技的发展,单片机或者嵌入式系统中一个微控制器已经不能满足开发的需求,目前的多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的资源使用的是环形的加权的公平队列,这就让整个硬件资源在一种可控的状态下调用,不会出现系统卡死、死机等情况。
以上所述仅是本发明的优选实施方式,而非对其限制;应当指出,尽管参照上述各实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,其依然可以对上述各实施例所记载的技术方案进行修改,或对其中部分或者全部技术特征进行等同替换;而这些修改和替换,并不使相应的技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种基于多个微处理器的集群运算方法,其特征在于,包括如下步骤:
S1物理层结构部署:将系统中工作的每个MCU都看作系统中的一个节点,各个节点之间相互连接,都和一个专门的转接节点实现点对点的连接;
S2链路层结构部署:对每个MCU节点做加权公平队列消息传输,转接节点将通过每个节点的重要性做智能的权重分配来保证数据的高效传递,权重高的运行速度就高,权重低的运行速度就低;
S3应用层结构部署:每个应用节点对注册节点通报自己提供的服务以及能够收发的报文结构,系统运行时,每个节点都能够通过注册节点的服务公告,找到服务对应的地址,然后根据地址把服务送达,最后根据服务格式解析数据;
S4采用消息事件驱动模式运行整个系统:每个节点都在一套消息可靠性接收送达的规范内自由运行,只有当消息被送到相关的节点后,该节点才会做具体的反应;每个节点逻辑相对独立,正常运行的条件不依赖于外部环境并且对自身的运行健康状态做监控来保证该节点的长期稳定工作。
2.根据权利要求1所述的一种基于多个微处理器的集群运算方法,其特征在于,所述转接节点包括高速节点和低速节点,对于低速节点,物理层结构为多节点共享一条公共总线。
3.根据权利要求1所述的一种基于多个微处理器的集群运算方法,其特征在于,在系统的应用层将中心节点透明,认为各个节点都是全互连的网络拓扑,任意两节点之间都能够直连,在这个基础上将某一个节点指定为注册节点,这个注册节点得到的全部星图就成为了整个系统的服务公告牌,应用层的工作则基于这个公告牌去查询到具体的节点位置。
4.根据权利要求1所述的一种基于多个微处理器的集群运算方法,其特征在于,多个MCU之间的物理连接方式至少包括SPI、I2C或UART。
5.根据权利要求1所述的一种基于多个微处理器的集群运算方法,其特征在于,每个系统中都有一个或者多个高速数据交换节点,每个系统中都有一个或多个注册签到服务节点,其他的运算节点都使用高速连接方式或者低速连接方式和系统中管理节点互联。
CN201610955200.1A 2016-11-03 2016-11-03 一种基于多个微处理器的集群运算方法 Active CN106445877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610955200.1A CN106445877B (zh) 2016-11-03 2016-11-03 一种基于多个微处理器的集群运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610955200.1A CN106445877B (zh) 2016-11-03 2016-11-03 一种基于多个微处理器的集群运算方法

Publications (2)

Publication Number Publication Date
CN106445877A CN106445877A (zh) 2017-02-22
CN106445877B true CN106445877B (zh) 2019-03-15

Family

ID=58179395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610955200.1A Active CN106445877B (zh) 2016-11-03 2016-11-03 一种基于多个微处理器的集群运算方法

Country Status (1)

Country Link
CN (1) CN106445877B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359932B2 (en) * 2002-12-12 2008-04-15 International Business Machines Corporation Method and data processing system for microprocessor communication in a cluster-based multi-processor system
CN100496048C (zh) * 2005-02-28 2009-06-03 邹润民 多主通信系统
US20070109979A1 (en) * 2005-11-17 2007-05-17 Chunyan Fu Method and conference controller for cluster-based conferencing
CN101540787B (zh) * 2009-04-13 2011-11-09 浙江大学 片上分布式操作系统通讯模块的实现方法
US8868546B2 (en) * 2011-09-15 2014-10-21 Oracle International Corporation Query explain plan in a distributed data management system
CN103064820B (zh) * 2012-12-26 2014-04-16 无锡江南计算技术研究所 一种基于可重构微服务器的集群计算系统
KR101482145B1 (ko) * 2013-01-30 2015-01-14 부산대학교 산학협력단 무선 센서 네트워크에 에너지 절약 및 신뢰성 있는 정보 전달을 위한 장치 및 방법
CN105335330A (zh) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 一种基于主从架构的微服务器集群系统

Also Published As

Publication number Publication date
CN106445877A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN103404113B (zh) 一种通知推送方法、装置和系统
CN104050138A (zh) 用于执行链路训练与均衡的装置、系统、和方法
CN104915407A (zh) 一种基于Hadoop多作业环境下的资源调度方法
CN104969207A (zh) 高性能互连一致性协议
CN104050136A (zh) 用于改进与硬件驱动的算法的均衡的装置、系统、以及方法
CN103199968A (zh) 一种消息的发送方法和系统
CN105430030A (zh) 基于osgi技术的可平行扩展的应用服务器
Almajed et al. A resilient smart body sensor network through pyramid interconnection
CN102523103A (zh) 一种工业监控网络数据采集结点
Tseng et al. Service-oriented virtual machine placement optimization for green data center
CN104717272A (zh) 事件串流处理系统及其方法
Eisenhauer et al. Event-based systems: Opportunities and challenges at exascale
CN109995875A (zh) 虚拟化数据分发弹性网络系统
CN103064820A (zh) 一种基于可重构微服务器的集群计算系统
CN105099776A (zh) 云服务器的管理系统
El-Zoghdy A hierarchical load balancing policy for grid computing environment
CN106445877B (zh) 一种基于多个微处理器的集群运算方法
CN103116559A (zh) 一种高速互联服务器系统的设计方法
CN104104736A (zh) 一种云服务器及其使用方法
Hu et al. Optimal data transmission strategy for healthcare-based wireless sensor networks: A stochastic differential game approach
Ding et al. Communication mechanisms in ecological network-based grid middleware for service emergence
CN104598428B (zh) 数据处理系统
CN203554493U (zh) 一种服务器用远程管理接口系统
CN103176850A (zh) 一种基于负载均衡的电力系统网络集群任务分配方法
CN115550438A (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
GR01 Patent grant
GR01 Patent grant