dynamic resource allocation for load balancing in fog...

16
Research Article Dynamic Resource Allocation for Load Balancing in Fog Environment Xiaolong Xu , 1,2,3,4 Shucun Fu, 1,2 Qing Cai, 1,2 Wei Tian, 1,2 Wenjie Liu , 1,2 Wanchun Dou , 3 Xingming Sun , 1,2 and Alex X. Liu 1,4 1 School of Computer and Soſtware, Nanjing University of Information Science and Technology, Nanjing, China 2 Jiangsu Engineering Centre of Network Monitoring, Nanjing University of Information Science and Technology, Nanjing, China 3 State Key Laboratory for Novel Soſtware Technology, Nanjing University, Nanjing, China 4 Department of Computer Science and Engineering, Michigan State University, East Lansing, MI, USA Correspondence should be addressed to Wanchun Dou; [email protected] Received 6 December 2017; Accepted 19 March 2018; Published 26 April 2018 Academic Editor: Deepak Puthal Copyright © 2018 Xiaolong Xu 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. Fog computing is emerging as a powerful and popular computing paradigm to perform IoT (Internet of ings) applications, which is an extension to the cloud computing paradigm to make it possible to execute the IoT applications in the network of edge. e IoT applications could choose fog or cloud computing nodes for responding to the resource requirements, and load balancing is one of the key factors to achieve resource efficiency and avoid bottlenecks, overload, and low load. However, it is still a challenge to realize the load balance for the computing nodes in the fog environment during the execution of IoT applications. In view of this challenge, a dynamic resource allocation method, named DRAM, for load balancing in fog environment is proposed in this paper. Technically, a system framework for fog computing and the load-balance analysis for various types of computing nodes are presented first. en, a corresponding resource allocation method in the fog environment is designed through static resource allocation and dynamic service migration to achieve the load balance for the fog computing systems. Experimental evaluation and comparison analysis are conducted to validate the efficiency and effectiveness of DRAM. 1. Introduction In recent years, the Internet of ings (IoT) has attracted attention from both industry and academia, which is benefi- cial to humans’ daily lives. e data extracted from the smart sensors are oſten transmitted to the cloud data centers and the applications are generally executed by the processors in the data centers [1]. e cloud computing paradigm is efficient in provisioning computation and storage resources for the IoT applications, but the ever-increasing amount of resource requirements of the IoT applications leads to the explosively increased energy consumption and the performance degra- dation of the computing nodes due to data transmission and computing node migration; thus, how to perform IoT applications becomes an urgent issue [2–6]. Fog computing extends the computing process to the edge of the network rather than performing the IoT applications in the cloud platforms. In the fog environment, the routers are the potential physical servers which could provision resources for the fog services at the edge of the network [7, 8]. e routers could enhance the performance of computation and storage, which could be fully utilized as the computing nodes. In the big data era, there are different performance requirements for the IoT applications, especially for the real-time applications; thus, such applications choose the edge computing nodes as a priority to host [9, 10]. In the fog environment, the users could access and utilize the computation, storage, and network resources, like the way the customers use the cloud resources, and the virtualized technology is also applicative to provision the on-demand resources dynamically [11]. e IoT applications could be performed by the fog computing nodes and the physical resources deployed in the remote cloud data center. e resource allocation for the IoT applications should take into account both the centralized and the geodistributed computing nodes, and the resource schedulers and managers Hindawi Wireless Communications and Mobile Computing Volume 2018, Article ID 6421607, 15 pages https://doi.org/10.1155/2018/6421607

Upload: others

Post on 04-Jul-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Research ArticleDynamic Resource Allocation for LoadBalancing in Fog Environment

Xiaolong Xu 1234 Shucun Fu12 Qing Cai12 Wei Tian12 Wenjie Liu 12

Wanchun Dou 3 Xingming Sun 12 and Alex X Liu14

1School of Computer and Software Nanjing University of Information Science and Technology Nanjing China2Jiangsu Engineering Centre of Network Monitoring Nanjing University of Information Science and Technology Nanjing China3State Key Laboratory for Novel Software Technology Nanjing University Nanjing China4Department of Computer Science and Engineering Michigan State University East Lansing MI USA

Correspondence should be addressed to Wanchun Dou douwcnjueducn

Received 6 December 2017 Accepted 19 March 2018 Published 26 April 2018

Academic Editor Deepak Puthal

Copyright copy 2018 Xiaolong Xu et al This 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

Fog computing is emerging as a powerful and popular computing paradigm to perform IoT (Internet ofThings) applications whichis an extension to the cloud computing paradigm to make it possible to execute the IoT applications in the network of edge TheIoT applications could choose fog or cloud computing nodes for responding to the resource requirements and load balancing isone of the key factors to achieve resource efficiency and avoid bottlenecks overload and low load However it is still a challengeto realize the load balance for the computing nodes in the fog environment during the execution of IoT applications In view ofthis challenge a dynamic resource allocation method named DRAM for load balancing in fog environment is proposed in thispaper Technically a system framework for fog computing and the load-balance analysis for various types of computing nodesare presented first Then a corresponding resource allocation method in the fog environment is designed through static resourceallocation and dynamic service migration to achieve the load balance for the fog computing systems Experimental evaluation andcomparison analysis are conducted to validate the efficiency and effectiveness of DRAM

1 Introduction

In recent years the Internet of Things (IoT) has attractedattention from both industry and academia which is benefi-cial to humansrsquo daily lives The data extracted from the smartsensors are often transmitted to the cloud data centers and theapplications are generally executed by the processors in thedata centers [1] The cloud computing paradigm is efficientin provisioning computation and storage resources for theIoT applications but the ever-increasing amount of resourcerequirements of the IoT applications leads to the explosivelyincreased energy consumption and the performance degra-dation of the computing nodes due to data transmissionand computing node migration thus how to perform IoTapplications becomes an urgent issue [2ndash6] Fog computingextends the computing process to the edge of the networkrather than performing the IoT applications in the cloudplatforms

In the fog environment the routers are the potentialphysical servers which could provision resources for the fogservices at the edge of the network [7 8] The routers couldenhance the performance of computation and storage whichcould be fully utilized as the computing nodes In the bigdata era there are different performance requirements forthe IoT applications especially for the real-time applicationsthus such applications choose the edge computing nodesas a priority to host [9 10] In the fog environment theusers could access and utilize the computation storage andnetwork resources like the way the customers use the cloudresources and the virtualized technology is also applicative toprovision the on-demand resources dynamically [11]The IoTapplications could be performed by the fog computing nodesand the physical resources deployed in the remote cloud datacenterThe resource allocation for the IoT applications shouldtake into account both the centralized and the geodistributedcomputing nodes and the resource schedulers and managers

HindawiWireless Communications and Mobile ComputingVolume 2018 Article ID 6421607 15 pageshttpsdoiorg10115520186421607

2 Wireless Communications and Mobile Computing

should choose the appropriate computing nodes to host thefog services combined in the IoT applications through thedesign of resource allocation strategies

Resource allocation and resource scheduling are the keytechnologies to manage the data centers which contribute agreat deal to lowering the carbon emission improving theresource utilization and obtaining load balancing for thedata centers [12ndash14] In the cloud environment the maingoal of resource allocation is to optimize the number ofactive physical machines (PMs) and make the workloadsof the running PMs distributed in a balanced manner toavoid bottlenecks and overloaded or low-loaded resourceusage [14ndash17] In the fog environment resource allocationbecomes more complicated since the applications could beresponded to by the computing nodes both in fog and inclouds The computing nodes in the fog are distributeddispersedly in the network of edge while the computingnodes in the cloud are distributed in a centralized datacenter The resource requirements of the IoT applications forthe computing nodes are various as the applications havedifferent demands of computing power storage capacity andbandwidth Therefore it is necessary to undergo resourceallocation for the dynamic resource requirements of the IoTapplications to achieve the goal of load balancing

With the above observations it is still a challenge torealize the load balance for the computing nodes in the fogenvironment during the execution of IoT applications Inview of this challenge a dynamic resource allocationmethodnamed DRAM for load balancing in fog environment isproposed in this paper Specifically our main contributionsare threefold Firstly we present a system framework forIoT applications in fog environment and conduct the load-balance analysis for various types of computing nodesThen a corresponding resource allocation method in the fogenvironment is designed through static resource allocationanddynamic servicemigration to achieve the load balance forthe fog computing systems Finally adequate experimentalanalysis is conducted to verify the performance of ourproposed method

The rest of this paper is organized as follows In Section 2formalized concepts and definitions are presented for load-balance analysis in the fog environment Section 3 elaboratesthe proposed resource allocation method DRAM Section 4illustrates the comparison analysis and performance evalua-tion Section 5 summarizes the related work and Section 6concludes the paper and presents the prospect for the futurework

2 Preliminary Knowledge

In this section a fog computing framework for IoT applica-tions is designed and the load-balance analysis is conductedas well

To facilitate dynamic resource allocation for load balanc-ing in fog environment formal concepts and load-balanceanalysis are presented in this section Key notations anddescriptions used in this section are listed in the sectionnamed ldquoKey Terms and Descriptions Involved in ResourceScheduling in Fog Environmentrdquo

21 System Framework for Fog Computing Fog computing isa new computing paradigm which sufficiently leverages thedecentralized resources through the fog and cloud environ-ments to provision the computation and storage services forthe IoT applications Fog computing extends the data processand data storage between the smart sensors and the clouddata centers Some of the tasks from the IoT applicationscould be processed in the fog rather than performing all thetasks in the cloud environment The virtualized technologycould be employed to improve the resource usage in the fogenvironment

Figure 1 shows a hierarchical framework for computingtasks from IoT applications in the fog environment Thereare four layers in this framework that is the IoT applicationlayer the service layer the fog layer and the cloud layer TheIoT application contains a large amount of service require-ments that need to be responded to by selecting appropriatecomputing nodes according to the time urgency and theresource amount from fog and cloudThe fog layer consists ofthe edge computing nodes and the intermediate computingnodes The services with the highest time urgency and lesscomputation density can be calculated by the edge computingnodes in the fog layer and the less urgent tasks could chooseintermediate computing nodes for execution The cloudlayer is appropriate to hosting the loose-fitting tasks withhigh-density computation and huge-volume storage whichoften demand a large amount of physical resources Theintermediate computing nodes could be the routers for datatransmission the edge computing nodes could be the mobiledevices or sensors and the computing nodes in the cloud arethe PMs

Fog computing is useful for IoT applications whichcombine many fog services The fog services cover all theprocedures of the data extraction data transmission datastorage and service execution from the IoT applications

Definition 1 (fog service) The services requested by the IoTapplications are available to be performed in the fog andremote cloud data centers denoted as 119878 = 1199041 1199042 119904119873where 119873 is the number of fog services generated by the IoTapplications

The PMs in the remote cloud data centers the intermedi-ate computing nodes and the edge computing nodes in thefog environment are all available to be leveraged to provisionphysical resources for the fog services Suppose there are119872 computing nodes in the fog and cloud environmentdenoted as 119875 = 1199011 1199012 119901119872 The virtualized technologyhas been widely applied in the cloud environment whichis also adaptive in the fog environment to measure theresource capacity of all the computing nodes and the resourcerequirement of the fog services

Definition 2 (resource capacity of computing nodes) For allthe computing nodes in the fog and cloud their resourcecapacities are quantified as the number of resource unitsand each resource unit contains various physical resourcesincluding CPU memory and bandwidth

Wireless Communications and Mobile Computing 3

Intermediate Computing Nodes

Edge Computing Nodes Fog layer

Cloud layer

Service layer

IoT application layer

Resource Units

Resource Units

VM Instances

Physical Resource

Intermediate Computing Nodes

Edge Computing Nodes

R

Figure 1 Fog computing framework for IoT applications

Definition 3 (resource requirement of 119904119899) The correspondingresource requirement of the 119899th fog service 119904119899 could bequantified as the time requirements the resource typeand the resource amount to perform 119904119899 denoted as 119903119899 =119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 119888119900119906119899 where 119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 and119888119900119906119899 represent the request start time the duration time theresource type and the requested amount of 119904119899 respectively

Note that the resource requirements in this paper aremeasured by the amount of resource units For examplein the cloud data centers the resource units are the VMinstances and the customers often rent several VM instancesto host one application

22 Load Balancing Model in Fog Environment Fog com-puting paradigm releases the load distribution in the cloudenvironment Due to the diversity of execution durationand specifications for the computing nodes in the fog theresources could not be fully utilized In the fog environmentwe try to achieve load balancing for the computing nodes toavoid low utilization or overload of the computing nodes

Let 119868119898119899 (119905) be the binary variable to judge whether 119904119899 (1 le119899 le 119873) is assigned to the computing node 119901119898 (1 le 119898 le 119872)at time instant 119905 which is calculated by

119868119898119899 (119905) = 1 if 119904119899 is assigned to 1199011198980 otherwise (1)

With the judgement of fog service distribution theresource utilization for the119898th computing node 119901119898 at time 119905is calculated by

119903119906119898 (119905) = 1119888119898119873sum119899=1

119868119898119899 (119905) sdot 119903119899 (2)

where 119888119898 is the capacity of the computing node 119901119898According to the service distribution the number of

services deployed on 119901119898 at time instant 119905 is calculated by

119899119904119898 (119905) = 119873sum119899=1

119868119898119899 (119905) (3)

The load-balance variance should be specified for eachtype of computing node Suppose there are119882 types of com-puting nodes in cloud and fog environment for performingthe fog services

The load-balance variance is closely relevant to theresource utilization To calculate the resource utilization theemployed amount of computing nodeswith type119908 at the timeinstant 119905 is calculated by

119886119908 (119905) = 119872sum119898=1

119891119898 (119905) sdot 120573119898119908 (4)

where 120573119898119908 is a flag to judge whether 119901119898 is a type 119908 ofcomputing nodes which is described in (5) and119891119898(119905) is usedto judge whether 119901119898 is empty at 119905 presented in (6)

4 Wireless Communications and Mobile Computing

120573119898119908 = 1 if 119901119898 is a 119908th type computing node0 otherwise (5)

119891119898 (119905) = 1 if 119899119904119898 gt 00 otherwise (6)

The resource utilization for the computing nodes with119908th type at time 119905 is calculated by

119877119880119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119903119906119898 (119905) sdot 119891119898 (119905) (7)

Definition 4 (variance of load balance of 119901119898 at time instant119905) The load-balance value is measured by the variance of theresource utilization The variance value for 119901119898 is calculatedby

119897119887119898 (119905) = (119903119906119898 (119905) minus 119882sum119908=1

119877119880119908 (119905) sdot 120573119898119908)2

(8)

Then the average variance value for all the type 119908computing nodes is calculated by

119871119861119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119897119887119898 (119905) sdot 119891119898 (119905) (9)

For the execution period [1198790 119879] in the fog and cloudenvironment the load-balance variance could be calculatedby

119871119861119908 = 1119879 minus 1198790 int119879

1198790

119871119861119908 (119905) 119889119905 (10)

With these observations the problem of minimizing thevariance of load balance can be formulated as follows

min 119871119861119908 forall119908 = 1 119882 (11)

st 119886119908 (119905) le 119872sum119898=1

120573119898119908 (12)

119873sum119899=1

119903119899 le 119872sum119898=1

119888119898 (13)

119873sum119899=1

119868119898119899 119903119899 le 119888119898 (14)

wheresum119873119899=1 119903119899 in formula (13) represents the resource require-ments for all services sum119872119898=1 119888119898 in formula (14) represents thecapacity of all computing nodes and sum119873119899=1 119868119898119899 119903119899 in formula(14) represents the resource requirements for all servicesallocated to the type119898 computing node

From (11) to (14) we can find that the final objectivesolved in this paper is an optimization problemwith multipleconstraints [18ndash20]

3 A Dynamic Resource Allocation Method forLoad Balancing in Fog Environment

In this section we propose a dynamic resource allocationmethod named DRAM for load balancing in fog environ-ment Our method aims to achieve high load balancing forall the types of computing nodes in the fog and the cloudplatforms

31 Method Overview Our method consists of four mainsteps that is fog service partition spare space detection forcomputing nodes static resource allocation for fog servicesubset and the load-balance driven global resource alloca-tion as shown in the section named ldquoSpecification of ourProposed Resource AllocationMethod for Load Balancing inFog Environmentrdquo In this method Step 1 is the preprocessprocedure Step 2 is employed to detect the resource usagefor Steps 3 and 4 and Step 3 is designed for static resourceallocation for the fog services in the same subset and itprovides the primary resource provision strategies for Step 4Finally Step 4 is a global resource allocationmethod to realizedynamic load balance

Specification of Our Proposed Resource Allocation Method forLoad Balancing in Fog Environment

Step 1 (fog service partition) There are different types ofcomputing nodes for the performance of fog services Toefficiently provision resources the fog services are classifiedas several sets based on the resource requirements of nodetype Furthermore these sets are divided into multiple sub-sets according to the request start time

Step 2 (spare space detection for computing nodes) To judgewhether a computing node is portable to host the fog serviceit is necessary to detect the spare space of all the computingnodes We analyze the employed resource units through theanalysis of occupation records and then the spare space ofthe computing nodes could be obtained

Step 3 (static resource allocation for fog service subset)For the fog services in the same service subset the propercomputing nodes are identified to host these services Whenallocating resource units for a fog service the computingnode with the least and enough spare space is selectedBesides some workloads from the computing nodes withhigher resource usage are migrated to the computing nodeswith low resource usage

Step 4 (load-balance driven global resource allocation) Forall the fog service subsets we could find the initializedresource allocation strategies in Step 4 and then the dynamicresource allocation adjustment is conducted at the competi-tion moments of the fog services to achieve the global loadbalance during the execution period of the fog services

32 Fog Service Partition The fog services from differentIoT applications have different requirements of computingresources that is the fog services need to choose different

Wireless Communications and Mobile Computing 5

Fog services Service sets Service subsets

s1 (ퟎ 10 ퟏ 2)

s2 (ퟎ 08 ퟏ 1)

s3 (ퟏ 05 ퟏ 1)

s4 (ퟏ 07 ퟏ 3)

s5 (ퟎ 15 ퟐ 2)

s6 (ퟏ 10 ퟐ 3)

s1s1s2s2s3

s3

s4s4

f1

f2

s5 s5s6 s6

f11 f12

f21 f22

Figure 2 An example of subset acquisition with 6 fog services (ie1199041sim1199046)

types of computing nodes for resource response Supposethere are119882 types of processing nodes including the PMs incloud platforms the intermediate nodes and the edge nodesnear the sensors

In this paper we try to achieve the goal of load balancingfor each type of computing node we assume that the fog ser-vices need to be performed with the same type of computingnodes As a result the fog services could be partitioned as119882different service sets denoted as F = f1 f2 fW

The resource requirements of the fog services in the sameset have different resource response time To efficiently realizeresource allocation for the services the fog services in thesame set should be partitioned to several subsets accordingto the start time for occupying the resource units of thecomputing nodesThen we can allocate resource units for thefog services in the same set to achieve high load balancing

The subset fw (119908 = 1 2 119882) in F is divided intomultiple subsets according to the requested start time of thefog services Let fwi be the 119894th (1 le 119894 le |fw|) subset containedin fw After the partition process the fog services in 119891119908119894 havethe same request start time

For example there are 6 fog services that is 1199041sim1199046 andthe resource requirements of these 6 services are 1199041 (0 1 12) 1199042 (0 08 1 1) 1199043 (1 05 1 1) 1199044 (1 07 1 3) 1199045 (0 152 2) and 1199046 (1 1 2 3) as shown in Figure 2 These 6 fogservices are put in two different sets1198911 and1198912 according to therequested type of computing nodes 1198911 = 1199041 1199042 1199043 1199044 and1198912 = 1199045 1199046 Then 1198911 and 1198912 are partitioned to the subsetsaccording to the requested start time Partition 1198911 is dividedinto 2 subsets 11989111 = 1199041 1199042 and 11989112 = 1199043 1199044 meanwhile 1198912is also separated as 2 subsets that is11989121 = 1199045 and11989122 = 1199046

Algorithm 1 specifies the process of fog services subsetacquisition In Algorithm 1 the input is the resource require-ments of IoT applications that is 119877 and the output is thepartitioned fog service set F We traverse all the fog services(Line (1)) and the services are put in different sets accordingto the requested resource type (Lines (1) to (6)) and then thefog services are put in119882 different service setsThen the set fwis divided to multiple subsets according to the required starttime (Lines (8) to (17))33 Spare Space Detection for Computing Nodes The fogservices need to be put on the computing nodes thus thosecomputing nodes with spare space should be identified Forall the computing nodes the allocation records are employed

InputThe resource requirements of IoT applications 119877OutputThe partitioned fog service set F(1) for 119894 = 1 to119873 do(2) for 119895 = 1 to119882 doThere are119882 types of computing nodes in fog and cloud(3) if 119905119910119901119890119894 == 119895 then(4) Add 119903119894 to 119891119894(5) end if(6) end for(7) end for(8) for 119894 = 1 to119882 do(9) 119899119899 = 0 119902 = 0 119891 = 1199041199051198941198980(10) while 119899119899 lt |119891119904119894| do(11) if 119904119905119894119898119902 le 119891 then(12) Add the119898th fog service to 119891119904119894119899119899(13) else 119899119899 = 119899119899 + 1 119902 = 119902 + 1 119891 = 119904119905119894119898119902(14) Add the 119902th fog service to 119891119904119894119899119899(15) end if(16) end while(17) end for(18) Return F

Algorithm 1 Fog service subset acquisition

to monitor the resource usage of all the computing nodes inthe fog and cloud

Definition 5 (occupation record 119903119904119898119894) The 119894th (1 le 119894 le|119903119904119898|) occupation record in 119903119904119898 contains the response fogservice the occupation start time the duration time andthe resource units which is a 4-tuple denoted as 119903119904119898119894 =(119891119904119898119894 119904119905119898119894 119889119905119898119894 119906119904119898119894) where 119891119904119898119894 119904119905119898119894 119889119905119898119894 and 119906119904119898119894 arethe fog service the start time the duration time and theresource unit sets of 119903119904119898119894 respectively

A computing node has a set of occupation records sinceit could host several fog services The record set for thecomputing node 119901119898 (1 le 119898 le 119872) is recorded as 119903119904119898 Thenfor all the computing nodes in the fog and cloud there are119872occupation record sets denoted as 119877119878 = 1199031199041 1199031199042 119903119904119872In 119903119904119898 there are many occupation records which reflect theresource usage of the computing node 119901119898

The occupation records are dynamically updated accord-ing to the real-time resource provisioning for the fog servicesOnce the fog services are moved to the other computingnodes during their lifetime the occupation time parametershould be updated accordingly for the relevant records Theoccupation records are generated from the users when theyapply for resources in the fog and cloud data center for imple-menting the services generated from the IoT applications

Benefiting from the resource monitoring the occupiedresource units of all the computing nodes and the spare unitscould be detected for resource allocation at any time

Definition 6 (spare space of 119901119898) The spare space of thecomputing node 119901119898 is defined as the idle amount of resourceunits which is measured by the difference value of thecapacity and the occupied amount of resource units on 119901119898

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 2: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

2 Wireless Communications and Mobile Computing

should choose the appropriate computing nodes to host thefog services combined in the IoT applications through thedesign of resource allocation strategies

Resource allocation and resource scheduling are the keytechnologies to manage the data centers which contribute agreat deal to lowering the carbon emission improving theresource utilization and obtaining load balancing for thedata centers [12ndash14] In the cloud environment the maingoal of resource allocation is to optimize the number ofactive physical machines (PMs) and make the workloadsof the running PMs distributed in a balanced manner toavoid bottlenecks and overloaded or low-loaded resourceusage [14ndash17] In the fog environment resource allocationbecomes more complicated since the applications could beresponded to by the computing nodes both in fog and inclouds The computing nodes in the fog are distributeddispersedly in the network of edge while the computingnodes in the cloud are distributed in a centralized datacenter The resource requirements of the IoT applications forthe computing nodes are various as the applications havedifferent demands of computing power storage capacity andbandwidth Therefore it is necessary to undergo resourceallocation for the dynamic resource requirements of the IoTapplications to achieve the goal of load balancing

With the above observations it is still a challenge torealize the load balance for the computing nodes in the fogenvironment during the execution of IoT applications Inview of this challenge a dynamic resource allocationmethodnamed DRAM for load balancing in fog environment isproposed in this paper Specifically our main contributionsare threefold Firstly we present a system framework forIoT applications in fog environment and conduct the load-balance analysis for various types of computing nodesThen a corresponding resource allocation method in the fogenvironment is designed through static resource allocationanddynamic servicemigration to achieve the load balance forthe fog computing systems Finally adequate experimentalanalysis is conducted to verify the performance of ourproposed method

The rest of this paper is organized as follows In Section 2formalized concepts and definitions are presented for load-balance analysis in the fog environment Section 3 elaboratesthe proposed resource allocation method DRAM Section 4illustrates the comparison analysis and performance evalua-tion Section 5 summarizes the related work and Section 6concludes the paper and presents the prospect for the futurework

2 Preliminary Knowledge

In this section a fog computing framework for IoT applica-tions is designed and the load-balance analysis is conductedas well

To facilitate dynamic resource allocation for load balanc-ing in fog environment formal concepts and load-balanceanalysis are presented in this section Key notations anddescriptions used in this section are listed in the sectionnamed ldquoKey Terms and Descriptions Involved in ResourceScheduling in Fog Environmentrdquo

21 System Framework for Fog Computing Fog computing isa new computing paradigm which sufficiently leverages thedecentralized resources through the fog and cloud environ-ments to provision the computation and storage services forthe IoT applications Fog computing extends the data processand data storage between the smart sensors and the clouddata centers Some of the tasks from the IoT applicationscould be processed in the fog rather than performing all thetasks in the cloud environment The virtualized technologycould be employed to improve the resource usage in the fogenvironment

Figure 1 shows a hierarchical framework for computingtasks from IoT applications in the fog environment Thereare four layers in this framework that is the IoT applicationlayer the service layer the fog layer and the cloud layer TheIoT application contains a large amount of service require-ments that need to be responded to by selecting appropriatecomputing nodes according to the time urgency and theresource amount from fog and cloudThe fog layer consists ofthe edge computing nodes and the intermediate computingnodes The services with the highest time urgency and lesscomputation density can be calculated by the edge computingnodes in the fog layer and the less urgent tasks could chooseintermediate computing nodes for execution The cloudlayer is appropriate to hosting the loose-fitting tasks withhigh-density computation and huge-volume storage whichoften demand a large amount of physical resources Theintermediate computing nodes could be the routers for datatransmission the edge computing nodes could be the mobiledevices or sensors and the computing nodes in the cloud arethe PMs

Fog computing is useful for IoT applications whichcombine many fog services The fog services cover all theprocedures of the data extraction data transmission datastorage and service execution from the IoT applications

Definition 1 (fog service) The services requested by the IoTapplications are available to be performed in the fog andremote cloud data centers denoted as 119878 = 1199041 1199042 119904119873where 119873 is the number of fog services generated by the IoTapplications

The PMs in the remote cloud data centers the intermedi-ate computing nodes and the edge computing nodes in thefog environment are all available to be leveraged to provisionphysical resources for the fog services Suppose there are119872 computing nodes in the fog and cloud environmentdenoted as 119875 = 1199011 1199012 119901119872 The virtualized technologyhas been widely applied in the cloud environment whichis also adaptive in the fog environment to measure theresource capacity of all the computing nodes and the resourcerequirement of the fog services

Definition 2 (resource capacity of computing nodes) For allthe computing nodes in the fog and cloud their resourcecapacities are quantified as the number of resource unitsand each resource unit contains various physical resourcesincluding CPU memory and bandwidth

Wireless Communications and Mobile Computing 3

Intermediate Computing Nodes

Edge Computing Nodes Fog layer

Cloud layer

Service layer

IoT application layer

Resource Units

Resource Units

VM Instances

Physical Resource

Intermediate Computing Nodes

Edge Computing Nodes

R

Figure 1 Fog computing framework for IoT applications

Definition 3 (resource requirement of 119904119899) The correspondingresource requirement of the 119899th fog service 119904119899 could bequantified as the time requirements the resource typeand the resource amount to perform 119904119899 denoted as 119903119899 =119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 119888119900119906119899 where 119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 and119888119900119906119899 represent the request start time the duration time theresource type and the requested amount of 119904119899 respectively

Note that the resource requirements in this paper aremeasured by the amount of resource units For examplein the cloud data centers the resource units are the VMinstances and the customers often rent several VM instancesto host one application

22 Load Balancing Model in Fog Environment Fog com-puting paradigm releases the load distribution in the cloudenvironment Due to the diversity of execution durationand specifications for the computing nodes in the fog theresources could not be fully utilized In the fog environmentwe try to achieve load balancing for the computing nodes toavoid low utilization or overload of the computing nodes

Let 119868119898119899 (119905) be the binary variable to judge whether 119904119899 (1 le119899 le 119873) is assigned to the computing node 119901119898 (1 le 119898 le 119872)at time instant 119905 which is calculated by

119868119898119899 (119905) = 1 if 119904119899 is assigned to 1199011198980 otherwise (1)

With the judgement of fog service distribution theresource utilization for the119898th computing node 119901119898 at time 119905is calculated by

119903119906119898 (119905) = 1119888119898119873sum119899=1

119868119898119899 (119905) sdot 119903119899 (2)

where 119888119898 is the capacity of the computing node 119901119898According to the service distribution the number of

services deployed on 119901119898 at time instant 119905 is calculated by

119899119904119898 (119905) = 119873sum119899=1

119868119898119899 (119905) (3)

The load-balance variance should be specified for eachtype of computing node Suppose there are119882 types of com-puting nodes in cloud and fog environment for performingthe fog services

The load-balance variance is closely relevant to theresource utilization To calculate the resource utilization theemployed amount of computing nodeswith type119908 at the timeinstant 119905 is calculated by

119886119908 (119905) = 119872sum119898=1

119891119898 (119905) sdot 120573119898119908 (4)

where 120573119898119908 is a flag to judge whether 119901119898 is a type 119908 ofcomputing nodes which is described in (5) and119891119898(119905) is usedto judge whether 119901119898 is empty at 119905 presented in (6)

4 Wireless Communications and Mobile Computing

120573119898119908 = 1 if 119901119898 is a 119908th type computing node0 otherwise (5)

119891119898 (119905) = 1 if 119899119904119898 gt 00 otherwise (6)

The resource utilization for the computing nodes with119908th type at time 119905 is calculated by

119877119880119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119903119906119898 (119905) sdot 119891119898 (119905) (7)

Definition 4 (variance of load balance of 119901119898 at time instant119905) The load-balance value is measured by the variance of theresource utilization The variance value for 119901119898 is calculatedby

119897119887119898 (119905) = (119903119906119898 (119905) minus 119882sum119908=1

119877119880119908 (119905) sdot 120573119898119908)2

(8)

Then the average variance value for all the type 119908computing nodes is calculated by

119871119861119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119897119887119898 (119905) sdot 119891119898 (119905) (9)

For the execution period [1198790 119879] in the fog and cloudenvironment the load-balance variance could be calculatedby

119871119861119908 = 1119879 minus 1198790 int119879

1198790

119871119861119908 (119905) 119889119905 (10)

With these observations the problem of minimizing thevariance of load balance can be formulated as follows

min 119871119861119908 forall119908 = 1 119882 (11)

st 119886119908 (119905) le 119872sum119898=1

120573119898119908 (12)

119873sum119899=1

119903119899 le 119872sum119898=1

119888119898 (13)

119873sum119899=1

119868119898119899 119903119899 le 119888119898 (14)

wheresum119873119899=1 119903119899 in formula (13) represents the resource require-ments for all services sum119872119898=1 119888119898 in formula (14) represents thecapacity of all computing nodes and sum119873119899=1 119868119898119899 119903119899 in formula(14) represents the resource requirements for all servicesallocated to the type119898 computing node

From (11) to (14) we can find that the final objectivesolved in this paper is an optimization problemwith multipleconstraints [18ndash20]

3 A Dynamic Resource Allocation Method forLoad Balancing in Fog Environment

In this section we propose a dynamic resource allocationmethod named DRAM for load balancing in fog environ-ment Our method aims to achieve high load balancing forall the types of computing nodes in the fog and the cloudplatforms

31 Method Overview Our method consists of four mainsteps that is fog service partition spare space detection forcomputing nodes static resource allocation for fog servicesubset and the load-balance driven global resource alloca-tion as shown in the section named ldquoSpecification of ourProposed Resource AllocationMethod for Load Balancing inFog Environmentrdquo In this method Step 1 is the preprocessprocedure Step 2 is employed to detect the resource usagefor Steps 3 and 4 and Step 3 is designed for static resourceallocation for the fog services in the same subset and itprovides the primary resource provision strategies for Step 4Finally Step 4 is a global resource allocationmethod to realizedynamic load balance

Specification of Our Proposed Resource Allocation Method forLoad Balancing in Fog Environment

Step 1 (fog service partition) There are different types ofcomputing nodes for the performance of fog services Toefficiently provision resources the fog services are classifiedas several sets based on the resource requirements of nodetype Furthermore these sets are divided into multiple sub-sets according to the request start time

Step 2 (spare space detection for computing nodes) To judgewhether a computing node is portable to host the fog serviceit is necessary to detect the spare space of all the computingnodes We analyze the employed resource units through theanalysis of occupation records and then the spare space ofthe computing nodes could be obtained

Step 3 (static resource allocation for fog service subset)For the fog services in the same service subset the propercomputing nodes are identified to host these services Whenallocating resource units for a fog service the computingnode with the least and enough spare space is selectedBesides some workloads from the computing nodes withhigher resource usage are migrated to the computing nodeswith low resource usage

Step 4 (load-balance driven global resource allocation) Forall the fog service subsets we could find the initializedresource allocation strategies in Step 4 and then the dynamicresource allocation adjustment is conducted at the competi-tion moments of the fog services to achieve the global loadbalance during the execution period of the fog services

32 Fog Service Partition The fog services from differentIoT applications have different requirements of computingresources that is the fog services need to choose different

Wireless Communications and Mobile Computing 5

Fog services Service sets Service subsets

s1 (ퟎ 10 ퟏ 2)

s2 (ퟎ 08 ퟏ 1)

s3 (ퟏ 05 ퟏ 1)

s4 (ퟏ 07 ퟏ 3)

s5 (ퟎ 15 ퟐ 2)

s6 (ퟏ 10 ퟐ 3)

s1s1s2s2s3

s3

s4s4

f1

f2

s5 s5s6 s6

f11 f12

f21 f22

Figure 2 An example of subset acquisition with 6 fog services (ie1199041sim1199046)

types of computing nodes for resource response Supposethere are119882 types of processing nodes including the PMs incloud platforms the intermediate nodes and the edge nodesnear the sensors

In this paper we try to achieve the goal of load balancingfor each type of computing node we assume that the fog ser-vices need to be performed with the same type of computingnodes As a result the fog services could be partitioned as119882different service sets denoted as F = f1 f2 fW

The resource requirements of the fog services in the sameset have different resource response time To efficiently realizeresource allocation for the services the fog services in thesame set should be partitioned to several subsets accordingto the start time for occupying the resource units of thecomputing nodesThen we can allocate resource units for thefog services in the same set to achieve high load balancing

The subset fw (119908 = 1 2 119882) in F is divided intomultiple subsets according to the requested start time of thefog services Let fwi be the 119894th (1 le 119894 le |fw|) subset containedin fw After the partition process the fog services in 119891119908119894 havethe same request start time

For example there are 6 fog services that is 1199041sim1199046 andthe resource requirements of these 6 services are 1199041 (0 1 12) 1199042 (0 08 1 1) 1199043 (1 05 1 1) 1199044 (1 07 1 3) 1199045 (0 152 2) and 1199046 (1 1 2 3) as shown in Figure 2 These 6 fogservices are put in two different sets1198911 and1198912 according to therequested type of computing nodes 1198911 = 1199041 1199042 1199043 1199044 and1198912 = 1199045 1199046 Then 1198911 and 1198912 are partitioned to the subsetsaccording to the requested start time Partition 1198911 is dividedinto 2 subsets 11989111 = 1199041 1199042 and 11989112 = 1199043 1199044 meanwhile 1198912is also separated as 2 subsets that is11989121 = 1199045 and11989122 = 1199046

Algorithm 1 specifies the process of fog services subsetacquisition In Algorithm 1 the input is the resource require-ments of IoT applications that is 119877 and the output is thepartitioned fog service set F We traverse all the fog services(Line (1)) and the services are put in different sets accordingto the requested resource type (Lines (1) to (6)) and then thefog services are put in119882 different service setsThen the set fwis divided to multiple subsets according to the required starttime (Lines (8) to (17))33 Spare Space Detection for Computing Nodes The fogservices need to be put on the computing nodes thus thosecomputing nodes with spare space should be identified Forall the computing nodes the allocation records are employed

InputThe resource requirements of IoT applications 119877OutputThe partitioned fog service set F(1) for 119894 = 1 to119873 do(2) for 119895 = 1 to119882 doThere are119882 types of computing nodes in fog and cloud(3) if 119905119910119901119890119894 == 119895 then(4) Add 119903119894 to 119891119894(5) end if(6) end for(7) end for(8) for 119894 = 1 to119882 do(9) 119899119899 = 0 119902 = 0 119891 = 1199041199051198941198980(10) while 119899119899 lt |119891119904119894| do(11) if 119904119905119894119898119902 le 119891 then(12) Add the119898th fog service to 119891119904119894119899119899(13) else 119899119899 = 119899119899 + 1 119902 = 119902 + 1 119891 = 119904119905119894119898119902(14) Add the 119902th fog service to 119891119904119894119899119899(15) end if(16) end while(17) end for(18) Return F

Algorithm 1 Fog service subset acquisition

to monitor the resource usage of all the computing nodes inthe fog and cloud

Definition 5 (occupation record 119903119904119898119894) The 119894th (1 le 119894 le|119903119904119898|) occupation record in 119903119904119898 contains the response fogservice the occupation start time the duration time andthe resource units which is a 4-tuple denoted as 119903119904119898119894 =(119891119904119898119894 119904119905119898119894 119889119905119898119894 119906119904119898119894) where 119891119904119898119894 119904119905119898119894 119889119905119898119894 and 119906119904119898119894 arethe fog service the start time the duration time and theresource unit sets of 119903119904119898119894 respectively

A computing node has a set of occupation records sinceit could host several fog services The record set for thecomputing node 119901119898 (1 le 119898 le 119872) is recorded as 119903119904119898 Thenfor all the computing nodes in the fog and cloud there are119872occupation record sets denoted as 119877119878 = 1199031199041 1199031199042 119903119904119872In 119903119904119898 there are many occupation records which reflect theresource usage of the computing node 119901119898

The occupation records are dynamically updated accord-ing to the real-time resource provisioning for the fog servicesOnce the fog services are moved to the other computingnodes during their lifetime the occupation time parametershould be updated accordingly for the relevant records Theoccupation records are generated from the users when theyapply for resources in the fog and cloud data center for imple-menting the services generated from the IoT applications

Benefiting from the resource monitoring the occupiedresource units of all the computing nodes and the spare unitscould be detected for resource allocation at any time

Definition 6 (spare space of 119901119898) The spare space of thecomputing node 119901119898 is defined as the idle amount of resourceunits which is measured by the difference value of thecapacity and the occupied amount of resource units on 119901119898

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 3: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 3

Intermediate Computing Nodes

Edge Computing Nodes Fog layer

Cloud layer

Service layer

IoT application layer

Resource Units

Resource Units

VM Instances

Physical Resource

Intermediate Computing Nodes

Edge Computing Nodes

R

Figure 1 Fog computing framework for IoT applications

Definition 3 (resource requirement of 119904119899) The correspondingresource requirement of the 119899th fog service 119904119899 could bequantified as the time requirements the resource typeand the resource amount to perform 119904119899 denoted as 119903119899 =119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 119888119900119906119899 where 119904119905119894119898119899 119889119906119905119894119898119899 119905119910119901119890119899 and119888119900119906119899 represent the request start time the duration time theresource type and the requested amount of 119904119899 respectively

Note that the resource requirements in this paper aremeasured by the amount of resource units For examplein the cloud data centers the resource units are the VMinstances and the customers often rent several VM instancesto host one application

22 Load Balancing Model in Fog Environment Fog com-puting paradigm releases the load distribution in the cloudenvironment Due to the diversity of execution durationand specifications for the computing nodes in the fog theresources could not be fully utilized In the fog environmentwe try to achieve load balancing for the computing nodes toavoid low utilization or overload of the computing nodes

Let 119868119898119899 (119905) be the binary variable to judge whether 119904119899 (1 le119899 le 119873) is assigned to the computing node 119901119898 (1 le 119898 le 119872)at time instant 119905 which is calculated by

119868119898119899 (119905) = 1 if 119904119899 is assigned to 1199011198980 otherwise (1)

With the judgement of fog service distribution theresource utilization for the119898th computing node 119901119898 at time 119905is calculated by

119903119906119898 (119905) = 1119888119898119873sum119899=1

119868119898119899 (119905) sdot 119903119899 (2)

where 119888119898 is the capacity of the computing node 119901119898According to the service distribution the number of

services deployed on 119901119898 at time instant 119905 is calculated by

119899119904119898 (119905) = 119873sum119899=1

119868119898119899 (119905) (3)

The load-balance variance should be specified for eachtype of computing node Suppose there are119882 types of com-puting nodes in cloud and fog environment for performingthe fog services

The load-balance variance is closely relevant to theresource utilization To calculate the resource utilization theemployed amount of computing nodeswith type119908 at the timeinstant 119905 is calculated by

119886119908 (119905) = 119872sum119898=1

119891119898 (119905) sdot 120573119898119908 (4)

where 120573119898119908 is a flag to judge whether 119901119898 is a type 119908 ofcomputing nodes which is described in (5) and119891119898(119905) is usedto judge whether 119901119898 is empty at 119905 presented in (6)

4 Wireless Communications and Mobile Computing

120573119898119908 = 1 if 119901119898 is a 119908th type computing node0 otherwise (5)

119891119898 (119905) = 1 if 119899119904119898 gt 00 otherwise (6)

The resource utilization for the computing nodes with119908th type at time 119905 is calculated by

119877119880119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119903119906119898 (119905) sdot 119891119898 (119905) (7)

Definition 4 (variance of load balance of 119901119898 at time instant119905) The load-balance value is measured by the variance of theresource utilization The variance value for 119901119898 is calculatedby

119897119887119898 (119905) = (119903119906119898 (119905) minus 119882sum119908=1

119877119880119908 (119905) sdot 120573119898119908)2

(8)

Then the average variance value for all the type 119908computing nodes is calculated by

119871119861119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119897119887119898 (119905) sdot 119891119898 (119905) (9)

For the execution period [1198790 119879] in the fog and cloudenvironment the load-balance variance could be calculatedby

119871119861119908 = 1119879 minus 1198790 int119879

1198790

119871119861119908 (119905) 119889119905 (10)

With these observations the problem of minimizing thevariance of load balance can be formulated as follows

min 119871119861119908 forall119908 = 1 119882 (11)

st 119886119908 (119905) le 119872sum119898=1

120573119898119908 (12)

119873sum119899=1

119903119899 le 119872sum119898=1

119888119898 (13)

119873sum119899=1

119868119898119899 119903119899 le 119888119898 (14)

wheresum119873119899=1 119903119899 in formula (13) represents the resource require-ments for all services sum119872119898=1 119888119898 in formula (14) represents thecapacity of all computing nodes and sum119873119899=1 119868119898119899 119903119899 in formula(14) represents the resource requirements for all servicesallocated to the type119898 computing node

From (11) to (14) we can find that the final objectivesolved in this paper is an optimization problemwith multipleconstraints [18ndash20]

3 A Dynamic Resource Allocation Method forLoad Balancing in Fog Environment

In this section we propose a dynamic resource allocationmethod named DRAM for load balancing in fog environ-ment Our method aims to achieve high load balancing forall the types of computing nodes in the fog and the cloudplatforms

31 Method Overview Our method consists of four mainsteps that is fog service partition spare space detection forcomputing nodes static resource allocation for fog servicesubset and the load-balance driven global resource alloca-tion as shown in the section named ldquoSpecification of ourProposed Resource AllocationMethod for Load Balancing inFog Environmentrdquo In this method Step 1 is the preprocessprocedure Step 2 is employed to detect the resource usagefor Steps 3 and 4 and Step 3 is designed for static resourceallocation for the fog services in the same subset and itprovides the primary resource provision strategies for Step 4Finally Step 4 is a global resource allocationmethod to realizedynamic load balance

Specification of Our Proposed Resource Allocation Method forLoad Balancing in Fog Environment

Step 1 (fog service partition) There are different types ofcomputing nodes for the performance of fog services Toefficiently provision resources the fog services are classifiedas several sets based on the resource requirements of nodetype Furthermore these sets are divided into multiple sub-sets according to the request start time

Step 2 (spare space detection for computing nodes) To judgewhether a computing node is portable to host the fog serviceit is necessary to detect the spare space of all the computingnodes We analyze the employed resource units through theanalysis of occupation records and then the spare space ofthe computing nodes could be obtained

Step 3 (static resource allocation for fog service subset)For the fog services in the same service subset the propercomputing nodes are identified to host these services Whenallocating resource units for a fog service the computingnode with the least and enough spare space is selectedBesides some workloads from the computing nodes withhigher resource usage are migrated to the computing nodeswith low resource usage

Step 4 (load-balance driven global resource allocation) Forall the fog service subsets we could find the initializedresource allocation strategies in Step 4 and then the dynamicresource allocation adjustment is conducted at the competi-tion moments of the fog services to achieve the global loadbalance during the execution period of the fog services

32 Fog Service Partition The fog services from differentIoT applications have different requirements of computingresources that is the fog services need to choose different

Wireless Communications and Mobile Computing 5

Fog services Service sets Service subsets

s1 (ퟎ 10 ퟏ 2)

s2 (ퟎ 08 ퟏ 1)

s3 (ퟏ 05 ퟏ 1)

s4 (ퟏ 07 ퟏ 3)

s5 (ퟎ 15 ퟐ 2)

s6 (ퟏ 10 ퟐ 3)

s1s1s2s2s3

s3

s4s4

f1

f2

s5 s5s6 s6

f11 f12

f21 f22

Figure 2 An example of subset acquisition with 6 fog services (ie1199041sim1199046)

types of computing nodes for resource response Supposethere are119882 types of processing nodes including the PMs incloud platforms the intermediate nodes and the edge nodesnear the sensors

In this paper we try to achieve the goal of load balancingfor each type of computing node we assume that the fog ser-vices need to be performed with the same type of computingnodes As a result the fog services could be partitioned as119882different service sets denoted as F = f1 f2 fW

The resource requirements of the fog services in the sameset have different resource response time To efficiently realizeresource allocation for the services the fog services in thesame set should be partitioned to several subsets accordingto the start time for occupying the resource units of thecomputing nodesThen we can allocate resource units for thefog services in the same set to achieve high load balancing

The subset fw (119908 = 1 2 119882) in F is divided intomultiple subsets according to the requested start time of thefog services Let fwi be the 119894th (1 le 119894 le |fw|) subset containedin fw After the partition process the fog services in 119891119908119894 havethe same request start time

For example there are 6 fog services that is 1199041sim1199046 andthe resource requirements of these 6 services are 1199041 (0 1 12) 1199042 (0 08 1 1) 1199043 (1 05 1 1) 1199044 (1 07 1 3) 1199045 (0 152 2) and 1199046 (1 1 2 3) as shown in Figure 2 These 6 fogservices are put in two different sets1198911 and1198912 according to therequested type of computing nodes 1198911 = 1199041 1199042 1199043 1199044 and1198912 = 1199045 1199046 Then 1198911 and 1198912 are partitioned to the subsetsaccording to the requested start time Partition 1198911 is dividedinto 2 subsets 11989111 = 1199041 1199042 and 11989112 = 1199043 1199044 meanwhile 1198912is also separated as 2 subsets that is11989121 = 1199045 and11989122 = 1199046

Algorithm 1 specifies the process of fog services subsetacquisition In Algorithm 1 the input is the resource require-ments of IoT applications that is 119877 and the output is thepartitioned fog service set F We traverse all the fog services(Line (1)) and the services are put in different sets accordingto the requested resource type (Lines (1) to (6)) and then thefog services are put in119882 different service setsThen the set fwis divided to multiple subsets according to the required starttime (Lines (8) to (17))33 Spare Space Detection for Computing Nodes The fogservices need to be put on the computing nodes thus thosecomputing nodes with spare space should be identified Forall the computing nodes the allocation records are employed

InputThe resource requirements of IoT applications 119877OutputThe partitioned fog service set F(1) for 119894 = 1 to119873 do(2) for 119895 = 1 to119882 doThere are119882 types of computing nodes in fog and cloud(3) if 119905119910119901119890119894 == 119895 then(4) Add 119903119894 to 119891119894(5) end if(6) end for(7) end for(8) for 119894 = 1 to119882 do(9) 119899119899 = 0 119902 = 0 119891 = 1199041199051198941198980(10) while 119899119899 lt |119891119904119894| do(11) if 119904119905119894119898119902 le 119891 then(12) Add the119898th fog service to 119891119904119894119899119899(13) else 119899119899 = 119899119899 + 1 119902 = 119902 + 1 119891 = 119904119905119894119898119902(14) Add the 119902th fog service to 119891119904119894119899119899(15) end if(16) end while(17) end for(18) Return F

Algorithm 1 Fog service subset acquisition

to monitor the resource usage of all the computing nodes inthe fog and cloud

Definition 5 (occupation record 119903119904119898119894) The 119894th (1 le 119894 le|119903119904119898|) occupation record in 119903119904119898 contains the response fogservice the occupation start time the duration time andthe resource units which is a 4-tuple denoted as 119903119904119898119894 =(119891119904119898119894 119904119905119898119894 119889119905119898119894 119906119904119898119894) where 119891119904119898119894 119904119905119898119894 119889119905119898119894 and 119906119904119898119894 arethe fog service the start time the duration time and theresource unit sets of 119903119904119898119894 respectively

A computing node has a set of occupation records sinceit could host several fog services The record set for thecomputing node 119901119898 (1 le 119898 le 119872) is recorded as 119903119904119898 Thenfor all the computing nodes in the fog and cloud there are119872occupation record sets denoted as 119877119878 = 1199031199041 1199031199042 119903119904119872In 119903119904119898 there are many occupation records which reflect theresource usage of the computing node 119901119898

The occupation records are dynamically updated accord-ing to the real-time resource provisioning for the fog servicesOnce the fog services are moved to the other computingnodes during their lifetime the occupation time parametershould be updated accordingly for the relevant records Theoccupation records are generated from the users when theyapply for resources in the fog and cloud data center for imple-menting the services generated from the IoT applications

Benefiting from the resource monitoring the occupiedresource units of all the computing nodes and the spare unitscould be detected for resource allocation at any time

Definition 6 (spare space of 119901119898) The spare space of thecomputing node 119901119898 is defined as the idle amount of resourceunits which is measured by the difference value of thecapacity and the occupied amount of resource units on 119901119898

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 4: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

4 Wireless Communications and Mobile Computing

120573119898119908 = 1 if 119901119898 is a 119908th type computing node0 otherwise (5)

119891119898 (119905) = 1 if 119899119904119898 gt 00 otherwise (6)

The resource utilization for the computing nodes with119908th type at time 119905 is calculated by

119877119880119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119903119906119898 (119905) sdot 119891119898 (119905) (7)

Definition 4 (variance of load balance of 119901119898 at time instant119905) The load-balance value is measured by the variance of theresource utilization The variance value for 119901119898 is calculatedby

119897119887119898 (119905) = (119903119906119898 (119905) minus 119882sum119908=1

119877119880119908 (119905) sdot 120573119898119908)2

(8)

Then the average variance value for all the type 119908computing nodes is calculated by

119871119861119908 (119905) = 1119886119908 (119905)119872sum119898=1

119873sum119899=1

119868119898119899 (119905) sdot 119897119887119898 (119905) sdot 119891119898 (119905) (9)

For the execution period [1198790 119879] in the fog and cloudenvironment the load-balance variance could be calculatedby

119871119861119908 = 1119879 minus 1198790 int119879

1198790

119871119861119908 (119905) 119889119905 (10)

With these observations the problem of minimizing thevariance of load balance can be formulated as follows

min 119871119861119908 forall119908 = 1 119882 (11)

st 119886119908 (119905) le 119872sum119898=1

120573119898119908 (12)

119873sum119899=1

119903119899 le 119872sum119898=1

119888119898 (13)

119873sum119899=1

119868119898119899 119903119899 le 119888119898 (14)

wheresum119873119899=1 119903119899 in formula (13) represents the resource require-ments for all services sum119872119898=1 119888119898 in formula (14) represents thecapacity of all computing nodes and sum119873119899=1 119868119898119899 119903119899 in formula(14) represents the resource requirements for all servicesallocated to the type119898 computing node

From (11) to (14) we can find that the final objectivesolved in this paper is an optimization problemwith multipleconstraints [18ndash20]

3 A Dynamic Resource Allocation Method forLoad Balancing in Fog Environment

In this section we propose a dynamic resource allocationmethod named DRAM for load balancing in fog environ-ment Our method aims to achieve high load balancing forall the types of computing nodes in the fog and the cloudplatforms

31 Method Overview Our method consists of four mainsteps that is fog service partition spare space detection forcomputing nodes static resource allocation for fog servicesubset and the load-balance driven global resource alloca-tion as shown in the section named ldquoSpecification of ourProposed Resource AllocationMethod for Load Balancing inFog Environmentrdquo In this method Step 1 is the preprocessprocedure Step 2 is employed to detect the resource usagefor Steps 3 and 4 and Step 3 is designed for static resourceallocation for the fog services in the same subset and itprovides the primary resource provision strategies for Step 4Finally Step 4 is a global resource allocationmethod to realizedynamic load balance

Specification of Our Proposed Resource Allocation Method forLoad Balancing in Fog Environment

Step 1 (fog service partition) There are different types ofcomputing nodes for the performance of fog services Toefficiently provision resources the fog services are classifiedas several sets based on the resource requirements of nodetype Furthermore these sets are divided into multiple sub-sets according to the request start time

Step 2 (spare space detection for computing nodes) To judgewhether a computing node is portable to host the fog serviceit is necessary to detect the spare space of all the computingnodes We analyze the employed resource units through theanalysis of occupation records and then the spare space ofthe computing nodes could be obtained

Step 3 (static resource allocation for fog service subset)For the fog services in the same service subset the propercomputing nodes are identified to host these services Whenallocating resource units for a fog service the computingnode with the least and enough spare space is selectedBesides some workloads from the computing nodes withhigher resource usage are migrated to the computing nodeswith low resource usage

Step 4 (load-balance driven global resource allocation) Forall the fog service subsets we could find the initializedresource allocation strategies in Step 4 and then the dynamicresource allocation adjustment is conducted at the competi-tion moments of the fog services to achieve the global loadbalance during the execution period of the fog services

32 Fog Service Partition The fog services from differentIoT applications have different requirements of computingresources that is the fog services need to choose different

Wireless Communications and Mobile Computing 5

Fog services Service sets Service subsets

s1 (ퟎ 10 ퟏ 2)

s2 (ퟎ 08 ퟏ 1)

s3 (ퟏ 05 ퟏ 1)

s4 (ퟏ 07 ퟏ 3)

s5 (ퟎ 15 ퟐ 2)

s6 (ퟏ 10 ퟐ 3)

s1s1s2s2s3

s3

s4s4

f1

f2

s5 s5s6 s6

f11 f12

f21 f22

Figure 2 An example of subset acquisition with 6 fog services (ie1199041sim1199046)

types of computing nodes for resource response Supposethere are119882 types of processing nodes including the PMs incloud platforms the intermediate nodes and the edge nodesnear the sensors

In this paper we try to achieve the goal of load balancingfor each type of computing node we assume that the fog ser-vices need to be performed with the same type of computingnodes As a result the fog services could be partitioned as119882different service sets denoted as F = f1 f2 fW

The resource requirements of the fog services in the sameset have different resource response time To efficiently realizeresource allocation for the services the fog services in thesame set should be partitioned to several subsets accordingto the start time for occupying the resource units of thecomputing nodesThen we can allocate resource units for thefog services in the same set to achieve high load balancing

The subset fw (119908 = 1 2 119882) in F is divided intomultiple subsets according to the requested start time of thefog services Let fwi be the 119894th (1 le 119894 le |fw|) subset containedin fw After the partition process the fog services in 119891119908119894 havethe same request start time

For example there are 6 fog services that is 1199041sim1199046 andthe resource requirements of these 6 services are 1199041 (0 1 12) 1199042 (0 08 1 1) 1199043 (1 05 1 1) 1199044 (1 07 1 3) 1199045 (0 152 2) and 1199046 (1 1 2 3) as shown in Figure 2 These 6 fogservices are put in two different sets1198911 and1198912 according to therequested type of computing nodes 1198911 = 1199041 1199042 1199043 1199044 and1198912 = 1199045 1199046 Then 1198911 and 1198912 are partitioned to the subsetsaccording to the requested start time Partition 1198911 is dividedinto 2 subsets 11989111 = 1199041 1199042 and 11989112 = 1199043 1199044 meanwhile 1198912is also separated as 2 subsets that is11989121 = 1199045 and11989122 = 1199046

Algorithm 1 specifies the process of fog services subsetacquisition In Algorithm 1 the input is the resource require-ments of IoT applications that is 119877 and the output is thepartitioned fog service set F We traverse all the fog services(Line (1)) and the services are put in different sets accordingto the requested resource type (Lines (1) to (6)) and then thefog services are put in119882 different service setsThen the set fwis divided to multiple subsets according to the required starttime (Lines (8) to (17))33 Spare Space Detection for Computing Nodes The fogservices need to be put on the computing nodes thus thosecomputing nodes with spare space should be identified Forall the computing nodes the allocation records are employed

InputThe resource requirements of IoT applications 119877OutputThe partitioned fog service set F(1) for 119894 = 1 to119873 do(2) for 119895 = 1 to119882 doThere are119882 types of computing nodes in fog and cloud(3) if 119905119910119901119890119894 == 119895 then(4) Add 119903119894 to 119891119894(5) end if(6) end for(7) end for(8) for 119894 = 1 to119882 do(9) 119899119899 = 0 119902 = 0 119891 = 1199041199051198941198980(10) while 119899119899 lt |119891119904119894| do(11) if 119904119905119894119898119902 le 119891 then(12) Add the119898th fog service to 119891119904119894119899119899(13) else 119899119899 = 119899119899 + 1 119902 = 119902 + 1 119891 = 119904119905119894119898119902(14) Add the 119902th fog service to 119891119904119894119899119899(15) end if(16) end while(17) end for(18) Return F

Algorithm 1 Fog service subset acquisition

to monitor the resource usage of all the computing nodes inthe fog and cloud

Definition 5 (occupation record 119903119904119898119894) The 119894th (1 le 119894 le|119903119904119898|) occupation record in 119903119904119898 contains the response fogservice the occupation start time the duration time andthe resource units which is a 4-tuple denoted as 119903119904119898119894 =(119891119904119898119894 119904119905119898119894 119889119905119898119894 119906119904119898119894) where 119891119904119898119894 119904119905119898119894 119889119905119898119894 and 119906119904119898119894 arethe fog service the start time the duration time and theresource unit sets of 119903119904119898119894 respectively

A computing node has a set of occupation records sinceit could host several fog services The record set for thecomputing node 119901119898 (1 le 119898 le 119872) is recorded as 119903119904119898 Thenfor all the computing nodes in the fog and cloud there are119872occupation record sets denoted as 119877119878 = 1199031199041 1199031199042 119903119904119872In 119903119904119898 there are many occupation records which reflect theresource usage of the computing node 119901119898

The occupation records are dynamically updated accord-ing to the real-time resource provisioning for the fog servicesOnce the fog services are moved to the other computingnodes during their lifetime the occupation time parametershould be updated accordingly for the relevant records Theoccupation records are generated from the users when theyapply for resources in the fog and cloud data center for imple-menting the services generated from the IoT applications

Benefiting from the resource monitoring the occupiedresource units of all the computing nodes and the spare unitscould be detected for resource allocation at any time

Definition 6 (spare space of 119901119898) The spare space of thecomputing node 119901119898 is defined as the idle amount of resourceunits which is measured by the difference value of thecapacity and the occupied amount of resource units on 119901119898

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 5: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 5

Fog services Service sets Service subsets

s1 (ퟎ 10 ퟏ 2)

s2 (ퟎ 08 ퟏ 1)

s3 (ퟏ 05 ퟏ 1)

s4 (ퟏ 07 ퟏ 3)

s5 (ퟎ 15 ퟐ 2)

s6 (ퟏ 10 ퟐ 3)

s1s1s2s2s3

s3

s4s4

f1

f2

s5 s5s6 s6

f11 f12

f21 f22

Figure 2 An example of subset acquisition with 6 fog services (ie1199041sim1199046)

types of computing nodes for resource response Supposethere are119882 types of processing nodes including the PMs incloud platforms the intermediate nodes and the edge nodesnear the sensors

In this paper we try to achieve the goal of load balancingfor each type of computing node we assume that the fog ser-vices need to be performed with the same type of computingnodes As a result the fog services could be partitioned as119882different service sets denoted as F = f1 f2 fW

The resource requirements of the fog services in the sameset have different resource response time To efficiently realizeresource allocation for the services the fog services in thesame set should be partitioned to several subsets accordingto the start time for occupying the resource units of thecomputing nodesThen we can allocate resource units for thefog services in the same set to achieve high load balancing

The subset fw (119908 = 1 2 119882) in F is divided intomultiple subsets according to the requested start time of thefog services Let fwi be the 119894th (1 le 119894 le |fw|) subset containedin fw After the partition process the fog services in 119891119908119894 havethe same request start time

For example there are 6 fog services that is 1199041sim1199046 andthe resource requirements of these 6 services are 1199041 (0 1 12) 1199042 (0 08 1 1) 1199043 (1 05 1 1) 1199044 (1 07 1 3) 1199045 (0 152 2) and 1199046 (1 1 2 3) as shown in Figure 2 These 6 fogservices are put in two different sets1198911 and1198912 according to therequested type of computing nodes 1198911 = 1199041 1199042 1199043 1199044 and1198912 = 1199045 1199046 Then 1198911 and 1198912 are partitioned to the subsetsaccording to the requested start time Partition 1198911 is dividedinto 2 subsets 11989111 = 1199041 1199042 and 11989112 = 1199043 1199044 meanwhile 1198912is also separated as 2 subsets that is11989121 = 1199045 and11989122 = 1199046

Algorithm 1 specifies the process of fog services subsetacquisition In Algorithm 1 the input is the resource require-ments of IoT applications that is 119877 and the output is thepartitioned fog service set F We traverse all the fog services(Line (1)) and the services are put in different sets accordingto the requested resource type (Lines (1) to (6)) and then thefog services are put in119882 different service setsThen the set fwis divided to multiple subsets according to the required starttime (Lines (8) to (17))33 Spare Space Detection for Computing Nodes The fogservices need to be put on the computing nodes thus thosecomputing nodes with spare space should be identified Forall the computing nodes the allocation records are employed

InputThe resource requirements of IoT applications 119877OutputThe partitioned fog service set F(1) for 119894 = 1 to119873 do(2) for 119895 = 1 to119882 doThere are119882 types of computing nodes in fog and cloud(3) if 119905119910119901119890119894 == 119895 then(4) Add 119903119894 to 119891119894(5) end if(6) end for(7) end for(8) for 119894 = 1 to119882 do(9) 119899119899 = 0 119902 = 0 119891 = 1199041199051198941198980(10) while 119899119899 lt |119891119904119894| do(11) if 119904119905119894119898119902 le 119891 then(12) Add the119898th fog service to 119891119904119894119899119899(13) else 119899119899 = 119899119899 + 1 119902 = 119902 + 1 119891 = 119904119905119894119898119902(14) Add the 119902th fog service to 119891119904119894119899119899(15) end if(16) end while(17) end for(18) Return F

Algorithm 1 Fog service subset acquisition

to monitor the resource usage of all the computing nodes inthe fog and cloud

Definition 5 (occupation record 119903119904119898119894) The 119894th (1 le 119894 le|119903119904119898|) occupation record in 119903119904119898 contains the response fogservice the occupation start time the duration time andthe resource units which is a 4-tuple denoted as 119903119904119898119894 =(119891119904119898119894 119904119905119898119894 119889119905119898119894 119906119904119898119894) where 119891119904119898119894 119904119905119898119894 119889119905119898119894 and 119906119904119898119894 arethe fog service the start time the duration time and theresource unit sets of 119903119904119898119894 respectively

A computing node has a set of occupation records sinceit could host several fog services The record set for thecomputing node 119901119898 (1 le 119898 le 119872) is recorded as 119903119904119898 Thenfor all the computing nodes in the fog and cloud there are119872occupation record sets denoted as 119877119878 = 1199031199041 1199031199042 119903119904119872In 119903119904119898 there are many occupation records which reflect theresource usage of the computing node 119901119898

The occupation records are dynamically updated accord-ing to the real-time resource provisioning for the fog servicesOnce the fog services are moved to the other computingnodes during their lifetime the occupation time parametershould be updated accordingly for the relevant records Theoccupation records are generated from the users when theyapply for resources in the fog and cloud data center for imple-menting the services generated from the IoT applications

Benefiting from the resource monitoring the occupiedresource units of all the computing nodes and the spare unitscould be detected for resource allocation at any time

Definition 6 (spare space of 119901119898) The spare space of thecomputing node 119901119898 is defined as the idle amount of resourceunits which is measured by the difference value of thecapacity and the occupied amount of resource units on 119901119898

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 6: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

6 Wireless Communications and Mobile Computing

05 10 15 20 25 300Time instants

Reso

urce

Uni

ts

r1

r2 r3

r3

r4

r5

r5

r6

u16

u15

u14

u13

u12

u11

Figure 3 An example of spare space detection with 6 occupationrecords (ie 1199031sim1199036)

InputThe occupation record for the computing node 119901119898OutputThe spare space for 119901119898(1) 119888119900119906 = 0(2) for 119894 = 1 to |119903119904119898| do(3) 119888119905119898119894 = 119904119905119898119894 + 119889119905119898119894119888119905119898119894 is the finish time for the occupation of resource units(4) if 119905 ge 119904119905119898119894 ampamp 119905 lt 119888119905119898119894 then119905 is the request time for statistics(5) 119888119900119906 = 119888119900119906 + |119906119904119898119894|(6) end if(7) end for(8) 119888119900119906 = 119888119898 minus 119888119900119906(9) Return cou

Algorithm 2 Spare space detection for computing nodes

The spare space of the computing node 119901119898 could bedetected from the analysis of occupation records In theserecords if occupation start time is less than the statistic timeinstant for checking the PM status and the occupation finishtime is over the statistic time the relevant resource unitscombined in the occupation records could be obtained Withthese acquired resource units and the resource capacity of119901119898the spare space could be finally detected

For example there are 6 occupation records for thecomputing node 1199011 that is 1199031 (1 0 05 11990611) 1199032 (2 0307 11990612) 1199033 (3 13 1 11990611 11990612) 1199034 (4 14 12 11990613)1199035 (5 14 08 11990614 11990615) and 1199036 (6 25 05 11990611) asshown in Figure 3 If the statistic instant for spare spacedetection is 15 the identified occupation records within thestatistic time are 1199033 1199034 and 1199035 Based on the analysis ofthe occupation records the employed resource units at thismoment are 11990611 11990612 11990613 11990614 and 11990615 Suppose the capacityof 1199011 is 6 then the spare space of 1199011 at time instant 15 is 1

Algorithm 2 specifies the key idea of spare space detectionfor computing nodes In Algorithm 2 the input and theoutput are the occupation records of the computing node 119901119898and the spare space for 119901119898 According to Definition 7 weneed to calculate the occupation amount of resource units on

119901119898 first (Lines (1) to (8)) and then the spare space could bedetected (Line (8))34 Static Resource Allocation for Fog Service Subset Basedon the fog service partition in Section 31 and spare spacedetection for computing nodes in Section 32 the fog servicesthat need to be processed and the available computingresources for fog service execution are identified which areall beneficial for resource allocation

In the fog environment the fog services need to beresponded to by the computing nodes and the time require-ments also should be presented when allocating the resourcesto the fog services In this section we define the resourceallocation records to reserve the allocation history aboutresource provisioning for the fog services

Definition 7 (resource allocation record for 119904119899) The resourceallocation record for 119904119899 consists of the node type the numberof resource units the start time and the desired durationtime which is denoted as 119886119899 = (119899119905119899 119899119906119898119899 119904119905119899 119889119905119899) where119899119905119899 119899119906119898119899 119904119905119899 and 119889119905119899 are the node type the amountof resource units the service start time and the resourceoccupation time for 119904119899 respectively

The fog services in the same fog service subset have thesame required node type and start time When allocatingresource units for the fog service subset each fog serviceshould find a portable computing node to host it Thus weneed to find the available nodes first The computing nodeswith the requested type which have spare space which couldbe detected by Algorithm 2 are chosen as the candidateresources to be provided for the fog services in the subset

To achieve the load balancing of the computing nodes wetry to achieve high resource usage of the employed computingnodes The problem of static resource allocation is like binpacking problem which is NP-hard Here we leverage theidea of Best Fit Decreasing to realize the process of computingnode matching for the fog services Before resource alloca-tion the fog services are sorted in the decreasing order ofrequested resource amount The service with more requiredresource units will be processed first And it chooses thecomputing node with the least and enough spare space forhosting the service

For example there are 3 computing nodes 1198751 1198752 and1198753 and the spare spaces of these 3 computing nodes are 46 and 9 respectively as shown in Figure 4 There are twofog services in the same subset that is 1198781 and 1198782 and therequested resource amounts of these two services are 2 and6 When conducting resource allocation for 1198781 and 1198782 1198782 hasmore resource requirements and thus 1198782 is processed firstAfter resource allocation 1198782 chose1198753 for hosting and 1198781 chose1198751 for hosting

The above allocation may lead to the unbalanced dis-tribution of the workloads of some computing nodes Inthis section a threshold 120588 is employed to judge whether thecomputing node is in low resource utilization If a computingnode is in low resource utilization and there are no othercomputing nodes that could host the workloads in thiscomputing node we choose to move some workloads to thiscomputing node to improve the load balance

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 7: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 7

Computing nodes

Fog services

Before allocation

After allocation

P1

P1

P2

P2

P3

P3S1 S2

Figure 4 An example of static resource allocation for fog services1198781 and 1198782 with computing nodes 1198751 1198752 and 1198753

After resource allocation there are several allocationrecords generated to record the allocation history for thefog services in the service subset Meanwhile there are somecomputing nodes providing resource units for executing thefog services which also generate some occupation records

Algorithm 3 illustrates the key idea of static resourceallocation for fog service subset fwiThe input of Algorithm 3is the fog service subset fwi and the output of this algorithmis the resource allocation records for the fog services in fwiThe required computing nodes of fog services in the samesubset have the same node type which should be obtainedfirst (Line (1)) The services with fewer requested resourceunits will be processed first so fwi should be sorted inthe increasing order of the amount of values of requiredresources Then each service could be responded to withcomputing nodes sequentially (Line (3)) When selecting acomputing node to provision resources for a fog service theavailable computing nodes with enough spare space to hostthe service calculated by Algorithm 2 should be achievedfirst (Lines (4) to (11)) The computing nodes also should besorted in the increasing order of spare space (Line (12))Thenthe computing node with the least spare space will be selectedto accommodate the service (Line (13)) Some workloadsfrom the computing nodes with higher resource usage willbe migrated to the computing nodes with low resourceutilization to improve load balance (Lines (15) to (24))Finally the relevant occupation records and the resourceallocation record for the fog service should be updated (Lines(25) and (26))35 Load-Balance Driven Global Resource Allocation Fromthe analysis in Sections 32 and 34 the initialized resourceallocation is conducted and the different types of computingnodes could achieve high resource utilization and load bal-ancing at the allocationmoment However the static resourceallocation only could achieve the temporary load balancingat the service arrival moments During the service runningthe resource usage of the computing nodes is dynamicallychanged due to the various lifetimes of the fog services Inthis section a global resource allocation strategy is designedtomake load balancing come true during the execution of thefog services

InputThe fog service subset fwiOutputThe relevant resource allocation records(1) Get the node type nt in the service subset fwi(2) Sort fwi in decreasing order of required resource amount(3) for each fog service in fwi do(4) for 119894 = 1 to119872 do(5) if 119901119898 has the same type with 119899119905 then(6) Get the spare space byAlgorithm 2(7) if 119901119898 has enough space to host the service then(8) Add the computing node to 119862119871(9) end if(10) end if(11) end for(12) Sort 119862119871 in increasing order of spare space(13) Put the service in the first computing node in 119862119871(14) end for(15) flag = 1 119894 = 1(16) Identify the occupied computing nodes from 119862119871 to 1198621198711015840(17) Sort 1198621198711015840 in the decreasing order of spare space(18) while flag == 1 do(19) if the resource usage of 1198881198971015840119894 is less than 120588 then(20) Select the tasks to migrate to the computing node(21) 119894 = 119894 + 1(22) else flag = 0(23) end if(24) end while(25)Update the relevant occupation records(26) Generate an allocation records

Algorithm 3 Static resource allocation for fog service subset

The fog service subsets demand the same type of comput-ing nodes for hosting sequentially according to the requestedstart time of the resources Let 119887119905119908119894 be the requested starttime for resource occupation of the 119894th subset 119891119908119894 in fw Fordynamic adjustment of resource allocation at the finish timeof the fog services in 119887119905119908119894 (1 le 119894 lt |fw|) the schedulingtime should be with the time period (119887119905119908119894 119887119905119908119894+1) When119894 = |fw| the scheduling time should be the competition timefor the rest of the fog service loads during the period for theexecution of the fog services in fwi

At the scheduling time the running workloads occupysome computing nodes and these computing nodes maybe with low resource usage due to the service competitionThe computing nodes with the same type in fog or cloudcould be sorted in the decreasing order of the resourceusage The workloads in the computing nodes with thelower resource usage could be migrated to the computingnodes with higher resource usage to achieve higher resourceutilization Besides the migration of workloads could alsohelp to realize the goal of load balancing as the computingnodes withmore spare space could bemoved vacant and shutdown further

For the workloads from different fog services it isnecessary to find the destination computing nodes to hostthem The selection of destination computing nodes decideson the resource requirements of the workloads and the sparespace of the computing nodes If all the workloads from the

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 8: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

8 Wireless Communications and Mobile Computing

InputThe fog service set 119878OutputThe resource allocation records

The occupation records on computing nodes(1)Obtain fog service subset F by Algorithm 1(2) for 119894 = 1 to119882 do(3) for 119895 = 1 to |119891119908| do(4) Algorithm 3 Static resource allocation for fwj(5) Calculate 119862119879 CT is the competition time list CT = 1198881199051 1198881199052 119888119905119870(6) for 119896 = 1 to 119870 do(7) Update the current run list in fwj(8) for 119897 = 1 to119872 do(9) Get spare space by Algorithm 2 at 119888119905119896(10) if119901119897 has spare space and is not empty then(11) Add 119901119897 to 119878119871(12) end if(13) end for(14) Sort SL in increasing order of spare space(15) flag = 1 119902 = 1(16) while flag == 1 do(17) Get the occupied resources sets on 119904119897119902(18) for each occupied resource set do(19) Confirm the destination PM(20) end for(21) if the resource sets can be moved then(22) 119902 = 119902 + 1(23) Update the relevant allocation records(24) Update the occupation records(25) else flag = 0(26) end if(27) end while(28) end for(29) end for(30) end for

Algorithm 4 Load-balance driven global resource allocation

same computing node could find the destination computingnodes these workloads could be migrated to the destinationcomputing nodes Finally the resource allocation records andthe occupation records are generated or updated according tothe real occupation computing nodes and the usage time ofthe corresponding resource units

Algorithm 4 illustrates the key process of load-balancedriven global resource allocationThe key idea of Algorithm4is to conduct static resource allocation for the fog services atthe start execution time and dynamically adjust the serviceplacement according to the resource usage of all the employedcomputing nodes The input of this algorithm is the fogservice set 119878 and the final output of this algorithm is theresource allocation records and the occupation records Inthis algorithm the fog service subset is achieved first byAlgorithm 1 (Line (1)) and then we traverse each subset forresource allocation (Line (2)) and conduct static resourceallocation for the subsets by Algorithm 3 (Line (3))Then foreach subset the competition time list119862119871 is extracted for load-balance driven dynamic resource allocation (Line (5)) Thenat each competition instant we adjust the resource allocation

Table 1 Parameter settings

Parameter DomainNumber of fog services 500 1000 1500 2000Number of computing nodes 3000Number of node types 3Resource capacity 7 12 18Resource requirements of fog services [1 15]Duration for each service [01 48]

records for the running services (Line (6)) The fog serviceson the computing node with less spare space would bemovedto the computing node with higher resource usage which hasenough spare space to host the services (Lines (8) to (20))When all the fog services on a computing node could findthe destination node the relevant allocation records and theoccupation records for the resource units will be generatedand updated (Lines (15) to (27))4 Experimental Analysis

In this section the cloud simulator Cloudsim is applied toevaluate our proposed method DRAM The intermediatecomputing nodes and the edge computing nodes are simu-lated as two computing data centers The resource allocationmethod for fog environment is NP-hard like the bin packingproblem thus the typical and efficient resource allocationmethods FF BF FFD and BFD are employed for comparisonanalysis

41 Experimental Context To discuss the effectiveness ofDRAM 4 datasets with different scale of fog services areutilized which are shared at httpsdrivegooglecomdrivefolders0B0T819XffFKrZTV4MFdzSjg0dDAusp=sharingThe parameters for experimental evaluation are presented inTable 1

The fog services employ three types of computing nodesthat is the edge computing node the intermediate nodeand the PMs in cloud for resource response The number ofservices for each type of computing node contained in the4 different datasets is shown in Figure 5 For example whenthe number of fog services is 1000 there are 324 fog servicesthat need edge computing nodes 353 fog services that needintermediate computing nodes and 323 fog services that needPMs in the remote cloud for resource response

42 Performance Evaluation Our proposed method tends tominimize the load-balance variance which is relevant to theresource utilization of each computing node and the averageresource utilization Therefore we conduct performanceevaluation for this fog computing system on the employednumber of computing nodes resource utilization and load-balance variance

(1) Performance Evaluation on the Employed Number ofComputing NodesThe number of the computing nodes couldreflect the efficiency of resource usage Figure 6 shows thecomparison of the number of employed computing nodes

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 9: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 9

179

324

489

637

167

353

517

713

154

323

494

650

0

100

200

300

400

500

600

700

800

500 1000 1500 2000

Edge Computing NodeIntermediate Computing NodePMs in Cloud

Number of fog services for resource allocation

Num

ber o

f ser

vice

s for

com

putin

g no

des

Figure 5 Number of fog services for the 3 types of computing nodeswith different datasets

0

20

40

60

80

100

120

140

500 1000 1500 2000

FFBFFFD

BFDDRAM

Number of fog services for resource allocation

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

Figure 6 Comparison of the number of employed computing nodesby FF BF FFD BFD and DRAM with different datasets

by FF BF FFD BFD and DRAM by using the 4 differentscales of datasets From Figure 6 we can find that ourproposed method DRAM as well as BFD could employ fewercomputing nodes compared with FF BF and FFD whenthe number of fog services is 500 1000 and 2000 Whenthe number of fog services is 1500 our proposed DRAMcould even get higher efficiency on the employed number ofcomputing nodes than BFD In the process of static resourceallocation DRAM leverages the basic idea of BFD thus inmost cases DRAMandBFDhave similar performance on theamount of employed computing nodes But when some of thecomputing nodes are spared through the process of DRAMthus in some cases DRAM is superior to BFD

As there are 3 types of computing nodes in our experi-mental evaluations we should evaluate DRAM for the dif-ferent types of computing nodes compared to the other fourmethodsThe4 subfigures in Figure 7 show the comparison ofthe number of the employed computing nodes with differenttypes by FF BF FFD BFD and DRAM using differentdatasets It is intuitive from Figure 7 that our proposedmethod DRAM is fit for all kinds of computing nodes whichemploys fewer computing nodes than FF BF and FFD andgets similar performance to BFD in most cases

(2) Performance Evaluation on Resource Utilization Theresource utilization is a key factor to decide the load-balancevariance thus we evaluate this value to discuss the resourceusage achieved by FF BF FFD BFD and DRAM withdifferent datasets The resource utilization is referenced tothe resource usage of the resource units on the computingnodes Figure 8 shows the comparison of average resourceutilization by FF BF FFD BFD and DRAM with differentdatasets It is intuitive from Figure 8 that DRAM could obtainbetter resource utilization than FF BF FFD and BFD sinceDRAM is a dynamic and adaptivemethodwhich could adjustthe load distribution during the fog service execution

Similar to the evaluation on the employed amount ofcomputing nodes the performance evaluation on resourceutilization is conducted from the perspective of the differenttypes of the computing nodes Figure 9 shows the comparisonof resource utilization for different types of computing nodesby FF BF FFD BFD and DRAM with different datasetsFrom Figure 9 we can find that DRAM could achieve higherresource utilization than FF BF FFD and BFD For examplein Figure 9(c) when the number of fog services is 1500DRAM obtains the resource utilization over 80 whereasFF BF FFD and BFD obtain near or below 70 resourceutilization for each type of computing node

(3) Performance Evaluation on Load-Balance Variance Theevaluation of the load-balance variance is also conducted byFF BF FFD BFD and DRAM using 4 different scales ofdatasets Figure 10 shows the comparison of average load-balance variance where we can find that our proposedmethod DRAM is superior to the other methods that is FFBF FFD and BFD For example when the number of fogservices is 500 the load-balance variance obtained by DRAMis near 25 times 10minus2 whereas FF BF FFD and BFD obtain theload-balance value over 3 times 10minus2

The evaluation on the load-balance variance also shouldtake into consideration the computing node type Figure 11shows the comparison of load-balance variance values fordifferent types of computing nodes by FF BF FFD BFD andDRAM with different datasets From Figure 11 we can findthat when changing the scale of datasets our method cankeep the priority on the load-balance variance for each typeof computing node

5 Related Work

The IoT technology has been widely applied in many fieldsincluding weather forecasting and traffic monitoring The

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 10: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

10 Wireless Communications and Mobile Computing

0

5

10

15

20

25

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud0

5

10

15

20

25

30

35

40

45

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud05

101520253035404550

Num

ber o

f em

ploy

ed co

mpu

ting

node

s

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 7 Comparison of the number of the employed computing nodes with different types by FF BF FFD BFD and DRAM using differentdatasets

0102030405060708090

100

500 1000 1500 2000Number of fog services for resource allocation

Aver

age r

esou

rce u

tiliz

atio

n (

)

FFBFFFD

BFDDRAM

Figure 8 Comparison of average resource utilization by FF BF FFD BFD and DRAM with different datasets

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 11: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 11

0102030405060708090

100Re

sour

ce U

tiliz

atio

n (

)

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(a) Number of fog services = 500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(b) Number of fog services = 1000

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(c) Number of fog services = 1500

0102030405060708090

100

Reso

urce

Util

izat

ion

()

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 9 Comparison of resource utilization for different types of computing nodes by FF BF FFD BFD and DRAMwith different datasets

0

1

2

3

4

5

6

500 1000 1500 2000Number of fog services for resource allocation

Aver

age l

oad

bala

nce v

aria

nce

times10minus2

FFBFFFD

BFDDRAM

Figure 10 Comparison of average load-balance variance by FF BF FFD BFD and DRAM with different datasets

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 12: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

12 Wireless Communications and Mobile Computing

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(a) Number of fog services = 500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(b) Number of fog services = 1000

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

FFBFFFD

BFDDRAM

Load

Bal

ance

Var

ianc

e

(c) Number of fog services = 1500

0

1

2

3

4

5

6

IntermediateComputing Node

Edge ComputingNode

PMs in Cloud

times10minus2

Load

Bal

ance

Var

ianc

e

FFBFFFD

BFDDRAM

(d) Number of fog services = 2000

Figure 11 Comparison of load-balance variance values for different types of computing nodes by FF BF FFD BFD andDRAMwith differentdatasets

data storage and processing usually benefit from the cloudcomputing which provides scalable and elastic resources forexecuting the IoT applications [21ndash26] In the ever-expandingdata volume cloud computing is difficult to provide efficientlow-latency computing services and fog computing is pro-posed to complement the above shortage of cloud computing[1 2]

Compared to the remote cloud computing center fogcomputing is closer to the Internet of Things devices andsensors Fog computing can quickly solve lightweight taskswith fast response In the era of big data with cloud comput-ing expansion fog computing is widely used in the medicaltransportation and communication fields to name a few[21 27ndash30]

Hu et al [21] designed a fog calculation framework indetail and compared it with the traditional cloud computingand a practical application case in the fog computing envi-ronment was put forward Similarly Kitanov and Janevski

[27] compared the cloud computing on computing perfor-mance with fog computing in the 5G network reflectingthe superiority of fog computing Akrivopoulos et al [28]presented a technology to respond to the combination of IoTapplications and the fog computing and introduced the use offog computing in an automatedmedical monitoring platformto improve the medical work for the patients Arfat et al [29]not only unprecedentedly proposed the integration of mobileapplications big data analysis and fog computing but alsointroduced Google Maps as an example showing the systemof information feedback diversification Taneja andDavy [30]studied the computational efficiency in the fog environmentand constructed a resource-aware placement

Generally resource allocation refers to the allocationof specific limited resources and effective management toachieve the optimal use of resourcesThe original intention ofcloud computing is to allocate network resources on demandso that it is the same as the use of water and electricity billing

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 13: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 13

[31 32] In the cloud computing resource allocation methodcan effectively help to achieve the goal of high resource usageand energy saving for centralized resource management fordifferent types of applications [4 33ndash35] Fog computingas an extension of cloud computing paradigm also needsto conduct resource allocation to achieve high-efficiencyresource usage

Mashayekhy et al [36] proposed an auction-based onlinemechanism it can access in real time the actual needs ofusers and the allocation of appropriate resources to the userprice Kwak et al [37] developed a DREAM algorithm forcomplex tasks in mobile devices saving 35 of total energyand managing network resources To address the challengesof high latency and resource shortage in clouds Alsaffar etal [38] proposed the resource management framework col-laborating the cloud computing and the fog computing andthen they optimized the resource allocation in fog computingXiang et al [39] designed a RAN (F-RAN) architecture basedon atomization calculation which effectively achieved thehigh resource usage and could coordinate the global resourcescheduling

Load balancing is an effective factor to determine theresource allocation strategy For multiple computing tasksload balancing could promote the resource managers toassign these tasks tomultiple computing nodes for executionThe realization of load balancing not only can save the cost ofhardware facilities but also can improve resource efficiency

Banerjee andHecker [40] proposed a distributed resourceallocation protocol algorithm to realize load balancing ina large-scale distributed network as a result compared tothe FIFO the response time and resource utilization couldbe greatly improved Govindaraju and Duran-Limon [41]designed a method based on the lifecycle-related ServiceLevel Agreement (SLA) parameters of the virtual machinesin cloud environment to address resource utilization and costissues Evolution algorithms are proved to be powerful tosolve the multiobjective problem which could be leveragedin the resource scheduling in the fog computing [42] Jeyakr-ishnan and Sengottuvelan [43] developed a new algorithmwhile saving operating costs while maximizing the use ofresources in the balanced scheduling compared to SA PSOand ADS being more outstanding

For the load balancing maximization problem solved inthis paper the traditional operations research is proved to beefficient in optimization problem with constraints [44 45]The game theory is also efficient for the resource allocationwith resource competition and the Nash Equilibria are oftenneeded to be verified first [46 47]

To the best of our knowledge there are few studiesfocusing on the resource allocation of fog services in the fogenvironment which aims to realize the load balancing for thecomputing nodes in both fog and cloud

6 Conclusion and Future Work

In recent years IoT has been one of the most populartechnologies for daily lives With rapid development of IoTfog computing is emerging as one of the most powerfulparadigms for processing the IoT applications In the fog

environment the IoT applications are performed by the edgecomputing nodes and the intermediate computing nodes inthe fog as well as the physical machines in the cloud plat-forms To achieve the dynamic load balancing for each typeof computing node in the fog and cloud a dynamic resourceallocation method named DRAM for load balancing hasbeen developed in this paper Firstly a system frameworkin fog computing was presented and load balancing for thecomputing nodes is analyzed accordingly Then the DRAMmethod has been implemented based on the static resourceallocation and dynamic resource scheduling for fog servicesAs a result the experimental evaluations and comparisonanalysis were carried out to verify the validity of our proposedmethod

For future work we try to analyze the negative impactof the service migration including the traffic for differenttypes of computing nodes the cost for service migrationthe performance degradation for the service migration andthe data transmission cost Furthermore we will design acorrespondingmethod to balance the negative effects and thepositive impacts for service migration

Key Terms and Descriptions Involved inResource Scheduling in Fog Environment

119872 The number of computing nodes119875 The set of computing nodes119875 = 1199011 1199012 119901119872119873 The number of services119878 The set of services 119878 = 1199041 1199042 119904119873119901119898 The119898th (1 le 119898 le 119872) computing node in119875119904119899 The 119899th (1 le 119899 le 119873) service in 119878119888119898 The resource capacity of the119898thcomputing node 119901119898119903119899 The set of resource requirements of the119899th service 119904119899119882 The number of types of processing nodes120573119898119908 A flag to judge whether 119901119898 is a type 119908 ofcomputing nodes119903119906119898(119905) The resource utilization for 119901119898 at time 119905119877119880119908(119905) The resource utilization for the 119908th typecomputing nodes at time 119905119897119887119898(119905) The load-balance variance for 119901119898 at time 119905119871119861119908(119905) The load-balance variance for the 119908th typecomputing nodes at time 119905119871119861119908 The average load-balance variance for the119908th type computing nodes

Conflicts of Interest

The authors declare that they have no conflicts of interest

Acknowledgments

This research is supported by the National Natural ScienceFoundation of China under Grants nos 61702277 6167227661772283 61402167 and 61672290 the Key Research andDevelopment Project of Jiangsu Province under Grants nos

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 14: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

14 Wireless Communications and Mobile Computing

BE2015154 and BE2016120 and the Natural Science Foun-dation of Jiangsu Province (Grant no BK20171458) Besidesthis work is also supported by the Startup Foundation forIntroducing Talent of NUIST the Open Project from StateKey Laboratory for Novel Software Technology NanjingUniversity under Grant no KFKT2017B04 the Priority Aca-demic Program Development of Jiangsu Higher EducationInstitutions (PAPD) fund Jiangsu Collaborative Innova-tion Center on Atmospheric Environment and EquipmentTechnology (CICAEET) and the project ldquoSix Talent PeaksProject in Jiangsu Provincerdquo under Grant no XYDXXJS-040Special thanks are due to Dou Ruihan Nanjing Jinling HighSchool Nanjing China for his intelligent contribution to ouralgorithm discussion and experiment development

References

[1] Y Kong M Zhang and D Ye ldquoA belief propagation-basedmethod for task allocation in open and dynamic cloud environ-mentsrdquo Knowledge-Based Systems vol 115 pp 123ndash132 2017

[2] S Sarkar S Chatterjee and S Misra ldquoAssessment of theSuitability of Fog Computing in the Context of Internet ofThingsrdquo IEEE Transactions on Cloud Computing vol 6 no 1pp 46ndash59 2015

[3] K Peng R Lin B Huang H Zou and F Yang ldquoLink impor-tance evaluation of data center network based on maximumflowrdquo Journal of Internet Technology vol 18 no 1 pp 23ndash31 2017

[4] E Luo M Z Bhuiyan G Wang M A Rahman J Wu andM Atiquzzaman ldquoPrivacyProtector Privacy-Protected PatientData Collection in IoT-Based Healthcare Systemsrdquo IEEE Com-munications Magazine vol 56 no 2 pp 163ndash168 2018

[5] P Li S Zhao andR Zhang ldquoA cluster analysis selection strategyfor supersaturated designsrdquo Computational Statistics amp DataAnalysis vol 54 no 6 pp 1605ndash1612 2010

[6] G-L Tian M Wang and L Song ldquoVariable selection in thehigh-dimensional continuous generalized linear model withcurrent status datardquo Journal of Applied Statistics vol 41 no 3pp 467ndash483 2014

[7] S Wang T Lei L Zhang C-H Hsu and F Yang ldquoOffloadingmobile data traffic for QoS-aware service provision in vehicularcyber-physical systemsrdquo Future Generation Computer Systemsvol 61 pp 118ndash127 2016

[8] S Yi C Li and Q Li ldquoA survey of fog computing conceptsapplications and issuesrdquo in Proceedings of the Workshop onMobile Big Data (Mobidata rsquo15) pp 37ndash42 ACM HangzhouChina June 2015

[9] X L Xu X Zhao F Ruan et al ldquoData placement for privacy-aware applications over big data in hybrid cloudsrdquo Securityand Communication Networks vol 2017 Article ID 2376484 15pages 2017

[10] X Xu W Dou X Zhang C Hu and J Chen ldquoA traffic hotlinediscovery method over cloud of things using big taxi GPS datardquoSoftware Practice and Experience vol 47 no 3 pp 361ndash3772017

[11] F Bonomi R Milito P Natarajan and J Zhu ldquoFog computingA platform for internet of things and analyticsrdquo in Big Data andInternet of Things A Roadmap for Smart Environments vol 546of Studies in Computational Intelligence pp 169ndash186 2014

[12] X Xu X Zhang M Khan W Dou S Xue and S YuldquoA balanced virtual machine scheduling method for energy-performance trade-offs in cyber-physical cloud systemsrdquo FutureGeneration Computer Systems 2017

[13] L Yu L Chen Z Cai H Shen Y Liang and Y PanldquoStochastic Load Balancing for Virtual Resource Managementin Datacentersrdquo IEEE Transactions on Cloud Computing pp 1ndash14 2016

[14] Y Sahu R K Pateriya and R K Gupta ldquoCloud server opti-mization with load balancing and green computing techniquesusing dynamic compare and balance algorithmrdquo in Proceedingsof the 5th International Conference onComputational Intelligenceand Communication Networks CICN 2013 pp 527ndash531 IndiaSeptember 2013

[15] G Soni and M Kalra ldquoA novel approach for load balancingin cloud data centerrdquo in Proceedings of the 2014 4th IEEEInternational Advance Computing Conference IACC 2014 pp807ndash812 India February 2014

[16] X Xu W Dou X Zhang and J Chen ldquoEnReal An Energy-Aware Resource Allocation Method for Scientific WorkflowExecutions inCloud Environmentrdquo IEEETransactions onCloudComputing vol 4 no 2 pp 166ndash179 2016

[17] S Li and Y Zhang ldquoOn-line scheduling on parallel machinesto minimize the makespanrdquo Journal of Systems Science ampComplexity vol 29 no 2 pp 472ndash477 2016

[18] G Wang X X Huang and J Zhang ldquoLevitin-Polyak well-posedness in generalized equilibrium problems with functionalconstraintsrdquo Pacific Journal of Optimization An InternationalJournal vol 6 no 2 pp 441ndash453 2010

[19] B Qu and J Zhao ldquoMethods for solving generalized Nashequilibriumrdquo Journal of Applied Mathematics vol 2013 ArticleID 762165 2013

[20] S Lian and Y Duan ldquoSmoothing of the lower-order exactpenalty function for inequality constrained optimizationrdquo Jour-nal of Inequalities and Applications Paper No 185 12 pages2016

[21] P Hu S Dhelim H Ning and T Qiu ldquoSurvey on fog com-puting architecture key technologies applications and openissuesrdquo Journal of Network and Computer Applications vol 98pp 27ndash42 2017

[22] A V Dastjerdi and R Buyya ldquoFog Computing Helping theInternet of Things Realize Its PotentialrdquoThe Computer Journalvol 49 no 8 Article ID 7543455 pp 112ndash116 2016

[23] J Shen T Zhou D He Y Zhang X Sun and Y XiangldquoBlock design-based key agreement for group data sharing incloud computingrdquo IEEE Transactions on Dependable and SecureComputing vol PP no 99 2017

[24] Z Xia X Wang L Zhang Z Qin X Sun and K Ren ldquoAprivacy-preserving and copy-deterrence content-based imageretrieval scheme in cloud computingrdquo IEEE Transactions onInformation Forensics and Security vol 11 no 11 pp 2594ndash26082016

[25] J Shen D Liu J Shen Q Liu and X Sun ldquoA secure cloud-assisted urban data sharing framework for ubiquitous-citiesrdquoPervasive and Mobile Computing vol 41 pp 219ndash230 2017

[26] Z Fu X Wu C Guan X Sun and K Ren ldquoToward efficientmulti-keyword fuzzy search over encrypted outsourced datawith accuracy improvementrdquo IEEE Transactions on InformationForensics and Security vol 11 no 12 pp 2706ndash2716 2016

[27] S Kitanov andT Janevski ldquoEnergy efficiency of FogComputingand Networking services in 5G networksrdquo in Proceedings of

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 15: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

Wireless Communications and Mobile Computing 15

the 17th IEEE International Conference on Smart TechnologiesEUROCON 2017 pp 491ndash494 Macedonia July 2017

[28] O Akrivopoulos I Chatzigiannakis C Tselios and A Anto-niou ldquoOn the Deployment of Healthcare Applications overFog Computing Infrastructurerdquo in Proceedings of the 41stIEEE Annual Computer Software and Applications ConferenceWorkshops COMPSAC 2017 pp 288ndash293 Italy July 2017

[29] Y Arfat M Aqib R Mehmood et al ldquoEnabling SmarterSocieties through Mobile Big Data Fogs and Cloudsrdquo inProceedings of the International Workshop on Smart CitiesSystems Engineering (SCE 2017) vol 109 pp 1128ndash1133 ProcediaComputer Science Portugal May 2017

[30] M Taneja and A Davy ldquoResource Aware Placement of DataAnalytics Platform in FogComputingrdquo inProceedings of the 2ndInternational Conference on Cloud Forward FromDistributed toComplete Computing CF 2016 pp 153ndash156 Procedia ComputerScience Spain October 2016

[31] N Fernando S W Loke and W Rahayu ldquoMobile cloudcomputing a surveyrdquo Future Generation Computer Systems vol29 no 1 pp 84ndash106 2013

[32] S S Manvi and G Krishna Shyam ldquoResource management forInfrastructure as a Service (IaaS) in cloud computing a surveyrdquoJournal of Network and Computer Applications vol 41 no 1 pp424ndash440 2014

[33] Y Ren J Shen D Liu J Wang and J-U Kim ldquoEvidentialquality preserving of electronic record in cloud storagerdquo Journalof Internet Technology vol 17 no 6 pp 1125ndash1132 2016

[34] Y Chen C Hao W Wu and E Wu ldquoRobust dense reconstruc-tion by range merging based on confidence estimationrdquo ScienceChina Information Sciences vol 59 no 9 Article ID 092103 pp1ndash11 2016

[35] T Ma Y Zhang J Cao J Shen M Tang and Y Tian ldquoAbdul-lah Al-Dhelaan Mznah Al-Rodhaan KDVEM a k-degreeanonymity with Vertex and Edge Modification algorithmrdquoComputing vol 70 no 6 pp 1336ndash1344 2015

[36] L Mashayekhy M M Nejad D Grosu and A V VasilakosldquoAn online mechanism for resource allocation and pricingin cloudsrdquo Institute of Electrical and Electronics EngineersTransactions on Computers vol 65 no 4 pp 1172ndash1184 2016

[37] J Kwak Y Kim J Lee and S Chong ldquoDREAM DynamicResource and Task Allocation for Energy Minimization inMobile Cloud Systemsrdquo IEEE Journal on Selected Areas inCommunications vol 33 no 12 pp 2510ndash2523 2015

[38] A A Alsaffar H P Pham C-S Hong E-N Huh andM Aazam ldquoAn Architecture of IoT Service Delegation andResource Allocation Based on Collaboration between Fog andCloud Computingrdquo Mobile Information Systems vol 2016Article ID 6123234 pp 1ndash15 2016

[39] H Xiang M Peng Y Cheng and H-H Chen ldquoJoint modeselection and resource allocation for downlink fog radio accessnetworks supported D2Drdquo in Proceedings of the 11th EAI Inter-national Conference on Heterogeneous Networking for QualityReliability Security and Robustness QSHINE 2015 pp 177ndash182Taiwan August 2015

[40] S Banerjee and J P Hecker ldquoA Multi-agent System Approachto Load-Balancing and Resource Allocation for DistributedComputingrdquo in First Complex Systems Digital CampusWorld E-Conference pp 393ndash408 2017

[41] Y Govindaraju andH Duran-Limon ldquoAQoS and energy awareload balancing and resource allocation framework for iaas cloudprovidersrdquo in Proceedings of the 9th IEEEACM International

Conference on Utility and Cloud Computing UCC 2016 pp 410ndash415 China December 2016

[42] Y Yuan H Xu B Wang and X Yao ldquoA new dominancerelation-based evolutionary algorithm for many-objective opti-mizationrdquo IEEE Transactions on Evolutionary Computation vol20 no 1 pp 16ndash37 2016

[43] V Jeyakrishnan and P Sengottuvelan ldquoA Hybrid Strategy forResource Allocation and Load Balancing in Virtualized DataCenters Using BSO Algorithmsrdquo Wireless Personal Communi-cations vol 94 no 4 pp 2363ndash2375 2017

[44] H Wu Y Ren and F Hu ldquoContinuous dependence propertyof BSDE with constraintsrdquo Applied Mathematics Letters vol 45pp 41ndash46 2015

[45] Y Wang X Sun and F Meng ldquoOn the conditional andpartial trade credit policy with capital constraints a Stackelbergmodelrdquo Applied Mathematical Modelling Simulation and Com-putation for Engineering and Environmental Systems vol 40 no1 pp 1ndash18 2016

[46] J Zhang B Qu and N Xiu ldquoSome projection-like methods forthe generalized Nash equilibriardquo Computational optimizationand applications vol 45 no 1 pp 89ndash109 2010

[47] CWang CMa and J Zhou ldquoA new class of exact penalty func-tions and penalty algorithmsrdquo Journal of Global Optimizationvol 58 no 1 pp 51ndash73 2014

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom

Page 16: Dynamic Resource Allocation for Load Balancing in Fog …downloads.hindawi.com/journals/wcmc/2018/6421607.pdf · 2019-07-30 · ResearchArticle Dynamic Resource Allocation for Load

International Journal of

AerospaceEngineeringHindawiwwwhindawicom Volume 2018

RoboticsJournal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Active and Passive Electronic Components

VLSI Design

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Shock and Vibration

Hindawiwwwhindawicom Volume 2018

Civil EngineeringAdvances in

Acoustics and VibrationAdvances in

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Electrical and Computer Engineering

Journal of

Advances inOptoElectronics

Hindawiwwwhindawicom

Volume 2018

Hindawi Publishing Corporation httpwwwhindawicom Volume 2013Hindawiwwwhindawicom

The Scientific World Journal

Volume 2018

Control Scienceand Engineering

Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom

Journal ofEngineeringVolume 2018

SensorsJournal of

Hindawiwwwhindawicom Volume 2018

International Journal of

RotatingMachinery

Hindawiwwwhindawicom Volume 2018

Modelling ampSimulationin EngineeringHindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Chemical EngineeringInternational Journal of Antennas and

Propagation

International Journal of

Hindawiwwwhindawicom Volume 2018

Hindawiwwwhindawicom Volume 2018

Navigation and Observation

International Journal of

Hindawi

wwwhindawicom Volume 2018

Advances in

Multimedia

Submit your manuscripts atwwwhindawicom