CN111539168A - 一种基于分组的大规模并行线性处理的数据处理系统及方法 - Google Patents

一种基于分组的大规模并行线性处理的数据处理系统及方法 Download PDF

Info

Publication number
CN111539168A
CN111539168A CN202010266521.7A CN202010266521A CN111539168A CN 111539168 A CN111539168 A CN 111539168A CN 202010266521 A CN202010266521 A CN 202010266521A CN 111539168 A CN111539168 A CN 111539168A
Authority
CN
China
Prior art keywords
data
branches
branch
parallel linear
redundant
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.)
Granted
Application number
CN202010266521.7A
Other languages
English (en)
Other versions
CN111539168B (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.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
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 China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN202010266521.7A priority Critical patent/CN111539168B/zh
Publication of CN111539168A publication Critical patent/CN111539168A/zh
Application granted granted Critical
Publication of CN111539168B publication Critical patent/CN111539168B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于分组的大规模并行线性处理的数据处理系统及方法,首先将并行线性处理模块设置K个并行线性处理支路,每个支路长度为L;将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组,每个分组含多个基本支路;每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据;对所有分组输出的容错数据进行组合,得到最终的正确数据。大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。

Description

一种基于分组的大规模并行线性处理的数据处理系统及方法
技术领域
本发明涉及一种基于分组的大规模并行线性处理的数据处理系统及方法,属于可靠性技术领域。
背景技术
并行线性处理包括相同输入、不同处理系数的并行线性处理以及不同输入、相同处理系数的并行线性处理,它们可以在现场可编程门阵列(Field Programmable GateArray,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等多种数字信号处理设备上实现。然而,在恶劣的电磁辐射环境中,数字信号处理设备往往很容易受到辐射影响,从而导致输出数据错误。例如,处于航天器上的数字信号处理设备,常会受到太空辐射影响而导致运行错误。其中最主要的故障就是单粒子翻转(Single Event Upset,SEU)。
另一方面,近年来随着对通信质量和容量需求的不断增加,在卫星通信等领域中并行线性处理的规模也越来越大。以相同输入、不同处理系数的并行线性处理为例,某卫星有效载荷拟采用大规模数字波束成形,支持上百个波束,其本质是上百路通道的并行线性滤波处理。还有多功能软件星拟支持的高速匹配滤波器,其处理复杂度非常高,一般可通过并行化处理将其转换成多路低速线性滤波处理,从而大大提升运行效率。因此,对处于航天器等特殊环境中的大规模并行线性处理,必须解决其可靠性问题。
大规模并行线性处理占用大量处理资源,通常在单个的数字信号处理设备上无法实现。实际情况中,大规模并行线性处理运算由多个处理器(如多个FPGA)共同完成。针对大规模并行线性处理开展高效容错技术研究是降低容错开销的有效手段,对诸如应用于航天器等的系统可靠性加固具有非常重要的参考价值。本发明针对相同输入、不同处理系数的大规模并行线性处理进行考虑,此前,就并行线性处理已形成了基于编码的并行线性处理容错方法的发明专利,该发明能够将待保护目标的可靠性提高到99%以上且容错开销较小。然而,该方法针对的目标规模较小,不能直接应用于对大规模并行线性处理的保护。而对大规模并行线性处理分组后采用基于编码的容错方法进行保护是一种有效可靠的保护方式,而不同的分组方式会对处理有效性(资源开销)产生不同的影响。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于分组的大规模并行线性处理的数据处理系统及方法,大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。
本发明的目的是通过以下技术方案实现的:一种基于分组的大规模并行线性处理的数据处理方法,步骤如下:
(1)将并行线性处理模块设置K个并行线性处理支路,每个支路长度为L;
(2)支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路;
(3)每个分组增加两个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据;
(4)对所有分组输出的容错数据进行组合,得到最终的正确数据。
优选的,大规模并行线性处理模块通过分块得到多个分组,每个分组的某一个基本支路发生故障,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到最终的正确数据,大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。
优选的,步骤(2)将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路,具体为:
将K个并行线性处理支路分成M个子模块,一般分组方式为K个并行线性处理支路分为M0组,得到M个分组,M=M0,每个分组含K/M0个基本支路,支路长度为L。
本发明提出的分组方式为:定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,根据权利要求1所述的K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1
优选的,步骤(3)每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据。具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。
优选的,一种基于分组的大规模并行线性处理的数据处理系统,包括:并行线性处理模块、子模块、冗余支路模块、单故障检测与纠正模块、组合模块;
并行线性处理模块,包括K个并行线性处理支路,每个支路长度为L;
子模块,支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组;
冗余支路模块,每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;
单故障检测与纠正模块,对输入数据通过与每个分组的基本支路与冗余支路并行运算后得到的基本数据与冗余数据进行检测,纠正错误数据。
组合模块,对所有分组输出的容错数据进行组合,得到最终的正确数据。
优选的,单故障检测与纠正模块,对输入数据通过与每个分组的基本支路与冗余支路并行运算后得到的基本数据与冗余数据进行检测,纠正错误数据
本发明一种基于分组的大规模并行线性处理的数据处理系统,包括:并行线性处理模块、子模块、冗余支路模块、单故障检测与纠正模块、组合模块;
并行线性处理模块,包括K个并行线性处理支路,每个支路长度为L;
子模块,将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组;
冗余支路模块,将每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;
单故障检测与纠正模块,对输入数据通过与每个分组的基本支路与冗余支路并行运算后得到的基本数据与冗余数据进行检测,纠正错误数据,
组合模块,对所有分组输出的容错数据进行组合,得到最终的正确数据。
优选的,大规模并行线性处理模块通过分块得到多个分组,每个分组的某一个基本支路发生故障,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到最终的正确数据,大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。
优选的,子模块,将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路,具体为:
子模块,将K个并行线性处理支路分成M个子模块,分组方式为:定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,根据权利要求1所述的K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1
优选的,冗余支路模块,将每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据,具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。
本发明与现有技术相比的优点在于:
(1)本发明适用于任何相同输入、不同处理系数的大规模并行线性处理的容错保护。
(2)在每个分组采用基于线性编码的并行线性处理的容错方法进行保护时,通过本发明提出的分组方式能接近或达到其最小分组容错开销。
(3)通过本发明提出的分组方式能优化容错开销,若这种技术能够用在未来航天器上,则可大大降低航天器信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理。
附图说明
图1是本发明的数据处理方法流程图;
图2是一般分组方式示意图;
图3是本发明的分组方式示意图;
图4是基于线性编码的并行线性处理的容错方法示意图;
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
航天器上的数字信号处理设备,常会受到太空辐射影响而导致运行错误,其中最主要的故障就是单粒子翻转(Single Event Upset,SEU)。另一方面,在卫星通信等领域中并行线性处理的规模越来越大,因此对处于航天器等特殊环境中的大规模并行线性处理,必须解决其可靠性问题。本发明提出的分组方式适用于在现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等数字信号处理设备上实现的大规模并行线性处理,通过本发明提出的分组方式,在每一分组采用基于线性编码的并行线性处理的容错方法进行保护,能逼近或达到最小分组容错资源开销,大大降低航天器数字信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,减小航天器的处理资源需求。
本发明涉及一种基于分组的大规模并行线性处理的数据处理系统及方法,首先将并行线性处理模块设置K个并行线性处理支路,每个支路长度为L;支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组,每个分组含多个基本支路;每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据;对所有分组输出的容错数据进行组合,得到最终的正确数据。大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。
本发明基于分组的大规模并行线性处理的数据处理系统及方法应用于大规模并行线性处理的容错保护。将并行线性处理模块设置K个并行线性处理支路,每个支路代表一个滤波器,每个支路长度为L,支路长度代表滤波器系数个数。将K个并行线性处理支路分成M个子模块,得到M个分组,一般分组方式为K个并行线性处理支路分为M0组,得到M个分组,M=M0,每个分组含K/M0个基本支路,支路长度为L。本发明提出的分组方式为在一般分组方式基础上定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,将K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1
对M个分组,每个分组均采用基于线性编码的并行线性处理的容错方法进行保护。每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。通过本发明提出的分组方式导致子模块产生的处理结果为最终结果的一部分,因此对所有分组输出的容错数据进行组合,得到组合后的数据,得到最终的正确结果。
本发明一种基于分组的大规模并行线性处理的数据处理方法,流程图如图1所示,优选方案步骤如下:
(1)将并行线性处理模块设置K个并行线性处理支路,每个支路长度为L,优选方案具体如下:
通过并行化处理将多路滤波器转换为并行线性滤波处理,定义为并行线性处理模块,将并行线性处理模块设置K个并行线性处理支路,每个支路代表一个滤波器,每个支路长度为L,支路长度代表滤波器系数个数,其中K和L均为正整数。
(2)支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路,优选方案具体如下:
将K个并行线性处理支路分成M个子模块,一般分组方式为K个并行线性处理支路分成M0个子模块,分别定义为子模块H1,子模块H2,……子模块HM0,得到M个分组,M=M0,每个分组含K/M0个基本支路,支路长度为L,其中M0和K/M0均为正整数,如图2所示。
本发明提出的分组方式为在一般分组方式基础上定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,将K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,分别定义为子模块H11,子模块H12,……子模块HM2M1,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1,其中M1、M2、K/M2和L/M1均为正整数,如图3所示。
(3)每个分组增加两个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据,优选方案具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据,如图4所示,优选方案具体步骤如下:
步骤1:N个基本支路,每个支路分别定义为
Figure BDA0002441447650000101
其中N为正整数且N的规模较小。假定错误支路为N个基本支路中的其中1路。对一般分组方式而言,N=K/M0。对本发明提出的分组方式而言,N=K/M2
步骤2:对N个并行线性处理支路进行线性编码,生成2个冗余线性处理支路
Figure BDA0002441447650000102
其中:
Figure BDA0002441447650000103
Figure BDA0002441447650000104
步骤3:输入数据X1,X2┅┅XN,通过N个基本支路与2个冗余支路进行并行运算,生成N个基本数据Z1,Z2┅┅ZN与2个冗余数据Zr1,Zr2
步骤4:通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据Y1,Y2┅┅YN。其中,错误支路为N个基本支路中的其中1路。
在此基础上分别对一般分组方式和本发明提出的分组方式进行容错冗余开销分析。由于乘法开销比重较大,为此对分组容错的冗余乘法开销进行数学建模及分析。
按一般分组方式进行容错保护,将系统分成M0个分组,其中M=M0,每个分组的矩阵为(K/M)*L,输入数据规模为L*1。对每个分组采用基于线性编码的并行线性处理的容错方法进行保护,需增加两个冗余支路,增加乘法运算(复数×复数)次数为2*L,等效为8*L次实数乘法;并在最后的K/M+2个输出端增加故障判断与恢复逻辑,增加乘法运算(实数×复数)K/M次,等效为2*K/M次实数乘法;因此整个系统的总容错冗余乘法次数为M*(8*L+2*K/M)=8*M*L+2*K。即当M确定后,系统的容错冗余乘法开销也随之确定。
通过本发明提出的优选的分组方式进行容错保护,将系统分成M个分组,M=M1*M2,其中Y方向分成M2块、X方向分成M1块,总共分成M1*M2个子模块,得到M1*M2个分组。每个分组的矩阵为(K/M2)*(L/M1),输入数据规模为(L/M1)*1。对每个分组采用基于线性编码的并行线性处理的容错方法进行保护,需增加两个冗余支路,增加乘法运算(复数×复数)次数为2*(L/M1),等效为8*(L/M1)次实数乘法;并在最后的K/M2+2个输出端增加故障判断与恢复逻辑,增加乘法运算(实数×复数)K/M2次,等效为2*K/M2次实数乘法;因此整个系统的总容错冗余乘法次数为M*(8*L/M1+2*K/M2)=8*M*L/M1+2*K*M1。此外最后需增加(M1-1)*K次加法操作。
当M确定后,对8*M*L/M1+2*K*M1进行求导,可知总容错冗余乘法开销与
Figure BDA0002441447650000111
有关:
Figure BDA0002441447650000112
时,当1<M1≤M时,冗余乘法开销递增。
Figure BDA0002441447650000113
时,当
Figure BDA0002441447650000114
时,冗余乘法开销递减;当
Figure BDA0002441447650000121
时,冗余乘法开销递增。
Figure BDA0002441447650000122
时,当1<M1≤M时,冗余乘法开销递减。
即,系统的总容错冗余乘法开销最小的情况分为以下三种:
Figure BDA0002441447650000123
根据本发明提出的分组方式对容错冗余开销分析,实际应用时可以根据M、L、K、M1的取值情况进行分析并选择具有最小开销的分组方式。
总之,当确定将并行线性处理模块分成M个子模块进行保护时,通过本发明提出的分组方式并采用基于线性编码的并行线性处理的容错方法,可以接近或达到其最小分组容错开销。
(4)对所有分组输出的容错数据进行组合,得到最终的正确数据,优选方案具体如下:
本发明提出的分组方式导致子模块产生的处理结果为最终结果的一部分,因此对所有分组输出的容错数据进行组合,得到组合后的数据,从而产生最终的正确结果。
本发明一种基于分组的大规模并行线性处理的数据处理系统,包括:并行线性处理模块、冗余支路模块、子模块、单故障检测与纠正模块、组合模块;
并行线性处理模块,设置K个并行线性处理支路,每个支路长度为L,具体如下:
如图2所示,并行线性处理模块H,设置K个并行线性处理支路,每个支路代表一个滤波器,每个支路长度为L,支路长度代表滤波器系数个数。
子模块,支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组,优选方案具体如下:
将K个并行线性处理支路分成M个子模块,一般分组方式为K个并行线性处理支路分成M0个子模块,分别定义为子模块H1,子模块H2,……子模块HM0,得到M个分组,M=M0,每个分组含K/M0个基本支路,支路长度为L,其中M0和K/M0均为正整数,如图2所示。
本发明提出的分组方式为在一般分组方式基础上定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,将K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,分别定义为子模块H11,子模块H12,……子模块HM2M1,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1,其中M1、M2、K/M2和L/M1均为正整数,如图3所示。
冗余支路模块,每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到,具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路。N个基本支路,每个支路分别定义为
Figure BDA0002441447650000131
其中N为正整数且N的规模较小。对一般分组方式而言,N=K/M0。对本发明提出的分组方式而言,N=K/M2。对N个并行线性处理支路进行线性编码,生成2个冗余线性处理支路
Figure BDA0002441447650000141
其中
Figure BDA0002441447650000142
单故障检测与纠正模块,对输入数据通过与每个分组的基本支路与冗余支路并行运算后得到的基本数据与冗余数据进行检测,纠正错误数据,具体如下:
进一步优选方案为:故障检测情况分为三种:一、N个基本支路和2个冗余支路处理结果均正确,没有故障发生,不需要检测和纠错;二、N个基本支路的处理结果正确,2个冗余支路之一出现故障,只进行检测,不纠错;三、一个基本支路出现故障,检测并纠错。
组合模块,对所有分组输出的容错数据进行组合,得到最终的正确数据,具体如下:
通过本发明提出的分组方式导致子模块产生的处理结果为最终结果的一部分,因此对所有分组输出的容错数据进行组合,得到组合后的数据,从而产生最终的正确结果。
本发明的系统进一步优选方案为:
以数字波束成形滤波器为大规模并行线性处理的一个优选的实施例,步骤如下:
1)设置32个并行成形滤波器,每路滤波器具有64个滤波系数。
2)将32个并行成形滤波器分成4个子模块,得到4个分组。
具体而言,按一般分组方式将32路并行成形滤波器分成4个子模块,得到4个分组,每个分组具有8个成形滤波器,滤波器长度为64。
按本发明提出的分组方式,由公式3可知,M1=M时,即M1为4时,此分组对应容错乘法开销最小的情况。将32个并行成形滤波器在X方向分为4块,在Y方向分为1块,共分成4个子模块,得到4个分组,每个分组具有32个成形滤波器,滤波器长度为16。
3)对4个分组分别采用基于线性编码的并行线性处理的容错方法进行保护。具体包括以下步骤:
步骤1:设置N个并行线性处理支路,其中N为正整数。对一般分组方式而言,N=8;对本发明提出的分组方式而言,N=32。
步骤2:对N路并行线性处理支路进行线性编码,生成2路冗余线性处理支路。
步骤3:输入数据通过N路基本支路与2路冗余支路进行并行运算,生成N个基本数据与2个冗余数据。
步骤4:通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。其中,错误支路为N个基本支路中的1路。
基于此,分别对一般分组方式和本发明提出的分组方式进行容错冗余开销分析。
按一般分组进行容错保护,将系统分为4组,每组处理矩阵规模为8*64,输入数据规模为64*1。对每组运算采用基于线性编码的并行线性处理系统的容错方法进行保护,需增加两个冗余滤波器,增加乘法运算(复数×复数)次数为2*64,等效为8*64次实数乘法;并在最后的8+2个输出端增加故障判断与恢复逻辑,增加乘法运算(实数×复数)8次,等效为2*8次实数乘法;因此整个系统的总容错冗余乘法次数为4*(8*64+2*8)=2112。
按本发明提出的分组优化方法选择的分组方式进行容错保护,将系统分为4组,其中Y方向分1组、X方向分4组。每组处理矩阵规模为32*16,输入数据规模为16*1。对每组运算采用基于线性编码的并行线性处理系统的容错方法进行保护,需增加两个冗余滤波器,增加乘法运算(复数×复数)次数为2*16,等效为8*16次实数乘法;并在最后的32+2个输出端增加故障判断与恢复逻辑,增加乘法运算(实数×复数)32次,等效为2*32次实数乘法;因此整个系统的总容错冗余乘法次数为4*(8*16+2*32)=768。此外最后需增加96次加法操作,大幅提高了系统的可靠性和容错能力。
而未保护的大规模数字波束成形滤波器的计算规模为32*64次复数乘法,相当于4*32*64次实数乘法。对其分别采用两种分组方式进行容错保护,该实施例通过本发明提出的分组方式的总开销(未保护开销+总容错冗余乘法开销)应约为一般分组方式的87%。
4)对所有分组输出的容错数据进行组合,得到最终的正确数据。
优选方案具体为,本发明将数字波束成形滤波器在X方向上分成4组,导致子模块产生的处理结果为最终结果的一部分,因此对4个分组输出的容错数据进行组合,得到组合后的数据,从而产生最终的正确结果。
为了验证本发明的效果进行了如下试验,设置32个并行的64阶数字波束成形滤波器,输入数据和系数量化为8比特。上述容错方法在HDL上实现,并在Xilinx FPGA上运行。首先进行资源开销的评估,将按本发明提出的分组方式容错保护与一般分组方式容错保护及无保护滤波器进行对比,具体如表1所示。从表1可以看出,该实施例根据本发明提出的分组方式进行容错保护的LUTs总开销约为一般分组的84%,基本符合理论分析所得的结论。由此可见采用本发明提出的分组方式,并且每一分组均采用基于线性编码的并行线性处理系统的容错方法,可以有效逼近其最小分组容错资源开销。
表1 LUTs总开销对比表
资源占用 无保护滤波器 一般分组 优化分组
LUTs 296662 363480 304140
再对本发明的纠错有效性进行比较,结果如表2所示。无保护情况下数字波束成形滤波器受到SEU时约有1/4的概率会导致输出错误,采用一般分组方式进行保护后能够将其可靠性提高到99.79%。虽然本发明提出的分组方式进行保护其容错率相比于一般分组略有降低,但仍能提供99%以上的容错率。
由此可见,本发明的容错性能完全满足系统的可靠性需求。
表2纠错有效性对比表
项目 无保护滤波器 一般分组 优化分组
容错率 74.54% 99.79% 99%
根据本发明,对相同输入、不同处理系数的大规模并行线性处理进行分组,同时对每个分组采用线性编码设置冗余支路,并通过冗余支路来保护基本支路的功能,能接近或达到其最小分组容错资源开销,同时其操作简单容易使用。
本发明实施例或优选方案只是示例性的,不能理解为对本发明的限制,在不脱离本发明的原理和宗旨的前提下,可以对上述实施例进行修改和变形。
本发明适用于任何相同输入、不同处理系数的大规模并行线性处理的容错保护,在每个分组采用基于线性编码的并行线性处理的容错方法进行保护时,通过本发明提出的分组方式能接近或达到其最小分组容错开销;通过本发明提出的分组方式能优化容错开销,若这种技术能够用在未来航天器上,则可大大降低航天器信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理。

Claims (8)

1.一种基于分组的大规模并行线性处理的数据处理方法,其特征在于步骤如下:
(1)将并行线性处理模块设置K个并行线性处理支路,每个支路长度为L;
(2)支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路;
(3)每个分组增加两个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据;
(4)对所有分组输出的容错数据进行组合,得到最终的正确数据。
2.根据权利要求1所述的一种基于分组的大规模并行线性处理的数据处理系统及方法,其特征在于:步骤(2)中大规模并行线性处理模块通过分块得到多个分组,每个分组的某一个基本支路发生故障,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到最终的正确数据,大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理。
3.根据权利要求1所述的一种基于分组的大规模并行线性处理的数据处理系统及方法,其特征在于:步骤(2)将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路,具体为:
将K个并行线性处理支路分成M个子模块,分组方式为定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1
4.根据权利要求1所述的一种基于分组的大规模并行线性处理的数据处理系统及方法,其特征在于:步骤(3)每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据,具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。
5.一种基于分组的大规模并行线性处理的数据处理系统,其特征在于包括:并行线性处理模块、子模块、冗余支路模块、单故障检测与纠正模块、组合模块;
并行线性处理模块,包括K个并行线性处理支路,每个支路长度为L;
子模块,将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵;按照矩阵的行和列进行分块,分成多个子模块,得到多个分组;
冗余支路模块,将每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到;
单故障检测与纠正模块,对输入数据通过与每个分组的基本支路与冗余支路并行运算后得到的基本数据与冗余数据进行检测,纠正错误数据,
组合模块,对所有分组输出的容错数据进行组合,得到最终的正确数据。
6.根据权利要求5所述的一种基于分组的大规模并行线性处理的数据处理系统及方法,其特征在于:大规模并行线性处理模块通过分块得到多个分组,每个分组的某一个基本支路发生故障,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到最终的正确数据,大大降低信号处理设备的计算逻辑和功耗的负担,实现有效可靠的数据处理,尤其适用于航天器,减小航天器的处理资源需求。
7.根据权利要求5所述的一种基于分组的大规模并行线性处理的数据处理系统,其特征在于:子模块,将支路长度和支路数量分别作为矩阵的行和列,将并行线性处理模块数学建模为行列矩阵,按照矩阵的行和列进行分块,分成M个子模块,得到M个分组,每个分组含N个基本支路,具体为:
子模块,将K个并行线性处理支路分成M个子模块,分组方式为:定义支路数量(K)方向为Y方向,支路长度(L)方向为X方向,根据权利要求1所述的K个并行线性处理支路在X方向分成M1块,在Y方向分成M2块,共分成M1*M2个子模块,得到M个分组,M=M1*M2;每个分组含N个基本支路,N=K/M2;每个支路长度为L/M1
8.根据权利要求5所述的一种基于分组的大规模并行线性处理的数据处理系统,其特征在于:冗余支路模块,将每个分组增加2个冗余支路,冗余支路的数据通过对对应分组的数据进行线性编码得到,输入数据通过与每个分组的基本支路与冗余支路进行并行运算并通过单故障检测与纠正模块检测纠错,得到输出的容错数据,具体如下:
对M个分组,每个分组含N个基本支路,对N个基本支路进行线性编码,得到2个冗余支路,输入数据通过与N个基本支路与2个冗余支路进行并行运算,生成N个基本数据与2个冗余数据,通过单故障检测与纠正模块对N个基本数据与2个冗余数据进行检测,纠正错误数据,输出N个容错数据。
CN202010266521.7A 2020-04-07 2020-04-07 一种基于分组的大规模并行线性处理的数据处理系统及方法 Active CN111539168B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010266521.7A CN111539168B (zh) 2020-04-07 2020-04-07 一种基于分组的大规模并行线性处理的数据处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010266521.7A CN111539168B (zh) 2020-04-07 2020-04-07 一种基于分组的大规模并行线性处理的数据处理系统及方法

Publications (2)

Publication Number Publication Date
CN111539168A true CN111539168A (zh) 2020-08-14
CN111539168B CN111539168B (zh) 2023-11-10

Family

ID=71976915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010266521.7A Active CN111539168B (zh) 2020-04-07 2020-04-07 一种基于分组的大规模并行线性处理的数据处理系统及方法

Country Status (1)

Country Link
CN (1) CN111539168B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619969A (zh) * 2003-11-18 2005-05-25 中国科学技术大学 一种基于多重m维并行调制通信方式的发射机
US20050232310A1 (en) * 2004-04-05 2005-10-20 Alcatel Time division multiplexed link connections between a switching matrix and a port in a network element
CN103577162A (zh) * 2013-11-19 2014-02-12 清华大学 面向并行处理的容错方法及系统
US20150100839A1 (en) * 2013-10-07 2015-04-09 King Fahd University Of Petroleum And Minerals Generalized modular redundancy fault tolerance method for combinational circuits
CN108400787A (zh) * 2018-03-07 2018-08-14 中山大学 一种基于bch编码的并行fir滤波器容错方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1619969A (zh) * 2003-11-18 2005-05-25 中国科学技术大学 一种基于多重m维并行调制通信方式的发射机
US20050232310A1 (en) * 2004-04-05 2005-10-20 Alcatel Time division multiplexed link connections between a switching matrix and a port in a network element
US20150100839A1 (en) * 2013-10-07 2015-04-09 King Fahd University Of Petroleum And Minerals Generalized modular redundancy fault tolerance method for combinational circuits
CN103577162A (zh) * 2013-11-19 2014-02-12 清华大学 面向并行处理的容错方法及系统
CN108400787A (zh) * 2018-03-07 2018-08-14 中山大学 一种基于bch编码的并行fir滤波器容错方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
闫迪;王元钦;马宏;刘燕都;孙克;: "云环境下的航天测控信号处理平台", 电讯技术, no. 05 *
马建峰,赵晓盈,王新梅: "容错数字信号处理系统的设计方法及实现", 计算机学报, no. 01 *

Also Published As

Publication number Publication date
CN111539168B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
Nikolic et al. Fault-tolerant techniques for nanocomputers
Gao et al. Fault tolerant parallel filters based on error correction codes
Abraham et al. Fault tolerance techniques for systolic arrays
Kung et al. Fault-tolerance and two-level pipelining in VLSI systolic arrays
US10817773B2 (en) Arithmetic processing device and arithmetic processing method
Chen Error-correcting codes with byte error-detection capability
US20070283229A1 (en) Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code
Jacobs et al. Overhead and reliability analysis of algorithm-based fault tolerance in FPGA systems
CN111176881B (zh) 一种基于线性编码的并行线性处理系统的容错方法
CN111539168B (zh) 一种基于分组的大规模并行线性处理的数据处理系统及方法
CN110688094B (zh) 一种基于并行循环压缩的余数运算电路及方法
Gao et al. An efficient fault-tolerance design for integer parallel matrix–vector multiplications
US10067821B2 (en) Apparatus and method for cyclic redundancy check
CN108400787B (zh) 一种基于bch编码的并行fir滤波器容错方法
US10171109B2 (en) Fast encoding method and device for Reed-Solomon codes with a small number of redundancies
Gao et al. Efficient fault tolerant parallel matrix-vector multiplications
CN108243113A (zh) 随机负载均衡的方法及装置
Chen et al. Yield analysis of reconfigurable array processors based on multiple-level redundancy
JP3879082B2 (ja) バイト誤り訂正・検出装置
Vaddempudi et al. An Area Efficient Fault Tolerant Parallel FIR Filter Design
Vaisakhi et al. Novel Double Modular Redundancy Based Fault-Tolerant FIR Filter for Image Denoising.
EP4125008A1 (en) Shrink darts
CN115292083A (zh) 一种基于编码的并行数字信道化器容错方法
Jenila et al. VLSI Implementation of Error Detection and Correction Codes for Space Engineering
Chen et al. Fault-tolerant Design of Spaceborne Parallel Digital Channelizer

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