CN114021075A - 一种利用掉队节点计算能力的编码矩阵乘法方法 - Google Patents

一种利用掉队节点计算能力的编码矩阵乘法方法 Download PDF

Info

Publication number
CN114021075A
CN114021075A CN202111339333.3A CN202111339333A CN114021075A CN 114021075 A CN114021075 A CN 114021075A CN 202111339333 A CN202111339333 A CN 202111339333A CN 114021075 A CN114021075 A CN 114021075A
Authority
CN
China
Prior art keywords
matrix
coding
node
multiplication
sub
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
Application number
CN202111339333.3A
Other languages
English (en)
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.)
Fujian Normal University
Original Assignee
Fujian Normal University
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 Fujian Normal University filed Critical Fujian Normal University
Priority to CN202111339333.3A priority Critical patent/CN114021075A/zh
Publication of CN114021075A publication Critical patent/CN114021075A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开一种利用掉队节点计算能力的编码矩阵乘法方法,主节点对两个输入矩阵A和B的子矩阵分别采用有限域下的最大距离可分(MDS)码和基于普遍可译矩阵(UDM)的编码方法进行编码,并将得到的编码子矩阵分别传输给不同的工作节点;在工作节点上,每个工作节点依次计算输入矩阵A对应的编码子矩阵与输入矩阵B对应的编码子矩阵之间的对积,并依次将每对子矩阵乘法的结果发送给主节点;当主节点接收到任意不少于未编码子矩阵乘法数量的编码子矩阵乘法结果后,进行译码,得到完整的输入矩阵A和B的乘法结果。本发明所提出的编码矩阵乘法方法能够充分利用所有工作节点(包括掉队节点)的计算能力,显著提升大规模矩阵‑矩阵乘法计算的效率。

Description

一种利用掉队节点计算能力的编码矩阵乘法方法
技术领域
本发明涉及信息论与编码技术领域,尤其涉及一种利用掉队节点计算能力的编码矩阵乘法方法。
背景技术
分布式计算系统通过将难以在一个计算机上完成的大规模计算任务细分到多个工作节点,并在工作节点上并行运算更小的任务,然后通过网络传输给主节点,有效分散了单台计算机的计算负载,显著提高大规模计算任务的整体执行效率。因此,分布式计算在大规模科学问题研究和机器学习中发挥着重要作用。但是随着计算集群规模越来越大,由于大规模计算集群本质上是异构的,且存在网络拥塞、设备故障等原因,有些工作节点会出现“掉队”情况,即有些节点完成任务的速度显著慢与其他节点,或者上传运算结果时存在延时等现象。显然,集群总体计算速度通常是由这些掉队节点所控制的,由此导致的计算延时通常也是无法忍受的。这意味着掉队节点已成为分布式计算的一个主要性能瓶颈。网络化的编码计算(Coded Computation)策略能有效缓解分布式计算中掉队节点对计算效率的影响,尤其对一些特定的计算问题具有显著作用,例如矩阵乘法。
编码矩阵乘法计算策略通过将大规模矩阵划分成多个子矩阵,并对子矩阵进行编码,然后给每个工作节点分配编码后子矩阵之间的乘法任务,有效缓解了高维矩阵乘法分布式计算时面临的节点掉队问题。虽然现有的绝大多数编码矩阵乘法计算策略能够达到最优恢复阈值Δopt(恢复阈值指主节点为了恢复原始结果所需等待的成功完成所有计算任务的工作节点数量),例如基于多项式的编码矩阵乘法计算,后续简称多项式码,基于旋转矩阵和循环转置矩阵的编码策略,基于无速率码的编码策略等。但是,这些编码计算都是将掉队节点作为被擦除的节点来处理,只有当一个节点完成并上传了所有分配的任务,这个节点的计算才是有用的。这意味着这些现有工作无法利用掉队节点已经完成的部分计算。目前只有少量工作研究如何充分利用所有节点的中间计算能力,例如基于UDM的编码矩阵-向量乘法计算、基于MDS码和乘积码的编码矩阵-矩阵乘法计算、基于随机线性组合的编码稀疏矩阵乘法计算。但是这些工作要么无法推广到矩阵-矩阵乘法的情况,要么无法高效率利用节点的部分计算能力,导致译码时需要的编码子矩阵乘法数量大于未编码子矩阵乘法的数量。因此,设计能够充分利用所有掉队节点计算能力、且能达到最优恢复阈值的低时延编码矩阵-矩阵乘法计算方法,对进一步显著提升大规模矩阵乘法的计算效率具有重要意义。
发明内容
本发明的目的在于提供一种利用掉队节点计算能力的编码矩阵乘法方法,以解决如何在分布式编码矩阵-矩阵乘法系统中充分利用所有节点已经完成的中间计算的技术问题。
本发明采用的技术方案是:
一种利用掉队节点计算能力的编码矩阵乘法方法,主节点不需要等待工作节点完成所有分配的编码子矩阵之间的乘法任务才能利用这个节点的计算能力,而是能够利用所有工作节点已经完成的中间结算结果,包括掉队节点,所述编码计算方法包括如下步骤:
1)主节点对两个输入矩阵的子矩阵分别采用有限域
Figure BDA0003351198760000021
下不同的编码方法进行编码;
2)每个工作节点按顺序每计算完一对编码子矩阵乘法就将结果返回主节点;
3)当主节点接收到的所有工作节点返回的编码子矩阵乘法计算结果的总数量不少于未编码子矩阵乘法数量时,通过译码能正确恢复出未编码矩阵乘法结果。
2、根据权利要求1所述的编码矩阵乘法方法,其特征在于,所述对两个输入矩阵进行编码的步骤,之前还包括:
约束编码参数来构建工作节点中间计算结果的MDS结构和UDM性质,具体包括:p是一个素数,n是一个正整数,工作节点数量N<pn,c×r维输入矩阵A按列划分的子矩阵数量kA和c×w维输入矩阵B按列划分的子矩阵数量kB要满足p|kB,kAkB<NL,L是一个正整数满足L≤min{pk,kB-1},其中k是一个正整数使得kB=apk,a是一个不能被p整除的正整数。考虑
Figure BDA0003351198760000022
中N个互不相等的非零元素α01,…,αN-1
3、根据权利要求2所述的编码矩阵乘法方法,其特征在于,所述对两个输入矩阵进行编码的步骤,具体包括:
1)将有限域
Figure BDA0003351198760000023
下的高维输入矩阵A按其列分成kA个具有相同维数的子矩阵,并采用有限域
Figure BDA0003351198760000024
下的MDS码进行编码,得到N个编码子矩阵,
Figure BDA0003351198760000025
0≤i<N,其中
Figure BDA0003351198760000026
等于项数为kA的矩阵多项式
Figure BDA0003351198760000027
在αi上的求值,并将
Figure BDA0003351198760000028
传递给工作节点i;
2)将有限域
Figure BDA0003351198760000029
下的高维输入矩阵B按其列分成kB个具有相同维数的子矩阵,并采用有限域
Figure BDA00033511987600000210
下基于UDM的编码方法进行编码,得到NL个编码子矩阵,
Figure BDA00033511987600000211
0≤i<N,其中
Figure BDA00033511987600000212
分别等于度为kB-1的矩阵多项式
Figure BDA00033511987600000213
的0,1,2,…,L-1阶Hasse导数
Figure BDA00033511987600000214
在αi上的求值,0≤s<L,并将
Figure BDA00033511987600000215
传递给工作节点i。本专利中所有的
Figure BDA00033511987600000216
都表示对整数值
Figure BDA00033511987600000217
取模p。
4、根据权利要求3所述的编码矩阵乘法方法,其特征在于,每个工作节点按顺序每计算完一对编码子矩阵乘法就将结果返回主节点的步骤包括:对0≤i<N,工作节点i按顺序首先计算编码子矩阵
Figure BDA0003351198760000031
Figure BDA0003351198760000032
的乘积
Figure BDA0003351198760000033
然后将计算结果
Figure BDA0003351198760000034
返回给主节点,接下来再开始计算编码子矩阵
Figure BDA0003351198760000035
Figure BDA0003351198760000036
的乘积
Figure BDA0003351198760000037
并将结果
Figure BDA0003351198760000038
返回主节点,依此类推,依次完成剩余所有编码子矩阵乘法,
Figure BDA0003351198760000039
2≤s<L,的计算和结果返回。
5、根据权利要求4所述的编码矩阵乘法方法,其特征在于,所述的主节点通过基于UDM的高效译码算法能唯一地恢复出未编码矩阵乘法结果的步骤,之前还包括:
对0≤i<N,计算每个工作节点上所有计算结果,
Figure BDA00033511987600000310
所对应的kAkB×L阶生成矩阵
Figure BDA00033511987600000311
工作节点i的生成矩阵
Figure BDA00033511987600000312
中的第s列
Figure BDA00033511987600000313
对应于度为kAkB-1的多项式
Figure BDA00033511987600000314
的s阶Hasse导数
Figure BDA00033511987600000315
在αi上的计算,0≤s<L。最终得到
Figure BDA00033511987600000316
下一个大小为kAkB×NL的矩阵
Figure BDA00033511987600000317
6、根据权利要求5所述的编码矩阵乘法方法,其特征在于,所述的主节点通过基于UDM的高效译码算法能唯一地恢复出未编码矩阵乘法结果的步骤,具体包括:
一旦主节点接收到的当前每个工作节点按顺序返回的编码子矩阵乘法的数量vi满足
Figure BDA00033511987600000318
Figure BDA00033511987600000319
时,其中vi是任意一个满足0≤vi≤L的整数,每个工作节点生成矩阵
Figure BDA00033511987600000320
的前vi列,
Figure BDA00033511987600000321
构成的kAkB×v矩阵
Figure BDA00033511987600000322
全满秩,并且是一个UDM,因此主节点可以利用基于UDM的高效译码方法进行译码,唯一地恢复出所有的未编码子矩阵乘法
Figure BDA00033511987600000323
并输出完整的计算任务
Figure BDA00033511987600000324
本发明采用以上技术方案,通过控制有限域下多项式的根与编码参数,提出同时嵌入MDS码和基于UDM的编码的计算方法,有效地构建工作节点中间计算结果的MDS结构和UDM性质,充分利用了所有节点,包括掉队节点,已经完成的中间计算结果,并具有最优的恢复阈值,且本发现提出的编码计算方法需要的有限域大小只需大于工作节点个数N。通过采用本发明所提供的一种能利用掉队节点计算能力的编码矩阵乘法方法,显著提高了大规模矩阵-矩阵乘法的计算效率。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1示出了一个包含一个主节点,5个工作节点的编码矩阵-矩阵乘法计算典型框架;
图2示出了本发明弹性编码矩阵乘法计算方法的基本框架示意图;
图3示出了本发明弹性编码矩阵乘法计算方法的流程示意图;
图4示出了本发明弹性编码矩阵乘法计算方法中一个工作节点上的中间计算结果示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
先定义一些数学概念。对任意的正整数m,令
Figure BDA0003351198760000041
对任意的矩阵G,令G(i,j)表示G中的第(i,j)个元素,G(:,j)和G(i,:)表示G中的第j列和第i行,G<v>表示G中的前v列。矩阵聚集的强满秩条件指:由维数都为v×L的N个矩阵构成的矩阵聚集
Figure BDA0003351198760000042
对任意满足
Figure BDA0003351198760000043
(vi是任意一个满足0≤vi≤L的整数,i∈[N])的向量v=[v0,v1,…,vN-1],由每个矩阵Gi的前vi
Figure BDA0003351198760000044
构成的v×v矩阵
Figure BDA0003351198760000045
都一定是满秩的(此时矩阵G可以认为是一个UDM),则称矩阵聚集
Figure BDA0003351198760000046
满足强满秩条件。
图1所示即为一个编码矩阵-矩阵乘法计算典型框架例子,该例子由一个主节点和5个工作节点以及连接两种节点的网络构成,主节点有一个c×r的高维输入矩阵A和一个c×w的高维输入矩阵B,为了得到高维矩阵乘法结果C=ATB,分别将两个输入矩阵按列划分成四个相同维数的子矩阵:A=[A0|A1|A2|A3]和B=[B0|B1|B2|B3],并分别作为原始信息序列进行编码,分别得到与未编码子矩阵Aj具有相同维数的编码后的子矩阵(后面简称为编码子矩阵)
Figure BDA0003351198760000047
以及与未编码子矩阵Bt具有相同维数的编码子矩阵
Figure BDA0003351198760000048
然后将所有编码子矩阵
Figure BDA0003351198760000049
Figure BDA00033511987600000410
都分配给工作节点i,其中索引i∈{0,1,2,3,4}。工作节点i依次计算接收到的两类编码子矩阵之间的对积
Figure BDA00033511987600000411
其中u∈{0,1},s∈{0,1},并将完成计算的子矩阵乘法依次传回主节点。每个工作节点的计算结果可以等效为对未编码子矩阵乘法
Figure BDA00033511987600000412
进行编码的结果,其中j,t∈{0,1,2,3},主节点只需等待任意4个工作节点完成所有计算并返回计算结果,例如节点1是最慢的节点,主节点无需等待节点1的结果只需要接收到剩下4个节点的计算结果,就可以对接收结果进行译码,恢复出所有子矩阵乘法结果
Figure BDA00033511987600000413
j,t∈{0,1,2,3},从而得到完整的计算任务G=ATB。
如图2至4之一所示,本发明公开了基于编码矩阵-矩阵乘法计算框架的弹性编码计算方法,进行了如下方面的改进:
1)主节点对两个输入矩阵的子矩阵采用有限域下不同的编码方法进行编码,其中输入矩阵A采用有限域下的MDS码进行编码,输入矩阵B采用有限域下基于UDM的编码方法进行编码,并约束编码系数,构建有限域下矩阵A对应生成矩阵与矩阵B对应生成矩阵的克罗内克积聚集的强满秩性。
2)对每个工作节点,主节点对其只分配一个对应于输入矩阵A的编码子矩阵
Figure BDA0003351198760000051
和L个对应于输入矩阵B的编码子矩阵
Figure BDA0003351198760000052
s∈[L],然后每个工作节点按顺序依次计算
Figure BDA0003351198760000053
Figure BDA0003351198760000054
之间的对积,每计算完成一对编码子矩阵乘法计算,就将结果返回主节点,再开始下一对编码子矩阵乘法计算,并返回结果,依次类推。
3)当主节点接收到的任意工作节点返回的编码子矩阵乘法计算结果总数不少于未编码子矩阵乘法数量(以下简称最优局部恢复阈值Qopt)时,就可以利用基于UDM的译码方法进行译码,恢复出完整的计算任务C=ATB,而不需要等待工作节点完成所有的计算才能利用该节点,因此能够充分利用所有工作节点已经完成的计算,包括掉队节点。
本发明提供的利用所有节点计算能力的编码矩阵-矩阵乘法计算方法是基于有限域
Figure BDA0003351198760000055
的,p是一个素数,n是一个正整数。因此考虑系统中所有运算都在
Figure BDA0003351198760000056
上的情况,完整的编码计算流程图如图2所示,基本框架示意图如图3所示,假设系统中有一个主节点,N个工作节点,N<pn,选择
Figure BDA0003351198760000057
中N个互不相等的元素α01,…,αN-1,主节点有一个c×r的高维输入矩阵A,
Figure BDA0003351198760000058
和一个c×w的高维输入矩阵B,
Figure BDA0003351198760000059
本发明提供的编码计算方法按以下步骤进行:
步骤一、将两个高维输入矩阵A和B划分出多个子矩阵。主节点将输入矩阵A按其列分成kA个具有相同维数的子矩阵,即
Figure BDA00033511987600000510
输入矩阵B按其列分成kB个具有相同维数的子矩阵
Figure BDA00033511987600000511
要求p|kB,kAkB<NL,其中L是一个满足L≤min{pk,kB-1}的正整数,k是一个使得kB=apk的正整数(a是一个不能被p整除的正整数)。完整的计算任务为
Figure BDA00033511987600000512
显然kAkB就是最优的局部恢复阈值,即Qopt=kAkB。如果想要达到最小的恢复阈值,则需要进一步要求L|kAkB,此时最优恢复阈值Δopt=kAkB/L。
步骤二、分别对两个输入矩阵A和B进行编码。
2.1)对输入矩阵A采用有限域
Figure BDA00033511987600000513
下的MDS码进行编码,得到N个编码子矩阵,
Figure BDA00033511987600000514
i∈[N],其中
Figure BDA00033511987600000515
等于矩阵多项式
Figure BDA00033511987600000516
在αi上的求值,
Figure BDA00033511987600000517
对应的生成矩阵为
Figure BDA00033511987600000518
Figure BDA00033511987600000519
Figure BDA00033511987600000520
2.2)对输入矩阵B采有限域
Figure BDA00033511987600000521
下基于UDM的编码方法进行编码,得到NL个编码子矩阵,
Figure BDA00033511987600000522
其中i∈[N]。编码得到的L个编码子矩阵
Figure BDA00033511987600000523
分别等于度为kB-1的矩阵多项式
Figure BDA0003351198760000061
的0,1,2,…,L-1阶Hasse导数
Figure BDA0003351198760000062
Figure BDA0003351198760000063
在αi上的求值,其中
Figure BDA0003351198760000064
该L个编码子矩阵
Figure BDA0003351198760000065
对应的生成矩阵
Figure BDA0003351198760000066
Figure BDA0003351198760000067
下一个大小为kB×L的矩阵,其中第s个编码子矩阵
Figure BDA0003351198760000068
对应生成矩阵
Figure BDA0003351198760000069
的第s列
Figure BDA00033511987600000610
Figure BDA00033511987600000611
的第t个系数
Figure BDA00033511987600000612
Figure BDA00033511987600000613
其中,t∈[kB],s∈[L]。当t<s时,
Figure BDA00033511987600000614
矩阵聚集
Figure BDA00033511987600000615
满足强满秩条件。
步骤三、工作节点依次计算编码子矩阵乘法和返回计算结果。
3.1)主节点分别将输入矩阵A编码得到的编码子矩阵
Figure BDA00033511987600000616
以及输入矩阵B编码得到的L个编码子矩阵
Figure BDA00033511987600000617
s∈[L],传送给工作节点i。
3.2)对
Figure BDA00033511987600000618
工作节点i按顺序依次计算和返回编码子矩阵
Figure BDA00033511987600000619
Figure BDA00033511987600000620
之间的对积
Figure BDA00033511987600000621
工作节点i上的中间计算结果示例如图4所示:
Figure BDA00033511987600000622
其中s∈[L],即工作节点按顺序首先计算第一对编码子矩阵乘法
Figure BDA00033511987600000623
然后将计算结果
Figure BDA00033511987600000624
返回主节点,接下来再开始第二对编码子矩阵乘法的计算,
Figure BDA00033511987600000625
并将结果
Figure BDA00033511987600000626
返回主节点,接下来再计算第三对编码子矩阵乘法
Figure BDA00033511987600000627
并将结果
Figure BDA00033511987600000628
返回主节点,依此类推,依次完成剩余所有编码子矩阵乘法,
Figure BDA00033511987600000629
3≤s<L,的计算和结果返回。
本发明提供的编码计算中可以将工作节点i中每个编码子矩阵乘法计算结果
Figure BDA00033511987600000630
等效为将所有未编码子矩阵乘法
Figure BDA00033511987600000631
作为信息块,并采用有限域
Figure BDA00033511987600000632
下基于UDM的编码方法进行编码的结果,s∈[L],j∈[kA],t∈[kB],即每个工作节点上所有计算结果
Figure BDA00033511987600000633
所对应的生成矩阵
Figure BDA00033511987600000634
(等于生成矩阵
Figure BDA00033511987600000635
Figure BDA00033511987600000636
的克罗内克积,
Figure BDA00033511987600000637
Figure BDA00033511987600000638
)的聚集
Figure BDA00033511987600000639
满足强满秩条件。因此矩阵
Figure BDA00033511987600000640
具有UDM性质。这是根据
Figure BDA00033511987600000641
下UDM与多项式高阶Hasse导数的同构性决定的。
工作节点i中的每个编码子矩阵乘法
Figure BDA00033511987600000642
s∈[L],等于多项式乘法
Figure BDA00033511987600000643
在αi上的求值,其中第一个编码子矩阵乘法
Figure BDA0003351198760000071
对应度为kAkB-1,项数为kAkB的多项式为:
Figure BDA0003351198760000072
在αi上的求值。由于kB=apk,且L≤min{pk,kB-1},多项式
Figure BDA0003351198760000073
的1,2,…,L-1阶Hasse导数
Figure BDA0003351198760000074
的所有系数
Figure BDA0003351198760000075
模p都等于0,即
Figure BDA0003351198760000076
s∈{1,2,…,L-1},因此多项式
Figure BDA0003351198760000077
的s阶Hasse导数
Figure BDA0003351198760000078
化简为:
Figure BDA0003351198760000079
意味着在有限域
Figure BDA00033511987600000710
和参数约束kB=apk,L≤min{pk,kB-1}下,多项式乘法
Figure BDA00033511987600000711
Figure BDA00033511987600000712
等价于多项式
Figure BDA00033511987600000713
的s阶Hasse导数
Figure BDA00033511987600000714
所以每个编码子矩阵乘法
Figure BDA00033511987600000715
s∈[L],也等于度为kAkB-1的多项式
Figure BDA00033511987600000716
的s阶Hasse导数
Figure BDA00033511987600000717
在αi上的求值。因此,工作节点i的生成矩阵
Figure BDA00033511987600000718
中的第s列
Figure BDA00033511987600000719
也对应于多项式
Figure BDA00033511987600000720
的s阶Hasse导数
Figure BDA00033511987600000721
在αi上的计算。因此,当α01,…,αN-1是有限域
Figure BDA00033511987600000722
中N个互不相等的元素时,对任意满足
Figure BDA00033511987600000723
(vi是任意一个满足0≤vi≤L的整数,i∈[N])的向量v=[v0,v1,…,vN-1],由每个矩阵
Figure BDA00033511987600000724
的前vi
Figure BDA00033511987600000725
构成的kAkB×kAkB系数矩阵
Figure BDA00033511987600000726
的行列式等于一个广义范德蒙行列式的行列式值,因此
Figure BDA00033511987600000727
一定是满秩的,从而聚集
Figure BDA00033511987600000728
满足强满秩条件。
步骤四、主节点接收返回的计算结果,并进行译码恢复出C=ATB。当主节点接收到的每个工作节点当前按顺序返回的编码子矩阵乘法
Figure BDA00033511987600000729
的数量vi一旦满足
Figure BDA00033511987600000730
Figure BDA00033511987600000731
时(vi是任意一个满足0≤vi≤L的整数,i∈[N]),主节点对接收到的所有计算结果采用基于每个工作节点生成矩阵
Figure BDA00033511987600000732
前vi列构成的kAkB×kAkB系数矩阵
Figure BDA00033511987600000733
Figure BDA00033511987600000734
和UDM简化译码算法进行译码,唯一地恢复出所有未编码子矩阵乘法
Figure BDA00033511987600000735
j∈[kA],t∈[kB],从而得到完整的计算任务C=ATB。
步骤五、主节点输出C=ATB,编码计算结束。
本专利提出的弹性编码矩阵乘法计算方法在有限域
Figure BDA00033511987600000736
下不仅能达到最优恢复阈值,而且能够充分利用所有节点已经完成的中间计算结果,从而显著降低计算时延,提高大规模矩阵-矩阵乘法的计算效率。
下面通过具体实施例进一步进行具体的说明。
本实施例考虑一个有限域
Figure BDA0003351198760000081
下包含N=9个工作节点的分布式矩阵-矩阵乘法计算系统,取p=2,L=2,kA=2,kB=4。该实施例能实现最优局部恢复阈值Qopt=kAkB=8,最优恢复阈值Δopt=4。假设α01,…,α8
Figure BDA00033511987600000842
中互不相同的9个域元素,取αi=αi,α是
Figure BDA0003351198760000082
的一个本原元,主节点有一个c×r的高维输入矩阵A,
Figure BDA0003351198760000083
和一个c×w的高维输入矩阵B,
Figure BDA0003351198760000084
主节点将输入矩阵A按列划分成具有相同维数的两个子矩阵A=[A0|A1],输入矩阵B按列划分成具有相同维数的四个子矩阵B=[B0|B1|B2|B3]。为了能够通过9个工作节点以分布式的形式来计算高维矩阵乘法
Figure BDA0003351198760000085
输入矩阵A的编码考虑
Figure BDA0003351198760000086
下的矩阵多项式
Figure BDA0003351198760000087
输入矩阵B的编码考虑
Figure BDA0003351198760000088
下的矩阵多项式
Figure BDA0003351198760000089
多项式
Figure BDA00033511987600000810
的s阶Hasse导数,s=0,1,是:
Figure BDA00033511987600000811
Figure BDA00033511987600000812
对输入矩阵A采用有限域
Figure BDA00033511987600000813
下的MDS码进行编码,得到N个编码子矩阵,
Figure BDA00033511987600000814
i∈[N],并将
Figure BDA00033511987600000815
分配给工作节点i,其中
Figure BDA00033511987600000816
等于多项式
Figure BDA00033511987600000817
在αi上的求值,即
Figure BDA00033511987600000818
Figure BDA00033511987600000819
Figure BDA00033511987600000820
对应的生成矩阵为
Figure BDA00033511987600000821
对输入矩阵B采有限域
Figure BDA00033511987600000822
下基于UDM的编码方法进行编码,得到18个编码子矩阵,
Figure BDA00033511987600000823
i∈[N],并给工作节点i分配2个编码子矩阵
Figure BDA00033511987600000824
其中
Figure BDA00033511987600000825
等于(6)中多项式在αi上的求值,即
Figure BDA00033511987600000826
Figure BDA00033511987600000827
等于(7)中多项式在αi上的求值,即
Figure BDA00033511987600000828
Figure BDA00033511987600000829
对应的生成矩阵
Figure BDA00033511987600000830
Figure BDA00033511987600000831
Figure BDA00033511987600000832
工作节点i先计算第一个编码子矩阵乘法
Figure BDA00033511987600000833
然后将计算结果
Figure BDA00033511987600000834
返回主节点,接下来再计算
Figure BDA00033511987600000835
并将结果
Figure BDA00033511987600000836
返回主节点。工作节点i上编码子矩阵乘法
Figure BDA00033511987600000837
对应多项式
Figure BDA00033511987600000838
Figure BDA00033511987600000839
对应
Figure BDA00033511987600000840
的1阶Hasse导数
Figure BDA00033511987600000841
Figure BDA0003351198760000091
Figure BDA0003351198760000092
对应的生成矩阵
Figure BDA0003351198760000093
由(10)中所有工作节点对应生成矩阵
Figure BDA0003351198760000094
构成的矩阵聚集
Figure BDA0003351198760000095
如下所示:
Figure BDA0003351198760000096
由于α是有限域
Figure BDA0003351198760000097
的一个本原元,所以(11)中的聚集
Figure BDA0003351198760000098
满足强满秩条件。
当主节点接收到的每个工作节点当前返回的编码子矩阵乘法的数量vi的总和满足
Figure BDA0003351198760000099
Figure BDA00033511987600000910
时,每个工作节点生成矩阵
Figure BDA00033511987600000911
前vi列构成的8×8矩阵
Figure BDA00033511987600000912
是全满秩的,其中0≤vi≤2。因此,主节点能通过译码正确恢复出所有未编码子矩阵乘积:
Figure BDA00033511987600000913
最终得到并输出完整的高维矩阵乘法计算任务C=ATB。
本发明采用以上技术方案,通过控制有限域下多项式的根与编码参数,提出同时嵌入MDS码和基于UDM的编码的计算方法,有效地构建工作节点中间计算结果的MDS结构和UDM性质,充分利用了所有节点,包括掉队节点,已经完成的中间计算结果,并具有最优的恢复阈值,且本发现提出的编码计算方法需要的有限域大小只需大于工作节点个数N。通过采用本发明所提供的一种能利用掉队节点计算能力的编码矩阵乘法方法,显著提高了大规模矩阵-矩阵乘法的计算效率。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

Claims (8)

1.一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:包括如下步骤:
步骤1,将有限域
Figure FDA00033511987500000119
下两个高维输入矩阵A和B划分出多个子矩阵;
步骤2,主节点分别对两个输入矩阵A和B的子矩阵分别采用有限域
Figure FDA00033511987500000118
下不同的编码方法进行编码;
步骤3,工作节点依次计算编码子矩阵乘法和返回计算结果;
步骤4,主节点接收返回的计算结果,并进行译码恢复出C=ATB;
步骤5,主节点输出C=ATB,编码计算结束。
2.根据权利要求1所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤1的具体方法为:主节点将输入矩阵A按其列分成kA个具有相同维数的子矩阵,即
Figure FDA00033511987500000122
Figure FDA00033511987500000120
输入矩阵B按其列分成kB个具有相同维数的子矩阵
Figure FDA00033511987500000121
完整的计算任务为
Figure FDA0003351198750000011
要求p|kB,kAkB<NL,其中,p是一个素数,L是一个满足L≤min{pk,kB-1}的正整数,k是一个正整数使得kB=apk,a是一个不能被p整除的正整数,选取
Figure FDA0003351198750000012
中N个互不相等的非零元素α0,α1,...,αN-1
3.根据权利要求1或2所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤2中对两个输入矩阵进行编码的步骤,具体包括:
步骤2-1,获取有限域
Figure FDA00033511987500000114
下的高维输入矩阵A按其列分成的kA个具有相同维数的子矩阵,
步骤2-2,采用有限域
Figure FDA00033511987500000115
下的MDS码进行编码,得到N个编码子矩阵,
Figure FDA0003351198750000013
其中,
Figure FDA0003351198750000014
等于项数为kA的矩阵多项式
Figure FDA0003351198750000015
在αi上的求值,并将
Figure FDA0003351198750000016
传递给工作节点i;
步骤2-3,获取有限域
Figure FDA00033511987500000116
下的高维输入矩阵B按其列分成的kB个具有相同维数的子矩阵,
步骤2-4,采用有限域
Figure FDA00033511987500000117
下基于UDM的编码方法进行编码,得到NL个编码子矩阵,
Figure FDA0003351198750000017
其中,
Figure FDA0003351198750000018
分别等于度为kB-1的矩阵多项式
Figure FDA0003351198750000019
的0,1,2,...,L-1阶Hasse导数
Figure FDA00033511987500000110
在αi上的求值,且0≤s<L;并将
Figure FDA00033511987500000111
传递给工作节点i;
Figure FDA00033511987500000112
都表示对整数值
Figure FDA00033511987500000113
取模p。
4.根据权利要求1所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤3具体包括以下步骤:
步骤3-1,主节点分别将输入矩阵A编码得到的编码子矩阵
Figure FDA0003351198750000021
以及输入矩阵B编码得到的L个编码子矩阵
Figure FDA0003351198750000022
传送给工作节点i;
步骤3-2,对0≤i<N工作节点i按顺序依次计算编码子矩阵
Figure FDA0003351198750000023
Figure FDA0003351198750000024
之间的对积
Figure FDA0003351198750000025
并返回结果。
5.根据权利要求4所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤3-2的具体步骤为:先计算第一对编码子矩阵乘法
Figure FDA0003351198750000026
然后将计算结果
Figure FDA0003351198750000027
返回主节点;再计算第二对编码子矩阵乘法,
Figure FDA0003351198750000028
并将结果
Figure FDA0003351198750000029
返回主节点;计算第三对编码子矩阵乘法
Figure FDA00033511987500000210
并将结果
Figure FDA00033511987500000211
返回主节点;依此类推,依次完成剩余所有编码子矩阵乘法,
Figure FDA00033511987500000212
的计算和结果返回。
6.根据权利要求4所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤3的计算还进行如下处理:
对0≤i<N,计算每个工作节点上所有计算结果
Figure FDA00033511987500000213
所对应的kAkB×L阶生成矩阵
Figure FDA00033511987500000214
工作节点i的生成矩阵
Figure FDA00033511987500000215
中的第s列
Figure FDA00033511987500000216
对应于度为kAkB-1的多项式
Figure FDA00033511987500000217
Figure FDA00033511987500000218
的s阶Hasse导数
Figure FDA00033511987500000219
在αi上的计算,0≤s<L;最终得到
Figure FDA00033511987500000229
下一个大小为kAkB×NL的矩阵
Figure FDA00033511987500000220
7.根据权利要求1所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤4中当主节点接收到的所有工作节点返回的编码子矩阵乘法计算结果的总数量不少于未编码子矩阵乘法数量时,通过译码正确恢复出未编码矩阵乘法结果。
8.根据权利要求7所述的一种利用掉队节点计算能力的编码矩阵乘法方法,其特征在于:步骤4的具体步骤如下:
步骤4-1,主节点接收到的当前每个工作节点按顺序返回的编码子矩阵乘法的数量vi满足
Figure FDA00033511987500000221
Figure FDA00033511987500000222
时,其中vi是任意一个满足0≤vi≤L的整数,
步骤4-2,每个工作节点生成矩阵
Figure FDA00033511987500000223
的前vi列,
Figure FDA00033511987500000224
构成的kAkB×v矩阵
Figure FDA00033511987500000225
Figure FDA00033511987500000226
都是全满秩的,并且是一个UDM,
步骤4-3,主节点利用基于UDM的高效译码方法进行译码,唯一地恢复出所有的未编码子矩阵乘法
Figure FDA00033511987500000227
并输出完整的计算任务
Figure FDA00033511987500000228
CN202111339333.3A 2021-11-12 2021-11-12 一种利用掉队节点计算能力的编码矩阵乘法方法 Pending CN114021075A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111339333.3A CN114021075A (zh) 2021-11-12 2021-11-12 一种利用掉队节点计算能力的编码矩阵乘法方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111339333.3A CN114021075A (zh) 2021-11-12 2021-11-12 一种利用掉队节点计算能力的编码矩阵乘法方法

Publications (1)

Publication Number Publication Date
CN114021075A true CN114021075A (zh) 2022-02-08

Family

ID=80063859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111339333.3A Pending CN114021075A (zh) 2021-11-12 2021-11-12 一种利用掉队节点计算能力的编码矩阵乘法方法

Country Status (1)

Country Link
CN (1) CN114021075A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499885A (zh) * 2022-02-14 2022-05-13 中国农业银行股份有限公司 一种工作量证明的方法及系统
CN115515181A (zh) * 2022-09-22 2022-12-23 河海大学 无线环境下基于网络编码的分布式计算方法及系统
CN115964445A (zh) * 2023-02-23 2023-04-14 合肥申威睿思信息科技有限公司 一种分布式数据库的多副本实现方法和装置
CN117118462A (zh) * 2023-09-07 2023-11-24 重庆大学 一种基于编码分布式计算的神经网络bp译码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307080A (zh) * 2011-09-14 2012-01-04 北京大学 Mimo系统的串行分块信号检测方法及装置
US20160217367A1 (en) * 2015-01-27 2016-07-28 Google Inc. Sub-matrix input for neural network layers
US20200356858A1 (en) * 2019-05-10 2020-11-12 Royal Bank Of Canada System and method for machine learning architecture with privacy-preserving node embeddings
CN113158243A (zh) * 2021-04-16 2021-07-23 苏州大学 分布式图像识别的模型推理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102307080A (zh) * 2011-09-14 2012-01-04 北京大学 Mimo系统的串行分块信号检测方法及装置
US20160217367A1 (en) * 2015-01-27 2016-07-28 Google Inc. Sub-matrix input for neural network layers
US20200356858A1 (en) * 2019-05-10 2020-11-12 Royal Bank Of Canada System and method for machine learning architecture with privacy-preserving node embeddings
CN113158243A (zh) * 2021-04-16 2021-07-23 苏州大学 分布式图像识别的模型推理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江南;: "Reed-Solomon码代数软译码算法的研究和软件实现", 计算机时代, no. 03, 2 March 2008 (2008-03-02) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499885A (zh) * 2022-02-14 2022-05-13 中国农业银行股份有限公司 一种工作量证明的方法及系统
CN114499885B (zh) * 2022-02-14 2024-03-19 中国农业银行股份有限公司 一种工作量证明的方法及系统
CN115515181A (zh) * 2022-09-22 2022-12-23 河海大学 无线环境下基于网络编码的分布式计算方法及系统
CN115515181B (zh) * 2022-09-22 2024-06-04 河海大学 无线环境下基于网络编码的分布式计算方法及系统
CN115964445A (zh) * 2023-02-23 2023-04-14 合肥申威睿思信息科技有限公司 一种分布式数据库的多副本实现方法和装置
CN115964445B (zh) * 2023-02-23 2024-03-05 合肥申威睿思信息科技有限公司 一种分布式数据库的多副本实现方法和装置
CN117118462A (zh) * 2023-09-07 2023-11-24 重庆大学 一种基于编码分布式计算的神经网络bp译码方法

Similar Documents

Publication Publication Date Title
CN114021075A (zh) 一种利用掉队节点计算能力的编码矩阵乘法方法
CN109379086B (zh) 低复杂度的码率兼容的5g ldpc编码方法和编码器
EP1449063B1 (en) Galois field multiplier system
US7373581B2 (en) Device, program, and method for decoding LDPC codes
CN107786211B (zh) 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器
CN101192833B (zh) 一种低密度校验码ldpc并行编码的装置及方法
CN107239362B (zh) 一种并行crc校验码的计算方法及系统
CN111858169A (zh) 一种数据恢复方法、系统及相关组件
CN112364985B (zh) 一种基于分布式编码的卷积优化方法
CN109547160B (zh) 一种循环移位网络编码构造方法
CN104579366B (zh) Wpan中基于三级流水线的高速qc-ldpc编码器
CN113055023B (zh) 一种高能效高速并行ldpc编码方法及编码器
Manasse et al. A reed-solomon code for disk storage, and efficient recovery computations for erasure-coded disk storage
Hurley Linear complementary dual, maximum distance separable codes
CN117118462B (zh) 一种基于编码分布式计算的神经网络bp译码方法
CN1719400A (zh) 自编程并行线性反馈移位寄存器-ap2lfsr
CN112583420A (zh) 一种数据处理方法和译码器
Hurley Convolutional codes from unit schemes
Son et al. Coded matrix computation with gradient coding
CN104579365B (zh) 基于四级流水线的高速qc-ldpc编码器
CN105141319A (zh) 深空通信中基于三级流水线的高速qc-ldpc编码器
KR20070076538A (ko) 리차드슨 유형 재킷 ldpc 부호 생성장치 및 방법
WO2018184672A1 (en) Construction of ldpc convolutional turbo codes
CN104579364B (zh) Cdr中基于四级流水线的高速qc-ldpc编码器
Güney et al. Fault-tolerant strassen-like matrix multiplication

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