System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及人工智能计算,特别是涉及一种检查点缓存控制方法、一种检查点缓存控制装置、一种电子设备以及一种计算机可读介质。
技术介绍
1、在ai计算领域,检查点(checkpoint,简称ckpt)技术被广泛应用于保存和恢复计算任务的中间状态,以应对长时间运行任务中的中断和故障。业界的一些针对ckpt的优化方案,分别考虑了对savecheckpoint和loadcheckpoint的加速,例如loadcheckpoint的加速较多使用基于fluid的分布式缓存集群,而savecheckpoint的加速环节较多采用了基于内存映射的异步落盘加速手段。
2、基于上述的技术现状,对于ckpt加速缓存的使用存在以下问题:
3、性能受限:保存环节和加载环节的对接点是存储,所以一次ckpt的保存和恢复最小时间是包含了存储落盘和读取的时间损耗,而存储落盘的时间开销较大;
4、缓存命中度不高:分布式缓存集群的局限性在于,缓存会离散的分布在不同的主机中,在加载checkpoint缓存时,有可能产生未命中的情况;
5、内存开销大:使用分布式缓存集群作为缓存池的情况,为了高可用和扩展性,使得架构笨重,缓存冗余,带来较多的内存开销。
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种检查点缓存控制方法和相应的一种检查点缓存控制装置、一种电子设备以及一种计算机可读介质。
2、本专利技术公开了一种检
3、当产生检查点请求时,加速服务接收对应的训练任务主控容器的当前检查点数据;
4、向宿主机申请与当前检查点数据的容量大小对应的内存空间;
5、通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及异步落盘当前检查点数据到存储中;所述加载队列持续维护一份最新的检查点数据;
6、异步落盘流程结束后,释放加载队列的一份最新的检查点数据以外的内存占用。
7、可选地,通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及异步落盘当前检查点数据到存储中的步骤,包括:
8、通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及以先入先出的方式异步落盘存储所述当前检查点数据。
9、可选地,所述方法还包括,包括:
10、若在异步落盘流程结束之前发生第二次检查点请求,则加速服务判断当前申请的内存空间大小和已申请的内存空间大小之和是否超过加速服务的预设最大内存;
11、若当前申请的内存空间大小和已申请的内存空间大小之和未超过加速服务的预设最大内存,则加速服务继续向宿主机申请内存空间;
12、若当前申请的内存空间大小和已申请的内存空间大小之和超过加速服务的预设最大内存,则拒绝检查点请求。
13、可选地,所述方法还包括:
14、当训练任务出现故障时,加速服务响应训练任务主控容器的调用和当前检查点数据获取请求,检查加载队列是否保存当前检查点数据;
15、若加载队列保存有当前检查点数据,则将加载队列保存的当前检查点数据发送给训练任务主控容器;
16、若加载队列未保存当前检查点数据,则通过加载队列从存储中查询当前检查点数据并加载至内存中缓存,以及将内存中缓存的当前检查点数据发送给训练任务主控容器。
17、可选地,训练任务主控容器对应的加速服务配置有备选加速服务,所述方法还包括:
18、在缓存当前检查点数据时,训练任务主控容器对应的加速服务将当前检查点数据同步至备选加速服务的加载队列中;
19、当训练任务主控容器所在的集群节点发生宕机时,集群管理系统将训练任务主控容器调度至备选加速服务所在的灾备节点并启动灾备节点上的训练任务主控容器;
20、备选加速服务将加载队列保存的当前检查点数据发送给灾备节点上的训练任务主控容器以供恢复训练任务的执行。
21、本专利技术还公开了一种检查点缓存控制装置,每个训练任务主控容器与对应的加速服务绑定,所述加速服务管控保存队列和加载队列,用于为对应的训练任务主控容器提供保存和加载检查点数据的缓存服务,所述加速服务配置有预设初始内存和预设最大内存,所述方法包括:
22、接收模块,用于当产生检查点请求时,加速服务接收对应的训练任务主控容器的当前检查点数据;
23、内存申请模块,用于向宿主机申请与当前检查点数据的容量大小对应的内存空间;
24、内存映射和异步落盘模块,用于通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及异步落盘当前检查点数据到存储中;所述加载队列持续维护一份最新的检查点数据;
25、内存释放模块,用于异步落盘流程结束后,释放加载队列的一份最新的检查点数据以外的内存占用。
26、可选地,所述内存映射和异步落盘模块,包括:
27、内存映射和异步落盘子模块,用于通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及以先入先出的方式异步落盘存储所述当前检查点数据。
28、可选地,所述装置还包括:
29、已使用内存判断模块,用于若在异步落盘流程结束之前发生第二次检查点请求,则加速服务判断当前申请的内存空间大小和已申请的内存空间大小之和是否超过加速服务的预设最大内存;
30、执行检查点请求模块,用于若当前申请的内存空间大小和已申请的内存空间大小之和未超过加速服务的预设最大内存,则加速服务继续向宿主机申请内存空间;
31、拒绝检查点请求模块,用于若当前申请的内存空间大小和已申请的内存空间大小之和超过加速服务的预设最大内存,则拒绝检查点请求。
32、可选地,所述装置还包括:
33、检查模块,用于当训练任务出现故障时,加速服务响应训练任务主控容器的调用和当前检查点数据获取请求,检查加载队列是否保存当前检查点数据;
34、加载队列加载模块,用于若加载队列保存有当前检查点数据,则将加载队列保存的当前检查点数据发送给训练任务主控容器;
35、存储加载模块,用于若加载队列未保存当前检查点数据,则通过加载队列从存储中查询当前检查点数据并加载至内存中缓存,以及将内存中缓存的当前检查点数据发送给训练任务主控容器。
36、可选地,训练任务主控容器对应的加速服务配置有备选加速服务,所述装置还包括:
37、同步模块,用于在缓存当前检查点数据时,训练任本文档来自技高网...
【技术保护点】
1.一种检查点缓存控制方法,其特征在于,每个训练任务主控容器与对应的加速服务绑定,所述加速服务管控保存队列和加载队列,用于为对应的训练任务主控容器提供保存和加载检查点数据的缓存服务,所述加速服务配置有预设初始内存和预设最大内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及异步落盘当前检查点数据到存储中的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,训练任务主控容器对应的加速服务配置有备选加速服务,所述方法还包括:
6.一种检查点缓存控制装置,其特征在于,每个训练任务主控容器与对应的加速服务绑定,所述加速服务管控保存队列和加载队列,用于为对应的训练任务主控容器提供保存和加载检查点数据的缓存服务,所述加速服务配置有预设初始内存和预设最大内存,所述方法包括:
7.根据权利要求6所述
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-5任一项所述的检查点缓存控制方法。
...【技术特征摘要】
1.一种检查点缓存控制方法,其特征在于,每个训练任务主控容器与对应的加速服务绑定,所述加速服务管控保存队列和加载队列,用于为对应的训练任务主控容器提供保存和加载检查点数据的缓存服务,所述加速服务配置有预设初始内存和预设最大内存,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,通过保存队列保存当前检查点数据到内存空间,并将内存空间最新的当前检查点数据映射至加载队列,以及异步落盘当前检查点数据到存储中的步骤,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,训练任务主控容器对应的加速服务配置有备选加速服务,所述方法还包括:
6....
【专利技术属性】
技术研发人员:刘忻,黄继承,林冬艺,
申请(专利权)人:广州市品高软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。