当前位置: 首页 > 专利查询>深圳大学专利>正文

缓存数据迁移方法及装置制造方法及图纸

技术编号:16819009 阅读:45 留言:0更新日期:2017-12-16 12:24
本发明专利技术实施例提供一种缓存数据迁移方法及装置,涉及计算机领域,该方法包括:当计算区的空闲空间不足以运行由Spark执行引擎调度的子任务时,计算抢占空间的大小,抢占空间的大小为子任务的运行空间的大小减去计算区的空闲空间的大小,统计存储区的空闲空间和有效空间的大小,并判断抢占空间的大小是否大于存储区的空闲空间的大小和存储区的有效空间的大小,当抢占空间的大小大于存储区的空闲空间的大小且不大于存储区的有效空间的大小时,将存储区的缓存数据迁移至二级缓存,迁移至二级缓存的缓存数据的大小为抢占空间的大小减去存储区的空闲空间的大小。该方法及装置避免了部分计算任务的重复操作,保护了Spark执行引擎的性能。

Cached data migration method and device

The embodiment of the invention provides a cache data migration method and device, relates to the field of computer, the method includes: when the lack of free space calculation area to run by the Spark execution engine scheduling sub task, seize the calculation of the size of the space occupying space is the size of the operation space of sub tasks minus the size of the calculation of free space the size of the free space statistics and effective storage space, and determine the effective space free space occupying space size is greater than the size of the storage area and storage area size, large effective space free space when the hour to seize the space size larger than the size of the storage area and storage area is not greater than the migration of the cache data storage area to the two level cache, cache data transfer to the two level cache size for size minus the storage area to occupy the space of the empty The size of the idle space. This method and device avoids the repeated operation of part of the computing task and protects the performance of the Spark execution engine.

【技术实现步骤摘要】
缓存数据迁移方法及装置
本专利技术涉及计算机领域,尤其涉及一种缓存数据迁移方法及装置。
技术介绍
目前,Spark是一种分布式计算系统,作为一种通用、快速的大规模数据处理引擎,其被广泛应用于大数据处理领域。Spark通过缓存中间计算结果,读取缓存的迭代数据,能够有效地避免大量的重复计算,提升大数据计算效率。随着数据集规模的不断扩大,大数据应用对内存产生了强烈的依赖,更为严重的是,由于计算任务的持续复杂化,致使计算区内存的溢出故障频繁发生。针对此问题,Spark执行引擎提供并设计了一种统一内存管理模型。如图1所示,在现有的统一内存管理模型中,“计算区”空间用于存储任务执行过程中生成的对象等数据,“存储区”则作为Spark任务的中间数据缓存空间和序列化数据的临时空间。当计算任务无法申请到足够的计算区空间时,Spark执行引擎就会强行迁移或踢除存储区内的缓存数据,以抢占存储区的空间,以缓解Spark执行引擎执行任务过程中计算区空间不足的压力。然而,在这种统一内存管理模型中,当缓存的中间数据被剔除时,若需再次使用该数据则必须重新执行相应的计算任务,从而引发部分计算任务重复操作,损害Spark本文档来自技高网...
缓存数据迁移方法及装置

【技术保护点】
一种缓存数据迁移方法,其特征在于,所述方法包括:当计算区的空闲空间不足以运行由Spark执行引擎调度的子任务时,计算抢占空间的大小,其中,所述抢占空间的大小为所述子任务的运行空间的大小减去所述计算区的空闲空间的大小;统计存储区的空闲空间和有效空间的大小,并判断所述抢占空间的大小是否大于所述存储区的空闲空间的大小和所述存储区的有效空间的大小;当所述抢占空间的大小大于所述存储区的空闲空间的大小且不大于所述存储区的有效空间的大小时,将所述存储区的缓存数据迁移至二级缓存,其中,迁移至所述二级缓存的缓存数据的大小为所述抢占空间的大小减去所述存储区的空闲空间的大小。

【技术特征摘要】
1.一种缓存数据迁移方法,其特征在于,所述方法包括:当计算区的空闲空间不足以运行由Spark执行引擎调度的子任务时,计算抢占空间的大小,其中,所述抢占空间的大小为所述子任务的运行空间的大小减去所述计算区的空闲空间的大小;统计存储区的空闲空间和有效空间的大小,并判断所述抢占空间的大小是否大于所述存储区的空闲空间的大小和所述存储区的有效空间的大小;当所述抢占空间的大小大于所述存储区的空闲空间的大小且不大于所述存储区的有效空间的大小时,将所述存储区的缓存数据迁移至二级缓存,其中,迁移至所述二级缓存的缓存数据的大小为所述抢占空间的大小减去所述存储区的空闲空间的大小。2.根据权利要求1所述的方法,其特征在于,所述当计算区的空闲空间不足以运行由Spark执行引擎调度的子任务时,计算抢占空间的大小之前,还包括:当Spark执行引擎进行子任务的调度时,统计所述子任务的运行空间的大小和所述计算区的空闲空间的大小;判断所述运行空间的大小是否大于所述计算区的空闲空间的大小;则,所述当计算区的空闲空间不足以运行由Spark执行引擎调度的子任务时,计算抢占空间的大小包括:当所述运行空间的大小大于所述计算区的空闲空间的大小时,通知所述Spark执行引擎;根据所述Spark执行引擎触发的抢占指令,计算所述抢占空间的大小。3.根据权利要求2所述的方法,其特征在于,所述判断所述抢占空间的大小是否大于所述存储区的空闲空间的大小和所述存储区的有效空间的大小之后,还包括:若所述抢占空间的大小大于所述存储区的有效空间的大小,则挂起子任务,并向所述Spark执行引擎反馈抢占指令执行失败的信号;若所述抢占空间的大小不大于所述存储区的有效空间的大小,则判断所述抢占空间的大小是否大于所述存储区的空闲空间的大小;若所述抢占空间的大小不大于所述存储区的空闲空间的大小,则抢占所述存储区的空闲空间用于执行所述子任务;若所述抢占空间的大小大于所述存储区的空闲空间的大小,则将所述存储区的缓存数据迁移至所述二级缓存,抢占所述存储区的空闲空间用于执行所述子任务;在抢占所述存储区的空闲空间后,向所述Spark执行引擎反馈所述抢占指令执行成功的信号。4.根据权利要求1或2所述的方法,其特征在于,所述将所述存储区的缓存数据迁移至二级缓存包括:计算需要迁移的缓存数据的大小,并根据最近最久未使用原则对所述存储区的缓存数据进行排序,其中需要迁移的缓存数据大小为所述抢占空间的大小减去所述存储区的空闲空间的大小;通过读取配置文件获取二级缓存的地址;根据所述二级缓存的地址以及排序结果,将所述存储区的缓存数据依次向所述二级缓存迁移,直至迁移至所述二级缓存的缓存数据的大小等于所述需要迁移的缓存数据的大小。5.根据权利要求4所述的方法,其特征在于,所述将所述存储区的缓存数据迁移至二级缓存之后,还包括:执行所述子任务;向所述Spark执行引擎反馈所述抢占指令执行成功的信号。6.根据权利要求3所述的方法,其特征在于,所述二级缓存为固态硬盘SSD,所述方法还包括:在所述Spark执行引擎的StorageLevel类中增设存储级别SSD_ONLY,作为预设级别;所述将所述存储区的缓存数据迁移至所述二级缓存之后,还包括:修改所述Spark执行引擎中迁移至所述二级缓存的缓存数据的存储级别为所述预设级别,所述预...

【专利技术属性】
技术研发人员:毛睿陆敏华陆克中朱金彬隋秀峰
申请(专利权)人:深圳大学
类型:发明
国别省市:广东,44

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

1