CN110287020A - 一种实时操作系统平台下的高效并行计算方法 - Google Patents
一种实时操作系统平台下的高效并行计算方法 Download PDFInfo
- Publication number
- CN110287020A CN110287020A CN201910388708.1A CN201910388708A CN110287020A CN 110287020 A CN110287020 A CN 110287020A CN 201910388708 A CN201910388708 A CN 201910388708A CN 110287020 A CN110287020 A CN 110287020A
- Authority
- CN
- China
- Prior art keywords
- node
- software
- operating system
- time
- cluster
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种实时操作系统平台下的高效并行计算方法,主要包括定义运算节点,P/E架构部署两个步骤。本发明首次在信号处理平台上提出并实现“P/E架构”,提供了一种高效计算调度方法,并运用于多型声纳软件中,极大的提升了平台资源利用率;提升了信号处理软件的容错性能,本方法由于运算集群内各节点互不影响、能够等效替代,当某一个或几个运算节点故障时,他们的工作会被集群内其他节点分担,软件可以继续正常运行,且容错能力随着运算集群规模的扩大而增强;降低了软件的设计难度和开发周期,采用本架构,开发人员只需要将精力集中于运算的分解,不同项目之间只需要根据计算负载调整运算集群规模,软件架构可以通用。
Description
技术领域
本发明涉及软件设计和任务调度的领域,具体涉及一种实时操作系统平台下的高效并行计算方法。
背景技术
随着以DSP芯片搭配嵌入式实时操作系统的声纳信号处理平台的发展和普及,信号处理软件架构面临通用化、网络化的设计要求,同时,新型号的声纳信号处理软件规模不断扩大,计算压力急剧增加,如何高效利用处理平台资源,合理分摊计算负载,已成为设计人员必须重点考虑的问题。
传统的声纳信号处理软件架构设计以顺序串行运算为核心,每步运算配以固定的硬件资源,对于计算负载大的环节,将耗费大量时间,且其他硬件资源存在一定空闲状态,同时,当某一运算步骤出现错误时候,软件将终止运行,没有容错量,从整体上看也没有高效利用平台资源。传统架构下每个硬件节点都做固定工作,因而常常出现运算节点忙碌时,其他节点空闲等待的状态;另外传统的信号处理软件无论软件还是硬件,只要某一计算步骤或芯片出现问题,那么整个软件都将终止运行。
发明内容
本发明的目的在于克服现有技术存在的不足,而提供一种实时操作系统平台下的高效并行计算方法。
本发明的目的是通过如下技术方案来完成的:这种实时操作系统平台下的高效并行计算方法,主要包括以下步骤:
1)定义运算节点,将负载较大的计算任务分解至最小计算单元,将最小计算单元定义为运算节点。
2)P/E架构部署,确定发布者,并将它和各运算节点部署到平台,所有运算节点形成该环节的运算集群。
所述发布者负责发布计算任务和运算节点。
所述运算集群内的所有运算节点合力完成任务,各节点保持忙碌直至任务结束,且节点间相互独立,互不影响,并能等效替换,形成“发布,执行”软件架构。
本发明的有益效果为:本发明首次在信号处理平台上提出并实现“P/E架构”,提供了一种高效计算调度方法,并运用于多型声纳软件中,极大的提升了平台资源利用率;提升了信号处理软件的容错性能,本方法由于运算集群内各节点互不影响、能够等效替代,当某一个或几个运算节点故障时,他们的工作会被集群内其他节点分担,软件可以继续正常运行,且容错能力随着运算集群规模的扩大而增强;降低了软件的设计难度和开发周期,采用本架构,开发人员只需要将精力集中于运算的分解,不同项目之间只需要根据计算负载调整运算集群规模,软件架构可以通用;把平台看成等效节点组成的集群,将运算环节分解并部署到集群内,通过发布者发布任务,所有节点共同完成计算的运行模式,在任务完成前所有节点保持忙碌,充分利用了平台资源,极大的缩短了软件的运行时间,使得在相同平台资源下,能部署更大运算负载的软件和实现更多的功能;已应用于多型声纳软件,运算效率和软件容错性得到了很好的验证。
附图说明
图1为本发明的部署框图。
具体实施方式
下面将结合附图对本发明做详细的介绍:
实施例:如附图所示,这种实时操作系统平台下的高效并行计算方法,主要包括以下步骤:
1)定义运算节点,将负载较大的计算任务分解至最小计算单元,将最小计算单元定义为运算节点。
2)P/E架构部署,确定发布者,并将它和各运算节点部署到平台,所有运算节点形成该环节的运算集群。发布者负责发布计算任务和运算节点。运算集群内的所有运算节点合力完成任务,各节点保持忙碌直至任务结束,且节点间相互独立,互不影响,并能等效替换,形成“发布(Publish),执行(Execute)”软件架构。
本实施例具体实现步骤:
①、②、③、④为计算步骤;C0、C1、C2、C3、C4为相同的运算节点;P1为输入数据;U1、U2、U3、U4为步骤①、②、③、④分解后的最小等效运算单元。
1)假设信号处理软件中有一链路,它由“①、②、③、④”四个步骤组成,分别部署在C1、C2、C3、C4上,当数据P1为该流水输入,步骤②在处理P1时,步骤③、④处于等待P1的状态,若步骤②出错或者C2故障,那么整个处理流程即将终止,没有容错性,在新平台下,采用本方法,假设四个步骤分解后最小等效运算单元分别为U1、U2、U3、U4,将C1、C2、C3、C4定义为该流程的运算集群,定义C0为该流程任务发布者;
2)运行时,由C0发布任务,以任务②为例,当该任务发布后,C1、C2、C3、C4内的运算节点U2一起工作,共同完成任务,结束时个运算节点上报结束信号给发布者,在任务结束前没有哪个节点会处于空闲等待状态,资源利用最大化,对于不同项目,开发人员只需要集中精力在运算环节分解上,分解完成后只需要根据项目的运算负载确定运算集群的规模,软件框架可以通用,大幅降低开发难度和开发周期。
3)在耗时上,若①、②、③、④耗时分别为T1、T2、T3、T4,最小等效单元U1、U2、U3、U4耗时分别为UT1、UT2、UT3、UT4,部署规模分别为G1、G2、G3、G4,采用传统设计架构一次流程需要耗时为Ttotal:
Ttotal=T1+T2+T3+T4
采用本方法,设①、②、③、④耗时分别为Ts1、Ts2、Ts3、Ts4,那么
Ttotal=Ts1+Ts2+Ts3+Ts4
且
4)假设T1、T2、T3、T4分别为100ms、200ms、300ms、400ms,UT1、UT2、UT3、UT4分别为5ms、20ms、50ms、40ms,G1、G2、G3、G4均为4,那么采用传统设计架构数据P1经过①、②、③、④需要耗时:Ttotal=1000ms左右,而采用本方法:
a)集群内所有节点均正常工作,耗时如下:
步骤①耗时:Ts1=25ms左右,步骤②耗时:Ts2=60ms左右,步骤③耗时:Ts3=100ms左右,步骤④耗时:Ts4=120ms左右。总共耗时:Ttotal=305ms左右,较传统方法耗时明显缩短。
b)假设C4故障无法工作,由于集群内各节点是等效的,那么原本任务内需要C4完成的工作量将由C1、C2、C3分担,此时耗时情况如下
步骤①耗时:Ts1=35ms左右,步骤②耗时:Ts2=80ms左右,步骤③耗时:Ts3=100ms左右,步骤④耗时:Ts4=160ms左右。总共耗时:Ttotal=375ms左右,较传统方法耗时明显缩短。
c)假设C3、C4同时故障无法工作,此时耗时情况如下:
步骤①耗时:Ts1=50ms左右,步骤②耗时:Ts2=100ms左右,步骤③耗时:Ts3=150ms左右,步骤④耗时:Ts4=200ms左右。总共耗时:Ttotal=500ms左右,较传统方法耗时明显缩短。
d)假设C2、C3、C4同时故障无法工作,此时耗时情况如下:
步骤①耗时:Ts1=100ms左右,步骤②耗时:Ts2=200ms左右,步骤③耗时:Ts3=300ms左右,步骤④耗时:Ts4=400ms左右。总共耗时:Ttotal=1000ms左右,此时与传统方法耗时一致。
在C2、C3、C4节点故障下,软件能够正常运行,另外即使部分节点故障,较传统方法耗时仍有明显缩短。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种实时操作系统平台下的高效并行计算方法,其特征在于:主要包括以下步骤:
1)定义运算节点,将负载较大的计算任务分解至最小计算单元,将最小计算单元定义为运算节点;
2)P/E架构部署,确定发布者,并将它和各运算节点部署到平台,所有运算节点形成该环节的运算集群。
2.根据权利要求1所述的实时操作系统平台下的高效并行计算方法,其特征在于:所述发布者负责发布计算任务和运算节点。
3.根据权利要求1所述的实时操作系统平台下的高效并行计算方法,其特征在于:所述运算集群内的所有运算节点合力完成任务,各节点保持忙碌直至任务结束,且节点间相互独立,互不影响,并能等效替换,形成“发布,执行”软件架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910388708.1A CN110287020A (zh) | 2019-05-10 | 2019-05-10 | 一种实时操作系统平台下的高效并行计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910388708.1A CN110287020A (zh) | 2019-05-10 | 2019-05-10 | 一种实时操作系统平台下的高效并行计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110287020A true CN110287020A (zh) | 2019-09-27 |
Family
ID=68001899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910388708.1A Pending CN110287020A (zh) | 2019-05-10 | 2019-05-10 | 一种实时操作系统平台下的高效并行计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287020A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110231470A1 (en) * | 2005-01-06 | 2011-09-22 | Thompson J Barry | Systems and methods for network virtualization |
CN106104483A (zh) * | 2014-03-14 | 2016-11-09 | Arm有限公司 | 微处理器系统中的异常处理 |
CN106202192A (zh) * | 2016-06-28 | 2016-12-07 | 浪潮软件集团有限公司 | 一种基于工作流的大数据分析方法 |
US20180191813A1 (en) * | 2017-01-02 | 2018-07-05 | International Business Machines Corporation | MQTT cluster shared subscription hub for fat-pipe cloud applications |
-
2019
- 2019-05-10 CN CN201910388708.1A patent/CN110287020A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110231470A1 (en) * | 2005-01-06 | 2011-09-22 | Thompson J Barry | Systems and methods for network virtualization |
CN106104483A (zh) * | 2014-03-14 | 2016-11-09 | Arm有限公司 | 微处理器系统中的异常处理 |
CN106202192A (zh) * | 2016-06-28 | 2016-12-07 | 浪潮软件集团有限公司 | 一种基于工作流的大数据分析方法 |
US20180191813A1 (en) * | 2017-01-02 | 2018-07-05 | International Business Machines Corporation | MQTT cluster shared subscription hub for fat-pipe cloud applications |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beaudry | Performance-related reliability measures for computing systems | |
CN107436806A (zh) | 一种资源调度方法及系统 | |
Gotoda et al. | Task scheduling algorithm for multicore processor system for minimizing recovery time in case of single node fault | |
CN109522108A (zh) | 一种基于Kernel合并的GPU任务调度系统及方法 | |
CN105912387A (zh) | 数据处理作业调度方法及装置 | |
CN110321644B (zh) | 一种面向卫星系统的分布式仿真系统及其仿真方法 | |
CN107203421A (zh) | 一种云计算环境中自适应的组合工作流方法 | |
CN103324479B (zh) | 松散环境下分布式大数据计算的中间件体系框架 | |
CN110287020A (zh) | 一种实时操作系统平台下的高效并行计算方法 | |
Chavan et al. | A review on software architecture styles with layered robotic software architecture | |
CN105183485B (zh) | 一种可视化软硬件协同开发方法 | |
CN104360962B (zh) | 匹配于高性能计算机结构的多级嵌套数据传输方法与系统 | |
CN107942753B (zh) | 机器人与终端设备的软件的通讯框架和通讯方法 | |
Jacques-Silva et al. | Towards autonomic fault recovery in system-s | |
CN111147541B (zh) | 基于参数服务器的节点处理方法、装置、设备及存储介质 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
Billionnet | Allocating tree structured programs in a distributed system with uniform communication costs | |
CN108055239A (zh) | 一种rssp-i安全协议分离部署方法 | |
CN104166593A (zh) | 一种计算多应用功能异步并发调度方法 | |
Girault et al. | An Active Replication Scheme That Tolerates Failures in Distributed Embedded Real-Time Systems: Processors and communication Links Failures | |
Gomaa et al. | Model-based run-time software adaptation for distributed hierarchical service coordination | |
Chen et al. | Self adaptive application level fault tolerance for parallel and distributed computing | |
Yuan et al. | Modeling and customization of fault tolerant architecture using object-Z/XVCL | |
Wilke | Coordination languages and MPI perturbation theory: The FOX tuple space framework for resilience | |
Li et al. | A replication structure for efficient and fault-tolerant parallel and distributed simulations |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |