System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于多服务器训练任务资源优化的分配方法组成比例_技高网

基于多服务器训练任务资源优化的分配方法组成比例

技术编号:40936004 阅读:2 留言:0更新日期:2024-04-18 14:55
本发明专利技术公开了一种基于多服务器训练任务资源优化的分配方法,步骤为:S1:获取多台服务器的硬件资源信息;S2:创建算法任务,根据选择的样本集的文件大小及训练参数来指定或动态判断即将参与训练的服务器;S3:开始同步远程存储的样本文件至本地训练服务器的指定目录;S4:监控同步样本文件进度,待同步完成之后,开始进行样本训练,并将训练结果保存至本地服务器。该方法基于多服务器,动态分配资源,提高了服务器资源的利用率,降低了资源浪费,同时显著提高了训练效率和系统稳定性。

【技术实现步骤摘要】

本专利技术属于信息,尤其涉及一种基于多服务器训练任务资源优化的分配方法


技术介绍

1、目前,对于大量样本参与算法训练时,首先会对数据集进行一个预处理,包括数据清洗、标准化、增强等。如何高效地进行数据准备是一个挑战。其次,在训练过程中可能需要大量的gpu或cpu资源,如果计算资源不足,训练时间将变得非常长,甚至无法完成。同时,也需要大量内存,特别是在处理大型数据集时,内存不足可能导致内存溢出错误或性能下降。最后,我们在多台机器上进行大规模训练时,需要解决数据同步、通信、任务调度等计算问题。

2、传统方法通常无法充分利用多台服务器的资源,导致训练任务的等待时间较长,系统的稳定性较差。具体为:(1)训练任务通常需要等待服务器资源的释放,导致训练效率低下;(2)资源冲突和任务处理不当可能导致系统崩溃或任务失败;(3)传统的手动文件同步方法效率低下,容易出错;(4)服务器资源常常无法充分利用,浪费了硬件资源。

3、中国专利文献cn111766820a公开了一种应用于智能农业的智能精细化管理控制系统,包括数据采集模块、本地控制系统、本地数据库、本地ui终端、云服务器、云数据库、远程ui终端和机器视觉算法模块,本地控制系统定时获取数据采集模块采集的环境数据和作物图像数据,并将之保存至本地数据库,并推送至本地ui终端进行显示和查询;在ui终端,管理者根据需求自行设定管理规则,系统根据管理规则对种植环境中的控制设备进行自动控制;同时,定时将采集的数据上传至云端;在远程ui终端,远程管理者结合控制指令和机器视觉算法模块对于作物健康状况的识别结果,同步回传至本地控制系统,通过控制设备对农作物进行自动控制或者指导管理员进行对应操作指导。

4、中国专利文献cn115686766a公开了一种自动化任务排程方法、电子设备及存储介质,所述方法包括:获取数据处理任务及数据源;根据所述数据处理任务生成作业队列;从所述作业队列中依次提取作业任务;根据提取到的作业任务分配计算资源;基于所述数据源,通过预先训练完成的模型得到数据处理任务结果。该方法中对于作业是依次处理的,效率仍不高。

5、中国专利文献cn112559147a 公开了一种基于gpu占用资源特点的动态匹配算法、系统和设备,通过获取训练模型任务,对接收到的训练模型任务进行任务分析,并得到任务优先级排序的任务队列以及每个时间周期内任务的资源占有份额,并基于每个时间周期内任务的资源占有份额,从gpu集群中分配gpu资源;从而根据得到的任务优先级排序的任务队列以及分配的gpu资源执行训练任务,并将训练后得到的模型进行存储。在深度学习建模任务中,平台用户将训练模型的任务提交给平台去调度任务以及分配资源,综合考虑资源量以及资源占用时间,增加了资源分配的维度,利用时间和空间这两个维度更加合理地规划资源调度,达到整体任务的平均执行效率的显著幅提升。其中提到基于gpu占用资源特点的动态匹配算法、系统和设备的方法,现有方法的步骤为:第一步,获取训练模型任务;第二步,对接收到的训练模型任务进行任务分析,并得到任务优先级排序的任务队列以及没个时间周期内任务的资源占用份额;第三步,基于每个时间周期内的资源占用份额,从gpu集群中分配gpu资源;第四步,根据得到的任务优先级排序的任务队列以及分配的gpu资源进行训练任务,并将训练后得到的模型进行存储。

6、因此,对于基于gpu占用资源特点的动态匹配算法的方法只是考虑gpu资源利用情况,若对于大样本参与训练时,还需要考虑样本存储空间,gpu利用率,内存占用情况等方面来综合对比分析;此外,这种算法可能相对复杂,需要详细的任务分析和资源分配过程。复杂性可能导致实施和维护的难度增加,尤其是对于不熟悉这一领域的人员,加上动态匹配算法可能需要更多的计算资源来运行,特别是在任务分析和资源分配阶段。这可能增加了整体资源占用,特别是在大规模gpu集群中。复杂的任务分析和资源分配过程可能会引入一定的延迟,导致任务的响应时间增加。这对于需要即时执行的任务可能不合适。因此,有必要提出一种基于多服务器训练任务资源优化的分配方法。


技术实现思路

1、本专利技术要解决的技术问题是,提供一种基于多服务器训练任务资源优化的分配方法,该方法提升了训练效率及系统稳定性。

2、为了解决上述技术问题,本专利技术采用的技术方案是:该基于多服务器训练任务资源优化的分配方法,具体包括以下步骤:

3、s1:获取多台服务器的硬件资源信息;

4、s2:创建算法任务,根据选择的样本集的文件大小及训练参数来指定或动态判断即将参与训练的服务器;

5、s3:开始同步远程存储的样本文件至本地训练服务器的指定目录,在多台训练服务器上部署训练程序,配置训练资源;即在多台训练服务器上部署python程序,提供一套配置文件且配置远程服务器ip、用户名和远程存储文件的地址,保存本地样本路径,以及硬件资源flask接口;

6、s4:监控同步样本文件进度,待同步完成之后,开始进行样本训练,并将训练结果保存至本地服务器。

7、采用上述技术方案,首先通过动态计算参与训练的服务器gpu资源情况,来优选分配训练任务,确保gpu资源被充足利用,其次再根据当前训练服务器的内存资源情况,来决定是否在当前服务器上进行训练,最后我们使用远程同步技术(如rsync,scp等),将参与训练的样本文件同步到当前服务器上;根据训练任务的需求,动态选择合适的服务器,考虑样本大小和可用的gpu资源;即根据实际需要动态选择服务器,根据可用资源来分配训练任务,最大程度地利用了硬件资源,提升了训练效率及系统稳定性。

8、优选地,所述步骤s1的具体步骤为:

9、s11:通过python语言来实现获取硬件信息;

10、s12:再使用nvidia官网提供的nvml库(创建nvmldevicegetcount()对象)获取gpu的数量,显存总大小和显存已使用大小信息。使用python编程获取多台服务器的硬件资源信息,包括内存大小、硬盘大小、cpu使用率、cpu核心数、gpu数量、显存总大小、显存已使用大小等。因获取服务器硬件信息,需要在每台服务器部署python程序,当获取到硬件资源信息时,可以将这些信息保存至指定的数据库中,另外提供一套flask接口的形式,通过查询所有或指定服务器ip的入参,来获取相应服务器硬件资源信息,这样可以避免对服务器产生过多资源占用。

11、优选地,所述步骤s2的具体步骤为:

12、s21:获取服务器gpu和硬盘信息以及任务信息;即在训练时,计算参与当前训练的样本集的样本文件大小,使用linux命令df或者将样本文件保存至数据库中,并记录每个样本文件的图片的大小,然后通过数据库的sum函数查询样本文件大小;

13、s22:判断是否有空闲的gpu资源的服务器;若有,则判断增量同步所需的硬盘空间,若存在满足存储本次训练任务的样本文件大小的硬盘空间和空闲的gpu资源的服务器本文档来自技高网...

【技术保护点】

1.一种基于多服务器训练任务资源优化的分配方法,其特征在于,具体包括以下步骤:

2.根据权利要求1所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S1的具体步骤为:

3.根据权利要求1所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S2的具体步骤为:

4.根据权利要求3所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S22的具体步骤为:

5.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S22中若无法同步进入排队即选择继续等待,则将本次训练任务记录到数据库中,并标识为排队中;并实时通过步骤S1中的flask接口检测服务器GPU资源和硬盘占用情况,若检测到有空闲的服务器GPU资源并且满足排队中的训练任务要求,则将任务状态更新为训练中,并转至步骤S23通过远程服务器同步最新的训练样本至指定的训练服务器。

6.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S23中还包括在同步样本文件时若中途取消,即当提交申请删除请求已完成的训练任务时,则进行统一处理或再执行选择其他训练服务器;若选择执行删除操作,则判断当前参与训练的样本文件是否有被其他训练任务使用中,若是已经在训练的任务则不能被删除;反之,则执行删除指定样本路径下的样本文件,删除后则释放预定的硬盘占用空间和服务器GPU资源占用资源记录。

7.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S23中为了删除样本文件的处理,在每台服务器中部署一套删除样本程序,使用定时任务python程序中scheduler机制,来定时处理需要删除的日志,遇到有删除失败情况,则记录日志。

8.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S3的具体步骤为:

9.根据权利要求8所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S32中在同步之前提前对SSH登陆方式进行配置,若还没有SSH密钥对则先生成一对SSH密钥,具体为:首先在服务器端生成认证密钥命令ssh-genkey,生成一个RSA类型的密钥对,包括一个私钥和一个公钥;默认情况下,它们会被存储在~/.ssh目录下;再将本地生成的公钥通过linux提供的ssh-copy-id命令复制到远程服务器,再尝试使用SSH命令连接到远程服务器,确认免密登录是否正常工作;或通过挂载的方式将远程目标目录映射至本地路径。

10.根据权利要求9所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤S4中监控同步样本文件的守护程序是通过python程序来监控的,引入python程序提供的执行新进程subprocess包、定时任务apscheduler包和读取配置文件yaml包;具体步骤为:

...

【技术特征摘要】

1.一种基于多服务器训练任务资源优化的分配方法,其特征在于,具体包括以下步骤:

2.根据权利要求1所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤s1的具体步骤为:

3.根据权利要求1所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤s2的具体步骤为:

4.根据权利要求3所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤s22的具体步骤为:

5.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤s22中若无法同步进入排队即选择继续等待,则将本次训练任务记录到数据库中,并标识为排队中;并实时通过步骤s1中的flask接口检测服务器gpu资源和硬盘占用情况,若检测到有空闲的服务器gpu资源并且满足排队中的训练任务要求,则将任务状态更新为训练中,并转至步骤s23通过远程服务器同步最新的训练样本至指定的训练服务器。

6.根据权利要求4所述的基于多服务器训练任务资源优化的分配方法,其特征在于,所述步骤s23中还包括在同步样本文件时若中途取消,即当提交申请删除请求已完成的训练任务时,则进行统一处理或再执行选择其他训练服务器;若选择执行删除操作,则判断当前参与训练的样本文件是否有被其他训练任务使用中,若是已经在训练的任务则不能被删除;反之,则执行删除指定样本路径下的样本文件,删除后则释放预定的硬盘占用空间和服务...

【专利技术属性】
技术研发人员:陈大龙李鹏博朱庆伟
申请(专利权)人:南京华苏科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1