蔣青苗
(中國傳媒大學(xué) 信息與通信工程學(xué)院,北京 100024)
智能手機是科技時代的產(chǎn)物,它的普及改變了人們的生活方式。智能手機承載的諸多應(yīng)用幾乎滲透進(jìn)人們生活的各個方面,例如手機導(dǎo)航、電子支付、網(wǎng)上購物等,使得手機用戶在移動狀態(tài)下也可享受各種服務(wù),掌握各種信息。而在智能手機越來越豐富的功能背后,是云計算、邊緣計算等計算模式在默默地提供著技術(shù)支持[1]。云計算、邊緣計算是高效和靈活的計算模式,并基于移動互聯(lián)網(wǎng)而存在。將云計算、邊緣計算等計算模式與計算卸載技術(shù)相結(jié)合,通過互聯(lián)網(wǎng)將智能手機端中的計算密集型應(yīng)用程序傳輸?shù)椒?wù)器端運行并返回結(jié)果,稱為移動計算卸載。移動計算卸載技術(shù)可以顯著地縮短智能手機應(yīng)用程序的執(zhí)行時間,減少智能手機的能量消耗,保證智能手機的流暢運行,大大提高手機用戶的使用效率。其中,移動計算卸載決策算法是移動計算卸載的關(guān)鍵,負(fù)責(zé)對智能手機(移動端)中的應(yīng)用程序進(jìn)行劃分,程序劃分的結(jié)果直接影響著移動計算卸載的最終優(yōu)化效果。
絕大多數(shù)的移動計算卸載決策算法在決策參數(shù)的考慮方面,只取決于應(yīng)用程序的特性,如輸入數(shù)據(jù)量的大小,占用的內(nèi)存,應(yīng)用程序的輸出精度,以及終端的處理能力,包括移動終端CPU的頻率、移動終端存儲器的容量,移動終端運行時的資源占用率以及終端所處環(huán)境的網(wǎng)絡(luò)時延等[2]。在只考慮這些客觀因素的條件下,卻忽視了用戶的個性化需求。不同的用戶對手機的使用情況不同,例如重度游戲玩家對游戲的流暢度更加重視,在使用移動終端玩游戲時由于希望獲得更好的網(wǎng)絡(luò)帶寬,可能不傾向于進(jìn)行計算卸載;而商務(wù)型的手機使用者會對手機的待機時長有一定的期望,且比較頻繁使用網(wǎng)絡(luò)進(jìn)行通訊,因此更傾向于進(jìn)行計算卸載。因此,不同用戶的個性化需求也有必要在計算卸載決策中得到一定程度的滿足。
本文以改善移動計算的個性化需求為目的,結(jié)合機器學(xué)習(xí)算法設(shè)計了一個用戶興趣分布模型,深度研究用戶的個性化需求,從而使移動計算可以為用戶提供個性化的服務(wù)。通過預(yù)測用戶對于手機的使用需求,將此預(yù)測結(jié)果對移動計算的卸載策略進(jìn)行優(yōu)化,“對癥下藥”地提供個性化的計算卸載服務(wù),以此來提升用戶體驗。
本文其余的部分如下:第二節(jié)介紹移動計算卸載算法的相關(guān)研究;第三節(jié)提出基于用戶個性化需求的卸載模型;第四節(jié)闡述基于用戶個性化需求的卸載算法;第五節(jié)對算法進(jìn)行測試和性能評估;第六節(jié)總結(jié)本文的內(nèi)容。
根據(jù)優(yōu)化目標(biāo)的不同,移動計算卸載決策算法的研究可分為三類:
Liu J等[3]研究了單個移動終端將計算密集型任務(wù)卸載到邊緣云的問題,將該應(yīng)用場景下的計算任務(wù)調(diào)度策略歸納為雙時間尺度隨機優(yōu)化問題,將任務(wù)的傳輸模型看做緩沖區(qū)隊列,計算任務(wù)的調(diào)度采用在緩沖區(qū)排隊的方法,根據(jù)本地處理單元的狀態(tài)和傳輸隊列的狀態(tài)共同決定調(diào)度策略。提出的卸載算法的優(yōu)化目標(biāo)是在最小化任務(wù)的平均延遲的情況下,保證移動設(shè)備的平均功率不超過最大平均功率閾值。Mao Y等[4]針對一個帶有能量收集(EH)設(shè)備的綠色邊緣云系統(tǒng)開發(fā)一種有效的計算卸載決策算法。將執(zhí)行成本,包括任務(wù)執(zhí)行延遲和任務(wù)失敗成本作為性能指標(biāo)。將執(zhí)行成本最小化(ECM)問題歸納為高維馬爾可夫的決策問題,提出了一種低復(fù)雜度的,基于Lyapunov優(yōu)化的動態(tài)計算卸載決策(LODCO)算法。
Kamoun M等[5]研究了改造后能支持云服務(wù)功能的基站的計算卸載問題,問題的主要目標(biāo)是通過找到最佳調(diào)度卸載策略來做出決策,使移動用戶終端在規(guī)定的應(yīng)用程序最大容忍延遲的約束之下的能量消耗最小化。并提出了兩種離線的計算和無線電資源的資源卸載策略。Sardellitti S等[6]研究了在一個MIMO多小區(qū)系統(tǒng)中,有多個移動用戶(MU)要求將計算任務(wù)卸載到一個公共云服務(wù)器的問題。論文將該計算卸載問題歸為包含無線電資源,移動用戶發(fā)送的預(yù)編碼矩陣,計算資源,以及由云分配給每個移動用戶的CPU頻率的聯(lián)合優(yōu)化問題,以便在滿足延遲限制的同時,最小化整體移動用戶的能量消耗。論文[7]考慮了多個移動用戶將計算任務(wù)通過多個無線電接入點卸載到多個云服務(wù)器的應(yīng)用場景,將計算卸載問題歸納為無線電和計算資源的聯(lián)合優(yōu)化問題,優(yōu)化目標(biāo)是使在移動終端側(cè)總能量消耗最小化,同時滿足延遲約束。
Chen X等[8]建立數(shù)學(xué)模型研究了多個信道無線環(huán)境中移動邊緣云計算的多用戶計算卸載問題,考慮噪聲的影響。將無線環(huán)境下的移動設(shè)備用戶之間的分布式計算卸載決策問題看做多用戶計算卸載博弈問題,并針對該問題設(shè)計了一種基于分布式的計算卸載算法,該算法可以達(dá)到納什均衡。Chen M H等[9]考慮了移動云計算場景,場景內(nèi)包括了一個具有多個獨立任務(wù)的移動用戶,一個計算接入點和一個遠(yuǎn)程的云服務(wù)器。提出了一種基于半定松弛的有效卸載決策算法,以及一種新的隨機映射方法來降低能源,計算和延遲三個指標(biāo)的綜合成本。Muoz O等[10]研究了利用傳輸速率和系統(tǒng)負(fù)載控制多用戶通過無線信道進(jìn)行計算卸載的優(yōu)化問題,討論了無線應(yīng)用程序卸載中的執(zhí)行延遲和能量損耗之間的權(quán)衡。提出了一種改變上行鏈路數(shù)據(jù)速率的方法,通過調(diào)整此速率以在給定當(dāng)前系統(tǒng)負(fù)載的情況下,最大化移動用戶的QoS來實現(xiàn)移動終端的節(jié)能。
本小結(jié)提出了基于用戶個性化需求的計算卸載決策算法的模型框架,闡述了用戶個性化需求模型的構(gòu)建思路和方法。
為了將用戶的個性化需求納入到移動計算卸載決策算法的決策參數(shù)中,我們設(shè)計了如圖1所示的基于用戶個性化的計算卸載決策模型框架。
圖1 基于用戶個性化需求的計算卸載模型
模型的輸入是移動終端應(yīng)用程序的調(diào)用關(guān)系圖(Call graph),調(diào)用關(guān)系圖反映了應(yīng)用程序源代碼中的各實體,如函數(shù)(method)、進(jìn)程(process)、線程(thread)的相互依賴關(guān)系。調(diào)用關(guān)系圖經(jīng)過Code profile、Network profile、Energy profile和User profile四個模塊,分別提取代碼調(diào)用關(guān)系,網(wǎng)絡(luò)狀況,能量消耗狀況,以及用戶個性化需求對卸載決策的影響大小,最終輸出一個定義為Cost graph的無向連通網(wǎng)絡(luò)圖。
Code profile、Network profile、Energy profile分別采集移動應(yīng)用程序的運行時間、網(wǎng)絡(luò)狀態(tài)、能量消耗等客觀信息[11]。
對于User profile模塊來說,由于其采集的是用戶偏好,一般很難量化。本文中采用了基于機器學(xué)習(xí)的方法來訓(xùn)練用戶個性化需求模型,以更好地描述用戶偏好。我們使用機器學(xué)習(xí)算法訓(xùn)練的模型的概率估計來產(chǎn)生權(quán)重,用來預(yù)測特定用戶對程序執(zhí)行時間,網(wǎng)絡(luò)通信延遲,能量消耗的重視程度。由于不同的用戶對這些性能參數(shù)有不同的關(guān)注,該模型能夠提供更加個性化的計算卸載決策參數(shù)和更加智能的計算卸載決策劃分結(jié)果。以下我們將詳細(xì)說明數(shù)據(jù)集的收集和模型的構(gòu)建過程。
用戶個性化數(shù)據(jù)的收集主要采用了調(diào)查問卷的方法。首先,將個性化卸載需求模型與用戶的使用偏好掛鉤,按照用戶的使用習(xí)慣及興趣愛好,設(shè)計調(diào)查問卷。問卷主要從用戶使用手機時關(guān)注的耗電量、使用時的流暢度、CPU性能、內(nèi)存大小、隱私安全保密性、信號的移動接收能力等幾個方面展開。著重調(diào)查用戶使用最頻繁的APP類型,每天平均使用手機的時長,常駐后臺應(yīng)用個數(shù),手機垃圾與緩存的清除頻率以及使用狀態(tài)(是否經(jīng)常在高速移動中使用)。從以上問題中可以了解用戶的使用習(xí)慣以及使用環(huán)境。問卷還設(shè)置了輔助的問題,以便更全面地了解用戶的個性化需求。包括用戶在手機過熱時的處理方式,使用時能容忍的延遲上限,充電的頻率以及對隱私安全的重視程度(這里主要指將數(shù)據(jù)同步至云端)。具體調(diào)查問題如下:
(1)您每天平均使用手機時長為?(2)您經(jīng)常使用的手機APP應(yīng)用類型為?(3)您平時常駐后臺應(yīng)用個數(shù)為?(4)您平均多久清理一次手機垃圾或應(yīng)用緩存?(5)當(dāng)手機使用過熱時,您會?(6)您能容忍的延遲上限?(7)您的手機平均多久充一次電?(8)您在使用手機應(yīng)用時,會考慮隱私安全問題嗎?(9)您平時使用手機的地點?(10)對于手機,您最關(guān)注什么?
問卷在設(shè)計過程中,力求客觀與全面,問題的排列結(jié)合應(yīng)答者的思維邏輯,結(jié)構(gòu)比較合理。問題的設(shè)置比較通俗易懂,為了使應(yīng)答者愿意作答,題目在長度設(shè)計中力求一目了然??紤]到答卷者普遍不會有耐心回答過于冗長的問題,問卷在設(shè)計時,將問題數(shù)量篩選到10個,每個問題都簡潔明了。以此避免因題目過多過長而亂答的現(xiàn)象,保證數(shù)據(jù)的準(zhǔn)確性。在題目以及選項的設(shè)計中,還考慮到了后期的統(tǒng)計工作,盡量做到用最少的變量來解決更多的問題。我們設(shè)計的調(diào)查問卷的部分截圖如圖2所示。
圖2 用戶個性化卸載需求的調(diào)查問卷截圖(部分)
在調(diào)查問卷設(shè)計完成后,進(jìn)行了問卷的發(fā)放與收集工作。問卷的發(fā)放方式主要包括線上發(fā)放和線下發(fā)放兩種。線下通過發(fā)放紙質(zhì)的問卷來收集,線上則通過電子問卷的形式,主要在微信,QQ空間等社交平臺上收集。發(fā)放過程中為了保證數(shù)據(jù)的說服性和樣本的豐富性,發(fā)放的人群包括學(xué)生,上班族以及離退休老年人,年齡覆蓋面較廣。
經(jīng)過為期兩到三周的問卷收集,由于志愿者在填寫問卷時是匿名提交,我們相信所有的答卷都是真實的,因此將所有的調(diào)查結(jié)果都進(jìn)行了保存。在使用這些數(shù)據(jù)進(jìn)行訓(xùn)練之前,我們使用數(shù)據(jù)清理方法過濾了幾個無效數(shù)據(jù)(我們清理了提交問卷后1s以內(nèi)即完成調(diào)查,以及提交時間早于問卷發(fā)布時間的異常結(jié)果數(shù)據(jù))。在通過篩選掉一些不合格的問卷后,共有1035份數(shù)據(jù)可供使用。但這些數(shù)據(jù)都是文本信息,無法直接使用,需要將其數(shù)字化,以便后面的處理和使用。首先將每個問題按abc……編號,再對每個問題中的選項進(jìn)行數(shù)字編號,例如第六個問題的第二個選項編為f2。這樣,就把文本信息簡化為字母和數(shù)字組合的數(shù)據(jù),以便數(shù)據(jù)的分類與數(shù)據(jù)集合的制作。
在模型的訓(xùn)練階段,我們采用了SVM算法[12]對數(shù)據(jù)集進(jìn)行了訓(xùn)練。我們的User profile模型是采用了10個問題來構(gòu)造輸入,輸出為程序運行時間、網(wǎng)絡(luò)延時、能量消耗這三個影響因素的重視程度的預(yù)測概率。我們使用了交叉驗證,即將數(shù)據(jù)集合的70%用作訓(xùn)練,30%用作測試。利用Libsvm工具[13],在設(shè)置c參數(shù)的值為512.0,g參數(shù)的值為0.0001220703125的情況下進(jìn)行優(yōu)化,預(yù)測的準(zhǔn)確率由87.3333%提高到95.3333%。
(1)
其中,wr為關(guān)注應(yīng)用程序運行時間的概率,wd為關(guān)注網(wǎng)絡(luò)延時的概率,we為關(guān)注能量消耗的概率。
我們假設(shè)有一個資源受約束的移動設(shè)備端,可以與一臺資源豐富的服務(wù)器進(jìn)行數(shù)據(jù)通信,它們通過無線網(wǎng)絡(luò)進(jìn)行連接。對于移動計算卸載來說,網(wǎng)絡(luò)帶寬的占用主要來自于移動端與服務(wù)端的數(shù)據(jù)傳輸。程序的總執(zhí)行時間包括服務(wù)端的計算時間和網(wǎng)絡(luò)上的通信時間。一些研究表明移動設(shè)備端的能量消耗主要由三類消耗組成:移動設(shè)備上的計算消耗,移動設(shè)備的待機消耗和無線網(wǎng)絡(luò)上的通信消耗[14]。在卸載過程中,有一段時間服務(wù)器在計算結(jié)果,此時移動設(shè)備處于空閑狀態(tài),但是也要消耗一些功率以保持一些基礎(chǔ)設(shè)施服務(wù)運行,即操作系統(tǒng)和通信接口開銷。通信引起的能量消耗幾乎與無線網(wǎng)絡(luò)上的通信量成正比。通信量包括傳輸?shù)臄?shù)據(jù)量和函數(shù)代碼量的大小。總之,在分析了不同類型資源消耗的構(gòu)成之后,我們可以抽象出三類成本:計算成本,通信成本和遷移成本,我們將它們構(gòu)成了每種資源的總消耗。
假設(shè)移動端應(yīng)用程序用一無向圖G=(V,E)表示,頂點設(shè)置為V,邊集為E?V×V,其中頂點Vi表示函數(shù),Ci和Cj的邊eij表示函數(shù)Ci與函數(shù)Cj存在依賴關(guān)系。為了代表三類成本,我們將頂點權(quán)重和邊權(quán)重添加到圖G,稱為成本圖。頂點Vi的權(quán)重由三元組(Cm(Ci),Cc(Ci),Cs(Ci))表示,其中Cm(Ci)表示函數(shù)Ci的遷移成本,Cc(Ci)和Cs(Ci)表示它分別在移動終端和服務(wù)端上的計算成本。如果函數(shù)Ci無法在客戶端或服務(wù)器上運行,則Cc(Ci)=∞或Cs(Ci)=∞,如果它無法在兩臺機器之間遷移,則Cm(Ci)=∞。邊eij的權(quán)重由Cc(Ci,Cj)表示,其值等于分量Ci和Cj之間的通信成本。
因此,總資源消耗等于以下四個值的總和:(1)移動設(shè)備端上所有函數(shù)的權(quán)重Cc(Ci)之和;(2)服務(wù)端上所有函數(shù)的權(quán)重Cs(Ci)之和;(3)計算卸載時連接移動端和服務(wù)端的函數(shù)的所有邊緣的權(quán)重Cc(Ci,Cj)之和;(4)將函數(shù)從移動端遷移到服務(wù)端的所有函數(shù)的權(quán)重Cm(Ci)之和。為了最小化資源的消耗,我們將該問題轉(zhuǎn)化為公式(2),其中SC和Ss分別是移動端端和服務(wù)端上的函數(shù)集合,Se是連接移動端和服務(wù)端函數(shù)的所有邊緣的集合,Sm是一組遷移函數(shù)集合。
(2)
公式(2)給出了進(jìn)行計算卸載所需要的成本,這一決策公式只考慮了客觀參數(shù)的影響,如表示函數(shù)Ci遷移成本的Cm(Ci),分別表示在移動終端和服務(wù)端上的計算成本Cc(Ci)和Cs(Ci),上述參數(shù)都可以通過工具進(jìn)行比較準(zhǔn)確的測量。但根據(jù)我們的研究目標(biāo),是需要考慮用戶個性化卸載需求的。因此,我們要將訓(xùn)練好的用戶個性化模型的系數(shù)納入到成本評估模型來。系數(shù)修改不僅保證我們的卸載決策是根據(jù)實時系統(tǒng)條件進(jìn)行的,還能兼顧個人的需求。
(1)首先,我們基于注意力的機制[15]計算當(dāng)前移動終端的操作系統(tǒng)運行情況下的用戶興趣分布概率,如公式(3)所示:
(3)
其中,wi如公式(1)所示,wr為關(guān)注應(yīng)用程序運行時間的概率,wd為關(guān)注網(wǎng)絡(luò)延時的概率,we為關(guān)注能量消耗的概率。Si為對應(yīng)的客觀測量指標(biāo)。Sr為當(dāng)前的移動終端相同的應(yīng)用程序的運行時間,Sd為當(dāng)前網(wǎng)絡(luò)的延時,Se為當(dāng)前運行狀態(tài)下相同應(yīng)用程序的能耗。這樣做的好處是,進(jìn)一步考慮了當(dāng)前系統(tǒng)的運行時對計算卸載決策算法的影響,使得卸載決策更加合理。
(2)然后,我們分析移動終端上應(yīng)用程序的本地運行時間。利用用戶個性化需求卸載模型的預(yù)測結(jié)果,將客觀影響因素和主觀影響因素相結(jié)合,實現(xiàn)對Cost graph節(jié)點權(quán)值的調(diào)整。具體的系數(shù)調(diào)整如下:
假設(shè)程序劃分之后,對于仍保留在移動設(shè)備端的函數(shù)Vi,程序的運行時間客觀上只跟Cc(Ci)有關(guān),但在主觀上受到ur影響,即用戶在當(dāng)前情況下對應(yīng)用程序的運行時間的重視程度,以及ue,即用戶在當(dāng)前情況下對應(yīng)用程序能耗的重視程度的影響。我們定義公式(4)對本地運行時間成本進(jìn)行調(diào)整。
(4)
對于卸載后將函數(shù)Vi從移動端遷移到服務(wù)端的權(quán)重Cm(Ci)和計算卸載時連接移動端和服務(wù)端的函數(shù)的邊緣的權(quán)重Cc(Ci,Cj),按照同樣的思路進(jìn)行調(diào)整,主要考慮ud,即用戶對當(dāng)前網(wǎng)絡(luò)狀況下的網(wǎng)絡(luò)延時的重視程度的輸出概率,定義公式(5)、(6)如下:
(5)
(6)
綜上,我們將進(jìn)行調(diào)整過的資源總消耗歸結(jié)為公式(7):
(7)
針對公式(7),利用最大流最小割定理[16]可以找到流網(wǎng)絡(luò)二分問題的最優(yōu)解。但是上述構(gòu)建的成本圖并不是網(wǎng)絡(luò)流圖。需要我們將應(yīng)用程序的成本圖轉(zhuǎn)換為其流網(wǎng)絡(luò),其中一部分程序代碼位于移動設(shè)備端,另一部分卸載到服務(wù)器端。
在獲得所有頂點Vi的權(quán)重之后,我們構(gòu)造用于計算卸載的max flow圖。首先將節(jié)點C和節(jié)點S添加到該圖中,分別表示移動設(shè)備端和服務(wù)端。接下來,對于每個模塊節(jié)點,將有關(guān)聯(lián)的每一條邊e(i,j)在流網(wǎng)絡(luò)中變?yōu)閮蓷l有向邊e(i,j)和e(j,i)。最后,在圖上標(biāo)注不同的權(quán)重,以表示各節(jié)點的執(zhí)行成本。如圖3所示,我們使用上述方法構(gòu)建的圖形稱為max flow min cut圖,它是權(quán)重?zé)o向圖。
圖3 網(wǎng)絡(luò)流圖示例
在構(gòu)建其成本圖之后,我們便可以利用所提出計算卸載劃分算法將成本圖轉(zhuǎn)換為相應(yīng)的流網(wǎng)絡(luò),然后使用Min-cut算法對應(yīng)用程序進(jìn)行處理并獲得最優(yōu)的函數(shù)劃分。
首先,實驗的硬件配置方面,移動測試應(yīng)用程序部署在Android版5.0.2的Galaxy A7移動設(shè)備中,該智能移動終端的CPU工作頻率保持在12GHZ,內(nèi)存容量為1GB。服務(wù)端(采用微云cloudlet作為服務(wù)端)的應(yīng)用程序仍部署在帶有window7的PC工作站(2.1GHz,4.0GB內(nèi)存)中。移動端與服務(wù)器端通過WiFi連接。
在實驗中,我們使用圖像處理應(yīng)用程序作為我們的測試應(yīng)用程序,程序的功能是圖像濾鏡程序。所有的程序模塊統(tǒng)一使用圖像格式文件作為輸入和輸出。每個濾鏡函數(shù)具有良好的獨立性,可以單獨調(diào)用。程序架構(gòu)采用總分式的結(jié)構(gòu),可以添加模塊節(jié)點或任意改變拓?fù)浣Y(jié)構(gòu),靈活性好,很適合在實驗測試中組合和排列成不同的模塊,形成不同的拓?fù)浣Y(jié)構(gòu)。圖4提供了具有6個模塊節(jié)點的候選拓?fù)浣Y(jié)構(gòu)。
圖4 實驗測試的應(yīng)用程序
我們選擇了三個類型的典型代表作為測試用戶。他們的個性化卸載需求分布如表1所示。
表1 典型用戶的個性化卸載需求模型輸出概率
我們記錄運行相同應(yīng)用程序時不同算法的執(zhí)行時間。對于用戶a,他的關(guān)注點更多是程序運行時間,因此程序的實際執(zhí)行時間是我們的評估指標(biāo)。對于用戶b,他的關(guān)注點更多是網(wǎng)絡(luò)時延,因此程序執(zhí)行期間的網(wǎng)絡(luò)狀態(tài)是我們重點關(guān)注的指標(biāo)。而用戶c對移動終端的耗電量比較關(guān)注,因此我們監(jiān)測程序執(zhí)行期間的電量消耗。
為了準(zhǔn)確評估基于用戶個性化卸載需求的算法性能,我們選擇了二個baseline:
(1)完全在云服務(wù)器上運行應(yīng)用程序,用戶只負(fù)責(zé)發(fā)布圖像數(shù)據(jù)和接收處理結(jié)果。
(2)本地:程序代碼只在移動設(shè)備上運行。
首先,我們針對用戶a進(jìn)行實驗,評估程序的執(zhí)行時間的變化規(guī)律。圖5中的數(shù)據(jù)流大小表示我們用作輸入的圖像文件大小。在數(shù)據(jù)量增加到2MB之前,在服務(wù)器上運行程序相對較快。因為在數(shù)據(jù)量較小的情況下,將數(shù)據(jù)上傳到云服務(wù)器不會占用太多的傳輸時間,將整個應(yīng)用程序卸載到云端仍然是最佳選擇。但是,隨著數(shù)據(jù)流量的增加,在云上運行的時間成本上升最快。我們發(fā)現(xiàn),在4MB到8MB的范圍內(nèi),我們的計算卸載決策算法相對直接在服務(wù)器上運行程序反而更佳,這說明卸載策略在大數(shù)據(jù)量的情況下有一定的優(yōu)勢。
圖5 圖片數(shù)據(jù)量大小與執(zhí)行時間的關(guān)系(用戶a)
然后,我們對用戶b進(jìn)行觀察,如圖6所示,無論在本地執(zhí)行,還是在服務(wù)器上執(zhí)行,這兩種執(zhí)行方式的網(wǎng)絡(luò)延時相對穩(wěn)定,不太受數(shù)據(jù)量變化的影響。這是因為都不涉及到數(shù)據(jù)傳輸。而計算卸載算法的網(wǎng)絡(luò)時延則隨著數(shù)據(jù)量的增加而變大,這是因為數(shù)據(jù)量的增大,導(dǎo)致計算開銷增大,計算時間變長,導(dǎo)致結(jié)果返回的時間變長,因此時延不斷增加。
圖6 數(shù)據(jù)量與網(wǎng)絡(luò)時延的關(guān)系(用戶b)
對用戶C分析能耗,從圖7我們可以得出結(jié)論,當(dāng)數(shù)據(jù)量很小時,直接在云服務(wù)器上的耗能最小。本地執(zhí)行模式的能耗表現(xiàn)比較穩(wěn)定,因為不需要傳輸數(shù)據(jù),因此消耗的能量主要由程序計算所消耗的能量構(gòu)成。在數(shù)據(jù)量逐漸增大后,計算卸載算法的表現(xiàn)比全部卸載更優(yōu)。
圖7 用戶C 數(shù)據(jù)量與能量消耗的關(guān)系
為了進(jìn)一步驗證基于用戶個性化需求的算法性能和效果,我們將本章提出的算法與基于Min-Cut的貪婪計算卸載算法進(jìn)行了比較。我們設(shè)定了圖片的大小為8M,網(wǎng)絡(luò)的帶寬固定為100KB,結(jié)果如表2所示。
表2 算法的綜合性能比較
如表2所示,貪婪Min-Cut算法的執(zhí)行時間比我們提出的算法更短,這是因為該算法不需要使用模型進(jìn)行預(yù)測。但是我們提出的調(diào)整權(quán)重的Min-Cut算法的能耗比貪婪Min-Cut稍低。另外,我們提出的算法在滿足用戶個性化用戶需求方面的優(yōu)勢是貪婪Min-Cut算法所不具備的。
本文提出了基于用戶個性化需求的計算卸載決策算法,用于改善用戶的移動計算個性化計算卸載體驗。首先,結(jié)合機器學(xué)習(xí)算法設(shè)計了一個用戶興趣分布模型,深度研究用戶的個性化需求,從而使移動計算可以為用戶提供個性化的服務(wù)。然后,使用個性化參數(shù)調(diào)整,將用戶主觀卸載意愿和客觀卸載決策參數(shù)進(jìn)行結(jié)合,構(gòu)建了基于用戶個性化卸載需求的網(wǎng)絡(luò)流圖,使用最大流最小割算法對應(yīng)用程序進(jìn)行劃分。最后,通過實驗對模型的性能進(jìn)行了評估。