System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式深度学习缓存领域,尤其是涉及一种基于分布式深度学习缓存系统的通讯方法和装置。
技术介绍
1、深度学习是图像识别技术的重要支撑,为了提高图像识别的精度,深度学习的模型和数据集规模呈持续增大趋势,单个计算节点上的有限资源难以高效地支撑整个训练过程,而利用多计算节点进行分布式训练已经成为解决大规模深度学习训练的重要手段。在多节点分布式训练场景中,各计算节点对模型进行并行训练,并向远端存储系统请求数据集,因为从远端存储系统访问数据比较耗时,开发人员会利用各计算节点上的磁盘、ssd或内存等资源构建一个分布式缓存中间层。在此架构中,缓存中间层和远端存储系统属于服务端,训练模型通过客户端从存储端访问数据集。其中,客户端优先从缓存中间层查找数据,若没有找到所需数据,则从远端存储系统请求数据。对于某一客户端而言,位于相同计算节点上的服务端被称为本地服务端,其他的服务端被称为远程服务端。然而,客户端从远程服务端访问数据的开销远大于本地服务端,这削弱了缓存中间层的效果。
2、客户端与远程服务端的通讯逻辑包括四步:(1)客户端向服务端发送请求消息;(2)服务端接收到客户端的请求消息,准备数据;(3)服务端将数据发送给客户端;(4)客户端接收服务端的数据。在这种通讯模式下,服务端在收到客户端的请求消息前不知道哪些数据即将被访问,只能被动等待客户端的请求到达,然后才开始准备相应的数据并发送给客户端,从而导致网络通讯路径较长。
技术实现思路
1、本专利技术要解决现有技术的上述不足
2、本专利技术的目的是通过以下技术方案实现的:一种基于分布式深度学习缓存系统的通讯方法,包括以下步骤:
3、步骤一:图像识别应用环境初始化:分布式缓存系统和装置部署在计算节点上,计算节点数记为n,计算节点记为nodei,0≤i<n;分布式缓存系统和装置的硬件设备包括交换机、固态盘、内存卡和网卡;缓存空间来自于计算节点上的固态盘和内存卡;所有计算节点通过网络交换机组成互联网络,任一计算节点能通过网络跨节点访问其他计算节点上的缓存空间;
4、步骤二:客户端与服务端建立网络连接;
5、步骤三:通过客户端与服务端相互通讯,深度学习训练任务获取训练数据并训练模型;
6、步骤四:图像识别,应用使用训练出的模型从用户输入的数据中识别目标。
7、进一步,步骤一包括∶
8、步骤s1.1:分布式缓存系统和装置的缓存空间既可由计算节点上的一种本地存储设备提供,也可由计算节点上的多种本地存储设备提供;
9、步骤s1.2∶分布式缓存系统和装置初始化:计算节点nodei启动一个独立的服务端后台进程serveri;服务端serveri初始化时,本地缓存空间为空;
10、步骤s1.3:深度学习训练任务初始化:训练模型是resnet50,训练任务将resnet50载入gpu设备的显存;训练数据集是imagenet,训练样本数记为m,完整的数据集存储在远端存储系统;训练数据集的样本记为samplej,0≤j<m,样本samplej与目标服务端serveri的对应关系满足条件:j对n取模的值等于i;计算节点nodei启动l(l>0)个数据载入进程,记为数据载入进程是分布式缓存系统和装置的客户端客户端记录数据集imagenet中每个样本的大小。
11、进一步,步骤二包括∶
12、步骤s2.1:客户端与服务端两两建立网络连接,每个客户端将与其相连的网络连接标识记录在conn[n];
13、步骤s2.2:服务端与客户端建立网络连接时,服务端为每个客户端创建一个独立的服务线程。
14、进一步,步骤三包括:
15、步骤s3.1:一个训练周期开始后,resnet50模型等待来自于分布式缓存系统和装置的样本;
16、步骤s3.2:更新随机种子,然后所有服务端使用相同的新随机种子生成一个样本访问序列s;
17、步骤s3.3:训练任务与服务端使用相同的随机种子生成一个样本访问序列s,训练任务将访问序列s均等切分为n个子序列,计算节点nodei分配到的子序列记为si,0≤i<n;训练任务将计算节点nodei的子序列si进一步均等切分为l个子序列,计算节点nodei上的客户端分配到的子序列记为
18、步骤s3.4:服务端serveri的所有服务线程并发向客户端推送样本;
19、步骤s3.5:客户端参考从服务线程拉取样本:对n取模的值记为y,找到网络连接conn[y],然后从conn[y]的缓冲区队列拉取对应的样本,然后处理的剩余项;
20、步骤s3.6:客户端利用cpu对拉取到的样本进行预处理,然后将数据推送给resnet50模型进行训练;
21、步骤s3.7:当前训练周期结束时,若模型已训练的周期数小于预设的值,则转步骤s3.1进入下一个训练周期;否则,训练任务完成,断开客户端与服务端的连接,结束服务端进程,输出模型。
22、再进一步,步骤s3.4包括:
23、步骤s3.4.1:与关联的服务线程参考向依次推送样本:若对应的样本与serveri不满足步骤三中的条件,则服务线程忽略并进入步骤s3.4.1处理中剩余项,若剩余项全部处理完,则服务线程在当前训练周期的工作结束,步骤s3.4结束;否则,转步骤s3.4.2;
24、步骤s3.4.2:若对应的样本存在于serveri的本地缓存,则服务线程从本地缓存读取样本,并将样本推送到网络连接的缓冲区队列,并转步骤s3.4.1处理中的下一项;否则,转步骤s3.4.3;
25、步骤s3.4.3:从远端存储系统读取样本,并将样本推送到网络连接的缓冲区队列;若本地缓存有空闲空间,则将样本拷贝到本地缓存;转步骤s3.4.1处理中的下一项。
26、本专利技术的第二个方面涉及一种基于分布式深度学习缓存系统的通讯装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现本专利技术的一种基于分布式深度学习缓存系统的通讯方法。
27、本专利技术的第三个方面涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本专利技术的一种基于分布式深度学习缓存系统的通讯方法。
28、本专利技术的第四个方面涉及实施本专利技术的一种基于分布式深度学习缓存系统的通讯方法的系统,包括:
29、图像识别应用环境初始化模块,用于分布式缓存系统和装置部署在计算节点上,计算节点数记为n,计算节点记为nodei,0≤i<n;分布式缓存系统和装置的硬件设备包括交换机、固态盘、内存卡和网卡;缓存空间来自于计算节点上的固态盘和内存卡;所有计算节点通过网络交换机组成互联网络,本文档来自技高网...
【技术保护点】
1.一种基于分布式深度学习缓存系统的通讯方法,包括以下步骤:
2.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤一包括:
3.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤S1.1中分布式缓存系统和装置的缓存空间由计算节点上的一种本地存储设备提供。
4.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤S1.1中分布式缓存系统和装置的缓存空间由计算节点上的多种本地存储设备提供。
5.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤二包括:
6.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤三包括:
7.如权利要求4所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤S3.4包括:
8.一种基于分布式深度学习缓存系统的通讯装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实
9.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现权利要求1-5中任一的一种基于分布式深度学习缓存系统的通讯方法。
10.实施权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法的系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于分布式深度学习缓存系统的通讯方法,包括以下步骤:
2.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤一包括:
3.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤s1.1中分布式缓存系统和装置的缓存空间由计算节点上的一种本地存储设备提供。
4.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤s1.1中分布式缓存系统和装置的缓存空间由计算节点上的多种本地存储设备提供。
5.如权利要求1所述的一种基于分布式深度学习缓存系统的通讯方法,其特征在于,步骤二包括:
6.如权利要求1所述的一种基于分布式深度...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。