本發明專利技術提出一種基于帶寬自適應代碼遷移的移動設備節能方法,通過對移動應用程序進行靜態和動態分析,構造出一種加權對象關系圖,從而將程序分割問題轉化為對象關系圖分割問題;將移動環境中變化的帶寬看作一個變量,提出基于運行時間和能量最優的目標模型;針對程序分割優化模型提出帶寬自適應的分支定界程序分割法(BBAP)和基于最小割的貪心程序分割法(MCGAP);最后基于所得到的分割方案實現移動應用程序在移動設備和服務器間的代碼遷移和分布式執行。本發明專利技術方法能夠有效縮短移動應用程序的運行時間,降低移動設備的電能消耗,并對帶寬變化具有良好的適應性。
【技術實現步驟摘要】
本專利技術屬于移動計算領域,具體涉及。
技術介紹
移動設備因其輕巧便攜、使用方便等優點,逐漸成為用戶量最大的計算平臺。隨著移動用戶的需求不斷增長,移動設備的性能不斷提升,電池容量已經成為移動設備進一步發展的瓶頸問題。近年來,基于程序分割的代碼遷移技術逐漸應用于移動計算領域,成為緩解移動設備資源有限問題的一種有效方法。根據程序分割方案將應用程序的一部分代碼遷移到服務器端運行,可以縮短應用程序的運行時間,降低移動設備的能量消耗。面向對象應用程序的復雜性和多樣性為實現程序分割帶來了挑戰。國內外學者在這一領域進行了較為廣泛的研究并提出了相應的方案。Eduardo等人提出的ΜΑΠ系統是基于微軟通用語言運行庫CLR的代碼遷移系統,需要程序員事先對程序源代碼中可在遠端服務器執行的對象添加“Remotable”標識;Roelof等人提出的Cuckoo系統通過擴展Android編譯系統,為程序員提供了一種便捷的編程模型,可以輔助程序員完成一部分工作(例如遠程方法調用的實現),但仍需程序員手動實現;Shumao等人則是借助中間件實現移動設備上的程序分割和遷移。這些方案依賴于程序員或中間件工具,限制了其應用領域。于是Sinha等研究者進一步提出了自動程序分割方案,這種方法無需借助額外工具,不依賴于程序員,可以透明地實現程序自動分割,適用于移動平臺。近年來,面向對象程序的自動分割方案大都通過對程序進行純靜態分析或純動態分析構造程序對象關系圖,并基于對象關系圖(Object Relation Graph, 0RG)實現程序分割。Spiegel等人和Dahm提出的Doorastha系統均采用純靜態程序分析方法構造對象關系圖,不能夠準確反映程序的運行態信息,因而無法獲取最優的程序分割結果。而Messer等人和Bialek等人則采用純動態程序分析方法構造對象關系圖,相比純靜態分析,純動態程序分析能夠獲取更為精確的程序運行時信息,但得到的對象關系圖龐大復雜,導致程序分割開銷過大,不適用于資源有限的移動平臺。Wang Lei等人通過構造兩層對象關系圖,提出了適用于不同目標模型的程序分割方案和基于Java的分布式系統框架,但并未對程序分割方法進行具體研究,沒有考慮移動環境中帶寬的變化。程序分割的關鍵是如何選擇程序的最優分割方案,盡可能實現移動設備能耗最小和數據傳輸開銷最小。由于數據傳輸開銷與網絡帶寬直接相關,不同的帶寬會對應不同的最優分割方案。以往的程序分割通常假設帶寬固定不變,如Diaconescu等人即根據靜態帶寬計算網絡傳輸開銷以決策程序分割,并未考慮網絡環境因素(如帶寬)的變化。由于移動網絡環境中帶寬變化頻繁,傳統的靜態程序分割技術通常會保守地根據較低帶寬決策分割方案。然而這種分割方案在帶寬較高情況下無法充分利用帶寬資源,造成網絡資源浪費。Byung-Gon等人通過分析移動設備和網絡環境的異構和動態變化特性,提出了動態程序分害IJ,但頻繁的程序分割任務勢必為移動設備帶來較大的額外開銷負擔。
技術實現思路
針對移動設備能量資源有限問題,為了有效節省移動設備的能量消耗,并克服靜態程序分割不適用于帶寬變化的移動環境和動態程序分割額外開銷較大的問題,本專利技術提出。本專利技術的,具體過程如下步驟1,構造加權對象關系圖,具體是首先,對應用程序進行靜態程序分析,根據應用程序的方法調用關系,獲取應用程序中的對象和對象間的調用關系,構造應用程序初始的對象關系圖(Initial Object Relation Graph, IORG),對象關系圖的節點和邊分別對應應用程序對象和對象間的調用關系;然后,通過動態程序分析獲得對象關系圖中各節點對象的運行時間以及對象間的調用關系(每條邊)的通信數據量,得到加權對象關系圖。 步驟2,基于以上加權對象關系圖,將帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優化模型。令Xi標識節點i的運行位置,Xi=I和Xi=O分別表示節點i在移動設備和服務器端運行,則程序分割方案可表示為X = Ix1, X2,…,χη},η為節點個數,令b表示當前帶寬。程序分割優化模型的目標在于求得最優分割方案X,滿足,Xp為模型求解空間,W(x,b)表示當前帶寬為b時程序分割方案X的優化模型,具體定義如下W(X,b) =WtXT(X,b)/TLocal+weXE(X,b)/ELocal其中,TLocal和Ekxal分別表示程序全部運行在移動設備時的運行時間和耗電量;wt和We分別表示運行時間和耗電量的權重,且滿足wt+we = I ;T (X, b)和E(X,b)分別表示當前帶寬為b時采用程序分割方案X的程序運行時間和耗電量;模型求解空間Xp表示為Xp ={ζ ^(Γ,6()< ^(Α^Λ)χ(1 + )}其中,帶寬閾值Id1為滿足條件P(b ^ bx) ^ P。的最大帶寬值,P。為所設定的概率閾值了為帶寬I3l下最優分割方案對應的模型值;a > O為經驗常數,用以設定W(X, bx)的上限值為『(%為)x(l + )。步驟3,進行帶寬自適應程序分割,在節點個數η不超過200時,采用基于深度優先搜索策略的分支定界程序分割方法尋找最優分割方案,在節點個數η大于200時,采用基于最小割的貪心方法(MCGAP)來尋找最優分割方案。所述的分支定界程序分割方法基于分支定界深度優先搜索法,深度搜索的約束條件包括I)程序分割方案在當前帶寬b下對應的優化模型值小于當前保存的優化模型的最小值;2)程序分割方案在帶寬閾值Id1下的模型目標值不高于所設定模型上限值咖;' ;)χ(1 + Ι)0所述的基于最小割的貪心方法,利用Stoer-Wagner最小割算法求得帶寬為b和bx時對應的運行在移動設備的節點集合Cb和運行在服務器端的節點集合^,令待分割節點W-Cb -Sbi,對V’中節點進行分割,采用Stoer-Wagner最小割算法中的最大鄰接值排序算法對節點進行排序,然后基于貪心策略,同時根據與分支定界程序分割方法中相同的深度搜索的約束條件選取最優分割方案。步驟4,根據步驟3求得的最優分割方案,實現程序在移動設備和服務器間的代碼遷移和分布式執行,有效降低應用程序的執行時間和移動設備的耗電量,延長移動設備的電池使用壽命。本專利技術的優點與積極效果在于(I)采用靜態與動態程序分析相結合的方法構造程序的加權對象關系圖,所構建的對象關系圖復雜度低,并能夠準確地反映程序結構,有利于程序分割,適用于資源有限的移動平臺;(2)將移動環境中帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優化模型,適用于帶寬變化的移動環境;(3)基于加權對象關系圖和程序分割優化模型,提出了兩種帶寬自適應的程序分割方法分支定界程序分割法和基于最小割的貪心方法,前者能夠求出小規模程序分割的最優解,后者可快速求得大 規模程序分割的近似最優解;兩種方法能夠適應帶寬變化,有效縮短程序運行時間,降低移動設備的能量消耗。附圖說明圖I為本專利技術的帶寬自適應程序分割流程圖;圖2為本專利技術的示例程序圖;圖3為本專利技術的示例程序初始對象關系圖;圖4為本專利技術的示例程序加權對象關系圖;圖5為本專利技術的BBAP方法偽代碼示意圖;圖6為本專利技術的MCGAP方法偽代碼示意圖;圖7為采用三種方法構造加權對象關系本文檔來自技高網...
【技術保護點】
一種基于帶寬自適應代碼遷移的移動設備節能方法,在移動環境帶寬不斷變化的情況下,其特征在于,該移動設備節能方法通過下面步驟實現:步驟1:構造加權對象關系圖,具體是:首先,進行靜態程序分析,根據程序的方法調用關系,構造程序初始的對象關系圖,對象關系圖中的各節點和邊分別對應程序中的對象和對象間的調用關系;然后,通過動態程序分析獲得對象關系圖中各節點對象的運行時間以及每條邊的通信數據量,得到加權對象關系圖;步驟2:基于加權對象關系圖,將帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優化模型,具體是:令xi標識節點i的運行位置,xi=1和xi=0分別表示節點i在移動設備和服務器端運行,程序分割方案表示為X={x1,x2,…,xn},n為加權對象關系圖中的節點個數,則程序分割優化模型的目標在于求得最優分割方案滿足XP為模型求解空間,b表示當前帶寬,W(X,b)表示當前帶寬為b時程序分割方案X的優化模型,具體定義如下:W(X,b)=wt×T(X,b)/TLocal+we×E(X,b)/ELocal其中,TLocal和ELocal分別表示程序全部運行在移動設備的運行時間和耗電量;wt和we分別表示運行時間和耗電量的權重,且滿足wt+we=1;T(X,b)和E(X,b)分別表示當前帶寬為b時采用程序分割方案X的程序運行時間和耗電量;所述的模型求解空間XP定義為:其中,帶寬閾值bl為滿足概率P(b≥bl)≥Pc的最大帶寬值,Pc為所設定的概率閾值;為帶寬bl下最優程序分割方案對應的優化模型值;經驗常數a>0;步驟3:進行帶寬自適應程序分割,在節點個數n不超過200時,采用分支定界程序分割方法尋找最優分割方案,在節點個數n大于200時,采用基于最小割的貪心方法來尋找最優分割方案;所述的分支定界程序分割方法基于分支定界深度優先搜索法,深度搜索的約束條件包括:1)程序分割方案在當前帶寬b下對應的優化模型值小于當前保存的優化模型的最小值;2)程序分割方案在帶寬閾值bl下的模型目標值不高于所設定模型上限值所述的基于最小割的貪心方法,利用Stoer?Wagner最小割算法求得帶寬為b和bl時對應的運行在移動設備的節點集合Cb和運行在服務器端的節點集合令待分割節點對V“中節點進行分割,采用Stoer?Wagner最小割算法中的最大鄰接值排序算法對節點進行排序,然后基于貪心策略,同時根據與分支定界程序分割方法中相同的深度搜索的約束條件選取最優分割方案;步驟4:根據得到的最優分割方案,實現程序在移動設備和服務器間的代碼遷移和分布式執行。FDA00002326518600011.jpg,FDA00002326518600012.jpg,FDA00002326518600013.jpg,FDA00002326518600014.jpg,FDA00002326518600015.jpg,FDA00002326518600016.jpg,FDA00002326518600017.jpg,FDA00002326518600018.jpg...
【技術特征摘要】
...
【專利技術屬性】
技術研發人員:牛建偉,宋文芳,
申請(專利權)人:北京航空航天大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。