[發明專利]內存計算的緩存優化方法有效
| 申請號: | 201310531246.7 | 申請日: | 2013-11-01 |
| 公開(公告)號: | CN103631730A | 公開(公告)日: | 2014-03-12 |
| 發明(設計)人: | 陳康;艾智遠;馮琳;周佳祥 | 申請(專利權)人: | 深圳清華大學研究院 |
| 主分類號: | G06F12/12 | 分類號: | G06F12/12 |
| 代理公司: | 深圳市鼎言知識產權代理有限公司 44311 | 代理人: | 孔麗霞 |
| 地址: | 518057 廣東省深圳市南山區高*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 計算 緩存 優化 方法 | ||
1.一種內存計算的緩存優化方法,其特征在于,該方法包括:
構造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是直接丟棄還是存儲至磁盤。
2.如權利要求1所述的內存計算的緩存優化方法,其特征在于,在所述構造DAG步驟中,將輸入RDD?ID和輸出RDD?ID作為頂點,輸入RDD和輸出RDD進行的函數操作的操作類型為邊,構造DAG。
3.如權利要求1所述的內存計算的緩存優化方法,其特征在于,在所述Action執行順序調整步驟中,是根據貪心算法調整集合S中所有RDD的Action執行順序,包括以下步驟:
a)查找所述RDD集合S中的所有RDD的Action,合并有依賴關系的Action為一個新Action,合并后的多個新Action與無依賴關系的Action共同形成一個Action集合A;
b)創建空集合R和空序列S’;
c)從Action集合A中任意選取一個Action?Ai,將Ai加入序列S’的末尾,將Ai對應的RDD加入到集合R;
d)迭代執行步驟c,直至集合A中的元素為空,則序列S’即為調整的Action執行順序,其中,迭代執行從集合A中選取Action?Ai時,選取的依據是所選取的Ai對應的RDD與集合R的交集最大。
4.如權利要求1所述的內存計算的緩存優化方法,其特征在于,在所述權重計算步驟中,RDD權重的計算公式為:
其中,IS(P(RDDi))為RDDi的父RDD的大小、CC(RDDi)為RDDi的計算代價、UT(RDDi)為RDDi的使用次數、OS(RDDi)為RDDi的大小、LC(RDDi)為RDDi的生命周期,RDDi的計算代價包括RDD操作和閉包操作的復雜程度,RDDi的使用次數為DAG中該RDDi頂點的出度,RDDi的生命周期為RDDi創建至銷毀過程中Action的個數,f為用于歸一化的校正參數。
5.如權利要求4所述的內存計算的緩存優化方法,其特征在于,所述RDD的大小根據動態采樣法進行計算:
采樣:取作業數據中的一定大小的數據作為樣本數據;
計算對象大小:將樣本數據作為輸入,執行應用程序,計算執行過程中的對象大小,所述對象包括各類型變量;
匯總:匯總RDD的所有對象的大小即為RDD的大小。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳清華大學研究院,未經深圳清華大學研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310531246.7/1.html,轉載請聲明來源鉆瓜專利網。





