一种缓存管理方法与装置制造方法及图纸

技术编号:22658706 阅读:36 留言:0更新日期:2019-11-28 03:20
本发明专利技术公开了一种缓存管理方法与装置包括:根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略;响应于本地计算节点接收到训练任务而根据缓存记录文件确定训练任务所需的数据集是否存储于任一计算节点;响应于本地计算节点满足缓存策略要求,而下载训练任务所需的数据集;响应于本地计算节点不满足缓存策略要求,而基于缓存记录文件删除现有缓存数据并重新确定本地计算节点是否满足缓存策略要求。本发明专利技术能够管理不同训练数据的缓存,根据实际场景需要来选择性地下载和删除,节省训练数据的下载时间并保证计算节点磁盘存储的可用性。

A cache management method and device

The invention discloses a cache management method and device, which comprises: generating a cache record file according to the existing cache data of the data sets of all calculation nodes and determining the cache strategy of each calculation node; determining whether the data set required for the training task is stored in any calculation node according to the cache record file in response to the training task received by the local calculation node; responding to the local calculation The computing node meets the cache policy requirements, but downloads the data set required by the training task; in response to the local computing node does not meet the cache policy requirements, the existing cache data is deleted based on the cache record file and the local computing node is re determined to meet the cache policy requirements. The invention can manage the cache of different training data, selectively download and delete according to the needs of the actual scene, save the download time of the training data and ensure the availability of the disk storage of the calculation node.

【技术实现步骤摘要】
一种缓存管理方法与装置
本专利技术涉及计算机领域,更具体地,特别是指一种缓存管理方法与装置。
技术介绍
在深度学习模型训练的过程中,训练数据集越大,数据样本越多,越容易避免训练模型的过拟合问题。但同时,大规模的数据集也为集群管理带来了挑战,例如一个视频处理的采集数据可达几十G甚至上百G,而作为多用户共享的深度学习集群,不同的用户可能使用相同的数据集进行模型训练,或者单用户也会使用不同的数据集进行训练。由于计算节点的存储空间有限,这些训练数据不可能同时存放在每个计算节点供用户使用,这样也会造成存储空间的浪费,如何存放和使用这些训练数据也就成为了深度学习集群平台需要解决的问题。对此现有技术存在两种解决方式。一个是通过共享存储的方式将训练数据存放在存储节点,然后通过共享挂载的方式将数据挂载到计算节点,计算节点读取共享数据进行训练;另一个是通过云存储的方式将训练数据存放在云端,在训练时首先将数据下载到计算节点本地,训练完成后再将数据删除。然而,通过共享存储的方式访问数据存在读写瓶颈,一些企业集群由于技术或者成本原因也不会搭建维护高性能的共享文件系统;另一方面,训练前下载训练后删除的方式会耗费一大部分时间在数据下载上,如果训练后不删除则可能由于磁盘存储空间用满导致其他问题。针对现有技术中难以处理训练数据缓存的问题,目前尚未有有效的解决方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种缓存管理方法与装置,能够管理不同训练数据的缓存,根据实际场景需要来选择性地下载和删除,节省训练数据的下载时间并保证计算节点磁盘存储的可用性。基于上述目的,本专利技术实施例的第一方面提供了一种缓存管理方法,应用于计算节点,包括:根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略,其中缓存记录文件包括现有缓存数据中所有数据集的标识和所在计算节点;响应于本地计算节点接收到训练任务而根据缓存记录文件确定训练任务所需的数据集是否存储于任一计算节点;响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点满足缓存策略要求,而下载训练任务所需的数据集;响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点不满足缓存策略要求,而基于缓存记录文件删除现有缓存数据并重新确定本地计算节点是否满足缓存策略要求。在一些实施方式中,确定各计算节点的缓存策略包括:确定各计算节点存储的数据集的现有缓存数据的最大数量;和/或确定各计算节点存储的数据集的现有缓存数据占本地计算节点的存储空间的最大百分比。在一些实施方式中,响应于接收到训练任务而根据缓存记录文件确定训练任务所需的数据集是否存储于任一计算节点包括:根据训练任务确定训练任务所需的数据集的标识;在缓存记录文件中查找标识,根据缓存记录文件中是否存在标识来确定训练任务所需的数据集是否存储于任一计算节点。在一些实施方式中,还包括:响应于训练任务所需的数据集存储于本地计算节点,而修改缓存记录文件并启动任务;响应于训练任务所需的数据集存储于任一非本地计算节点,而修改缓存记录文件并访问非本地计算节点获取训练任务所需的数据集以启动任务。在一些实施方式中,缓存记录文件还包括现有缓存数据中所有数据集的最后调用的训练任务、当前调用数量;修改缓存记录文件包括:将训练任务所需的数据集的最后调用的训练任务修改为训练任务;将训练任务所需的数据集的当前调用数量加一。在一些实施方式中,还包括:响应于完成训练任务,而将训练任务所需的数据集的当前调用数量减一。在一些实施方式中,缓存记录文件还包括现有缓存数据中所有数据集的锁定状态;基于缓存记录文件删除现有缓存数据包括:查找缓存记录文件,确定锁定状态为未锁定且当前调用数量为零的空闲数据集;持续删除空闲数据集的现有缓存数据直到空闲数据集不存在、或本地计算节点满足缓存策略要求为止。在一些实施方式中,还包括:在删除空闲数据集的同时,还相应地在缓存记录文件中删除空闲数据集的标识、所在计算节点、最后调用的训练任务、锁定状态、当前调用数量。本专利技术实施例的第二方面提供了一种缓存管理装置,包括:初始化模块,用于根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略,其中缓存记录文件包括现有缓存数据中所有数据集的标识、所在计算节点、最后调用的训练任务、锁定状态、当前调用数量;缓存检查模块,用于响应于本地计算节点接收到训练任务而根据缓存记录文件确定训练任务所需的数据集是否存储于任一计算节点;缓存下载模块,用于响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点满足缓存策略要求,而下载训练任务所需的数据集;缓存删除模块,用于响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点不满足缓存策略要求,而基于缓存记录文件删除现有缓存数据并重新确定本地计算节点是否满足缓存策略要求。本专利技术实施例的第三方面提供了一种计算节点,包括:处理器;和存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行上述的缓存管理方法。本专利技术具有以下有益技术效果:本专利技术实施例提供的缓存管理方法与装置,通过根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略,其中缓存记录文件包括现有缓存数据中所有数据集的标识和所在计算节点;响应于本地计算节点接收到训练任务而根据缓存记录文件确定训练任务所需的数据集是否存储于任一计算节点;响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点满足缓存策略要求,而下载训练任务所需的数据集;响应于训练任务所需的数据集未存储于任一计算节点、并且本地计算节点不满足缓存策略要求,而基于缓存记录文件删除现有缓存数据并重新确定本地计算节点是否满足缓存策略要求的技术方案,能够管理不同训练数据的缓存,根据实际场景需要来选择性地下载和删除,节省训练数据的下载时间并保证计算节点磁盘存储的可用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的缓存管理方法的流程示意图;图2为本专利技术提供的缓存管理方法的模块-步骤混合流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术本文档来自技高网...

【技术保护点】
1.一种缓存管理方法,其特征在于,应用于计算节点,包括以下步骤:/n根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略,其中所述缓存记录文件包括现有缓存数据中所有数据集的标识和所在计算节点;/n响应于本地计算节点接收到训练任务而根据所述缓存记录文件确定所述训练任务所需的数据集是否存储于任一计算节点;/n响应于所述训练任务所需的数据集未存储于任一计算节点、并且本地计算节点满足所述缓存策略要求,而下载所述训练任务所需的数据集;/n响应于所述训练任务所需的数据集未存储于任一计算节点、并且本地计算节点不满足所述缓存策略要求,而基于所述缓存记录文件删除所述现有缓存数据并重新确定本地计算节点是否满足所述缓存策略要求。/n

【技术特征摘要】
1.一种缓存管理方法,其特征在于,应用于计算节点,包括以下步骤:
根据所有计算节点的数据集的现有缓存数据生成缓存记录文件并确定各计算节点的缓存策略,其中所述缓存记录文件包括现有缓存数据中所有数据集的标识和所在计算节点;
响应于本地计算节点接收到训练任务而根据所述缓存记录文件确定所述训练任务所需的数据集是否存储于任一计算节点;
响应于所述训练任务所需的数据集未存储于任一计算节点、并且本地计算节点满足所述缓存策略要求,而下载所述训练任务所需的数据集;
响应于所述训练任务所需的数据集未存储于任一计算节点、并且本地计算节点不满足所述缓存策略要求,而基于所述缓存记录文件删除所述现有缓存数据并重新确定本地计算节点是否满足所述缓存策略要求。


2.根据权利要求1所述的方法,其特征在于,确定各计算节点的所述缓存策略包括:
确定各计算节点存储的数据集的所述现有缓存数据的最大数量;和/或
确定各计算节点存储的数据集的所述现有缓存数据占本地计算节点的存储空间的最大百分比。


3.根据权利要求1所述的方法,其特征在于,响应于接收到所述训练任务而根据所述缓存记录文件确定所述训练任务所需的数据集是否存储于任一计算节点包括:
根据所述训练任务确定所述训练任务所需的数据集的标识;
根据所述缓存记录文件中是否存在所述标识来确定所述训练任务所需的数据集是否存储于任一计算节点。


4.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述训练任务所需的数据集存储于本地计算节点,而修改所述缓存记录文件并启动所述任务;
响应于所述训练任务所需的数据集存储于任一非本地计算节点,而修改所述缓存记录文件并访问所述非本地计算节点获取所述训练任务所需的数据集以启动所述任务。


5.根据权利要求4所述的方法,其特征在于,所述缓存记录文件还包括现有缓存数据中所有数据集的最后调用的训练任务、当前调用数量;
修改所述缓存记录文件包括:
将所述...

【专利技术属性】
技术研发人员:胡叶
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1