发明名称 内存计算的缓存优化方法
摘要 发明提供一种内存计算的缓存优化方法,该方法包括:在Spark源程序中插入监听代码,对应用程序进行动态语义分析以构造DAG图;计算DAG中各顶点出度并筛选出出度大于1的顶点对应的RDD,筛选出的RDD为需要缓存至内存的RDD;根据贪心算法调整Action的执行顺序以优化RDD数据计算的访问顺序;计算RDD的权重,根据内存替换算法决定内存中被替换出的RDD;及根据多级缓存算法决定如何处理被替换出的RDD。应用本发明所述内存计算的缓存优化方法,无需程序员在编程时考量内存使用以及显示指定加载内存的RDD,降低程序员的编程负担,同时提高了内存的利用率进而提升大数据处理的速度。
申请公布号 CN103631730A 申请公布日期 2014.03.12
申请号 CN201310531246.7 申请日期 2013.11.01
申请人 深圳清华大学研究院 发明人 陈康;艾智远;冯琳;周佳祥
分类号 G06F12/12(2006.01)I 主分类号 G06F12/12(2006.01)I
代理机构 深圳市鼎言知识产权代理有限公司 44311 代理人 孔丽霞
主权项 一种内存计算的缓存优化方法,其特征在于,该方法包括:构造DAG步骤:在Spark的源程序代码中插入监听代码,以样本数据作为输入预先执行应用程序,对应用程序进行动态语义分析,获取所有RDD函数操作的输入RDD ID、操作类型、输出RDD ID,根据获取的信息构造DAG;筛选RDD步骤:遍历上述DAG,计算各顶点的出度,筛选出出度大于1的顶点对应的RDD并建立RDD集合S,该集合S中的RDD为需要缓存至内存中的RDD;Action执行顺序调整步骤:调整上述RDD集合S中所有RDD的Action执行顺序,以优化需要缓存至内存的RDD数据计算的访问顺序;RDD权重计算步骤:计算所述RDD集合S中所有RDD的权重;RDD替换步骤:当输入真正的作业数据执行应用程序时,根据优化的RDD数据计算的访问顺序,依次将RDD缓存至内存,若内存已满,根据内存替换算法决定从内存中被替换出的RDD;RDD处理步骤:根据多级缓存算法确定被替换出的RDD是直接丢弃还是存储至磁盘。
地址 518057 广东省深圳市南山区高新技术产业园南区深圳清华大学研究院大楼A302室