CN112769522A - 一种基于Partition结构的编码分布式计算方法 - Google Patents
一种基于Partition结构的编码分布式计算方法 Download PDFInfo
- Publication number
- CN112769522A CN112769522A CN202110072010.6A CN202110072010A CN112769522A CN 112769522 A CN112769522 A CN 112769522A CN 202110072010 A CN202110072010 A CN 202110072010A CN 112769522 A CN112769522 A CN 112769522A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- lambda
- group
- receiving
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Partition结构的编码分布式计算方法,在编码分布式计算中,对于N个输入文件,使用K个分布式计算节点来计算Q个输出函数的值,整个计算过程分三个阶段进行:Map阶段、Shuffle阶段和Reduce阶段,以K个节点共同计算Q个函数s次的分布式计算的方法,包括如下步骤:A.Map阶段;B.Shuffle阶段;C.Reduce阶段。这种方法所实现的通信负载几乎约等于最优通信负载,并且在此基础上,所需的输入文件个数N及输出函数个数Q的最小要求相比Ali的方案明显减少。
Description
技术领域
本发明属于网络通信技术,具体是一种基于Partition结构的编码分布式计算方法。
背景技术
在机器学习和数据科学快速发展的推动下,现代计算范式已经从传统的单处理器系统转向大型分布式计算系统,而MapReduce框架便是分布式计算的一个流行框架。分布式计算在处理大规模数据时,显示出自身的很大优势,因此成为近两年的热门研究方向。
分布式计算是一种计算方法,和集中式计算是相对的。分布式计算是指将计算由一台设备上的集中计算分配到网络中多个设备上分布式地进行计算,这样就加速了计算进程。它可以处理大规模的数据分析任务,如机器学习,神经网络的学习。
MapReduce是用于分布式计算的一个流行框架,如图1所示,然而在数据处理过程中存在着大量数据交换,耗费许多时间,为了加速数据交换进程,S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamental tradeoff between computation andcommunication in distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.提出了编码的分布式计算(“coded distributed computing”,CDC),并且得到了分布式计算的最优通信负载;然而其方案中所需输入文件数量和输出函数数量很大,解决实际问题存在一定困难,因此降低输入文件数量和输出函数数量便成为一个很有意义的研究方向。
对于编码分布式计算而言,它可以分为两大类:一类是在同构模型下的研究(即每个节点的计算能力,存储能力和传输能力都是相同的)。例如文献S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamental tradeoff between computation andcommunication in distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.;Q.Yan,S.Yang,and M.Wigger,“Storage,computation,andcommunication:A fundamental tradeoff in distributed computing,”in IEEE ITW,Nov 2018.;K.Lee,M.Lam,R.Pedarsani,D.Papailiopoulos,and K.Ramchandran,“Speeding up distributed machine learning using codes,"IEEE Trans.Inf.Theory,vol.64,no.3,pp.1514–1529,Mar.2018.。其中S.Li,M.A.Maddah-Ali,Q.Yu,andA.S.Avestimehr,“A fundamental tradeoff between computation and communicationin distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中主要研究了分布式计算的最优通信负载;Q.Yan,S.Yang,and M.Wigger,“Storage,computation,and communication:A fundamental tradeoff in distributedcomputing,”in IEEE ITW,Nov 2018.使得每个计算节点计算部分输入文件从而降低计算负载;K.Lee,M.Lam,R.Pedarsani,D.Papailiopoulos,and K.Ramchandran,“Speeding updistributed machine learning using codes,"IEEE Trans.Inf.Theory,vol.64,no.3,pp.1514–1529,Mar.2018.针对分布式计算对大规模数据处理任务机器学习进行了研究。另一类是在异构模型下的研究(即每个节点上的计算能力、存储能力和传输能力不完全相同)。例如文献M.Kiamari,C.Wang,and A.S.Avestimehr,“On heterogeneous codeddistributed computing,”in IEEE GLOBECOM,Dec 2017,pp.1–7.;N.Shakya,F.Li,andJ.Chen,“On distributed computing with heterogeneous communicationconstraints,”in 52nd Asilomar Conf.Signals,Syst.Comput.,Oct 2018,pp.1795–1799.;“Coded distributed computing with heterogeneous function assignments,”2019.[Online].Available:http://arxiv.org/abs/1902.10738.。其中M.Kiamari,C.Wang,and A.S.Avestimehr,“On heterogeneous coded distributed computing,”inIEEE GLOBECOM,Dec 2017,pp.1–7.给出了在有3个节点且它们的计算能力不同时的情况下,得到了最优的通信负载;N.Shakya,F.Li,and J.Chen,“On distributed computingwith heterogeneous communication constraints,”in 52nd Asilomar Conf.Signals,Syst.Comput.,Oct 2018,pp.1795–1799.对不同节点给定了不同的传输能力,得到了系统的最小计算负载;“Coded distributed computing with heterogeneous functionassignments,”2019.[Online].Available:http://arxiv.org/abs/1902.10738.对不同节点给定了不同的存储能力,研究每个节点所需计算的输出函数的数量。
在编码分布式计算中,对于N个输入文件,使用K个分布式计算节点来计算Q个输出函数的值。整个计算过程分三个阶段进行:Map阶段、Shuffle阶段和Reduce阶段。
Map阶段:每个节点各自存储一部分文件,然后各个节点对存储的文件通过Map函数进行计算,生成中间值;
Shuffle阶段:节点间将Map阶段计算得到的中间值编码成信号,多播给其他节点;本阶段结束时,各个节点都收到到了来自其他节点多播的信号;
Reduce阶段:每个节点由Shuffle阶段收到的信号和Map阶段计算得到的中间值,解出缺少的中间值;之后进一步将中间值通过Reduce函数计算得到输出值。
MapReduce阶段的流程图如图2所示。
Shuffle阶段的数据传输会产生通信负载L(即K个节点的总通信量与QNT的比值),我们的目的是使L尽可能小。在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“Afundamental tradeoff between computation and communication in distributedcomputing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.所提方案中,输入文件和输出函数的数量过大,无法进行实际应用,因此我们希望牺牲部分通信负载L来降低输入文件的数量N和输出函数的数量Q。
发明内容
本发明的目的是针对现有技术的不足,而提供一种基于Partition结构的编码分布式计算方法。这种方法所实现的通信负载几乎约等于最优通信负载,并且在此基础上,所需的输入文件个数N及输出函数个数Q的最小要求相比Ali的方案明显减少。
实现本发明目的的技术方案是:
一种基于Partition结构的编码分布式计算方法,在编码分布式计算中,对于N个输入文件,使用K个分布式计算节点来计算Q个输出函数的值,整个计算过程分三个阶段进行:Map阶段、Shuffle阶段和Reduce阶段,以K个节点共同计算Q个函数s次的分布式计算的方法,包括如下步骤:
A.Map阶段:
B.Shuffle阶段:
在Shuffle阶段,每个节点将Map阶段计算得到的中间值编码成信号,多播给其他节点;其中Shuffle阶段由m轮传输组成,被λ个节点需要的中间值在第λ轮传输中交换,第λ轮分别根据λ所在的取值范围采用以下步骤:
1)当1≤λ≤m-1时,每个2λ元接收节点组S及其对应的m-λ元发送节点组G构造说明如下:
(1)在第λ轮传输中,在m个节点组中任意选择λ个节点组作为接收中间值的一方R,并在这m个节点组中的每一个节点组里任意选择两个节点作为接收节点,即|S∩Ki|=2,R|=λ,|S|=2λ;而另外的m-λ个节点组作为发送中间值的一方P,即|G∩Kj|=2,|P|=m-λ,|G|=m-λ;
(2)对于一个接收集合S中的2λ个接收节点,在λ个节点组的每个节点组已选取的两个节点中任选一个节点,构成一个λ元接收节点子集使其满足S'∩Ki|=1,|R|=λ,|S'|=λ;另外的λ个节点构成另一个λ元接收节点子集使其满足|{S\S'}∩Ki|=1,|R|=λ,|{S\S'}|=λ;
(3)将接收节点的集合定义为Tα,将发送节点的集合定义为Tβ,因此在第λ轮传输中,需要交换的中间值可分为两部分表示:
2)当λ=m时,每个2m元传输节点组S的组成说明如下:在第m轮传输中,在m个组中的每一个组里任意选择2个节点作为传输节点,则传输节点组S中一共有2m个节点参与传输,并且,对于一个接收集合S中的2m个接收节点,在m个节点组的每个节点组已选取的两个节点中任选一个节点,构成一个m元发送节点子集使其满足|S'∩Ki|=1,|S'|=m,另外的m个节点构成另一个m元接收节点子集使其满足|{S\S'}∩Ki|=1,|{S\S'}|=m,将只被集合S\S'中的节点需要、并且仅由集合S'中的节点计算的中间值集合定义为:
C.Reduce阶段:
每个节点k∈{1,...,K}利用在Shuffle阶段接收到的信号以及在Map阶段计算得到的中间值,解码出所需要但缺少的中间值;然后再将任一函数q∈{1,...,Q}的对应于所有N个文件的所有N个中间值通过Reduce函数计算得到所负责函数的输出值{uq=hq(vq,1,...,vq,N):q∈Wk,n∈{1,...,N}}。
这种方法所实现的通信负载几乎约等于最优通信负载,并且在此基础上,所需的输入文件个数N及输出函数个数Q的最小要求相比Ali的方案明显减少。
附图说明
图1为现有技术MapReduce编码分布式计算框架图;
图2为现有技术MapReduce阶段流程图;
图3为实施例中传输组S={2,3,5,6,7,8}中节点2、3、5、6发送的信号示意图;
图4为实施例中传输组S={2,3,5,6,7,8}中节点7、8发送的信号示意图。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
对每个输出函数被计算的次数s而言,大多数文献都是对s=1的情况下进行的研究,只有极少数文章中有提到s>1的情况,而本例中,致力于解决s>1的情况下如何降低输入文件个数N和输出函数数量Q的问题。
一种基于Partition结构的编码分布式计算方法,在编码分布式计算中,对于N个输入文件,使用K个分布式计算节点来计算Q个输出函数的值,整个计算过程分三个阶段进行:Map阶段、Shuffle阶段和Reduce阶段,K个节点共同计算Q个函数s次的分布式计算的方法,包括如下步骤:
A.Map阶段:
本例给定m=3个互不相交的z=3元节点集合:K1={1,2,3},K2={4,5,6},K3={7,8,9},|Ki|=z=3,将每一个节点集合看做一个组,即给定m=3个组,每个组有z=3个节点,因此这是一个K=mz=9个节点的计算网络;
对于任一i∈{1,...,27},集合Ti中的每个节点存储集合Bi中所有的输入文件、并且被分配输出集合Di中所有的输出函数,将这zm=27个文件集合Bi分别标记为B1,...,B27,将这zm=27个函数集合Di分别标记为D1,...,D27;
由于将每个文件和每个Reduce函数分别分配给m=3个组中的一个节点,即从分别K1,K2,K3中各取一个节点存储同一个文件、并且输出同一个Reduce函数,所以每一个文件被分别来自r=m=3个不同组的节点存储,每一个Reduce函数由分别来自s=m=3个不同组的节点输出;
本例假设η1=1,η2=1,那么一个文件集合Bi中有η1=1个文件,一个Reduce函数集合Di中有η2=1个函数,即|Bi|=1,|Di|=1,因此文件总个数为N=zmη1=27×1=27,Reduce函数的总个数为Q=zmη2=27×1=27,每一个文件或者函数类似于一个z元域上m长的向量的域中的一个元素,每一个元素分别对应于每一个组中的一个节点;
为了表达更加直观,本例使用组的组合方式进行构造,如表1所示,一共有m=3个组,分别代表m=3个互不相交的z=3元节点集合K1={1,2,3},K2={4,5,6},K3={7,8,9},每个组的z=3个节点分别用3个列标表示,即K=9个节点分别用9个列标表示,每个行标代表一个文件,因此行标总个数就是文件总个数N=zmη1=27,将这N个文件的集合表示为
中的每个元素表示在每个节点组中选择一个节点组成的一个所有节点的集合的m=3元子集,例如元素147表示集合{1,4,7},即文件147仅仅被节点1、节点4和节点7存储到本地,其他节点都没有存储文件147,因此,在行标为147的这一行中,仅在列标为1、4、7这三个方格中用*标记,从表1中可以很明显地看出,同一个组中不同的节点存储的文件没有相同的,即k≠p;而分别来自两个不同组的两个节点存储的相同文件个数为mη1=3个,即|Mk∩Mp|=mη1=3,p∈Kj,i≠j;
表1 文件分配给各个节点的情况
每个Reduce函数也被分配给分别来自不同组的m=3个节点,因此复制Q=zmη2=27个函数分配表,每一个表分别用来表示每一个Reduce函数的分配情况,将这Q个Reduce函数的集合表示为
与文件集合的表达意义类似,Reduce函数集合中的每个元素分别表示节点集合中的一个m=3元子集,例如元素147表示集合{1,4,7},如表2所示,函数147仅仅被分配给节点1、节点4和节点7输出,其他节点都不输出函数147,因此,在第一个表示Reduce函数分配情况的表格中,把列标为1、4、7的这三列方格全部用灰色填充,一行中没有标*号的灰色方格被对应列的节点需要,即在一行中,没有标*号的灰色方格个数表示该中间值被几个节点需要,因此在不同颜色空格中标上数字表示该中间值被几个节点需要接收,从表2可以很明显地看出,同一组的不同节点输出的Reduce函数没有相同的,而分别来自两个不同组的两个节点输出的相同函数个数为mη2=3个,即|Wk∩Wl|=3,k∈Ki,l∈Kj,i≠j;
表2 Reduce函数147分配情况
对于所有的i∈{157,257,357,158,258,358,159,259,359},节点5已在本地存储文件i,并且被分配输出Reduce函数i,同理可得,对于所有的i∈{167,267,367,168,268,368,169,269,369},节点6已在本地存储文件i,并且被分配输出Reduce函数i,节点5和节点6之所以都没有在本地存储相同的文件和输出相同的Reduce函数,是因为节点5和节点6都属于第二个组;但是由于节点2与节点5、6不属于同一个组,因此节点2分别与节点5、6存储的相同文件个数为mη1=3个,输出的相同Reduce函数个数也是mη2=3个;
B.Shuffle阶段:
在Shuffle阶段,每个节点将Map阶段计算得到的中间值编码成信号,多播给其他节点;其中Shuffle阶段由m轮传输组成,被λ个节点需要的中间值在第λ轮传输中交换,第λ轮分别根据λ所在的取值范围采用以下步骤:
1)当1≤λ≤m-1时,每个2λ元接收节点组S及其对应的m-λ元发送节点组G构造说明如下:
(1)在第λ轮传输中,在m个节点组中任意选择λ个节点组作为接收中间值的一方R,并在这m个节点组中的每一个节点组里任意选择两个节点作为接收节点,即|S∩Ki|=2,|R|=λ,|S|=2λ;而另外的m-λ个节点组作为发送中间值的一方P,即|G∩Kj|=2,|P|=m-λ,|G|=m-λ;
(2)对于一个接收集合S中的2λ个接收节点,在λ个节点组的每个节点组已选取的两个节点中任选一个节点,构成一个λ元接收节点子集使其满足|S'∩Ki|=1,|R|=λ,|S'|=λ;另外的λ个节点构成另一个λ元接收节点子集使其满足|{S\S'}∩Ki|=1,|R|=λ,|{S\S'}|=λ;
(3)将接收节点的集合定义为Tα,将发送节点的集合定义为Tβ,因此在第λ轮传输中,需要交换的中间值可分为两部分表示:
首先,对于第λ=0轮,显然这些中间值都只被那些能够自己计算出该中间值的节点所需要,即没有节点需要接收这些中间值,所以接下来考虑传输只被1个节点接收的中间值的第λ=1轮,这些中间值可以通过一个m=3元节点组Tα来观察,该节点组的m=3个节点分别由每个组的1个节点——分别来自K1,K2,K3的3个节点组成;
在交换被1个节点需要接收的中间值的第λ=1轮中,假设以第一个和第二个组作为发送组,第三个组作为接收组,举个例子,在第一个组中选择节点2、在第二个组中选择节点6作为发送节点,接着在第三个组中任选两个节点作为接收节点,由表3可以看出,在被节点2和节点6共同存储的文件中,只被第三个组中任意两个节点中的一个节点存储、另一个节点缺少的文件有:文件267、268分别只被节点7、8中的一个节点存储、另一个节点缺少;文件268、269分别只被节点8、9中的一个节点存储、另一个节点缺少;文件267、269分别只被节点7、9中的一个节点存储、另一个节点缺少;由于Reduce函数分配给节点的方式和文件分配方式一样,所以可以将文件和函数的标号互换的两个中间值编码成一个信号发给相对应的两个节点,即在第λ=1轮中,节点7、8中的接收编码信号节点8、9中的接收编码信号节点7、9中的接收编码信号这三个编码信号只要由节点2或节点6中的一个节点发送即可;假设一个中间值大小为T比特,因为将两个中间值按位异或编码后所形成的信号大小等于一个中间值的大小,即一个异或编码信号的大小为T比特,所以在第λ=1轮中,节点2或节点6需要发给节点7、8、9的信号大小一共为3T比特;
表3 第λ=1轮传输示例
在第λ=1轮中,这样的传输组合是在m=3个组中选择λ=1个组作为接收组,其余的m-λ=2个组作为发送组;然后从每一个发送组中选择一个节点作为发送节点,即m-λ=2个发送节点;再从每一个接收组中的任选2个节点作为接收节点,即2λ=2个接收节点,在这个传输组合交换的两个中间值中,文件和函数的标号分别用m-λ=2个发送节点和其中一个接收节点(即λ=1个接收节点)组成的集合表示,显然这样的组合有个,每一个组合需交换T比特的信号,所以该例在第λ=1轮中的总传输量为81T比特;
与第λ=1轮的传输方式相似,在交换被2个节点需要接收的中间值的第λ=2轮中,假设以第一个组作为发送组,第二、三个组作为接收组。在第一个组中选择一个节点2作为发送节点,即G={2},接着分别在第二、第三个组中任选两个节点作为2λ=4元接收节点,例如S={4,5,7,8},因此,可以看出,文件{247,248,257,258}中的每个文件被S={4,5,7,8}中的2个节点存储,并且这些文件都被节点2存储,如表4所示如果设S'={4,7},S\S'={5,8},那么节点2发送S={4,5,7,8}的四个节点的信号是如果设S'={4,8},S\S'={5,7},那么节点2发送S={4,5,7,8}的四个节点的信号是因此,在S={4,5,7,8}和G={2}这个传输组合中,一共需要交换的信号量为2T比特;
表4 第λ=2轮传输示例
在第λ=2轮中,这样的传输组合是在m=3个组中选择λ=2个组作为接收组,其余的m-λ=1个组作为发送组;然后从每一个发送组中选择一个节点作为发送节点,即m-λ=1个发送节点;再从每一个接收组中的任选2个节点作为接收节点,即2λ=4个接收节点,在这个传输组合交换的两个中间值中,文件和函数的标号分别用m-λ=1个发送节点和其中每一个接收组中的1个接收节点(即λ=2个接收节点)组成的集合表示,显然这样的组合一共有个,每一个组合需交换2T比特的信号,所以该例在第λ=2轮中的总传输量为81*2T=162T比特;
2)当λ=m时,每个2m元传输节点组S的组成说明如下:在第m轮传输中,在m个组中的每一个组里任意选择2个节点作为传输节点,则传输节点组S中一共有2m个节点参与传输,并且,对于一个接收集合S中的2m个接收节点,在m个节点组的每个节点组已选取的两个节点中任选一个节点,构成一个m元发送节点子集使其满足|S'∩Ki|=1,|S'|=m,另外的m个节点构成另一个m元接收节点子集使其满足|{S\S'}∩Ki|=1,|{S\S'}|=m,将只被集合S\S'中的节点需要、并且仅由集合S'中的节点计算的中间值集合定义为
考虑最后一轮(λ=m=3),交换被3个节点需要接收的中间值,分别在三个组中任选两个节点组成一个2λ=2m=6元传输组,例如S={2,3,5,6,7,8},由表5可以看出,S={2,3,5,6,7,8}的每个节点都有四个已在本地计算的中间值和四个需要接收的中间值,并且需要接收的中间值都可以根据另外五个节点发送的线性组合解码出来,于是将每个中间值分割成5个部分,例如将大小为T比特的中间值v258,369分成五个部分每一个部分大小为比特,因此每个节点需要接收4*5=20个未知部分,由于每个节点需要接收来自5个节点的传输,所以每个节点将本地中间值分割后,编码成系数线性无关的个线性组合,并将其多播给传输组S={2,3,5,6,7,8}中的其他5个节点,在传输组S={2,3,5,6,7,8}中各节点发送的信号如图3、图4所示,其中α1,α2,α3,α4,α5,α6,α7,α8,α9,α10,α11,α12,α13,α14,α15,α16,α17,α18,α19,α20是20个线性无关的系数;
表5 第λ=m=3轮传输示例
在第λ=m=3轮中,这样的传输组合是在m=3个组中,每一个组选择2个节点,即一共有2λ=2m=6节点作为一个传输组,在一个2λ=2m=6元传输组交换的中间值里,每一个节点有2λ-1=2m-1=4个已知中间值和2λ-1=2m-1=4个未知中间值,把每一个中间值分成2λ-1=2m-1=5个部分,则每个节点有2m-1(2m-1)=20个未知部分,为了解码出这20个未知部分,每一个节点需要接收来自另外的2λ-1=2m-1=5个节点中每一个节点发送的个线性组合,每一个线性组合的大小为比特,因此在一个传输组中一共交换显然这样的组合一共有个,所以第λ=m=3轮的总传输量为比特;
C.Reduce阶段:
每个节点k∈{1,...,K}利用在Shuffle阶段接收到的信号以及在Map阶段计算得到的中间值,解码出所需要但缺少的中间值;然后再将任一函数q∈{1,...,Q}的对应于所有N个文件的所有N个中间值通过Reduce函数计算得到所负责函数的输出值{uq=hq(vq,1,...,vq,N):q∈Wk,n∈{1,...,N}};
因为在这个m=3,z=3的例子中,所涉及到的中间值一共有QN=27*27=729个,所以使用所有中间值总大小QNT规范化后,得到的通信负载为由相同的参数K=9,r=s=3,Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamental tradeoff betweencomputation andcommunication in distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案所得到的最优通信负载为L*(r,s)=0.4821,因此可以得到本例的通信负载大约是最优方案的1.06倍。
但是由于本例所需要的最少文件数为N=zm=33=27,最少函数个数为Q=zm=33=27,然而Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamentaltradeoff betweencomputation and communication in distributed computing,"IEEETrans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案所需要的最少文件数是最少函数个数是显然本例所需要的最少文件数和最少函数个数比Ali在S.Li,M.A.Maddah-Ali,Q.Yu,andA.S.Avestimehr,“A fundamental tradeoff betweencomputation and communicationin distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案少很多。并且随着参数m,z的增加,这个差距会越来越明显。本例所需要的最少文件数和最少函数个数与Ali在S.Li,M.A.Maddah-Ali,Q.Yu,andA.S.Avestimehr,“A fundamental tradeoff between computation and communicationin distributedcomputing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案对比如下,其中(N,Q)_new表示本方案的最少文件数和最少函数个数,(N,Q)_Ali表示Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“Afundamental tradeoff between computation andcommunication in distributedcomputing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案所需要的最少文件数和最少函数个数,new/Ali表示本方案的最少文件数和最少函数个数除以Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamentaltradeoffbetween computation and communication in distributed computing,"IEEETrans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出的方案所需要的最少文件数和最少函数个数得到的比值。
由构造可以看出,在给定参数r=s=m,K=mz的条件下,所需的输入文件个数N及输出Reduce函数个数Q的最小要求都为N=Q=zm,而在给定相同参数r=s=m,K=mz的条件下,S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,“A fundamental tradeoffbetweencomputation and communication in distributed computing,"IEEETrans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.的方案中N和Q的最小要求分别是和因此,可以观察到,本例方法将所需的输入文件个数N及输出函数个数Q的最小要求很明显地减少了。
最后,本例中所得到的通信负载是
在给定相同参数r=s=m,K=mz以及传输组节点个数l的条件下,Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,"A fundamental tradeoff betweencomputation andcommunication in distributed computing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出方案的最优通信负载可以表示为
与Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,"A fundamentaltradeoff betweencomputation and communication in distributed computing,"IEEETrans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中提出方案的最优通信负载相比,本例得到的通信负载除了极个别最高可以达到最优通信负载的1.473倍,使用其他绝大多数的参数所得到的通信负载都小于最优通信负载的1.025倍。由于本例的文件总个数N和Reduce函数总个数Q相同,所以(N,Q)_new/(N,Q)_Ali表示本例方法与Ali在S.Li,M.A.Maddah-Ali,Q.Yu,and A.S.Avestimehr,"A fundamental tradeoff betweencomputation and communication in distributedcomputing,"IEEE Trans.Inf.Theory,vol.64,no.1,pp.109–128,Jan.2018.中所提出方案的所需文件、函数的最小个数的比值。部分数据对比汇总如表6所示:
表6 相同参数K,r,s下本方案与Ali最优方案的通信负载、文件和函数最少个数对比
Claims (1)
1.一种基于Partition结构的编码分布式计算方法,在编码分布式计算中,对于N个输入文件,使用K个分布式计算节点来计算Q个输出函数的值,整个计算过程分三个阶段进行:Map阶段、Shuffle阶段和Reduce阶段,其特征在于,以K个节点共同计算Q个函数s次的分布式计算的方法,包括如下步骤:
A.Map阶段:
{vq,n=gq,n(wn)∈F2T:n∈Wk,q∈{1,...,Q}},
B.Shuffle阶段:
在Shuffle阶段,每个节点将Map阶段计算得到的中间值编码成信号,多播给其他节点;其中Shuffle阶段由m轮传输组成,被λ个节点需要的中间值在第λ轮传输中交换,第λ轮分别根据λ所在的取值范围采用以下步骤:
1)当1≤λ≤m-1时,每个2λ元接收节点组S及其对应的m-λ元发送节点组G构造说明如下:
(3)将接收节点的集合定义为Tα,将发送节点的集合定义为Tβ,因此在第λ轮传输中,需要交换的中间值可分为两部分表示:
2)当λ=m时,每个2m元传输节点组S的组成说明如下:在第m轮传输中,在m个组中的每一个组里任意选择2个节点作为传输节点,则传输节点组S中一共有2m个节点参与传输,并且,对于一个接收集合S中的2m个接收节点,在m个节点组的每个节点组已选取的两个节点中任选一个节点,构成一个m元发送节点子集使其满足另外的m个节点构成另一个m元接收节点子集使其满足将只被集合S\S'中的节点需要、并且仅由集合S'中的节点计算的中间值集合定义为:
C.Reduce阶段:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072010.6A CN112769522B (zh) | 2021-01-20 | 2021-01-20 | 一种基于Partition结构的编码分布式计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110072010.6A CN112769522B (zh) | 2021-01-20 | 2021-01-20 | 一种基于Partition结构的编码分布式计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769522A true CN112769522A (zh) | 2021-05-07 |
CN112769522B CN112769522B (zh) | 2022-04-19 |
Family
ID=75703372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110072010.6A Active CN112769522B (zh) | 2021-01-20 | 2021-01-20 | 一种基于Partition结构的编码分布式计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769522B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106253A (zh) * | 2013-01-16 | 2013-05-15 | 西安交通大学 | 一种MapReduce计算模型中基于遗传算法的数据平衡方法 |
CN108809520A (zh) * | 2018-06-20 | 2018-11-13 | 苏州大学 | 一种基于边缘计算环境的编码分布式计算方法及装置 |
US20190188308A1 (en) * | 2017-12-20 | 2019-06-20 | Sap Se | Computing data lineage across a network of heterogeneous systems |
CN111490795A (zh) * | 2020-05-25 | 2020-08-04 | 南京大学 | 一种面向中间值长度异构的编码MapReduce方法 |
-
2021
- 2021-01-20 CN CN202110072010.6A patent/CN112769522B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103106253A (zh) * | 2013-01-16 | 2013-05-15 | 西安交通大学 | 一种MapReduce计算模型中基于遗传算法的数据平衡方法 |
US20190188308A1 (en) * | 2017-12-20 | 2019-06-20 | Sap Se | Computing data lineage across a network of heterogeneous systems |
CN108809520A (zh) * | 2018-06-20 | 2018-11-13 | 苏州大学 | 一种基于边缘计算环境的编码分布式计算方法及装置 |
CN111490795A (zh) * | 2020-05-25 | 2020-08-04 | 南京大学 | 一种面向中间值长度异构的编码MapReduce方法 |
Non-Patent Citations (3)
Title |
---|
JING JIANG: "Cascaded Coded Distributed Computing Schemes Based on Placement Delivery Arrays", 《IEEE ACCESS》 * |
SONGZE LI: "A Fundamental Tradeoff Between Computation and Communication in Distributed Computing", 《IEEE TRANSACTIONS ON INFORMATION THEORY》 * |
王艳等: "编码技术改进大规模分布式机器学习性能综述", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112769522B (zh) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105656604B (zh) | 一种比特交织极化编码调制方法及装置 | |
CN111630797B (zh) | 使用分布匹配器的集合的通信系统及方法 | |
CN108494437B (zh) | 一种稀疏码分多址接入的码书生成方法 | |
CN104009907B (zh) | 并行计算系统中的“所有到所有”消息交换 | |
Parrinello et al. | Coded distributed computing with node cooperation substantially increases speedup factors | |
CN103384354A (zh) | 一种无源光网络光分配网的优化设计方法 | |
CN107124251A (zh) | 一种基于任意内核的极化码编码方法 | |
CN107302420B (zh) | 一种线性网络编码方法 | |
CN106534295A (zh) | 一种邻近协作网络的邻对计算自分配方法 | |
CN109547160B (zh) | 一种循环移位网络编码构造方法 | |
CN112769522B (zh) | 一种基于Partition结构的编码分布式计算方法 | |
Gupta et al. | Locality-aware hybrid coded MapReduce for server-rack architecture | |
CN107437976A (zh) | 一种数据处理方法及设备 | |
Yao et al. | The capacity of 3 user linear computation broadcast | |
CN116915293A (zh) | 基于有限域多址码本的构造方法及网络层多用户通信方法、设备 | |
CN106253910A (zh) | 一种压缩编码方法 | |
CN105959224A (zh) | 基于比特向量的高速路由查找装置及方法 | |
CN106850142A (zh) | 记忆信道下利用Homophonic编码的码字最优分布的polar码构造方法 | |
CN109150397B (zh) | 一种构造极化码序列的方法及装置 | |
Zhou et al. | On the randomness cost of linear secure computation:(Invited Presentation) | |
Li et al. | Architectures for coded mobile edge computing | |
CN112257285B (zh) | 用于大规模分布式仿真的轻量化dds自动发现方法 | |
CN113434299B (zh) | 基于MapReduce框架的编码分布式计算方法 | |
CN112787694A (zh) | 一种基于期望传播的mimo-scma系统的低复杂度检测算法 | |
CN110650539A (zh) | 一种基于scma的无线通信下行链路资源分配方法 |
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 |