背景技术:
1、机器学习(ml)或高性能计算(hpc)集群利用大量的服务器和图形处理单元(gpu)、张量处理单元(tpu)或加速器。可以由不同的交换机对通过网络传送的数据执行集体操作。这些系统可以使用诸如随机梯度下降之类的迭代算法来训练ml模型,由此将输入数据跨工作器来划分并且对训练数据执行多次迭代。在每次迭代中,工作器基于本地数据的子集和中间当前模型来计算对ml模型参数的更新。工作器传递它们的结果以被聚合成模型更新,并且对聚合的更新求和以用于针对下一次迭代的节点处的模型参数。这些迭代在整个数据集上被执行多次(多轮)。
2、图1示出针对使用ps架构的机器学习(ml)训练的端到端解决方案。参数服务器(ps)可以被用于集体操作,由此,工作器节点计算更新并且向ps发送更新。ps推送聚合的数据或者从ps服务器拉取数据。ps架构包括使用交换机110在通信上耦合的工作器100和参数服务器(ps)120。针对ps架构的端到端解决方案包括reduce-scatter和allgather算子。图1示出工作器1具有三个队列对(qp)并且每个qp连接到某一ps。工作器2和工作器3也利用三个qp并且每个qp连接到某一ps。
3、在reduce-scatter算子中,工作器向对应的参数服务器发送数据的分区。例如,将来自工作器1的分区a1、来自工作器2的分区a2以及来自工作器3的分区a3发送到ps1,而将来自工作器1的分区b1、来自工作器2的分区b2以及来自工作器3的分区b3发送到ps2。类似的模式适用于ps3。结果,数据被分散在多个参数服务器上以利用位于参数服务器的图形处理单元(gpu)的并行计算。在接收到数据之后,ps首先对来自这些工作器的数据执行聚合。
4、在allgather算子中,向工作器多播gpu所处理的数据。参数服务器向工作器发送数据的相同副本。在这个过程中,将来自一个ps的带宽分配给所有工作器,并且网络可能是瓶颈。
技术实现思路
1.一种设备,包括:
2.如权利要求1所述的设备,其中,接收到的分组包括从与源因特网协议(ip)地址关联的发送器接收到的分组,并且其中,对所述fp数据重排序包括:将接收到的fp数据存储进与特定的源ip地址关联的缓冲区中。
3.如权利要求1至2中的任一项所述的设备,其中,所述指令中的第一指令包括:基于未接收到要加至第一分组fp数据的第二分组fp数据,存储所述第一分组fp数据。
4.如权利要求1至3中的任一项所述的设备,其中,所述指令中的第二指令包括:基于接收到具有第二分组fp数据的第二分组,从存储器的区域中检索第一分组fp数据,将所述第二分组fp数据加至所述第一分组fp数据以生成fp总和,并且将所述fp总和存储进存储过所述第一分组fp数据的所述存储器的区域中。
5.如权利要求1至4中的任一项所述的设备,其中,所述指令中的第三指令包括:基于检测到处理器的空闲状态,执行存储在存储器中的分组fp数据的求和。
6.如权利要求1至5中的任一项所述的设备,其中,所述基于在不同分组中接收到的浮点数据来执行fp运算包括:
7.如权利要求6所述的设备,其中
8.如权利要求1至7中的任一项所述的设备,包括交换机片上系统(soc),其中,所述交换机soc包括所述接口和所述电路模块。
9.至少一种非暂时性计算机可读介质,所述非暂时性计算机可读介质包括存储于其上的指令,所述指令如果被一个或多个处理器执行,则致使所述非暂时性计算机可读介质:
10.如权利要求9所述的非暂时性计算机可读介质,其中,所述基于在不同分组中接收到的浮点数据来执行fp运算包括:
11.如权利要求9至10中的任一项所述的非暂时性计算机可读介质,其中
12.如权利要求9至11中的任一项所述的非暂时性计算机可读介质,其中,接收到的分组包括从与源因特网协议(ip)地址关联的发送器接收到的分组,并且其中,对所述fp数据重排序包括:将接收到的fp数据存储进与特定的源ip地址关联的缓冲区中。
13.如权利要求9至12中的任一项所述的非暂时性计算机可读介质,其中,所述指令中的第一指令包括:基于未接收到要加至第一分组fp数据的第二分组fp数据,存储所述第一分组fp数据。
14.如权利要求9至13中的任一项所述的非暂时性计算机可读介质,其中,所述指令中的第二指令包括:基于接收到具有第二分组fp数据的第二分组,从存储器的区域中检索第一分组fp数据,将所述第二分组fp数据加至所述第一分组fp数据以生成fp总和,并且将所述fp总和存储进存储过所述第一分组fp数据的所述存储器的区域中。
15.如权利要求9至14中的任一项所述的非暂时性计算机可读介质,其中,所述指令中的第三指令包括:基于检测到处理器的空闲状态,执行对存储在存储器中的分组fp数据的运算。
16.一种方法,包括:
17.如权利要求16所述的方法,其中,接收到的分组包括从与源因特网协议(ip)地址关联的发送器接收到的分组,并且其中,对所述fp数据重排序包括:将接收到的fp数据存储进与特定的源ip地址关联的缓冲区中。
18.如权利要求16至17中的任一项所述的方法,其中
19.如权利要求16至18中的任一项所述的方法,其中,所述指令中的第三指令包括:基于检测到处理器的空闲状态,执行对存储在存储器中的分组fp数据的运算。
20.如权利要求16至19中的任一项所述的方法,其中,基于在不同分组中接收到的浮点数据的所述fp运算包括:
21.如权利要求20所述的方法,其中