18
Research Article CooperativeRuntimeOffloadingDecisionAlgorithmforMobile CloudComputing XiaominJin , 1,2 ZhongminWang, 1,2 andWenqiangHua 1,2 1 School of Computer Science and Technology, Xi’an University of Posts and Telecommunications, Xi’an, Shaanxi 710121, China 2 Shaanxi Key Laboratory of Network Data Analysis and Intelligent Processing, Xi’an University of Posts and Telecommunications, Xi’an, Shaanxi 710121, China Correspondence should be addressed to Xiaomin Jin; [email protected] Received 24 January 2019; Revised 11 July 2019; Accepted 12 August 2019; Published 17 September 2019 Academic Editor: Carlos A. Gutierrez Copyright © 2019 Xiaomin Jin et al. is is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Mobile cloud computing (MCC) provides a platform for resource-constrained mobile devices to offload their tasks. MCC has the characteristics of cloud computing and its own features such as mobility and wireless data transmission, which bring new challenges to offloading decision for MCC. However, most existing works on offloading decision assume that mobile cloud environments are stable and only focus on optimizing the consumption of offloaded applications but ignore the consumption caused by offloading decision algorithms themselves. is paper focuses on runtime offloading decision in dynamic mobile cloud environments with the consideration of reducing the offloading decision algorithm’s consumption. A cooperative runtime offloading decision algorithm, which takes advantage of the cooperation of online machine learning and genetic algorithm to make offloading decisions, is proposed to address this problem. Simulations show that the proposed algorithm helps offloaded applications save more energy and time while consuming fewer computing resources. 1.Introduction With the rapid development of wireless communication and computer technologies, using mobile devices (MDs) has become increasingly common in daily life. Cisco predicted that the number of MDs worldwide will grow from 8.6 billion in 2017 to 12.3 billion in 2022 [1]. With the popularity of MDs, mobile Internet has entered a stage of rapid development. For instance, according to Internet Trend Report 2018 [2], the number of mobile Internet users in China has exceeded 753 million with a year-on- year growth rate of 8%, accounting for more than half of the total population. At the same time, stimulated by mobile Internet, a large number of mobile applications that provide users with varieties of services are developed. People are spending more and more time on MDs based ontheideathattheywanttodoeverythingwiththehelpof mobile applications. In recent years, with the advance- ment of semiconductor manufacturing techniques, MD performance has been improved with high-speed CPUs and large-capacity memories. However, on the one hand, the fast hardware consumes more energy and causes more heat dissipation. MDs are usually powered by batteries, whose capacity is limited because their size is limited to support MDs’ portability. Unlike the semiconductor technology, the battery technology has not made break- throughs in the short term, and the annual growth rate of battery capacity is only 5% [3]. e development of battery technology lags far behind the semiconductor technology developed by Moore’s Law. In addition, according to Andy-Bill’s law [4], MD operating systems (e.g., Android and iOS) and applications will become more complex, which causes more energy consumption and shortens the working time of MDs after one charge further. On the other hand, because of a series of factors such as archi- tecture and volume, although MD processing capacity has been improved, it is still weak compared with that of the ordinary computer, making MDs take much time and energy to execute some applications, and even cannot execute heavy applications. As a result, these constraints lead to a poor user experience and prevent the further development of MDs. Hindawi Mobile Information Systems Volume 2019, Article ID 8049804, 17 pages https://doi.org/10.1155/2019/8049804

CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

Research ArticleCooperative Runtime Offloading Decision Algorithm for MobileCloud Computing

Xiaomin Jin 12 Zhongmin Wang12 and Wenqiang Hua12

1School of Computer Science and Technology Xirsquoan University of Posts and Telecommunications Xirsquoan Shaanxi 710121 China2Shaanxi Key Laboratory of Network Data Analysis and Intelligent ProcessingXirsquoan University of Posts and Telecommunications Xirsquoan Shaanxi 710121 China

Correspondence should be addressed to Xiaomin Jin xmjinxupteducn

Received 24 January 2019 Revised 11 July 2019 Accepted 12 August 2019 Published 17 September 2019

Academic Editor Carlos A Gutierrez

Copyright copy 2019 Xiaomin Jin et al (is is an open access article distributed under the Creative Commons Attribution Licensewhich permits unrestricted use distribution and reproduction in any medium provided the original work is properly cited

Mobile cloud computing (MCC) provides a platform for resource-constrained mobile devices to offload their tasks MCC has thecharacteristics of cloud computing and its own features such as mobility and wireless data transmission which bring newchallenges to offloading decision for MCC However most existing works on offloading decision assume that mobile cloudenvironments are stable and only focus on optimizing the consumption of offloaded applications but ignore the consumptioncaused by offloading decision algorithms themselves (is paper focuses on runtime offloading decision in dynamic mobile cloudenvironments with the consideration of reducing the offloading decision algorithmrsquos consumption A cooperative runtimeoffloading decision algorithm which takes advantage of the cooperation of online machine learning and genetic algorithm tomake offloading decisions is proposed to address this problem Simulations show that the proposed algorithm helps offloadedapplications save more energy and time while consuming fewer computing resources

1 Introduction

With the rapid development of wireless communicationand computer technologies using mobile devices (MDs)has become increasingly common in daily life Ciscopredicted that the number of MDs worldwide will growfrom 86 billion in 2017 to 123 billion in 2022 [1] Withthe popularity of MDs mobile Internet has entered a stageof rapid development For instance according to InternetTrend Report 2018 [2] the number of mobile Internetusers in China has exceeded 753 million with a year-on-year growth rate of 8 accounting for more than half ofthe total population At the same time stimulated bymobile Internet a large number of mobile applicationsthat provide users with varieties of services are developedPeople are spending more and more time on MDs basedon the idea that they want to do everything with the help ofmobile applications In recent years with the advance-ment of semiconductor manufacturing techniques MDperformance has been improved with high-speed CPUsand large-capacity memories However on the one hand

the fast hardware consumes more energy and causes moreheat dissipation MDs are usually powered by batterieswhose capacity is limited because their size is limited tosupport MDsrsquo portability Unlike the semiconductortechnology the battery technology has not made break-throughs in the short term and the annual growth rate ofbattery capacity is only 5 [3] (e development of batterytechnology lags far behind the semiconductor technologydeveloped by Moorersquos Law In addition according toAndy-Billrsquos law [4] MD operating systems (eg Androidand iOS) and applications will become more complexwhich causes more energy consumption and shortens theworking time of MDs after one charge further On theother hand because of a series of factors such as archi-tecture and volume although MD processing capacity hasbeen improved it is still weak compared with that of theordinary computer making MDs take much time andenergy to execute some applications and even cannotexecute heavy applications As a result these constraintslead to a poor user experience and prevent the furtherdevelopment of MDs

HindawiMobile Information SystemsVolume 2019 Article ID 8049804 17 pageshttpsdoiorg10115520198049804

Computation offloading is an effective way to solve theproblem of limited resources of MDs MDsrsquo tasks can bemigrated to external machines by computation offloadingCloud computing as a business computing model canprovide powerful external computing resources to MDsCloud computing is a pay-per-use model that suppliesavailable convenient on-demand network access to a sharedpool of configurable computing and storage resources [5]Users can consume these cloud resources through networksjust as they consume water through water pipes electricitythrough wires and natural gas through gas pipes Enterpriseand individual users no longer need to buy their own ex-pensive high-performance computing equipments as theycan access high-performance computing and storage servicesthrough the cloud Mobile cloud computing (MCC) which isa combination of cloud computing mobile computing andwireless networks [6ndash8] enhances the MD performancethrough cloud computing For MDs MCC provides a richpool of computing resources that can be accessed throughwireless networks MCC helps MDs break through theirresource limitations frees them from heavy local workloadsand makes them more responsible for connecting users andthe information domain Benefiting from MDsrsquo portabilityusers can connect with the resource-rich cloud anytime andanywhere in MCC and enjoy the convenience of informati-zation better MCC has attracted wide attention from industryand academia because of its tremendous potential (ere hasbeen a lot of research on MCC For instance Cuervo et alimplemented a computation offloading architecture namedldquoMAUIrdquo [9] which offloads some heavy functions to cloudinfrastructures to save energy of smartphones Kosta et alproposed a new code offloading framework named ldquo(in-kAirrdquo [10] which offloads applications to the cloud and usesmultiple virtual machine images to parallelize functionsrsquoexecution Kemp et al implemented a computation offloadingframework named ldquoCuckoordquo [11] for Android smartphoneswhich offloads tasks to a remote server to reduce smart-phonesrsquo power consumption and to increase their speedMoreover there have been many mobile cloud applicationsfor e-commerce [12] mobile healthcare [13] and mobileeducation [14] It is believed that more and more types ofmobile cloud applications will appear with the further de-velopment of MCC

One important problem in the research field of cloudcomputing is how to make offloading decisions whichdetermine where tasks should be executed locally or re-motely Offloading decision-making in MCC is differentfrom that in grid computing and multiprocessor In thesefields the optimization goal of offloading decision-making isto balance the load and minimize the edge cut and themigration volume [15] In traditional cloud computing theuser equipment (eg desktop computer) is connected to thecloud via wired networks and is electrified by plugs andsockets which suppress the need for energy-efficient datatransmission techniques InMCCMDs are connected to thecloud via wireless links which have limited bandwidth andconsume a high amount of energy available in the mobilebattery Wireless networks have a serious impact on theenergy-saving and time-saving effects of computation

offloading in MCC [16] (is feature makes MCC to taketime and energy consumption of computation offloadinginto account when making offloading decisions Addition-ally mobile users move among different environments andwireless network conditions change constantly making theoffloading decision-making in MCC a dynamic problem(e problem of how to make offloading decisions is usuallyconverted to the application partitioning problem Appli-cation partitioning problems are NP complete which causesoffloading decision algorithms to consume more computingresources However most existing research on offloadingdecision is focused on optimizing the consumption (energyor time) of offloaded applications ignoring the overhead ofdecision-making algorithms

(is paper focuses on runtime offloading decision indynamic mobile cloud environments and proposes a co-operative runtime offloading decision algorithm that com-bines online machine learning (ML) and genetic algorithm(GA) to achieve two purposes (i) making dynamic off-loading decisions and (ii) reducing the consumption of theoffloading decision algorithm In the cooperative algorithmoffloading strategies developed by GA are used as thetraining data for online ML and offloading strategies pre-dicted by online ML are used to accelerate GArsquos conver-gence Different from existing works that mainly focus onreducing the consumption of offloaded applications butignore the offloading decision algorithmsrsquo consumption thecooperative algorithm reduces the consumption of offloadedapplications while reducing its own computing resourceconsumption with the help of the cooperation of online MLand GA In the process of computation offloading a lot ofoffloading strategy data are generated If these historicaloffloading strategy data are not utilized a large amount ofrepeated calculations will consume more computing re-sources (e cooperative algorithm is proposed based on theidea that mobile applications have their own offloadinghabits and rules which can be learned from the historicaloffloading strategy data with the help of ML techniques (eoffline ML which requires a large amount of training data tobe trained in batch is not practical for a single mobile userbecause it is difficult for himher to collect enough trainingdata Conversely the online ML which learns using oneinstance at one time and trains its predictor step by step isappropriate for a single mobile user (e main contributionsof this paper are twofold

(1) A cooperative runtime decision model which aimsto minimize the weighted total cost of offloadedapplications while reducing the computing resourceconsumption of the offloading decision algorithm isestablished to formulate the multisite offloadingdecision problem in dynamic mobile cloudenvironments

(2) A novel cooperative runtime offloading decisionalgorithm based on the cooperation of online MLand GA is proposed in which offloading strategiesdeveloped by GA are used as the training data foronline ML and offloading strategies predicted byonline ML are used to accelerate GArsquos convergence

2 Mobile Information Systems

(e remainder of this paper is organized as follows InSection 2 we review the related work Section 3 introducesthe computation offloading system (e runtime offloadingdecision algorithm based on the cooperation of online MLand GA is illustrated in Section 4 In Section 5 we evaluatethe proposed algorithm Section 6 concludes this paper

2 Related Works

(ere are three fundamental issues [17] inMCC (i) where tooffload (ii) what to offload and (iii) when to offload (efirst and second issues indicate what kind of MCC archi-tecture is used and what is used as the offloading unit (egprocess class and function) respectively (e third issueindicates when the offloading unit is offloaded to the cloudIn this paper we mainly focus on the third issue so wereview the related work that focuses on offloading decision

As mentioned above offloading decision is usuallyconverted to application partitioning For instance Li et alconstructed a cost graph of a given application throughprofiling the information of computing time and datasharing of its procedure calls and then divided the appli-cation into the server part and client part by the branch-and-bound algorithm such that the energy consumed by theapplication is minimized [18] Li et al also proposed a taskpartitioning and allocation scheme that divides the data-processing tasks between the server and the MD to optimizetasksrsquo energy cost [19] Some researchers focused on mul-tisite offloading in which the computation can be offloadedto multiple cloud servers Goudarzi et al established aweighted model for multisite offloading in MCC in terms ofexecution time energy consumption and weighted cost andthen proposed an offloading strategy algorithm based on GA[20] (ey used a reserve population besides the original GApopulation to diversify chromosomes and modified geneticoperators to adapt to the multisite offloading problem (eyinitialized genetic operators for the multisite offloadingproblem to reduce the probability of generating ineffectivechromosomes and optimized the crossover operator bymeans of a local fitness inbreeding and crossbreeding togenerate better chromosomes Enzai and Tang formulatedthe multisite computation offloading problem in MCC as amultiobjective combinatorial optimization problem suchthat the execution time of the mobile computation theenergy consumption of the MD and the cost of using thecloud services are minimized and then transformed it into aweighted single-objective optimization problem [21] Tosolve this optimization problem they proposed a heuristicalgorithm based on greedy hill climbing Niu et al for-mulated the multiway application partitioning problem asan integer linear programming (ILP) problem and proposedan energy-efficient offloading decision algorithm to solve it[22] Kumari et al considered a trade-off between com-pletion time and energy-savings for offloading in the mul-tisite environment and proposed a two-step algorithm thatconsists of the cost-and-time-constrained task partitioningand offloading algorithm the multisite task scheduling al-gorithm based on teaching learning-based optimizationand the energy-saving on multisite using dynamic voltage

and frequency scaling technique [23] Sinha and Kulkarniproposed a fine-grained and multisite application parti-tioning approach to minimize the computation cost [24](ey converted the application partitioning problem to alabel-assignment problem and used two heuristic algorithmsto make offloading decisions Khoda et al made offloadingdecisions with the goal of meeting application delay re-quirements while maximizing the energy conservation andused a nonlinear optimization method based on theLagrange multiplier to develop the offloading strategy [25]

At present most studies (eg [18ndash25]) focus on staticoffloading decision algorithms which assume that mobilecloud environments do not change(ese algorithms developoffloading strategies through program analysis during theapplication development phase and the offloading strategiesare fixed after the completion of the application development(ere are few studies on dynamic offloading decision algo-rithms which develop offloading strategies at runtime andwhose offloading strategies change constantly to adapt todynamic mobile cloud environments Kovachev et alimplemented a middleware named ldquoMobile AugmentationCloud Servicesrdquo (MACS) which offloads Android applicationto the cloud adaptively to minimize the transfer cost thememory cost and the CPU cost [26] MACS partitions theapplication at runtime making it able to adapt to dynamicmobile cloud environments At runtime MACS forms an ILPproblem whose solution is used as the offloading strategyMACS solves a new ILP problem to adapt to the new en-vironment after the environmental parameters change Yanget al designed an online solution named ldquoForeseerrdquo whichrepartitions application at runtime in dynamic mobile cloudenvironments to shorten the application completion time[27] Foreseer predicts the network status periodically byusersrsquo historical mobility information and then updates theapplication partitions Jin et al proposed a runtime offloadingdecision algorithm based on the memory-based immigrantsadaptive GA to optimize the weighted cost and explored theusage of concurrent multiple transfer in computation off-loading for MCC to combat the challenges caused by wirelesscommunications [28] Eom et al proposed an adaptivescheduling algorithm based on the offline ML for the mobileoffloading system [29] In [30] Eom et al proposed anadaptive scheduler based on online ML (is scheduler needsa module that forwards and executes computation tasks inboth local and remote units to provide feedback in the onlinetraining phase

(is paper focuses on runtime offloading decision indynamicmobile cloud environments and considers reducingthe offloading decision algorithmrsquos consumption whichgoes beyond existing works To optimize the consumption ofoffloaded applications while reducing the consumption ofthe offloading decision algorithm advantages of online MLand GA are taken through their cooperation Different fromworks that simply use ML the proposed algorithm does notneed to generate additional training data (e training dataare obtained from historical offloading strategies that havebeen used Moreover relationships among applicationcomponents and the situation where there are multiplecloud servers are also considered

Mobile Information Systems 3

3 Computation Offloading System

In this section the computation offloading system is in-troduced First we introduce the computation offloadingarchitecture which determines how to offload the compu-tation and indicates ldquowhere to offloadrdquo (en we illustratethe application model which determines the offloading unitand indicates ldquowhat to offloadrdquo

31 Computation Offloading Architecture (e computationoffloading architecture is the foundation of MCC and de-termines the way of computation offloading (e architectureillustrated in Figure 1 is helpful in understanding the process ofcomputation offloading (e MD is connected to the cloud viaInternet which can be accessed through wireless access pointsServers in the cloud are connected via wired networks (eoffloading decision algorithm runs in the strategy server thatcan be a cloudlet [31] or a server near the access point Manyexisting offloading decision algorithms run in MDs whichignore the consumption of the decision algorithms themselvesLet us take a hypothetical case the consumption of the off-loading decision algorithm is larger than the application con-sumption saved by the computation offloading In this case theapplication consumption decreases but the total MD con-sumption increases(e requested and replied data of a strategyare quite little and frequent (e roundtrip latency of the cloudis larger than the time required for the strategy transmissionCompared with the cloud the strategy server is very close to theMD is more suitable to execute the offloading decision algo-rithm and allows the offloading decision to be made timelyNevertheless compared with the cloud whose resources can beconsidered unlimited the resources of the strategy server arelimited (erefore this paper establishes a cooperative runtimedecision model and proposes a cooperative runtime offloadingdecision algorithm to reduce the consumption of offloadedapplications while reducing the computing resource con-sumption of the offloading decision algorithm with the help ofthe cooperation of online ML and GA

Because the proposed offloading decision algorithm runsin the strategy server it is possible thatMDs disconnect fromthe strategy server In this architecture application com-ponents are deployed on both MDs and the cloud by MDand cloud patterns (ere have been some studies on how toreconstruct applications into MD and cloud patterns Forexample Zhang et al implemented a refactoring tool namedldquoDPartnerrdquo to automatically transform the bytecode of anAndroid application into MD and cloud patterns [32] Afterprocessing by DPartner an Android application is recon-structed into two files (e first is the refactored Androidapplication file (apk file) which is the MD pattern file and isdeployed in the MD (e second is the cloud pattern filewhich is an executable jar file and contains the offloadableJava bytecode files cloned from the refactored application(e cloud pattern file is deployed inmultiple cloud servers Ifthe MD disconnects from the strategy server one solution isusing a timeout retransmission mechanism to reconnect tothe strategy server and re-requesting for the offloadingstrategy after a timeout If the timeout retransmission

mechanism fails the local execution strategy will be usedbefore the connection is restored

(e typical process of the computation offloading isdescribed as follows When an application component isabout to execute an offloading request is sent to the strategyserver to obtain the offloading strategy After receiving anoffloading request the strategy server returns the offloadingstrategy of that component (e component is executedaccording to the offloading strategy returned If the offloadingstrategy indicates that this component is executed locally itwill be executed in the MD On the contrary if the offloadingstrategy indicates that this component is executed remotely itwill be executed in the cloud server that is assigned by theoffloading strategy Some components need input data beforeexecution(ere will be a data transmission if the data are notin the same place as the componentrsquos execution For exampleif a component is executed in the MD but its input data are ina cloud server the data are transmitted to theMD through thewireless network If a component is executed in a cloud serverbut its input data are in another cloud server the data aretransmitted through the wired network

32ApplicationModel (e application is composed of manycomponents (eg processes classes and functions) which arethe offloading units in the computation offloading system Anapplication is represented by a graph G (V E) [33] illus-trated in Figure 2 (e target is to partition the applicationinto several parts at runtime according to the optimizationobjective A vertex v (v isin V) represents a component which ismodeled as a 3-tuple cv ρv lv ov1113864 1113865 ρv represents theamount of the component cvrsquos instructions or CPU cycleswhich can be obtained through application analysis (isapplication model is a fine-grained model and the case wherethere are unoffloadable components is also considered lv is abinary variable that represents whether the component cv isoffloadable lv 0means the component cv is offloadable lv 1means the component cv is unoffloadable andmust be executedlocally Some components of a mobile application areunoffloadable because they have to operate MD hardware(eg sensors and screen) (e slash-filled circles in Figure 2represent the unoffloadable components ov represents theexecution sequence of the component cv For instance thecomponent c2 is executed after the completion of thecomponent c0 and component c1 and needs the output dataof these two components An edge e (u v) (u v isin V)represents the interactive relationship between the com-ponent cu and the component cv and its weight duv denotesthe amount of interactive data If two components have nointeractive relationship the edge weight is set to zero Insome cases the last component cN has the output data thatneed to be passed to the first component c0 before theapplicationrsquos completion In other cases the applicationcompletes after the completion of the component cN

4 Runtime Offloading Decision Algorithm

In this section we illustrate the runtime offloading decisionalgorithm based on the cooperation of online ML and GA It

4 Mobile Information Systems

determines when the offloading unit should be offloaded tothe cloud and answers the question ldquowhen to offloadrdquo Wefirst describe the optimization objective and then describe thecooperative runtime offloading decision algorithm in detail

41 Optimization Objective (e offloading strategy of theapplication G is modeled as a vector X (x0 x1 xN) inwhich xv (0lexv le k v isin V) represents the offloadingstrategy of the component cv and k represents the maximumnumber of available cloud servers xv 0 indicates that thecomponent cv is executed in the MD and xv i (1le ile k)indicates that the component cv is executed in the cloudserver csi In this paper the optimization objective is to save

both energy and time (ese two optimization objectives areconverted to one through two weights (we and wtwe + wt 1) based on the linear weighted sum method werepresents the weight of energy cost and wt represents theweight of time cost(e objective function which representsthe weighted total cost of the application G is defined asequation (1) and the goal is to minimize it El(G) and Tl(G)

represent the energy and time costs when the application G

is executed locally respectively E(G X) and T(G X) rep-resent the energy and time costs when the application G isexecuted according to the offloading strategy X respectively

F(G X) weE(G X)

El(G)+ wt

T(G X)

Tl(G)

1113944visinV

weExv

v

El(G)+ wt

Txvv

Tl(G)1113888 1113889

+ 1113944uisinV

1113944visinV

weExuxv

uv

El(G)+ wt

Txuxvuv

Tl(G)1113888 1113889

(1)

Txvv and Exv

v which are illustrated in equations (2) and(3) respectively represent the time and energy costs whenthe component cv is executed according to xv fm and pmrepresent the MDrsquos working frequency and working powerrespectively When the component is executed in a cloudserver the MD enters the idle state and its idle power isrepresented by pi fcs

i represents the cloud server csirsquosworking frequency and dti represents the delay before acomponentrsquos execution in the cloud server csi (e delaycontains queuing delay and some other preparation time tcs

represents the wired networksrsquo throughput among thesecloud servers Cloud servers in the computation offloadingsystem are represented by CSs (fcs

i dti) | i 1 2 k1113864 1113865

Internet

Cloud

Sends data

Receives data

Mobiledevice

Access point

Strategyserver

Returns offloading strategy

Requests for offloading strategy

Unoffloadable MD pattern Offloadable MD pattern

Unoffloadable cloud pattern Offloadable cloud pattern

Figure 1 Computation offloading architecture

CN

Cj

C3

Ci

C0C1

C2

dN0 d01

d02

d2i

d3i

d3j

d0j

dij

djN d12

d23

d03

Figure 2 Application model

Mobile Information Systems 5

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 2: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

Computation offloading is an effective way to solve theproblem of limited resources of MDs MDsrsquo tasks can bemigrated to external machines by computation offloadingCloud computing as a business computing model canprovide powerful external computing resources to MDsCloud computing is a pay-per-use model that suppliesavailable convenient on-demand network access to a sharedpool of configurable computing and storage resources [5]Users can consume these cloud resources through networksjust as they consume water through water pipes electricitythrough wires and natural gas through gas pipes Enterpriseand individual users no longer need to buy their own ex-pensive high-performance computing equipments as theycan access high-performance computing and storage servicesthrough the cloud Mobile cloud computing (MCC) which isa combination of cloud computing mobile computing andwireless networks [6ndash8] enhances the MD performancethrough cloud computing For MDs MCC provides a richpool of computing resources that can be accessed throughwireless networks MCC helps MDs break through theirresource limitations frees them from heavy local workloadsand makes them more responsible for connecting users andthe information domain Benefiting from MDsrsquo portabilityusers can connect with the resource-rich cloud anytime andanywhere in MCC and enjoy the convenience of informati-zation better MCC has attracted wide attention from industryand academia because of its tremendous potential (ere hasbeen a lot of research on MCC For instance Cuervo et alimplemented a computation offloading architecture namedldquoMAUIrdquo [9] which offloads some heavy functions to cloudinfrastructures to save energy of smartphones Kosta et alproposed a new code offloading framework named ldquo(in-kAirrdquo [10] which offloads applications to the cloud and usesmultiple virtual machine images to parallelize functionsrsquoexecution Kemp et al implemented a computation offloadingframework named ldquoCuckoordquo [11] for Android smartphoneswhich offloads tasks to a remote server to reduce smart-phonesrsquo power consumption and to increase their speedMoreover there have been many mobile cloud applicationsfor e-commerce [12] mobile healthcare [13] and mobileeducation [14] It is believed that more and more types ofmobile cloud applications will appear with the further de-velopment of MCC

One important problem in the research field of cloudcomputing is how to make offloading decisions whichdetermine where tasks should be executed locally or re-motely Offloading decision-making in MCC is differentfrom that in grid computing and multiprocessor In thesefields the optimization goal of offloading decision-making isto balance the load and minimize the edge cut and themigration volume [15] In traditional cloud computing theuser equipment (eg desktop computer) is connected to thecloud via wired networks and is electrified by plugs andsockets which suppress the need for energy-efficient datatransmission techniques InMCCMDs are connected to thecloud via wireless links which have limited bandwidth andconsume a high amount of energy available in the mobilebattery Wireless networks have a serious impact on theenergy-saving and time-saving effects of computation

offloading in MCC [16] (is feature makes MCC to taketime and energy consumption of computation offloadinginto account when making offloading decisions Addition-ally mobile users move among different environments andwireless network conditions change constantly making theoffloading decision-making in MCC a dynamic problem(e problem of how to make offloading decisions is usuallyconverted to the application partitioning problem Appli-cation partitioning problems are NP complete which causesoffloading decision algorithms to consume more computingresources However most existing research on offloadingdecision is focused on optimizing the consumption (energyor time) of offloaded applications ignoring the overhead ofdecision-making algorithms

(is paper focuses on runtime offloading decision indynamic mobile cloud environments and proposes a co-operative runtime offloading decision algorithm that com-bines online machine learning (ML) and genetic algorithm(GA) to achieve two purposes (i) making dynamic off-loading decisions and (ii) reducing the consumption of theoffloading decision algorithm In the cooperative algorithmoffloading strategies developed by GA are used as thetraining data for online ML and offloading strategies pre-dicted by online ML are used to accelerate GArsquos conver-gence Different from existing works that mainly focus onreducing the consumption of offloaded applications butignore the offloading decision algorithmsrsquo consumption thecooperative algorithm reduces the consumption of offloadedapplications while reducing its own computing resourceconsumption with the help of the cooperation of online MLand GA In the process of computation offloading a lot ofoffloading strategy data are generated If these historicaloffloading strategy data are not utilized a large amount ofrepeated calculations will consume more computing re-sources (e cooperative algorithm is proposed based on theidea that mobile applications have their own offloadinghabits and rules which can be learned from the historicaloffloading strategy data with the help of ML techniques (eoffline ML which requires a large amount of training data tobe trained in batch is not practical for a single mobile userbecause it is difficult for himher to collect enough trainingdata Conversely the online ML which learns using oneinstance at one time and trains its predictor step by step isappropriate for a single mobile user (e main contributionsof this paper are twofold

(1) A cooperative runtime decision model which aimsto minimize the weighted total cost of offloadedapplications while reducing the computing resourceconsumption of the offloading decision algorithm isestablished to formulate the multisite offloadingdecision problem in dynamic mobile cloudenvironments

(2) A novel cooperative runtime offloading decisionalgorithm based on the cooperation of online MLand GA is proposed in which offloading strategiesdeveloped by GA are used as the training data foronline ML and offloading strategies predicted byonline ML are used to accelerate GArsquos convergence

2 Mobile Information Systems

(e remainder of this paper is organized as follows InSection 2 we review the related work Section 3 introducesthe computation offloading system (e runtime offloadingdecision algorithm based on the cooperation of online MLand GA is illustrated in Section 4 In Section 5 we evaluatethe proposed algorithm Section 6 concludes this paper

2 Related Works

(ere are three fundamental issues [17] inMCC (i) where tooffload (ii) what to offload and (iii) when to offload (efirst and second issues indicate what kind of MCC archi-tecture is used and what is used as the offloading unit (egprocess class and function) respectively (e third issueindicates when the offloading unit is offloaded to the cloudIn this paper we mainly focus on the third issue so wereview the related work that focuses on offloading decision

As mentioned above offloading decision is usuallyconverted to application partitioning For instance Li et alconstructed a cost graph of a given application throughprofiling the information of computing time and datasharing of its procedure calls and then divided the appli-cation into the server part and client part by the branch-and-bound algorithm such that the energy consumed by theapplication is minimized [18] Li et al also proposed a taskpartitioning and allocation scheme that divides the data-processing tasks between the server and the MD to optimizetasksrsquo energy cost [19] Some researchers focused on mul-tisite offloading in which the computation can be offloadedto multiple cloud servers Goudarzi et al established aweighted model for multisite offloading in MCC in terms ofexecution time energy consumption and weighted cost andthen proposed an offloading strategy algorithm based on GA[20] (ey used a reserve population besides the original GApopulation to diversify chromosomes and modified geneticoperators to adapt to the multisite offloading problem (eyinitialized genetic operators for the multisite offloadingproblem to reduce the probability of generating ineffectivechromosomes and optimized the crossover operator bymeans of a local fitness inbreeding and crossbreeding togenerate better chromosomes Enzai and Tang formulatedthe multisite computation offloading problem in MCC as amultiobjective combinatorial optimization problem suchthat the execution time of the mobile computation theenergy consumption of the MD and the cost of using thecloud services are minimized and then transformed it into aweighted single-objective optimization problem [21] Tosolve this optimization problem they proposed a heuristicalgorithm based on greedy hill climbing Niu et al for-mulated the multiway application partitioning problem asan integer linear programming (ILP) problem and proposedan energy-efficient offloading decision algorithm to solve it[22] Kumari et al considered a trade-off between com-pletion time and energy-savings for offloading in the mul-tisite environment and proposed a two-step algorithm thatconsists of the cost-and-time-constrained task partitioningand offloading algorithm the multisite task scheduling al-gorithm based on teaching learning-based optimizationand the energy-saving on multisite using dynamic voltage

and frequency scaling technique [23] Sinha and Kulkarniproposed a fine-grained and multisite application parti-tioning approach to minimize the computation cost [24](ey converted the application partitioning problem to alabel-assignment problem and used two heuristic algorithmsto make offloading decisions Khoda et al made offloadingdecisions with the goal of meeting application delay re-quirements while maximizing the energy conservation andused a nonlinear optimization method based on theLagrange multiplier to develop the offloading strategy [25]

At present most studies (eg [18ndash25]) focus on staticoffloading decision algorithms which assume that mobilecloud environments do not change(ese algorithms developoffloading strategies through program analysis during theapplication development phase and the offloading strategiesare fixed after the completion of the application development(ere are few studies on dynamic offloading decision algo-rithms which develop offloading strategies at runtime andwhose offloading strategies change constantly to adapt todynamic mobile cloud environments Kovachev et alimplemented a middleware named ldquoMobile AugmentationCloud Servicesrdquo (MACS) which offloads Android applicationto the cloud adaptively to minimize the transfer cost thememory cost and the CPU cost [26] MACS partitions theapplication at runtime making it able to adapt to dynamicmobile cloud environments At runtime MACS forms an ILPproblem whose solution is used as the offloading strategyMACS solves a new ILP problem to adapt to the new en-vironment after the environmental parameters change Yanget al designed an online solution named ldquoForeseerrdquo whichrepartitions application at runtime in dynamic mobile cloudenvironments to shorten the application completion time[27] Foreseer predicts the network status periodically byusersrsquo historical mobility information and then updates theapplication partitions Jin et al proposed a runtime offloadingdecision algorithm based on the memory-based immigrantsadaptive GA to optimize the weighted cost and explored theusage of concurrent multiple transfer in computation off-loading for MCC to combat the challenges caused by wirelesscommunications [28] Eom et al proposed an adaptivescheduling algorithm based on the offline ML for the mobileoffloading system [29] In [30] Eom et al proposed anadaptive scheduler based on online ML (is scheduler needsa module that forwards and executes computation tasks inboth local and remote units to provide feedback in the onlinetraining phase

(is paper focuses on runtime offloading decision indynamicmobile cloud environments and considers reducingthe offloading decision algorithmrsquos consumption whichgoes beyond existing works To optimize the consumption ofoffloaded applications while reducing the consumption ofthe offloading decision algorithm advantages of online MLand GA are taken through their cooperation Different fromworks that simply use ML the proposed algorithm does notneed to generate additional training data (e training dataare obtained from historical offloading strategies that havebeen used Moreover relationships among applicationcomponents and the situation where there are multiplecloud servers are also considered

Mobile Information Systems 3

3 Computation Offloading System

In this section the computation offloading system is in-troduced First we introduce the computation offloadingarchitecture which determines how to offload the compu-tation and indicates ldquowhere to offloadrdquo (en we illustratethe application model which determines the offloading unitand indicates ldquowhat to offloadrdquo

31 Computation Offloading Architecture (e computationoffloading architecture is the foundation of MCC and de-termines the way of computation offloading (e architectureillustrated in Figure 1 is helpful in understanding the process ofcomputation offloading (e MD is connected to the cloud viaInternet which can be accessed through wireless access pointsServers in the cloud are connected via wired networks (eoffloading decision algorithm runs in the strategy server thatcan be a cloudlet [31] or a server near the access point Manyexisting offloading decision algorithms run in MDs whichignore the consumption of the decision algorithms themselvesLet us take a hypothetical case the consumption of the off-loading decision algorithm is larger than the application con-sumption saved by the computation offloading In this case theapplication consumption decreases but the total MD con-sumption increases(e requested and replied data of a strategyare quite little and frequent (e roundtrip latency of the cloudis larger than the time required for the strategy transmissionCompared with the cloud the strategy server is very close to theMD is more suitable to execute the offloading decision algo-rithm and allows the offloading decision to be made timelyNevertheless compared with the cloud whose resources can beconsidered unlimited the resources of the strategy server arelimited (erefore this paper establishes a cooperative runtimedecision model and proposes a cooperative runtime offloadingdecision algorithm to reduce the consumption of offloadedapplications while reducing the computing resource con-sumption of the offloading decision algorithm with the help ofthe cooperation of online ML and GA

Because the proposed offloading decision algorithm runsin the strategy server it is possible thatMDs disconnect fromthe strategy server In this architecture application com-ponents are deployed on both MDs and the cloud by MDand cloud patterns (ere have been some studies on how toreconstruct applications into MD and cloud patterns Forexample Zhang et al implemented a refactoring tool namedldquoDPartnerrdquo to automatically transform the bytecode of anAndroid application into MD and cloud patterns [32] Afterprocessing by DPartner an Android application is recon-structed into two files (e first is the refactored Androidapplication file (apk file) which is the MD pattern file and isdeployed in the MD (e second is the cloud pattern filewhich is an executable jar file and contains the offloadableJava bytecode files cloned from the refactored application(e cloud pattern file is deployed inmultiple cloud servers Ifthe MD disconnects from the strategy server one solution isusing a timeout retransmission mechanism to reconnect tothe strategy server and re-requesting for the offloadingstrategy after a timeout If the timeout retransmission

mechanism fails the local execution strategy will be usedbefore the connection is restored

(e typical process of the computation offloading isdescribed as follows When an application component isabout to execute an offloading request is sent to the strategyserver to obtain the offloading strategy After receiving anoffloading request the strategy server returns the offloadingstrategy of that component (e component is executedaccording to the offloading strategy returned If the offloadingstrategy indicates that this component is executed locally itwill be executed in the MD On the contrary if the offloadingstrategy indicates that this component is executed remotely itwill be executed in the cloud server that is assigned by theoffloading strategy Some components need input data beforeexecution(ere will be a data transmission if the data are notin the same place as the componentrsquos execution For exampleif a component is executed in the MD but its input data are ina cloud server the data are transmitted to theMD through thewireless network If a component is executed in a cloud serverbut its input data are in another cloud server the data aretransmitted through the wired network

32ApplicationModel (e application is composed of manycomponents (eg processes classes and functions) which arethe offloading units in the computation offloading system Anapplication is represented by a graph G (V E) [33] illus-trated in Figure 2 (e target is to partition the applicationinto several parts at runtime according to the optimizationobjective A vertex v (v isin V) represents a component which ismodeled as a 3-tuple cv ρv lv ov1113864 1113865 ρv represents theamount of the component cvrsquos instructions or CPU cycleswhich can be obtained through application analysis (isapplication model is a fine-grained model and the case wherethere are unoffloadable components is also considered lv is abinary variable that represents whether the component cv isoffloadable lv 0means the component cv is offloadable lv 1means the component cv is unoffloadable andmust be executedlocally Some components of a mobile application areunoffloadable because they have to operate MD hardware(eg sensors and screen) (e slash-filled circles in Figure 2represent the unoffloadable components ov represents theexecution sequence of the component cv For instance thecomponent c2 is executed after the completion of thecomponent c0 and component c1 and needs the output dataof these two components An edge e (u v) (u v isin V)represents the interactive relationship between the com-ponent cu and the component cv and its weight duv denotesthe amount of interactive data If two components have nointeractive relationship the edge weight is set to zero Insome cases the last component cN has the output data thatneed to be passed to the first component c0 before theapplicationrsquos completion In other cases the applicationcompletes after the completion of the component cN

4 Runtime Offloading Decision Algorithm

In this section we illustrate the runtime offloading decisionalgorithm based on the cooperation of online ML and GA It

4 Mobile Information Systems

determines when the offloading unit should be offloaded tothe cloud and answers the question ldquowhen to offloadrdquo Wefirst describe the optimization objective and then describe thecooperative runtime offloading decision algorithm in detail

41 Optimization Objective (e offloading strategy of theapplication G is modeled as a vector X (x0 x1 xN) inwhich xv (0lexv le k v isin V) represents the offloadingstrategy of the component cv and k represents the maximumnumber of available cloud servers xv 0 indicates that thecomponent cv is executed in the MD and xv i (1le ile k)indicates that the component cv is executed in the cloudserver csi In this paper the optimization objective is to save

both energy and time (ese two optimization objectives areconverted to one through two weights (we and wtwe + wt 1) based on the linear weighted sum method werepresents the weight of energy cost and wt represents theweight of time cost(e objective function which representsthe weighted total cost of the application G is defined asequation (1) and the goal is to minimize it El(G) and Tl(G)

represent the energy and time costs when the application G

is executed locally respectively E(G X) and T(G X) rep-resent the energy and time costs when the application G isexecuted according to the offloading strategy X respectively

F(G X) weE(G X)

El(G)+ wt

T(G X)

Tl(G)

1113944visinV

weExv

v

El(G)+ wt

Txvv

Tl(G)1113888 1113889

+ 1113944uisinV

1113944visinV

weExuxv

uv

El(G)+ wt

Txuxvuv

Tl(G)1113888 1113889

(1)

Txvv and Exv

v which are illustrated in equations (2) and(3) respectively represent the time and energy costs whenthe component cv is executed according to xv fm and pmrepresent the MDrsquos working frequency and working powerrespectively When the component is executed in a cloudserver the MD enters the idle state and its idle power isrepresented by pi fcs

i represents the cloud server csirsquosworking frequency and dti represents the delay before acomponentrsquos execution in the cloud server csi (e delaycontains queuing delay and some other preparation time tcs

represents the wired networksrsquo throughput among thesecloud servers Cloud servers in the computation offloadingsystem are represented by CSs (fcs

i dti) | i 1 2 k1113864 1113865

Internet

Cloud

Sends data

Receives data

Mobiledevice

Access point

Strategyserver

Returns offloading strategy

Requests for offloading strategy

Unoffloadable MD pattern Offloadable MD pattern

Unoffloadable cloud pattern Offloadable cloud pattern

Figure 1 Computation offloading architecture

CN

Cj

C3

Ci

C0C1

C2

dN0 d01

d02

d2i

d3i

d3j

d0j

dij

djN d12

d23

d03

Figure 2 Application model

Mobile Information Systems 5

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 3: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

(e remainder of this paper is organized as follows InSection 2 we review the related work Section 3 introducesthe computation offloading system (e runtime offloadingdecision algorithm based on the cooperation of online MLand GA is illustrated in Section 4 In Section 5 we evaluatethe proposed algorithm Section 6 concludes this paper

2 Related Works

(ere are three fundamental issues [17] inMCC (i) where tooffload (ii) what to offload and (iii) when to offload (efirst and second issues indicate what kind of MCC archi-tecture is used and what is used as the offloading unit (egprocess class and function) respectively (e third issueindicates when the offloading unit is offloaded to the cloudIn this paper we mainly focus on the third issue so wereview the related work that focuses on offloading decision

As mentioned above offloading decision is usuallyconverted to application partitioning For instance Li et alconstructed a cost graph of a given application throughprofiling the information of computing time and datasharing of its procedure calls and then divided the appli-cation into the server part and client part by the branch-and-bound algorithm such that the energy consumed by theapplication is minimized [18] Li et al also proposed a taskpartitioning and allocation scheme that divides the data-processing tasks between the server and the MD to optimizetasksrsquo energy cost [19] Some researchers focused on mul-tisite offloading in which the computation can be offloadedto multiple cloud servers Goudarzi et al established aweighted model for multisite offloading in MCC in terms ofexecution time energy consumption and weighted cost andthen proposed an offloading strategy algorithm based on GA[20] (ey used a reserve population besides the original GApopulation to diversify chromosomes and modified geneticoperators to adapt to the multisite offloading problem (eyinitialized genetic operators for the multisite offloadingproblem to reduce the probability of generating ineffectivechromosomes and optimized the crossover operator bymeans of a local fitness inbreeding and crossbreeding togenerate better chromosomes Enzai and Tang formulatedthe multisite computation offloading problem in MCC as amultiobjective combinatorial optimization problem suchthat the execution time of the mobile computation theenergy consumption of the MD and the cost of using thecloud services are minimized and then transformed it into aweighted single-objective optimization problem [21] Tosolve this optimization problem they proposed a heuristicalgorithm based on greedy hill climbing Niu et al for-mulated the multiway application partitioning problem asan integer linear programming (ILP) problem and proposedan energy-efficient offloading decision algorithm to solve it[22] Kumari et al considered a trade-off between com-pletion time and energy-savings for offloading in the mul-tisite environment and proposed a two-step algorithm thatconsists of the cost-and-time-constrained task partitioningand offloading algorithm the multisite task scheduling al-gorithm based on teaching learning-based optimizationand the energy-saving on multisite using dynamic voltage

and frequency scaling technique [23] Sinha and Kulkarniproposed a fine-grained and multisite application parti-tioning approach to minimize the computation cost [24](ey converted the application partitioning problem to alabel-assignment problem and used two heuristic algorithmsto make offloading decisions Khoda et al made offloadingdecisions with the goal of meeting application delay re-quirements while maximizing the energy conservation andused a nonlinear optimization method based on theLagrange multiplier to develop the offloading strategy [25]

At present most studies (eg [18ndash25]) focus on staticoffloading decision algorithms which assume that mobilecloud environments do not change(ese algorithms developoffloading strategies through program analysis during theapplication development phase and the offloading strategiesare fixed after the completion of the application development(ere are few studies on dynamic offloading decision algo-rithms which develop offloading strategies at runtime andwhose offloading strategies change constantly to adapt todynamic mobile cloud environments Kovachev et alimplemented a middleware named ldquoMobile AugmentationCloud Servicesrdquo (MACS) which offloads Android applicationto the cloud adaptively to minimize the transfer cost thememory cost and the CPU cost [26] MACS partitions theapplication at runtime making it able to adapt to dynamicmobile cloud environments At runtime MACS forms an ILPproblem whose solution is used as the offloading strategyMACS solves a new ILP problem to adapt to the new en-vironment after the environmental parameters change Yanget al designed an online solution named ldquoForeseerrdquo whichrepartitions application at runtime in dynamic mobile cloudenvironments to shorten the application completion time[27] Foreseer predicts the network status periodically byusersrsquo historical mobility information and then updates theapplication partitions Jin et al proposed a runtime offloadingdecision algorithm based on the memory-based immigrantsadaptive GA to optimize the weighted cost and explored theusage of concurrent multiple transfer in computation off-loading for MCC to combat the challenges caused by wirelesscommunications [28] Eom et al proposed an adaptivescheduling algorithm based on the offline ML for the mobileoffloading system [29] In [30] Eom et al proposed anadaptive scheduler based on online ML (is scheduler needsa module that forwards and executes computation tasks inboth local and remote units to provide feedback in the onlinetraining phase

(is paper focuses on runtime offloading decision indynamicmobile cloud environments and considers reducingthe offloading decision algorithmrsquos consumption whichgoes beyond existing works To optimize the consumption ofoffloaded applications while reducing the consumption ofthe offloading decision algorithm advantages of online MLand GA are taken through their cooperation Different fromworks that simply use ML the proposed algorithm does notneed to generate additional training data (e training dataare obtained from historical offloading strategies that havebeen used Moreover relationships among applicationcomponents and the situation where there are multiplecloud servers are also considered

Mobile Information Systems 3

3 Computation Offloading System

In this section the computation offloading system is in-troduced First we introduce the computation offloadingarchitecture which determines how to offload the compu-tation and indicates ldquowhere to offloadrdquo (en we illustratethe application model which determines the offloading unitand indicates ldquowhat to offloadrdquo

31 Computation Offloading Architecture (e computationoffloading architecture is the foundation of MCC and de-termines the way of computation offloading (e architectureillustrated in Figure 1 is helpful in understanding the process ofcomputation offloading (e MD is connected to the cloud viaInternet which can be accessed through wireless access pointsServers in the cloud are connected via wired networks (eoffloading decision algorithm runs in the strategy server thatcan be a cloudlet [31] or a server near the access point Manyexisting offloading decision algorithms run in MDs whichignore the consumption of the decision algorithms themselvesLet us take a hypothetical case the consumption of the off-loading decision algorithm is larger than the application con-sumption saved by the computation offloading In this case theapplication consumption decreases but the total MD con-sumption increases(e requested and replied data of a strategyare quite little and frequent (e roundtrip latency of the cloudis larger than the time required for the strategy transmissionCompared with the cloud the strategy server is very close to theMD is more suitable to execute the offloading decision algo-rithm and allows the offloading decision to be made timelyNevertheless compared with the cloud whose resources can beconsidered unlimited the resources of the strategy server arelimited (erefore this paper establishes a cooperative runtimedecision model and proposes a cooperative runtime offloadingdecision algorithm to reduce the consumption of offloadedapplications while reducing the computing resource con-sumption of the offloading decision algorithm with the help ofthe cooperation of online ML and GA

Because the proposed offloading decision algorithm runsin the strategy server it is possible thatMDs disconnect fromthe strategy server In this architecture application com-ponents are deployed on both MDs and the cloud by MDand cloud patterns (ere have been some studies on how toreconstruct applications into MD and cloud patterns Forexample Zhang et al implemented a refactoring tool namedldquoDPartnerrdquo to automatically transform the bytecode of anAndroid application into MD and cloud patterns [32] Afterprocessing by DPartner an Android application is recon-structed into two files (e first is the refactored Androidapplication file (apk file) which is the MD pattern file and isdeployed in the MD (e second is the cloud pattern filewhich is an executable jar file and contains the offloadableJava bytecode files cloned from the refactored application(e cloud pattern file is deployed inmultiple cloud servers Ifthe MD disconnects from the strategy server one solution isusing a timeout retransmission mechanism to reconnect tothe strategy server and re-requesting for the offloadingstrategy after a timeout If the timeout retransmission

mechanism fails the local execution strategy will be usedbefore the connection is restored

(e typical process of the computation offloading isdescribed as follows When an application component isabout to execute an offloading request is sent to the strategyserver to obtain the offloading strategy After receiving anoffloading request the strategy server returns the offloadingstrategy of that component (e component is executedaccording to the offloading strategy returned If the offloadingstrategy indicates that this component is executed locally itwill be executed in the MD On the contrary if the offloadingstrategy indicates that this component is executed remotely itwill be executed in the cloud server that is assigned by theoffloading strategy Some components need input data beforeexecution(ere will be a data transmission if the data are notin the same place as the componentrsquos execution For exampleif a component is executed in the MD but its input data are ina cloud server the data are transmitted to theMD through thewireless network If a component is executed in a cloud serverbut its input data are in another cloud server the data aretransmitted through the wired network

32ApplicationModel (e application is composed of manycomponents (eg processes classes and functions) which arethe offloading units in the computation offloading system Anapplication is represented by a graph G (V E) [33] illus-trated in Figure 2 (e target is to partition the applicationinto several parts at runtime according to the optimizationobjective A vertex v (v isin V) represents a component which ismodeled as a 3-tuple cv ρv lv ov1113864 1113865 ρv represents theamount of the component cvrsquos instructions or CPU cycleswhich can be obtained through application analysis (isapplication model is a fine-grained model and the case wherethere are unoffloadable components is also considered lv is abinary variable that represents whether the component cv isoffloadable lv 0means the component cv is offloadable lv 1means the component cv is unoffloadable andmust be executedlocally Some components of a mobile application areunoffloadable because they have to operate MD hardware(eg sensors and screen) (e slash-filled circles in Figure 2represent the unoffloadable components ov represents theexecution sequence of the component cv For instance thecomponent c2 is executed after the completion of thecomponent c0 and component c1 and needs the output dataof these two components An edge e (u v) (u v isin V)represents the interactive relationship between the com-ponent cu and the component cv and its weight duv denotesthe amount of interactive data If two components have nointeractive relationship the edge weight is set to zero Insome cases the last component cN has the output data thatneed to be passed to the first component c0 before theapplicationrsquos completion In other cases the applicationcompletes after the completion of the component cN

4 Runtime Offloading Decision Algorithm

In this section we illustrate the runtime offloading decisionalgorithm based on the cooperation of online ML and GA It

4 Mobile Information Systems

determines when the offloading unit should be offloaded tothe cloud and answers the question ldquowhen to offloadrdquo Wefirst describe the optimization objective and then describe thecooperative runtime offloading decision algorithm in detail

41 Optimization Objective (e offloading strategy of theapplication G is modeled as a vector X (x0 x1 xN) inwhich xv (0lexv le k v isin V) represents the offloadingstrategy of the component cv and k represents the maximumnumber of available cloud servers xv 0 indicates that thecomponent cv is executed in the MD and xv i (1le ile k)indicates that the component cv is executed in the cloudserver csi In this paper the optimization objective is to save

both energy and time (ese two optimization objectives areconverted to one through two weights (we and wtwe + wt 1) based on the linear weighted sum method werepresents the weight of energy cost and wt represents theweight of time cost(e objective function which representsthe weighted total cost of the application G is defined asequation (1) and the goal is to minimize it El(G) and Tl(G)

represent the energy and time costs when the application G

is executed locally respectively E(G X) and T(G X) rep-resent the energy and time costs when the application G isexecuted according to the offloading strategy X respectively

F(G X) weE(G X)

El(G)+ wt

T(G X)

Tl(G)

1113944visinV

weExv

v

El(G)+ wt

Txvv

Tl(G)1113888 1113889

+ 1113944uisinV

1113944visinV

weExuxv

uv

El(G)+ wt

Txuxvuv

Tl(G)1113888 1113889

(1)

Txvv and Exv

v which are illustrated in equations (2) and(3) respectively represent the time and energy costs whenthe component cv is executed according to xv fm and pmrepresent the MDrsquos working frequency and working powerrespectively When the component is executed in a cloudserver the MD enters the idle state and its idle power isrepresented by pi fcs

i represents the cloud server csirsquosworking frequency and dti represents the delay before acomponentrsquos execution in the cloud server csi (e delaycontains queuing delay and some other preparation time tcs

represents the wired networksrsquo throughput among thesecloud servers Cloud servers in the computation offloadingsystem are represented by CSs (fcs

i dti) | i 1 2 k1113864 1113865

Internet

Cloud

Sends data

Receives data

Mobiledevice

Access point

Strategyserver

Returns offloading strategy

Requests for offloading strategy

Unoffloadable MD pattern Offloadable MD pattern

Unoffloadable cloud pattern Offloadable cloud pattern

Figure 1 Computation offloading architecture

CN

Cj

C3

Ci

C0C1

C2

dN0 d01

d02

d2i

d3i

d3j

d0j

dij

djN d12

d23

d03

Figure 2 Application model

Mobile Information Systems 5

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 4: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

3 Computation Offloading System

In this section the computation offloading system is in-troduced First we introduce the computation offloadingarchitecture which determines how to offload the compu-tation and indicates ldquowhere to offloadrdquo (en we illustratethe application model which determines the offloading unitand indicates ldquowhat to offloadrdquo

31 Computation Offloading Architecture (e computationoffloading architecture is the foundation of MCC and de-termines the way of computation offloading (e architectureillustrated in Figure 1 is helpful in understanding the process ofcomputation offloading (e MD is connected to the cloud viaInternet which can be accessed through wireless access pointsServers in the cloud are connected via wired networks (eoffloading decision algorithm runs in the strategy server thatcan be a cloudlet [31] or a server near the access point Manyexisting offloading decision algorithms run in MDs whichignore the consumption of the decision algorithms themselvesLet us take a hypothetical case the consumption of the off-loading decision algorithm is larger than the application con-sumption saved by the computation offloading In this case theapplication consumption decreases but the total MD con-sumption increases(e requested and replied data of a strategyare quite little and frequent (e roundtrip latency of the cloudis larger than the time required for the strategy transmissionCompared with the cloud the strategy server is very close to theMD is more suitable to execute the offloading decision algo-rithm and allows the offloading decision to be made timelyNevertheless compared with the cloud whose resources can beconsidered unlimited the resources of the strategy server arelimited (erefore this paper establishes a cooperative runtimedecision model and proposes a cooperative runtime offloadingdecision algorithm to reduce the consumption of offloadedapplications while reducing the computing resource con-sumption of the offloading decision algorithm with the help ofthe cooperation of online ML and GA

Because the proposed offloading decision algorithm runsin the strategy server it is possible thatMDs disconnect fromthe strategy server In this architecture application com-ponents are deployed on both MDs and the cloud by MDand cloud patterns (ere have been some studies on how toreconstruct applications into MD and cloud patterns Forexample Zhang et al implemented a refactoring tool namedldquoDPartnerrdquo to automatically transform the bytecode of anAndroid application into MD and cloud patterns [32] Afterprocessing by DPartner an Android application is recon-structed into two files (e first is the refactored Androidapplication file (apk file) which is the MD pattern file and isdeployed in the MD (e second is the cloud pattern filewhich is an executable jar file and contains the offloadableJava bytecode files cloned from the refactored application(e cloud pattern file is deployed inmultiple cloud servers Ifthe MD disconnects from the strategy server one solution isusing a timeout retransmission mechanism to reconnect tothe strategy server and re-requesting for the offloadingstrategy after a timeout If the timeout retransmission

mechanism fails the local execution strategy will be usedbefore the connection is restored

(e typical process of the computation offloading isdescribed as follows When an application component isabout to execute an offloading request is sent to the strategyserver to obtain the offloading strategy After receiving anoffloading request the strategy server returns the offloadingstrategy of that component (e component is executedaccording to the offloading strategy returned If the offloadingstrategy indicates that this component is executed locally itwill be executed in the MD On the contrary if the offloadingstrategy indicates that this component is executed remotely itwill be executed in the cloud server that is assigned by theoffloading strategy Some components need input data beforeexecution(ere will be a data transmission if the data are notin the same place as the componentrsquos execution For exampleif a component is executed in the MD but its input data are ina cloud server the data are transmitted to theMD through thewireless network If a component is executed in a cloud serverbut its input data are in another cloud server the data aretransmitted through the wired network

32ApplicationModel (e application is composed of manycomponents (eg processes classes and functions) which arethe offloading units in the computation offloading system Anapplication is represented by a graph G (V E) [33] illus-trated in Figure 2 (e target is to partition the applicationinto several parts at runtime according to the optimizationobjective A vertex v (v isin V) represents a component which ismodeled as a 3-tuple cv ρv lv ov1113864 1113865 ρv represents theamount of the component cvrsquos instructions or CPU cycleswhich can be obtained through application analysis (isapplication model is a fine-grained model and the case wherethere are unoffloadable components is also considered lv is abinary variable that represents whether the component cv isoffloadable lv 0means the component cv is offloadable lv 1means the component cv is unoffloadable andmust be executedlocally Some components of a mobile application areunoffloadable because they have to operate MD hardware(eg sensors and screen) (e slash-filled circles in Figure 2represent the unoffloadable components ov represents theexecution sequence of the component cv For instance thecomponent c2 is executed after the completion of thecomponent c0 and component c1 and needs the output dataof these two components An edge e (u v) (u v isin V)represents the interactive relationship between the com-ponent cu and the component cv and its weight duv denotesthe amount of interactive data If two components have nointeractive relationship the edge weight is set to zero Insome cases the last component cN has the output data thatneed to be passed to the first component c0 before theapplicationrsquos completion In other cases the applicationcompletes after the completion of the component cN

4 Runtime Offloading Decision Algorithm

In this section we illustrate the runtime offloading decisionalgorithm based on the cooperation of online ML and GA It

4 Mobile Information Systems

determines when the offloading unit should be offloaded tothe cloud and answers the question ldquowhen to offloadrdquo Wefirst describe the optimization objective and then describe thecooperative runtime offloading decision algorithm in detail

41 Optimization Objective (e offloading strategy of theapplication G is modeled as a vector X (x0 x1 xN) inwhich xv (0lexv le k v isin V) represents the offloadingstrategy of the component cv and k represents the maximumnumber of available cloud servers xv 0 indicates that thecomponent cv is executed in the MD and xv i (1le ile k)indicates that the component cv is executed in the cloudserver csi In this paper the optimization objective is to save

both energy and time (ese two optimization objectives areconverted to one through two weights (we and wtwe + wt 1) based on the linear weighted sum method werepresents the weight of energy cost and wt represents theweight of time cost(e objective function which representsthe weighted total cost of the application G is defined asequation (1) and the goal is to minimize it El(G) and Tl(G)

represent the energy and time costs when the application G

is executed locally respectively E(G X) and T(G X) rep-resent the energy and time costs when the application G isexecuted according to the offloading strategy X respectively

F(G X) weE(G X)

El(G)+ wt

T(G X)

Tl(G)

1113944visinV

weExv

v

El(G)+ wt

Txvv

Tl(G)1113888 1113889

+ 1113944uisinV

1113944visinV

weExuxv

uv

El(G)+ wt

Txuxvuv

Tl(G)1113888 1113889

(1)

Txvv and Exv

v which are illustrated in equations (2) and(3) respectively represent the time and energy costs whenthe component cv is executed according to xv fm and pmrepresent the MDrsquos working frequency and working powerrespectively When the component is executed in a cloudserver the MD enters the idle state and its idle power isrepresented by pi fcs

i represents the cloud server csirsquosworking frequency and dti represents the delay before acomponentrsquos execution in the cloud server csi (e delaycontains queuing delay and some other preparation time tcs

represents the wired networksrsquo throughput among thesecloud servers Cloud servers in the computation offloadingsystem are represented by CSs (fcs

i dti) | i 1 2 k1113864 1113865

Internet

Cloud

Sends data

Receives data

Mobiledevice

Access point

Strategyserver

Returns offloading strategy

Requests for offloading strategy

Unoffloadable MD pattern Offloadable MD pattern

Unoffloadable cloud pattern Offloadable cloud pattern

Figure 1 Computation offloading architecture

CN

Cj

C3

Ci

C0C1

C2

dN0 d01

d02

d2i

d3i

d3j

d0j

dij

djN d12

d23

d03

Figure 2 Application model

Mobile Information Systems 5

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 5: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

determines when the offloading unit should be offloaded tothe cloud and answers the question ldquowhen to offloadrdquo Wefirst describe the optimization objective and then describe thecooperative runtime offloading decision algorithm in detail

41 Optimization Objective (e offloading strategy of theapplication G is modeled as a vector X (x0 x1 xN) inwhich xv (0lexv le k v isin V) represents the offloadingstrategy of the component cv and k represents the maximumnumber of available cloud servers xv 0 indicates that thecomponent cv is executed in the MD and xv i (1le ile k)indicates that the component cv is executed in the cloudserver csi In this paper the optimization objective is to save

both energy and time (ese two optimization objectives areconverted to one through two weights (we and wtwe + wt 1) based on the linear weighted sum method werepresents the weight of energy cost and wt represents theweight of time cost(e objective function which representsthe weighted total cost of the application G is defined asequation (1) and the goal is to minimize it El(G) and Tl(G)

represent the energy and time costs when the application G

is executed locally respectively E(G X) and T(G X) rep-resent the energy and time costs when the application G isexecuted according to the offloading strategy X respectively

F(G X) weE(G X)

El(G)+ wt

T(G X)

Tl(G)

1113944visinV

weExv

v

El(G)+ wt

Txvv

Tl(G)1113888 1113889

+ 1113944uisinV

1113944visinV

weExuxv

uv

El(G)+ wt

Txuxvuv

Tl(G)1113888 1113889

(1)

Txvv and Exv

v which are illustrated in equations (2) and(3) respectively represent the time and energy costs whenthe component cv is executed according to xv fm and pmrepresent the MDrsquos working frequency and working powerrespectively When the component is executed in a cloudserver the MD enters the idle state and its idle power isrepresented by pi fcs

i represents the cloud server csirsquosworking frequency and dti represents the delay before acomponentrsquos execution in the cloud server csi (e delaycontains queuing delay and some other preparation time tcs

represents the wired networksrsquo throughput among thesecloud servers Cloud servers in the computation offloadingsystem are represented by CSs (fcs

i dti) | i 1 2 k1113864 1113865

Internet

Cloud

Sends data

Receives data

Mobiledevice

Access point

Strategyserver

Returns offloading strategy

Requests for offloading strategy

Unoffloadable MD pattern Offloadable MD pattern

Unoffloadable cloud pattern Offloadable cloud pattern

Figure 1 Computation offloading architecture

CN

Cj

C3

Ci

C0C1

C2

dN0 d01

d02

d2i

d3i

d3j

d0j

dij

djN d12

d23

d03

Figure 2 Application model

Mobile Information Systems 5

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 6: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

Txv

v

ρv

fm xv 0

ρv

fcsxv

+ dtxv 1le xv le k

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(2)

Exv

v Txv

v timespm xv 0

pi 1le xv le k1113896 (3)

Txuxvuv and Exuxv

uv which are illustrated in equations (4)and (5) represent the time and energy costs caused by datatransmission when the component cu is executedaccording to xu and the component cv is executedaccording to xv respectively (is also confirms that theconsumption of data transmission in wireless networks hasa serious impact on the effect of computation offloadingtupi (tdowni ) represents the uplink (downlink) throughputbetween the cloud server csi and the MD p

upi (pdown

i )represents the corresponding uplink (downlink) wirelessnetwork power (e uplink (downlink) wireless networkpower of the MD is modeled as p αt + β which is a linearmodel obtained from practical experiments [34] (estrategy server which is located near the access point hasonly a ldquoone hoprdquo distance from the user At the same timethe wireless bandwidth is large enough and the requestedand replied data (only the component sequence numberand the component strategy are included) of a strategy arequite little (erefore the data transmission consumptioncaused by obtaining a strategy is ignored

Txuxv

uv

duv

tupxv

xu 0and 1lexv le kand ult v

duv

tdownxu

1lexu le kandxv 0and ult v

duv

tdownxv

xu 0and 1lexv le kand u 0and v N

duv

tupxu

1lexu le kandxv 0and u 0and v N

duv

tcs 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(4)

Exuxv

uv Txuxv

uv

times

pupxv

xu 0and 1lexv le kand ult v

pdownxu

1lexu le kandxv 0and ult v

pdownxv

xu 0and 1lexv le kand u 0and v N

pupxu

1lexu le kandxv 0and u 0and v N

pi 1lexu xv le kandxu nexv

0 otherwise

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

(5)

(e objective function in dynamic mobile cloud envi-ronments is introduced as shown in Figure 3 F1

h representsthe cost caused by the components that have been executedat time h Each executed component is given an offloadingstrategy and has unique environmental parameters when it isexecuted F1

h is the sum of all executed componentsrsquo cost andit is fixed F2

h represents the cost caused by the componentthat is being executed F2

h is a changing value because theenvironment may change during its execution F(Gh Xh)

represents the weighted total cost of components that are notexecuted at time h

42 Cooperative Runtime Offloading Decision Algorithm(e pseudocode of the cooperative runtime offloading de-cision algorithm is illustrated in Figure 4 (e offloadingdecision algorithm runs in the strategy server and returnsthe offloading strategy obtained from the current decision-making module (DMM) after receiving the offloadingstrategy request (Lines 06ndash15) In this algorithm the onlineML-based DMM and GA-based DMM cooperate with eachother to make offloading decisions (e offloading strategydeveloped by the GA-based DMM is used to update theonline ML-based DMM (Line 12) (e online ML-basedDMM enhances GArsquos convergence and ability to adapt toenvironmental changes by replacing GArsquos worst chromo-some (Line 29) At the same time inspired by the memory-based immigrants method [35] mutation and replacementoperations are also used to enhance GArsquos ability further(Lines 31-32) XOML represents the offloading strategypredicted by the onlineML-based DMMXOML is used as thebase to create immigrants to replace the worst ri times M

chromosomes in GArsquos population FOML represents theweighted total cost predicted by the online ML-based DMMFOML minus Fe leFth means the weighted total cost FOML pre-dicted by the online ML-based DMM is good enough so thatthe online ML-based DMM is used as the current DMM(Lines 19-20) Otherwise the GA-based DMM is used (Lines21-22) Fth represents the threshold and Fe represents theempirical weighted total cost that is calculated according toequation (6) in which I represents the number of the ap-plicationrsquos completions and Fi represents the weighted totalcost of the i-th applicationrsquos execution If the current DMMis the GA-based DMM the runtime offloading decisionalgorithm runs to find the optimal offloading strategy whichconsumes more computing resources (Lines 25ndash34) On thecontrary if the current DMM is the online ML-based DMMthe offloading strategy is developed by its prediction whenreceiving the offloading strategy request In this situationthe runtime offloading decision algorithm does not need torun and remains idle which saves more computing re-sources Since the online ML-based DMM and GA-basedDMM are two key parts of this algorithm these two DMMsare illustrated in detail in the following description

Fe

0 I 0

1113936Ii1Fi

I Igt 0

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(6)

6 Mobile Information Systems

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 7: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

421 GA-Based Decision-Making Module In this part weillustrate the GA-based DMM which makes offloadingdecisions using GA (e reason why we choose GA isexplained as follows (e offloading decision problem is adynamic combinatorial optimization problem and GA is aclassic optimization algorithm which is easy to implementand has the relatively complete theory In this paper theoffloading strategy can be directly used for the chromosomeencoding of GA after simplemapping Besides GA hasmanyadvantages such as finding the global optimal solutionbeing insensitive to the objective function (linear or non-linear) and being robust First we introduce the encodingand fitness function (en we introduce the genetic oper-ations including selection crossover and mutation(1) Encoding and Fitness Function In GA a chromosome is apossible solution of the optimization problem and it isusually encoded as a set of binaries Since multiple cloudservers are considered in the computation offloading systemthe genes are encoded as integers between 0 and k Aspreviously described some application components cannotbe offloaded such that their offloading strategies are alwayszero (local execution) (ere is no need to encode thesecomponentsrsquo offloading strategies into the chromosome Avector that stores the mapping relationship between thecomplete offloading strategies and the chromosomersquos genesis utilized for the evaluation of the chromosome For ex-ample through the chromosome Y (y0 y1 yi

ynominus 1) (0leyi le k 0le ile no minus 1) in which no represents thenumber of offloadable components it can be known that yi

is the offloading strategy of the component whose sequencenumber is m1(i) (e mapping function m1(i) converts thegenersquos sequence number i to the offloadable componentrsquossequence number (e offloading strategy of the componentcv can be obtained from formula (7) Fitness function shownin equation (8) is used to evaluate the chromosome

xv yi lv 0and ov m1(i)

0 lv 1

⎧⎪⎨

⎪⎩(7)

fh 1

F1h + F2

h + F Gh Xh( 1113857 (8)

(2) Genetic Operations GA has three basic operations se-lection crossover and mutation Selection operation selectschromosomes from the population for other operations(e

roulette wheel selection method is a commonly used se-lectionmethod which generates a random number r isin [0 1)

in each selection and selects the first chromosome i thatsatisfies rlt1113936

ij1fjfsum(fj represents the fitness of the

chromosome j and fsum represents the sum of all chro-mosomesrsquo fitness) Crossover operation recombines partgenes of two chromosomes to generate new chromosomesIn crossover operation the crossover probability is a keyparameter that affects the GA performance seriously A largecrossover probability generates more new chromosomes butreduces the convergence rate of GA On the contrary a smallcrossover probability generates fewer new chromosomesand leads to a local optimization result However thecrossover probability is a constant in the standard GA Tosolve this problem the adaptive GA [36] is proposed togenerate a changing and adaptive crossover probability (eadaptive crossover probability prc is calculated by equation(9) prc1 and prc2 are two constants fl is the larger one oftwo parent chromosomesrsquo fitness favg and fmax are theaverage and maximum fitness of the population re-spectively Mutation operation changes genes of the selectedchromosome between 0 and k to generate a new chromo-some Similarly a too large or too small mutation probabilityalso affects the GA performance seriously A large mutationprobability maintains fewer genes of the parent chromosomeand converts GA to be a random search algorithm On thecontrary a small mutation probability prevents the gener-ation of new chromosomes (e adaptive mutation proba-bility prm is calculated by equation (10) prm1 and prm2 aretwo constants f is the fitness of the parent chromosomeCompared with the constant probability the followingequations calculate the probabilities in the form of a right-angled trapezoid which reduces the probability when theparent chromosomesrsquo fitness is large and hence helps toretain good chromosomes

prc

prc1 minusprc1 minus prc2( 1113857 fl minus favg1113872 1113873

fmax minus favg fl gefavg

prc1 fl ltfavg

⎧⎪⎪⎪⎪⎪⎨

⎪⎪⎪⎪⎪⎩

(9)

prm prm1 minus

prm1 minus prm2( 1113857 f minus favg1113872 1113873

fmax minus favg fgefavg

prm1 fltfavg

⎧⎪⎪⎪⎨

⎪⎪⎪⎩

(10)

422 Online ML-Based Decision-Making Module Attributesused in the online ML-based DMM are a (2k + 1)-tupleFh t

up1 tdown1 t

upk tdownk1113966 1113967 Fh (Fh F1

h) represents theweighted total cost at time h which is the cost of thecomponents that have been executed at time hFh is acomprehensive reflection of the offloading situations andenvironments before time h t

upi and tdowni (1le ile k) rep-

resent the uplink and downlink throughput between the MD

Environmental changes

c3 cNc2c1c0

F1h F2

h F (Gh Xh)

Time

Figure 3 An example of the objective function in dynamic mobilecloud environments

Mobile Information Systems 7

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 8: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

and the cloud server csi respectively Some applicationcomponents must be executed in the MD and their off-loading strategies are fixed (always zero) so that there is noneed to make offloading decisions for them Similar to theencoding of the chromosome in the GA-based DMM theonline ML-based DMM is composed of no classifiers Fromthe perspective of the online ML-based DMM the offloadingdecision-making problem is a classification problem inwhich there is a need to classify the application componentsinto (k + 1) categories Here ldquokrdquo represents that a com-ponent can be offloaded to k cloud servers and ldquo1rdquo rep-resents that a component can be executed locally (in theMD) For example k 1 ((k + 1) 2) means that the ap-plication components are classified into two parts One partof components is executed in the cloud server and anotherpart of components is executed locally

In the online training phase (Line 12 in Figure 4)the training data of classifier cf i (m2(oh)le ile no minus 1) are avector (Fhi t

up1 tdown1 t

upk tdownk yi) in which (Fhi t

up1

tdown1 tupk tdownk ) is the input and yi (0leyi le k) is the

output that cf i uses for learning oh represents the sequencenumber of the component that is to be executed at time hand mapping function m2(ov) converts the offloadablecomponentrsquos sequence number ov to the classifierrsquos sequencenumber Fhi is calculated by equation (11) in which ΔFov

represents the component cvrsquos weighted total cost calculatedaccording to its offloading strategy yi generated by the GA-based DMM represents the offloading strategy of thecomponent whose sequence number is m1(i)

Fhi

Fh i m2 oh( 1113857

Fhiminus 1 + 1113944m1(iminus 1)leovltm1(i)

ΔFov m2 oh( 1113857lt ile no minus 1

⎧⎪⎪⎨

⎪⎪⎩

(11)

In our algorithm the online ML-based DMM needs topredict the offloading strategy XOML and calculate theweighted total cost FOML (Line 18 in Figure 4) (e off-loading strategy of the offloadable component cv is predictedby the classifier cfm2(ov) with the input attribute vector(Fhm2(ov) t

up1 tdown1 t

upk tdownk ) FOML is calculated by

FOML Fh + 1113944ohleovle oN

ΔFov (12)

5 Simulation and Analysis

In this section a series of simulations in dynamic mobilecloud environments are conducted to evaluate the proposedoffloading decision algorithm First the setup of these

calculate El(G) and Tl(G)initialize GArsquos population

while (running) doif (receive the offloading strategy request) then

if (DMM == online ML) thenstrategy = getStrategy(online ML)

else if (DMM == GA) thenstrategy = getStrategy(GA)Fh = Fh

1 ts is the throughput set X is the offloading strategyupdateOnlineMLbasedDMM(Fh ts X)

end ifsendStrategy(strategy)end ifif (environment changes) then

recalculate Fh2 and update environmental parameters

FOML = getPredictedFbyOnlineMLbasedDMM(Fh1 Fh

2 ts X)if (FOML ndash Fe le Fth) then

else thenDMM GA

end ifend ifif (DMM == GA) then

GA operations selection crossover and mutation and evaluationFw is the worst objective function value in GArsquos populationif (FOML le Fw) then

replace the worst chromosome with XOMLmemory-based immigrationmutate(XOML ri times M pi

m)replace the worst ri times M chromosomes in GArsquos population

end ifend if

end while

initialize DMMDMM GA

(01)(02)(03)(04)(05)(06)(07)(08)(09)

(010)(011)(012)(013)(014)(015)(016)(017)(018)(019)(020)(021)(022)(023)(024)(025)(026)(027)(028)(029)(030)(031)(032)(033)(034)(035)

DMM online ML

Figure 4 Cooperative runtime offloading decision algorithm

8 Mobile Information Systems

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 9: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

simulations is described (en performance of our algo-rithm with different online ML techniques is comparedFinally we evaluate our algorithm

51 Setup (e default simulation parameter configurationis shown in Table 1 Applications are generated according totheir parameters listed in Table 1 pr(lv 1) is the proba-bility that the component cv is unoffloadable (e trajectorygenerated based on the mobility model shown in Figure 5 isused to simulate the userrsquos moving path(e user movementamong different squares leads to changes in network pa-rameters which are used to simulate the environmentalchanges in dynamic mobile cloud environments A 3-tuplesΔh c1113864 1113865 is used to model the usersrsquo mobility in which s

represents the square where the user is located Δh repre-sents the time the user takes to cross a square and c rep-resents the probability that the user still stays in the samesquare after Δh (1 minus c)θ is the probability that the usermoves to an adjacent square and θ is the number of asquarersquos adjacent squares tup (tdown) represents the uplink(downlink) throughput between the MD and cloud servers(e MD is connected to k cloud servers and k uplink(downlink) throughput parameters are generated accordingto the distribution of tup(tdown) To simplify the networkenvironment network parameters in a square are stableNetwork parameters differ in different squares and thusnetwork parameters change when the user moves from onesquare to another If some squares are considered to con-stitute an area then this change can be considered a changefrom the wireless network itself(is change can be regardedas a result of usersrsquo movement or changes in the wirelesschannel itself Users in a square have eight movement di-rections which are shown in the square S12 and the numberof directions decreases in marginal squares which are shownin the square S0 (e userrsquos trajectory is modeled as an array((s1Δh1) (s2Δh2) (snΔhn)) and a simple trajectoryexample (from S2 to S23) is given in Figure 5 A 30-minuterandom trajectory is used in these simulations In our al-gorithm M and ear represent the population size and ac-curacy requirement of the GA-based DMM respectively

As shown in Figure 6 a Java-based numerical simulationplatform which is built according to the computation off-loading system introduced in Section 3 is used for simu-lation experiments (e application execution simulationmodule (AESM) simulates the applicationrsquos execution Itsends a request to obtain the offloading strategy of thecomponent that is about to be executed (e offloadingdecision algorithm module (ODAM) simulates the strategyserver and the offloading decision algorithms to be evalu-ated run in it After receiving the offloading strategy requestthe ODAM returns the offloading strategy of the componentto the AESM After receiving the offloading strategy theAESM executes the component according to the offloadingstrategy(e random trajectory generation module (RTGM)generates the random user moving trajectory according tothe mobility model introduced in Figure 5(e environmentmonitoring module (EMM) monitors the environmentalchanges and notifies the ODAM and AESM according to the

trajectory generated by the RTGM(e EMM reads the arraytr (s1Δh1) (s2Δh2) (snΔhn)1113864 1113865 that represents theuserrsquos moving path and sends network parameters of thesquare si after waiting for Δhiminus 1 (Δh0 0) Network pa-rameters differ in different squares and thus the environ-ment constantly changes during the userrsquos movement (echanges can simulate the variation of network parameterscaused by usersrsquo movement as well as the variations of thenetwork itself (e dynamic mobile cloud environments aresimulated by these two modules After receiving the envi-ronmental change notification the offloading decision al-gorithm remakes offloading decisions with newenvironmental parameters In the meanwhile the AESMadjusts the component execution time and weighted totalcost if there are data remaining to be transferred

52 Performance Comparison of Different Online MLTechniques (e online ML-based classifier has a directimpact on the complexity and accuracy of the proposedalgorithm (erefore the performance of the proposed al-gorithm with the commonly used online ML techniquesimplemented by Weka [37] is compared to choose theappropriate online ML technique (e weighted total costand clock ticks with different online ML techniques areshown in Table 2 It can be seen that the weighted total cost

Table 1 Default simulation parameter configuration

Item Configuration

Application ρv sim N(2000 1500)Minstructionspr(lv 1) 10 duv sim N(300 150) kbytes

Mobility Number of squares 5 times 5 Δh sim U(025 5) s c 01tup sim N(105 095)Mbps tdown sim N(455 445)Mbps

MDfm 500MHZ pm 800mW pi 50mW

αup 28317mWMbps αdown 13701mWMbpsβ 13286mW

Cloudservers

CSs (1000MHZ 01 s) (1875MHZ 0125 s)

(3500MHZ 0175 s)(4000MHZ 02 s) (5000MHZ 0225 s) tcs 100Mbps

Ouralgorithm

Fth minus 0005 ri 008 prim 001 prc1 09 prc2 06

prm1 01 prm2 005 M 50 ear 1 times 10minus 3we 05wt 05

S0 S1 S2S3 S4

S9S8S7S6S5

S10 S11 S12S13 S14

S19S18S17S16S15

S20 S21 S22 S24S23

Figure 5 Mobility model

Mobile Information Systems 9

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 10: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

of RacedIncrementalLogitBoost is the smallest (6696) andthe weighted total cost of DMNBtext is the largest (7181)In this paper we focus on offloading decision algorithmsrsquocomputing resource consumption which is measured inunits of CPU clock ticks It can be seen that the clock ticksconsumed by NNge is the least (3596 times 103 ticks) and theclock ticks consumed byNaiveBayesMultinomialUpdateableis the most (4317 times 103 ticks) (e clock ticks consumed byLWL and NaiveBayesMultinomialUpdateable are largerthan that consumed by RacedIncrementalLogitBoost andtheir weighted total costs are also larger than that ofRacedIncrementalLogitBoost which shows that these twotechniques consume more computing resources and do notachieve good results (e clock ticks consumed by KStarNNge NaiveBayesUpdateable IB1 and DMNBtext arefewer than that consumed by RacedIncrementalLogitBoostbut their weighted total costs are larger than that of Race-dIncrementalLogitBoost which shows that these techniquesconsume fewer computing resources but do not achievegood results For an offloading decision algorithm it firstneeds to guarantee that the weighted total cost is optimal andthen considers to reduce its computing resource con-sumption as much as possible (erefore Race-dIncrementalLogitBoost which has the smallest weightedtotal cost and consumes fewer clock ticks is selected for thecooperative runtime offloading decision algorithm

53 Evaluation of the Cooperative Runtime Offloading De-cision Algorithm To evaluate the proposed algorithm it iscompared with other runtime offloading decision algo-rithms To express them succinctly in the following

description their abbreviations are used AO is a traditionaland intuitive runtime offloading decision algorithm (ereason for choosing AO is that we want to evaluate theperformance of the offloading decision algorithm that doesnot consider the network conditions inMCC(e offloadingdecision problem is usually converted to the applicationpartitioning problem which is a combinatorial optimizationproblem ILP and evolutionary algorithms are often used tosolve the application partitioning problem (erefore ILPand GA are chosen as the comparison algorithms Anotherreason for choosing GA is that we need to confirm that theproposed algorithm which relies on the cooperation ofonline ML and GA does work

(1) AO the thin client algorithm that always offloadsoffloadable components to cloud servers and selectscloud servers randomly in scenarios where there aremore than one cloud servers

(2) ILP1 the algorithm that resolves the ILP problemwhen detecting the environmental changes and usesthe local execution strategy as default

(3) ILP2 the algorithm that resolves the ILP problemperiodically and uses the local execution strategy asdefault

(4) GA the algorithm that rerunsGAwhen detecting theenvironmental changes

(5) OMLGA the proposed algorithm based on the co-operation of online ML and GA

Figure 7 shows the weighted total cost of five algorithmsunder different applications In this simulation these ap-plications have different numbers of components (e

Requests for offloading strategy

Returns offloading strategy

Environmentalchange notification

Environmentalchange notification

Environmentalmonitoring

module

Offloading decisionalgorithm module Generates trajectory

Random trajectorygeneration module

Applicationexecution

simulation module

Figure 6 Numerical simulation platform framework

Table 2 Weighted total cost and clock ticks with different online ML techniques

PerformanceTechniques

KStar NNge NaiveBayesUpdateable

RacedIncrementalLogitBoost LWL IB1 DMNBtext NaiveBayesMultinomial

UpdateableCost () 6877 6754 6815 6696 6988 6864 7181 6847Ticks (103) 3950 3596 4048 4268 4288 3794 3941 4317

10 Mobile Information Systems

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 11: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

numbers of components of these applications are 20 40 6080 and 100 respectively It can be seen that weighted totalcosts of OMLGA are smaller than those of other algorithmsWeighted total costs of AO are larger than those of GA andOMLGA which means AO saves less consumption than GAand OMLGA When the environment changes somecomponents become unsuitable to be offloaded AO offloadsall offloadable components to the cloud servers withoutconsidering environmental changes and relationshipsamong the components which results in much additionalconsumption caused by data transmission Weighted totalcosts of ILPs (ILP1 4871 and ILP2 4885) are close tobut larger than those of GA (4860) and OMLGA (4852)in Application1 However as the number of componentsincreases ILPsrsquo performance becomes bad even worse thanthat of AO in Application4 and Application5 Running timeILPs take to find the optimal solution is exponential with thenumber of variables which causes ILPs to take much time topartition an application that has a large number of com-ponents Long running time makes ILPs unable to adapt toenvironmental changes timely and hence provides wrongoffloading strategies Weighted total costs of GA (4860and 5356) are close to those of OMLGA (4852 and5342) in Application1 and Application2 (e reason isthat Application1 and Application2 have relatively fewcomponents so that GA can find the optimal solution timelyto adapt to environmental changes Weighted total costs ofGA are larger than those of OMLGA in Application3Application4 and Application5 which results from that

these applicationsrsquo numbers of components are large suchthat GA cannot find the optimal solutions timely butOMLGA can

Figure 8 illustrates the clock ticks under different ap-plications In Application1 the clock ticks of OMLGA aresmaller than those of ILP2 and larger than those of ILP1which illustrates that ILP1 consumes fewer computing re-sources in small-scale applications In other applicationsclock ticks of OMLGA are smaller than those of ILPs It isnoticeable that clock ticks of OMLGA are smaller than thoseof GA (is is because that the online ML-based DMM inOMLGA helps to save a part of computing resources whenmaking offloading decisions GArsquos clock ticks (4574 times 103ticks) are more than those of ILPs (ILP1 1085 times 103 ticksand ILP2 2699 times 103 ticks) in Application1 which illus-trates that GA consumes more computing resources thanILPs in small-scale applications However in Application2Application3 Application4 and Application5 clock ticks ofGA are noticeably smaller than those of ILPs which illus-trates that GA consumes fewer computing resources thanILPs in large-scale applications ILPsrsquo clock ticks increasewith the increasing number of application components andthen remain stable In Application1 and Application2 clockticks of ILP1 are smaller than those of ILP2 (e reason isthat ILP2 needs to do more repeated calculations in small-scale applications ILPsrsquo clock ticks are close and stable inApplication3 Application4 and Application5 which resultsfrom that ILPsmake full use of computing resources tomakeoffloading decisions in these large-scale applications It is

Application1 Application2Application

Application3 Application4 Application540

50

60

70

80

90

100

Wei

ghet

ed to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 7 Weighted total cost under different applications

Mobile Information Systems 11

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 12: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

noticeable that the clock ticks AO takes are quite a few (ereason is that AO almost does not consume computingresources to make offloading decisions

In this paper we focus on the multisite computationoffloading (erefore in the simulation below we evaluateour algorithm under different numbers of cloud serversFigure 9 illustrates the weighted total cost under differentnumbers of cloud servers It is noticeable that OMLGArsquosweighted total costs are the smallest which means OMLGAachieves the highest reduction in consumption among testedalgorithms Weighted total costs of OMLGA decrease (from8127 to 5927) with the increasing number of cloudservers (e reason is described as follows In the multisitecomputation offloading components can be offloaded tomany cloud servers On the one hand when conditions ofsome wireless channels become bad OMLGA continues tooffload components to other cloud servers which areconnected by high-quality wireless networks On the otherhand cloud servers are connected by wired networks whoseconsumption is quite little reducing much consumptioncaused by data transmission Compared with the single-sitecomputation offloading in which there is only one singlecloud server the multisite computation offloading providesusers with more choices For example as one extreme if oneof two cloud servers in the multisite computation offloadingis always connected by the high-quality wireless networkand another one is always connected by the low-qualitywireless network components will be offloaded to the cloudserver that is connected by the high-quality wireless

network and the multisite computation offloading candegenerate into the single-site computation offloading Alsoas the other extreme if the only one cloud server in thesingle-site computation offloading is always connected bythe low-quality wireless network components will be exe-cuted locally and the computation offloading does not workWeighted total costs of ILPs are larger than those of OMLGAand GA and become quite large when the number of cloudservers is 5 (is is because that the solution space becomeslarger when the number of cloud servers is so large that ILPscannot find the optimal solution in time AOrsquos weighted totalcosts are large which illustrates that the commonly used thinclient mode is not suitable for MCC (is simulation showsthat advantages of the multisite computation offloadingcannot be exploited or even lead to worse results if theoffloading decision algorithm is not effective

Figure 10 illustrates the clock ticks under differentnumbers of cloud servers It is noticeable that clock ticks ofOMLGA are smaller than those of ILPs and GA Comparedwith ILPs and GA OMLGA consumes fewer computingresources with the help of the onlineML-based DMM whichconsumes few computing resources to make offloadingdecisions It can be seen that clock ticks of AO are still quitefew Clock ticks of ILPs increase with the increasing numberof cloud servers which results from that the solution spacebecomes large with the increasing number of cloud serverssuch that ILPs consume much computing resources to makeoffloading decisions Similar to that shown in Figure 8 sinceILP2 needs more repeated calculations in small-scale

Application1 Application2Application

Application3 Application4 Application50

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Figure 8 Clock ticks under different applications

12 Mobile Information Systems

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 13: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

51 2 3 40

25

50

75

100

Cloc

k tic

ks (1

03 )

AO

ILP1

ILP2

GA

OMLGA

Number of cloud servers

Figure 10 Clock ticks under different numbers of cloud servers

1 2 3 4 5Number of cloud servers

50

60

70

80

90

100

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

Figure 9 Weighted total cost under different numbers of cloud servers

Mobile Information Systems 13

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 14: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

050 075 100 125 1500

1000

500

1500

2000

2500

3000

Cloc

k tic

ks (m

inut

endash1)

AOILP1ILP2

GAOMLGA

λ

Figure 12 Clock ticks under different user speeds

15050

20

40

60

80

100

075 1 125

Wei

ghte

d to

tal c

ost (

)

AO

ILP1

ILP2

GA

OMLGA

λ

Figure 11 Weighted total cost under different user speeds

14 Mobile Information Systems

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 15: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

offloading decision problems clock ticks of ILP2 are largerthan those of ILP1 when the numbers of cloud servers are 1and 2 When the number of cloud servers is large ILPs makefull use of computing resources to make offloading de-cisions which results in that ILPsrsquo clock ticks are large andstable when the numbers of cloud servers are 3 4 and 5

Figure 11 illustrates the weighted total cost under dif-ferent speeds of the user In this simulation the identicaltrajectory (moving path) with different user speeds is used λrepresents the coefficient of the time (1113955Δh) that the user takesto cross a square that is 1113955Δh λΔh(λ defaults to 1) A larger λmeans that the user takes more time to cross a square theuserrsquos speed is slower and the environment changes moreslowly It can be seen that OMLGA performs better thanother algorithms under different speeds When the userrsquosspeed becomes slow GA can find excellent solutions timelyto adapt to environmental changes which is reflected in

Figure 11 that GArsquos weighted total costs (6952 and6989) are close to but larger than those of OMLGA(6898 and 6943) when λ 125 and λ 15 A slowspeed leads to fewer environmental changes It can be seenthat weighted total costs of ILPs decrease (ILP1 from10346 to 8645 and ILP2 from 10517 to 8828)gradually with the decreasing λ (e reason is that ILPs havemore time to make offloading decisions with fewer envi-ronmental changes making the ILPsrsquo offloading strategyadapt to the environment to a certain extent Additionally itcan be seen that some weighted total costs of ILPs and AOexceed 100 which means that the consumption caused bythese algorithmsrsquo offloading strategies is greater than theconsumption caused by the local execution strategy

Figure 12 illustrates the clock ticks under different speedsof the user As mentioned above in this simulation the usertravels at different speeds with an identical trajectory and

Table 3 Weighted total cost () in static environments

NoAlgorithm

Optimal (ILP) OMLGA1 5953 60012 6076 60963 6854 68914 5459 55395 8777 88526 6437 64897 7383 75028 6985 70579 4869 489710 7149 7216

Optimal (ILP) OMLGA35

40

45

50

55

60

65

70

75

80

85

90

95

Wei

ghte

d to

tal c

ost (

)

Optimal (ILP)

OMLGA

Figure 13 Weighted total cost in static environments

Mobile Information Systems 15

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 16: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

hence the total time the user takes to travel is different Toevaluate the performance of these algorithms clock ticks perminute is compared ILP1 and GA rerun when detectingenvironmental changes and a large λ leads to fewer envi-ronmental changes It can be seen that clock ticks of ILP1(from 2983 ticksminute to 2876 ticksminute) and GA(from 2326 ticksminute to 1788 ticksminute) decrease withthe increasing λ Compared with ILPs the GA-based DMMin OMLGA also helps to reduce the clock ticks In additionOMLGA makes offloading decisions based on the co-operation of online ML and GA When the environment isstable OMLGA makes more offloading decisions with thehelp of the online ML-based DMM which consumes fewcomputing resources (ese two DMMs make clock ticks ofOMLGA smallest and decrease (from 1971 ticksminute to1558 ticksminute) with the increasing λ Clock ticks of AOare still quite few and clock ticks of AO and ILP2 are stableAO makes offloading decisions when it receives the strategyrequest and remains idle at other time ILP2 makes off-loading decisions periodically (erefore the userrsquos speedhas no impact on these two algorithms

ILP is a classic algorithm used to develop the accurateoptimal solution in static environments and these weightedtotal costs of ILP in static environments are used as thecriteria to measure the accuracy of OMLGA Ten simula-tions in which environmental parameters are kept static areconducted to evaluate the accuracy of OMLGA To keep theenvironmental parameters static and simulate the staticenvironments the parameters in every square are set to bethe same In other words when the user moves from onesquare to another the parameters are constant In this waythe static environments are simulated (e weighted totalcosts are shown in Table 3 and their box-plot is shown inFigure 13 As shown in Figure 13 weighted total costs ofOMLGA are close to the optimal ones (rough the statisticsof the data in Table 3 the maximum and minimum relativeerrors of OMLGA are 1612 (No 7) and 0329 (No 2)respectively(e average relative error of OMLGA is 0896

6 Conclusion

(e resource constraint prevents the further development ofMDs and mobile applications MCC as an effective way toimprove the MD performance provides a good opportunityto promote it (is paper studies the runtime offloadingdecision problem for MCC and proposes a runtime off-loading decision algorithm based on the cooperation ofonline ML and GA On the one hand with the help of GAthis algorithm obtains data to train the predictor of onlineML On the other hand with the help of online ML thisalgorithm saves more computing resources and enhancesGArsquos ability to develop the offloading strategy (e results ofthis paper show that the commonly used thin client modewhich offloads all offloadable components to the cloud isnot suitable for MCC (e ILP-based offloading decisionalgorithms work well in small-scale problems but lead to badresults and consume more computing resources in large-scale problems (e cooperative runtime offloading decisionalgorithm which minimizes the weighted total cost of

offloaded applications while reducing the computing re-source consumption and performs better in large-scaleproblems can solve the runtime offloading decision problemefficiently (e established model and proposed algorithmcan be extended to more general runtime decision problemsin dynamic environments (is study provides a feasibleapproach to design a cooperative runtime decision algo-rithm which combines online ML and GA to optimize theobjective function while reducing the computing resourceconsumption In this paper we assume that there is only oneapplication executed in MD In the future we will study theoffloading decision problem with multiple applicationsbased on the cooperative runtime offloading decision al-gorithm In that problem we need to consider the in-teraction among applications and add MLrsquos attributes tocombat the changing parameters of the MD

Data Availability

(e data used to support the findings of this study areavailable from the corresponding author upon request

Conflicts of Interest

(e authors declare that they have no conflicts of interest

Acknowledgments

(is work was supported by the Special Scientific ResearchProgram of Education Department of Shaanxi Province(Program No 19JK0806) the Young Teachers ResearchFoundation of Xirsquoan University of Posts and Telecommu-nications and the Special Funds for Construction of KeyDisciplines in Universities in Shaanxi

References

[1] CISCO Cisco Visual Networking Index Forecast and Trends2017-2022 White Paper Cisco San Jose USA 2018 httpswwwciscocomcenussolutionscollateralservice-providervisual-networking-index-vniwhite-paper-c11-741490html

[2] Internet Trend Report 2018 httpwwwkpcbcominternet-trends

[3] Energy Technology Perspectives 2017 httpswwwieaorgetptracking2017energystorage

[4] Andy and Billrsquos Law httpsenwikipediaorgwikiAndy_and_Bill27s_law

[5] P Mell and T Grance ldquo(e NIST definition of cloud com-putingrdquoCommunications of the ACM vol 53 no 6 pp 50-512011

[6] K Akherfi M Gerndt and H Harroud ldquoMobile cloudcomputing for computation offloading issues and chal-lengesrdquo Applied Computing and Informatics vol 14 no 1pp 1ndash16 2018

[7] B Zhou and R Buyya ldquoAugmentation techniques for mobilecloud computing a taxonomy survey and future directionsrdquoACM Computing Surveys vol 51 no 1 pp 1ndash38 2018

[8] T H Noor S Zeadally A Alfazi and Q Z Sheng ldquoMobilecloud computing challenges and future research directionsrdquoJournal of Network and Computer Applications vol 115 no 1pp 70ndash85 2018

16 Mobile Information Systems

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 17: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

[9] E Cuervo A Balasubramanian D Cho et al ldquoMAUI makingsmartphones last longer with code offloadrdquo in Proceedings of the8th International Conference on Mobile Systems Applicationsand Services pp 49ndash62 San Francisco CA USA June 2010

[10] S Kosta A Aucinas P Hui R Mortier and X Zhangldquo(inkAir dynamic resource allocation and parallel executionin the cloud for mobile code offloadingrdquo in Proceedings of the2012 IEEE INFOCOM pp 945ndash953 Orlando FL USAMarch2012

[11] R Kemp N Palmer T Kielmann and H Bal ldquoCuckoo acomputation offloading framework for smartphonesrdquo inProceedings of the 2010 International Conference on MobileComputing Applications and Services pp 59ndash79 Santa ClaraCA USA October 2010

[12] K Goel and M Goel ldquoCloud computing based e-commercemodelrdquo in Proceedings of the 2016 IEEE International Con-ference on Recent Trends in Electronics Information ampCommunication Technology (RTEICT) pp 27ndash30 BangaloreIndia May 2016

[13] Y Liu Y Zhang J Ling and Z Liu ldquoSecure and fine-grainedaccess control on e-healthcare records in mobile cloudcomputingrdquo Future Generation Computer Systems vol 78no 3 pp 1020ndash1026 2018

[14] L Ramırez-Donoso M Perez-Sanagustin and A NeyemldquoMyMOOCSpace mobile cloud-based system tool to improvecollaboration and preparation of group assessments in tra-ditional engineering courses in higher educationrdquo ComputerApplications in Engineering Education vol 26 no 5pp 1507ndash1518 2018

[15] C Vuchener and A Esnard ldquoGraph repartitioning with bothdynamic load and dynamic processor allocationrdquo in Pro-ceedings of the 2013 International Conference on ParallelComputing pp 243ndash252 Munchen Germany September2013

[16] K Kumar and Y-H Lu ldquoCloud computing for mobile userscan offloading computation save energyrdquo Computer vol 43no 4 pp 51ndash56 2010

[17] G Lewis and P Lago ldquoArchitectural tactics for cyber-for-aging results of a systematic literature reviewrdquo Journal ofSystems and Software vol 107 pp 158ndash186 2015

[18] Z Li C Wang and R Xu ldquoComputation offloading to saveenergy on handheld devices a partition schemerdquo in Pro-ceedings of the 2001 International Conference on CompilersArchitecture and Synthesis for Embedded Systems pp 238ndash246 Atlanta GA USA November 2001

[19] Z Li C Wang and R Xu ldquoTask allocation for distributedmultimedia processing on wirelessly networked handhelddevicesrdquo in Proceedings of the 16th International Parallel andDistributed Processing Symposium pp 6ndash11 Fort LauderdaleFL USA April 2001

[20] M Goudarzi M Zamani and A T Haghighat ldquoA genetic-based decision algorithm for multisite computation offloadingin mobile cloud computingrdquo International Journal of Com-munication Systems vol 30 no 10 pp 1ndash13 2017

[21] N I M Enzai and M Tang ldquoA heuristic algorithm for multi-site computation offloading in mobile cloud computingrdquoProcedia Computer Science vol 80 pp 1232ndash1241 2016

[22] R Niu W Song and Y Liu ldquoAn energy-efficient multisiteoffloading algorithm for mobile devicesrdquo InternationalJournal of Distributed Sensor Networks vol 9 no 3 Article ID518518 2013

[23] R Kumari S Kaushal and N Chilamkurti ldquoEnergy consciousmulti-site computation offloading for mobile cloud com-putingrdquo Soft Computing vol 22 no 20 pp 6751ndash6764 2018

[24] K Sinha and M Kulkarni ldquoTechniques for fine-grainedmulti-site computation offloadingrdquo in Proceedings of the 11thIEEEACM International Symposium on Cluster Cloud andGrid Computing pp 184ndash194 Newport Beach CA USA May2011

[25] M E Khoda M A Razzaque A Almogren M M HassanA Alamri and A Alelaiwi ldquoEfficient computation offloadingdecision in mobile cloud computing over 5G networkrdquoMobile Networks and Applications vol 21 no 5 pp 777ndash7922016

[26] D Kovachev T Yu and R Klamma ldquoAdaptive computationoffloading frommobile devices into the cloudrdquo in Proceedingsof the 10th International Symposium on Parallel and Dis-tributed Processing with Applications pp 784ndash791 LeganesSpain July 2012

[27] L Yang J Cao S Tang D Han and N Suri ldquoRuntimeapplication repartitioning in dynamic mobile cloud envi-ronmentsrdquo IEEE Transactions on Cloud Computing vol 4no 3 pp 336ndash348 2014

[28] X Jin Y Liu W Fan F Wu and B Tang ldquoMultisitecomputation offloading in dynamic mobile cloud environ-mentsrdquo Science China Information Sciences vol 60 no 8article 089301 2017

[29] H Eom P S Juste R Figueiredo O Tickoo R Illikkal andR Iyer ldquoMachine learning-based runtime scheduler formobile offloading frameworkrdquo in Proceedings of the 6th In-ternational Conference on Utility and Cloud Computingpp 9ndash12 Dresden Germany December 2013

[30] H Eom R Figueiredo H Cai Y Zhang and G HuangldquoMALMOS machine learning-based mobile offloadingscheduler with online trainingrdquo in Proceedings of the 3rd IEEEInternational Conference on Mobile Cloud Computing Ser-vices and Engineering pp 51ndash60 San Francisco CA USAApril 2015

[31] M Satyanarayanan P Bahl R Caceres and N Davies ldquo(ecase for VM-based cloudlets in mobile computingrdquo IEEEPervasive Computing vol 8 no 4 pp 14ndash23 2009

[32] Y Zhang G Huang X Liu W Zhang H Mei and S YangldquoRefactoring android Java code for on-demand computationoffloadingrdquo in Proceedings of the 2012 ACM InternationalConference on Object Oriented Programming Systems Lan-guages and Applications pp 233ndash248 Tucson AZ USAOctober 2012

[33] D Huang P Wang and D Niyato ldquoA dynamic offloadingalgorithm for mobile computingrdquo IEEE Transactions onWireless Communications vol 11 no 6 pp 1991ndash1995 2012

[34] J Huang F Qian A Gerber Z M Mao S Sen andO Spatscheck ldquoA close examination of performance andpower characteristics of 4G LTE networksrdquo in Proceedings ofthe 10th International Conference on Mobile Systems Appli-cations and Services pp 225ndash238 Low Wood Bay UK June2012

[35] S Yang ldquoMemory-based immigrants for genetic algorithms indynamic environmentsrdquo in Proceedings of the 7th AnnualConference on Genetic and Evolutionary Computationpp 1115ndash1122 Washington DC USA June 2005

[36] M Srinivas and L M Patnaik ldquoAdaptive probabilities ofcrossover and mutation in genetic algorithmsrdquo IEEE Trans-actions on Systems Man and Cybernetics vol 24 no 4pp 656ndash667 1994

[37] M Hall E Frank G Holmes B Pfahringer P Reutemannand I H Witten ldquo(e WEKA data mining softwarerdquo ACMSIGKDD Explorations Newsletter vol 11 no 1 pp 10ndash182009

Mobile Information Systems 17

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom

Page 18: CooperativeRuntimeOffloadingDecisionAlgorithmforMobile ...downloads.hindawi.com › journals › misy › 2019 › 8049804.pdf · ResearchArticle CooperativeRuntimeOffloadingDecisionAlgorithmforMobile

Computer Games Technology

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

Advances in

FuzzySystems

Hindawiwwwhindawicom

Volume 2018

International Journal of

ReconfigurableComputing

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Applied Computational Intelligence and Soft Computing

thinspAdvancesthinspinthinsp

thinspArtificial Intelligence

Hindawiwwwhindawicom Volumethinsp2018

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Journal of

Computer Networks and Communications

Hindawiwwwhindawicom Volume 2018

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

International Journal of

Biomedical Imaging

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Engineering Mathematics

International Journal of

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Computational Intelligence and Neuroscience

Hindawiwwwhindawicom Volume 2018

Mathematical Problems in Engineering

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Hindawiwwwhindawicom Volume 2018

Human-ComputerInteraction

Advances in

Hindawiwwwhindawicom Volume 2018

Scientic Programming

Submit your manuscripts atwwwhindawicom