一种针对迭代应用的Spark平台资源动态分配方法及系统技术方案

技术编号:16455800 阅读:76 留言:0更新日期:2017-10-25 19:54
本发明专利技术公开了一种针对迭代应用的Spark平台资源动态分配方法及系统,包括:根据Spark集群的硬件信息为Spark集群的任务执行单元分配第一资源以用于任务执行单元执行迭代应用;确定每个监控周期下每个计算节点在执行所述迭代应用时的软件信息;根据每个计算节点在第m个监控周期下和第m+1个监控周期下执行迭代应用时的软件信息确定所述迭代应用对所述第一资源的使用量达到收敛;根据第1至第m+1个监控周期下每个计算节点在执行所述迭代应用时的软件信息为Spark集群的任务执行单元分配第二资源,以用于任务执行单元重新执行所述迭代应用。本发明专利技术在保证迭代应用正常而高效运行的同时,可以自动释放其占用的冗余系统资源,提高系统的整体资源利用率与应用的并发度。

【技术实现步骤摘要】
一种针对迭代应用的Spark平台资源动态分配方法及系统
本专利技术属于大数据
,更具体地,涉及一种针对迭代应用的Spark平台资源动态分配方法及系统。
技术介绍
随着“互联网+”时代的来临,大数据日趋成为现今各行各业的热门话题。如何对海量的数据进行计算处理,使其价值最大化,是人类面临一个非常重大的挑战。AMP实验室提出了一种分布式内存抽象,称为弹性分布式数据集(RDD,ResilientDistributedDatasets),RDD允许用户显式地把工作集缓存在内存中,因此在未来重用时能够极大地提升速度。AMP实验室在Spark系统中实现了RDD,并使用Spark来开发各种并行应用。Spark有诸多优异的特性:Spark最大的优点是能够将中间结果保存在内存中,计算速度比HadoopMapReduce快100倍以上;Spark便于使用,如用户能够用Java、Scala、Python和R语言快速地编写应用程序;Spark具有通用性,能够在其上运行SQL查询、流计算以及机器学习和图计算等复杂的计算分析,同时Spark能够以多种模式运行,并能够从HDFS、Cassandra、HBase本文档来自技高网...
一种针对迭代应用的Spark平台资源动态分配方法及系统

【技术保护点】
一种针对迭代应用的Spark平台资源动态分配方法,其特征在于,包括:根据Spark集群的硬件信息为Spark集群的任务执行单元分配第一资源以用于任务执行单元执行迭代应用,所述Spark集群包括至少一个计算节点,每个计算节点上启动至少一个任务执行单元,所述硬件信息包括每个计算节点的内存总量、可用内存量以及CPU核数,所述第一资源包括的内存量和CPU核数分别小于或等于每个计算节点的可用内存量和CPU核数;确定每个监控周期下每个计算节点在执行所述迭代应用时的软件信息,所述软件信息包括所述迭代应用对所述第一资源的内存使用量和CPU利用率;根据每个计算节点在第m个监控周期下和第m+1个监控周期下执行所述...

【技术特征摘要】
1.一种针对迭代应用的Spark平台资源动态分配方法,其特征在于,包括:根据Spark集群的硬件信息为Spark集群的任务执行单元分配第一资源以用于任务执行单元执行迭代应用,所述Spark集群包括至少一个计算节点,每个计算节点上启动至少一个任务执行单元,所述硬件信息包括每个计算节点的内存总量、可用内存量以及CPU核数,所述第一资源包括的内存量和CPU核数分别小于或等于每个计算节点的可用内存量和CPU核数;确定每个监控周期下每个计算节点在执行所述迭代应用时的软件信息,所述软件信息包括所述迭代应用对所述第一资源的内存使用量和CPU利用率;根据每个计算节点在第m个监控周期下和第m+1个监控周期下执行所述迭代应用时的软件信息确定所述迭代应用对所述第一资源的使用量达到收敛,m为正整数;根据第1至第m+1个监控周期下每个计算节点在执行所述迭代应用时的软件信息为Spark集群的任务执行单元分配第二资源,以用于所述任务执行单元重新执行所述迭代应用,所述第二资源包括的内存量和CPU核数分别小于或等于第一资源包括的内存量和CPU核数。2.根据权利要求1所述的Spark平台资源动态分配方法,其特征在于,根据每个计算节点在第m个监控周期下和第m+1个监控周期下执行所述迭代应用时的软件信息确定所述迭代应用对所述第一资源的使用量达到收敛,包括:若每个计算节点从第m个监控周期到第m+1个监控周期执行所述迭代应用时对所述第一资源所包括内存的使用量趋于稳定,则所述迭代应用对所述第一资源的使用量达到收敛。3.根据权利要求2所述的Spark平台资源动态分配方法,其特征在于,每个计算节点从第m个监控周期到第m+1监控周期执行所述迭代应用时对所述第一资源的内存使用量趋于稳定,包括:若每个计算节点从第m个监控周期到第m+1个监控周期执行所述迭代应用时内存使用量变化率满足如下公式,则每个计算节点对所述第一资源的内存使用量趋于稳定:δi<α其中,δi表示计算节点i从第m到第m+1个监控周期下执行所述迭代应用时的内存使用量变化率,i表示计算节点的编号,α表示预设变化率阈值;δi通过以下公式确定:δi=(MEMi(m+1)-MEMim)/MEMim其中,MEMim和MEMi(m+1)分别表示计算节点i在第m个监控周期下和第m+1个监控周期下执行所述迭代应用时的内存使用量。4.根据权利要求2所述的Spark平台资源动态分配方法,其特征在于,根据第1至第m+1个监控周期下每个计算节点在执行所述迭代应用时的软件信息为Spark集群的任务执行单元分配第二资源,通过以下公式确定:其中,MEMsug表示第二资源包括的内存量,CPUsug表示第二资源包括的CPU核数,β1和β2分别为内存量和CPU核数的资源需求浮动因子,MEMmax表示第m+1个监控周期下所有计算节点在执行所述迭代应用时内存使用量中的最大值,CPUmax表示从第1个监控周期到第m+1个监控周期中所有计算节点在执行所述迭代应用时CPU利用率中的最大值,CPU_Core_NUM表示每个计算节点的CPU核数。5.根据权利要求3所述的Spark平台资源动态分配方法,其特征在于,MEMim和MEMi(m+1)分别通过以下公式确定:MEMim=(MEM_USED′im-MEM_USEDi)MEMi(m+1)=(MEM_USED′i(m+1)-MEM_USE...

【专利技术属性】
技术研发人员:王芳冯丹李源
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

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

1