亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法

文檔序號:6379964閱讀:263來源:國知局

專利名稱::一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法
技術領域
:本發(fā)明屬于移動計算領域,具體涉及一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法。
背景技術
:移動設備因其輕巧便攜、使用方便等優(yōu)點,逐漸成為用戶量最大的計算平臺。隨著移動用戶的需求不斷增長,移動設備的性能不斷提升,電池容量已經成為移動設備進一步發(fā)展的瓶頸問題。近年來,基于程序分割的代碼遷移技術逐漸應用于移動計算領域,成為緩解移動設備資源有限問題的一種有效方法。根據程序分割方案將應用程序的一部分代碼遷移到服務器端運行,可以縮短應用程序的運行時間,降低移動設備的能量消耗。面向對象應用程序的復雜性和多樣性為實現(xiàn)程序分割帶來了挑戰(zhàn)。國內外學者在這一領域進行了較為廣泛的研究并提出了相應的方案。Eduardo等人提出的ΜΑΠ系統(tǒng)是基于微軟通用語言運行庫CLR的代碼遷移系統(tǒng),需要程序員事先對程序源代碼中可在遠端服務器執(zhí)行的對象添加“Remotable”標識;Roelof等人提出的Cuckoo系統(tǒng)通過擴展Android編譯系統(tǒng),為程序員提供了一種便捷的編程模型,可以輔助程序員完成一部分工作(例如遠程方法調用的實現(xiàn)),但仍需程序員手動實現(xiàn);Shumao等人則是借助中間件實現(xiàn)移動設備上的程序分割和遷移。這些方案依賴于程序員或中間件工具,限制了其應用領域。于是Sinha等研究者進一步提出了自動程序分割方案,這種方法無需借助額外工具,不依賴于程序員,可以透明地實現(xiàn)程序自動分割,適用于移動平臺。近年來,面向對象程序的自動分割方案大都通過對程序進行純靜態(tài)分析或純動態(tài)分析構造程序對象關系圖,并基于對象關系圖(ObjectRelationGraph,0RG)實現(xiàn)程序分割。Spiegel等人和Dahm提出的Doorastha系統(tǒng)均采用純靜態(tài)程序分析方法構造對象關系圖,不能夠準確反映程序的運行態(tài)信息,因而無法獲取最優(yōu)的程序分割結果。而Messer等人和Bialek等人則采用純動態(tài)程序分析方法構造對象關系圖,相比純靜態(tài)分析,純動態(tài)程序分析能夠獲取更為精確的程序運行時信息,但得到的對象關系圖龐大復雜,導致程序分割開銷過大,不適用于資源有限的移動平臺。WangLei等人通過構造兩層對象關系圖,提出了適用于不同目標模型的程序分割方案和基于Java的分布式系統(tǒng)框架,但并未對程序分割方法進行具體研究,沒有考慮移動環(huán)境中帶寬的變化。程序分割的關鍵是如何選擇程序的最優(yōu)分割方案,盡可能實現(xiàn)移動設備能耗最小和數據傳輸開銷最小。由于數據傳輸開銷與網絡帶寬直接相關,不同的帶寬會對應不同的最優(yōu)分割方案。以往的程序分割通常假設帶寬固定不變,如Diaconescu等人即根據靜態(tài)帶寬計算網絡傳輸開銷以決策程序分割,并未考慮網絡環(huán)境因素(如帶寬)的變化。由于移動網絡環(huán)境中帶寬變化頻繁,傳統(tǒng)的靜態(tài)程序分割技術通常會保守地根據較低帶寬決策分割方案。然而這種分割方案在帶寬較高情況下無法充分利用帶寬資源,造成網絡資源浪費。Byung-Gon等人通過分析移動設備和網絡環(huán)境的異構和動態(tài)變化特性,提出了動態(tài)程序分害IJ,但頻繁的程序分割任務勢必為移動設備帶來較大的額外開銷負擔。
發(fā)明內容針對移動設備能量資源有限問題,為了有效節(jié)省移動設備的能量消耗,并克服靜態(tài)程序分割不適用于帶寬變化的移動環(huán)境和動態(tài)程序分割額外開銷較大的問題,本發(fā)明提出一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法。本發(fā)明的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,具體過程如下步驟1,構造加權對象關系圖,具體是首先,對應用程序進行靜態(tài)程序分析,根據應用程序的方法調用關系,獲取應用程序中的對象和對象間的調用關系,構造應用程序初始的對象關系圖(InitialObjectRelationGraph,IORG),對象關系圖的節(jié)點和邊分別對應應用程序對象和對象間的調用關系;然后,通過動態(tài)程序分析獲得對象關系圖中各節(jié)點對象的運行時間以及對象間的調用關系(每條邊)的通信數據量,得到加權對象關系圖。步驟2,基于以上加權對象關系圖,將帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優(yōu)化模型。令Xi標識節(jié)點i的運行位置,Xi=I和Xi=O分別表示節(jié)點i在移動設備和服務器端運行,則程序分割方案可表示為X=Ix1,X2,…,χη},η為節(jié)點個數,令b表示當前帶寬。程序分割優(yōu)化模型的目標在于求得最優(yōu)分割方案X,滿足,Xp為模型求解空間,W(x,b)表示當前帶寬為b時程序分割方案X的優(yōu)化模型,具體定義如下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下最優(yōu)分割方案對應的模型值;a>O為經驗常數,用以設定W(X,bx)的上限值為『(%為)x(l+)。步驟3,進行帶寬自適應程序分割,在節(jié)點個數η不超過200時,采用基于深度優(yōu)先搜索策略的分支定界程序分割方法尋找最優(yōu)分割方案,在節(jié)點個數η大于200時,采用基于最小割的貪心方法(MCGAP)來尋找最優(yōu)分割方案。所述的分支定界程序分割方法基于分支定界深度優(yōu)先搜索法,深度搜索的約束條件包括I)程序分割方案在當前帶寬b下對應的優(yōu)化模型值小于當前保存的優(yōu)化模型的最小值;2)程序分割方案在帶寬閾值Id1下的模型目標值不高于所設定模型上限值咖;';)χ(1+Ι)0所述的基于最小割的貪心方法,利用Stoer-Wagner最小割算法求得帶寬為b和bx時對應的運行在移動設備的節(jié)點集合Cb和運行在服務器端的節(jié)點集合^,令待分割節(jié)點W-Cb-Sbi,對V’中節(jié)點進行分割,采用Stoer-Wagner最小割算法中的最大鄰接值排序算法對節(jié)點進行排序,然后基于貪心策略,同時根據與分支定界程序分割方法中相同的深度搜索的約束條件選取最優(yōu)分割方案。步驟4,根據步驟3求得的最優(yōu)分割方案,實現(xiàn)程序在移動設備和服務器間的代碼遷移和分布式執(zhí)行,有效降低應用程序的執(zhí)行時間和移動設備的耗電量,延長移動設備的電池使用壽命。本發(fā)明的優(yōu)點與積極效果在于(I)采用靜態(tài)與動態(tài)程序分析相結合的方法構造程序的加權對象關系圖,所構建的對象關系圖復雜度低,并能夠準確地反映程序結構,有利于程序分割,適用于資源有限的移動平臺;(2)將移動環(huán)境中帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優(yōu)化模型,適用于帶寬變化的移動環(huán)境;(3)基于加權對象關系圖和程序分割優(yōu)化模型,提出了兩種帶寬自適應的程序分割方法分支定界程序分割法和基于最小割的貪心方法,前者能夠求出小規(guī)模程序分割的最優(yōu)解,后者可快速求得大規(guī)模程序分割的近似最優(yōu)解;兩種方法能夠適應帶寬變化,有效縮短程序運行時間,降低移動設備的能量消耗。圖I為本發(fā)明的帶寬自適應程序分割流程圖;圖2為本發(fā)明的示例程序圖;圖3為本發(fā)明的示例程序初始對象關系圖;圖4為本發(fā)明的示例程序加權對象關系圖;圖5為本發(fā)明的BBAP方法偽代碼示意圖;圖6為本發(fā)明的MCGAP方法偽代碼示意圖;圖7為采用三種方法構造加權對象關系圖的大小比較示意圖;圖8為本發(fā)明實施例中程序實際運行時間與三種方法的預測運行時間的對比示意圖;圖9為本發(fā)明的仿真實驗參數示意圖;圖10為本發(fā)明的仿真實驗加權對象關系圖信息;圖11為本發(fā)明的BBAP方法對目標模型三種特殊情況的求解分割時間對比圖;圖12為本發(fā)明的BBAP方法的分割結果在不同帶寬下對應的運行時間對比示意圖;圖13為本發(fā)明的BBAP方法的分割結果在不同帶寬下對應的耗電量對比示意圖;圖14為本發(fā)明的BBAP方法的分割結果在不同帶寬下對應的加權模型值對比示意圖;圖15為本發(fā)明的MCGAP方法對目標模型三種特殊情況的求解分割時間對比圖;圖16為本發(fā)明的BBAP與MGCAP運行時間最優(yōu)模型求解結果對比圖;圖17為本發(fā)明的MCGAP方法的分割結果在不同帶寬下對應的運行時間對比示意圖;圖18為本發(fā)明的MCGAP方法的分割結果在不同帶寬下對應的耗電量對比示意圖;圖19為本發(fā)明的MCGAP方法的分割結果在不同帶寬下對應的加權模型值對比示意圖20為本發(fā)明的BBAP與MGCAP的平均性能對比圖。具體實施例方式下面將結合附圖和實例對本發(fā)明作進一步的詳細說明。本發(fā)明提出的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,首先,采用靜態(tài)與動態(tài)分析相結合的方法分析移動應用程序,并構造其對應的加權對象關系圖;其次,將移動環(huán)境中變化的帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優(yōu)化模型;然后,基于對象關系圖和程序分割模型實現(xiàn)帶寬自適應的程序分割方法;最后,根據分割結果實現(xiàn)程序在移動設備和服務器間的代碼遷移和分布式執(zhí)行,從而降低應用程序的執(zhí)行時間和移動設備的耗電量,延長移動設備電池的使用壽命,而且應用程序的運行時間和耗電量隨帶寬變化波動較小,對帶寬變化具有一定的適應性。如圖I所示,本發(fā)明的移動設備節(jié)能方法,具體過程如下步驟I,構造加權對象關系圖。本發(fā)明實施例以一個Java程序為例來闡述加權對象關系圖的構造過程,示例程序如圖2所不,程序包含四個類FacePreview、ImageCapture>FaceDetection和FaceDetectionLib,其中FacePreview類的main方法中創(chuàng)建了一個ImageCapture對象和兩個FaceDetection對象,而兩個FaceDetection對象均在執(zhí)行自身DetectFace方法時調用了FaceDetectionLib類的ProcessBlock方法。首先,進行靜態(tài)程序分析,利用指向分析(Points-to)技術分析Java程序的字節(jié)碼文件,得到其方法調用關系圖,并通過遍歷調用關系圖獲取程序的所有對象及對象間的調用關系,從而構造出程序的初始對象關系圖(I0RG),其節(jié)點和邊分別對應應用程序的對象和對象間的調用關系。圖3表示為示例程序對應的初始對象關系圖,S_FacePreview創(chuàng)建對象D_ImageCapture、D_FaceDetectionl和D_FaceDetection2,對象D_FaceDetectionl和D_FaceDetection2都調用S_FaceDetectionLib的方法,其中S和D前綴分別表示靜態(tài)對象和動態(tài)對象。由于節(jié)點間的交互主要以方法調用的方式體現(xiàn),其通信數據主要表現(xiàn)為方法調用的參數及返回值,在動態(tài)程序分析階段,利用Java字節(jié)碼重寫技術,可以獲得程序IORG中每個節(jié)點對象的CPU運行時間以及每條邊(對象間的調用關系)的通信數據量,即加權對象關系圖中各節(jié)點與邊的權值。圖4表示為示例程序對應的加權對象關系圖,例如節(jié)點S-FacePreview所代表的對象的CPU運行時間為50ms,節(jié)點S_FacePreview與節(jié)點D_ImageCaptur之間的通信數據量為9066bytes。步驟2,建立程序分割優(yōu)化模型??紤]到移動環(huán)境中帶寬的變化,本發(fā)明將帶寬作為一個變量,提出基于運行時間和耗電量的程序分割優(yōu)化模型,令Xi標識節(jié)點i的運行位置,Xi=I和Xi=O分別表示節(jié)點i在移動設備和服務器端運行,則程序分割方案可表示為X=Ix1,X2,…,xj,b表示當前帶寬,J表示最優(yōu)程序分割方案。程序分割優(yōu)化模型的目標在于求得最優(yōu)分割方案I,滿足i=argSS『u'6),XP表示模型求解空間,W(X,b)表示當前帶寬為b時分割方案X的優(yōu)化模型,具體定義如下W(X,b)=WtXT(X,b)/TLocal+weXE(X,b)/ELocal其中,TLocal和Ekxal分別表示程序全部運行在移動設備時的運行時間和耗電量;wt和We分別表示運行時間和耗電量的權重,且滿足wt+we=I;Τ(X,b)和E(X,b)分別表示當前帶寬為b時采用程序分割方案X的程序運行時間和耗電量;模型求解空間Xp表示為權利要求1.一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,在移動環(huán)境帶寬不斷變化的情況下,其特征在于,該移動設備節(jié)能方法通過下面步驟實現(xiàn)步驟I:構造加權對象關系圖,具體是首先,進行靜態(tài)程序分析,根據程序的方法調用關系,構造程序初始的對象關系圖,對象關系圖中的各節(jié)點和邊分別對應程序中的對象和對象間的調用關系;然后,通過動態(tài)程序分析獲得對象關系圖中各節(jié)點對象的運行時間以及每條邊的通信數據量,得到加權對象關系圖;步驟2:基于加權對象關系圖,將帶寬作為一個變量,建立基于運行時間和耗電量的程序分割優(yōu)化模型,具體是令Xi標識節(jié)點i的運行位置,Xi=I和Xi=O分別表示節(jié)點i在移動設備和服務器端運行,程序分割方案表示為X=Ix1,X2,…,χη},η為加權對象關系圖中的節(jié)點個數,則程序分割優(yōu)化模型的目標在于求得最優(yōu)分割方案J^^=argminr(X,6),Xp為模型求解空間,b表示當前帶寬,ff(X,b)表示當前帶寬為b時程序分割方案X的優(yōu)化模型,具體定義如下W(X,b)=WtXT(X,b)/TLocal+weXE(X,b)/Eloc31其中,TLocal和Ekjcal分別表示程序全部運行在移動設備的運行時間和耗電量;wt和We分別表示運行時間和耗電量的權重,且滿足wt+we=I;T(X,b)和E(X,b)分別表示當前帶寬為b時采用程序分割方案X的程序運行時間和耗電量;所述的模型求解空間Xp定義為={xIW{X,b,)<w{x^,b,y(\+a)^,其中,帶寬閾值Id1為滿足概率P(b彡bx)彡P。的最大帶寬值,P。為所設定的概率閾值為帶寬h下最優(yōu)程序分割方案對應的優(yōu)化模型值;經驗常數a>O;步驟3:進行帶寬自適應程序分割,在節(jié)點個數η不超過200時,采用分支定界程序分割方法尋找最優(yōu)分割方案,在節(jié)點個數η大于200時,采用基于最小割的貪心方法來尋找最優(yōu)分割方案;所述的分支定界程序分割方法基于分支定界深度優(yōu)先搜索法,深度搜索的約束條件包括O程序分割方案在當前帶寬b下對應的優(yōu)化模型值小于當前保存的優(yōu)化模型的最小值;2)程序分割方案在帶寬閾值Id1下的模型目標值不高于所設定模型上限值π(χζ,)χ(\+α);所述的基于最小割的貪心方法,利用Stoer-Wagner最小割算法求得帶寬為b和Id1時對應的運行在移動設備的節(jié)點集合Cb和運行在服務器端的節(jié)點集合&,令待分割節(jié)點V,二V-Cb-Sbt,對V’中節(jié)點進行分割,采用Stoer-Wagner最小割算法中的最大鄰接值排序算法對節(jié)點進行排序,然后基于貪心策略,同時根據與分支定界程序分割方法中相同的深度搜索的約束條件選取最優(yōu)分割方案;步驟4:根據得到的最優(yōu)分割方案,實現(xiàn)程序在移動設備和服務器間的代碼遷移和分布式執(zhí)行。2.根據權利要求I所述的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,其特征在于,所述的概率閾值P。設定為O.85。3.根據權利要求I所述的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,其特征在于,所述的經驗常數a設定為O.4。4.根據權利要求I所述的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,其特征在于,步驟2中所述的帶寬為b時采用程序分割方案X的程序運行時間T(X,b)為5.根據權利要求I所述的一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,其特征在于,步驟2中所述的帶寬為b時采用程序分割方案X的程序耗電量E(X,b)為全文摘要本發(fā)明提出一種基于帶寬自適應代碼遷移的移動設備節(jié)能方法,通過對移動應用程序進行靜態(tài)和動態(tài)分析,構造出一種加權對象關系圖,從而將程序分割問題轉化為對象關系圖分割問題;將移動環(huán)境中變化的帶寬看作一個變量,提出基于運行時間和能量最優(yōu)的目標模型;針對程序分割優(yōu)化模型提出帶寬自適應的分支定界程序分割法(BBAP)和基于最小割的貪心程序分割法(MCGAP);最后基于所得到的分割方案實現(xiàn)移動應用程序在移動設備和服務器間的代碼遷移和分布式執(zhí)行。本發(fā)明方法能夠有效縮短移動應用程序的運行時間,降低移動設備的電能消耗,并對帶寬變化具有良好的適應性。文檔編號G06F9/44GK102968173SQ20121042184公開日2013年3月13日申請日期2012年10月30日優(yōu)先權日2012年9月28日發(fā)明者牛建偉,宋文芳申請人:北京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1