欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2022108431607
申请人: 河南大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种应用于Spark计算平台中的降低内存争用的方法,其特征在于,包括:步骤1:计算内存中所有持久化RDD的价值,并按照价值高低对所有RDD进行排序形成优先队列;

步骤2:若监控内存状态获知内存达到瓶颈,则执行步骤3;

步骤3:循环释放所述优先队列中价值较低的RDD;

步骤4:在进行当前循环释放操作后,若判断获知存在空闲的处理器核,则继续执行步骤3,反之则执行步骤5;

步骤5:计算将当前需要持久化的RDD分别持久化至内存中时的内存持久化加速效用和持久化至硬盘中时的硬盘持久化加速效用;

步骤5具体包括:

步骤5.1:将目标RDD计算路径中的中间RDD记作rj,按照公式(1)计算rj的持久化加速收益Gain(rj):Gain(rj) = (fnj‑1)×[time(RDDps=false) ‑ time(RDDps=true)]  (1)其中,fnj表示rj的引用频率,time(RDDps=false)表示rj处于非持久化状态时的计算时间代价,time(RDDps=true)表示rj处于持久化状态时的计算时间代价;

步骤5.2:按照公式(2)计算rj的内存争用损失I(rj,setτ):其中,setτ表示内存上与rj相同大小的RDD分区集合,设定setτ中的RDD的引用频率分别为{fac1,fac2,…,facτ};OldHeapSize表示堆栈大小;q表示垃圾回收系数;

步骤5.3:按照公式(3)计算将rj持久化至内存中时的内存利用率u(sizej):其中,sizej表示rj的大小,usage_memo表示内存已占用空间大小,max_memo表示内存总空间大小;

步骤5.4:按照公式(4)计算将rj持久化至内存中时的内存争用发生概率P{X=contention|u(sizej)}:P{ X=contention |u(sizej)} =sigmoid(u(sizej))             (4)mem步骤5.5:按照公式(5)计算将rj持久化至内存中时的内存持久化加速效用U :mem

U =Gain(rj)‑P{X=contention|u(sizej)}×I(rj,setτ)(5)disk

步骤5.6:按照公式(6)计算rj持久化至硬盘中时的硬盘持久化加速效用U :其中,vdisk表示硬盘传输速度;

步骤6:基于内存持久化加速效用和硬盘持久化加速效用,采用贪心算法求解当前程序中所有需要缓存的RDD的存储位置;

步骤6具体包括:

步骤6.1:针对当前程序中所有需要缓存的RDD,逐一执行步骤6.2,直至处理完所有的RDD;

步骤6.2:针对第 个需要缓存的RDD,按照公式(7)计算前 个已缓存的RDD的缓存加速效用 并定义公式(8)所示的子问题,根据贪心算法求取所述子问题的最优解,所述最优解对应的存储位置即为当前需要缓存的RDD的存储位置:其中,λ表示前 个已缓存的RDD中缓存至内存中的RDD数量; 表示将第i个RDD持久化至内存时的内存持久化加速效用, 表示将第j个RDD持久化至硬盘时的硬盘持久化加速效用; 表示将第 个RDD缓存在内存中时,前 个RDD的缓存加速效用;

表示表示将 个RDD缓存在硬盘中时,前 个RDD的缓存加速效用;当第个RDD的缓存未起到加速效用时,则不进行持久化,并将前 个RDD的缓存加速效用仍记为

2.根据权利要求1所述的一种应用于Spark计算平台中的降低内存争用的方法,其特征在于,步骤1中具体包括:步骤1.1:通过预执行分析DAG执行逻辑,获取每个持久化RDD的引用频率;

步骤1.2:利用定时器获取每个持久化RDD处于非持久化状态时的计算时间代价;

步骤1.3:每个持久化RDD的引用频率和计算时间代价的乘积即为每个持久化RDD的价值。

3.根据权利要求1所述的一种应用于Spark计算平台中的降低内存争用的方法,其特征在于,步骤2中,若存在空闲的CPU核并且在将当前需要持久化的RDD持久化至内存中时发生溢写时,则认为内存达到瓶颈。

4.根据权利要求1所述的一种应用于Spark计算平台中的降低内存争用的方法,其特征在于,还包括:使用Web API接口监控内存占用空间大小、RDD的大小和RDD的持久化溢写状态。