Energy-aware task assignment for mobile cyber-enabled applications in heterogeneous cloud computing

Energy-aware task assignment for mobile cyber-enabled applications in heterogeneous cloud computing

J. Parallel Distrib. Comput. 111 (2018) 126–135 Contents lists available at ScienceDirect J. Parallel Distrib. Comput. journal homepage: www.elsevie...

2MB Sizes 77 Downloads 225 Views

J. Parallel Distrib. Comput. 111 (2018) 126–135

Contents lists available at ScienceDirect

J. Parallel Distrib. Comput. journal homepage: www.elsevier.com/locate/jpdc

Energy-aware task assignment for mobile cyber-enabled applications in heterogeneous cloud computing Keke Gai a , Meikang Qiu b,c, *,1 , Hui Zhao a,d a

Department of Computer Science, Pace University, New York City, NY 10038, USA College of Computer Science and Software Engineering, Shenzhen University, Shenzhen, 518060, China c Department of Electrical Engineering, Columbia University, New York City, NY, 10027, USA d Software School, Henan University, Kaifeng, Henan, 475000, China b

highlights • We propose a novel approach for reducing the computation energy costs for heterogeneous MES in cloud systems. Our algorithm can intelligently assign the tasks to on-premise cores or remote cloud servers within an adaptive time period.

• We present a method of the adjustment that is designed to transfer sub-optimal solutions to optimal solutions at a high success rate. • We propose a feasible solution to the proposed task assignment problem for heterogeneous MES that is a NP-hard problem. The proposed approach can be used in other application scenarios.

article

info

Article history: Received 31 December 2016 Received in revised form 26 May 2017 Accepted 7 August 2017 Available online 18 August 2017 Keywords: Energy-aware Task assignment Cloud computing Mobile embedded systems Cyber-enabled applications NP-hard

a b s t r a c t Recent remarkable growth of mobile computing has led to an exceptional hardware upgrade, including the adoption of the multiple core processors. Along with this trend, energy consumptions are becoming greater when the computation capacity or workload grows. As one of the solutions, using cloud computing can mitigate energy costs due to the centralized computation. However, simply offloading the workloads to the remote side cannot efficiently reduce the energy consumptions when the energy costs caused by wireless communications are greater than that of on mobile devices. In this paper, we focus on the energy-saving problem and consider the energy wastes when tasks are assigned to remote cloud servers or heterogeneous core processors. Our solution aims to reduce the total energy cost of the mobile heterogeneous embedded systems by a novel task assignment to heterogeneous cores and mobile clouds. The proposed model is called Energy-Aware Heterogeneous Cloud Management (EA-HCM) model and the main algorithm is Heterogeneous Task Assignment Algorithm (HTA2). Our experimental evaluations have proved that our approach is effective to save energy when deploying heterogeneous embedded systems in mobile cloud systems. © 2017 Elsevier Inc. All rights reserved.

1. Introduction Contemporary mobile technologies have been enabling cyberenabled systems to become a ubiquitous existence changing people’s lives in multiple dimensions, from smart phones to mobile vehicular systems [16,25,30]. Different multimedia systems have brought many new or strengthened accesses to the computing resources. As an emerging technology, Mobile Embedded Systems (MES) with Cyber-Enabled Applications (CEA) have

* Corresponding author.

E-mail addresses: [email protected] (K. Gai), [email protected], [email protected] (M. Qiu), [email protected] (H. Zhao). 1 M. Qiu is with Shenzhen University, China and Columbia University, USA. http://dx.doi.org/10.1016/j.jpdc.2017.08.001 0743-7315/© 2017 Elsevier Inc. All rights reserved.

become a mainstream of mobile computing that balance the highperformance and the cost. This change has been empowered by the deployments of cloud computing in recent years [8,12]. Many cloud-based solutions support the offloads of the heavy workloads to the remote cloud servers, by which the energy consumptions are reduced [14,19]. Nevertheless, most contemporary approaches are confronting the contradictions deriving from the wireless communications and energy consumptions, since the local energy costs are generally less than that of the wireless data transmissions [6]. A fixed working mode that offloads jobs to the cloud-based servers cannot satisfy the requirement of the energy-saving. Multiple factors need to be addressed when creating the strategy of offloading tasks to clouds, such as heterogeneous computing capacities and energy consumptions in different phases.

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

127

Fig. 1. The architecture of the Energy-Aware Heterogeneous Cloud Management (EA-HCM) model.

Moreover, contemporary energy consumptions on MES are facing a variety of challenges, from app executions to wireless communications [9,23]. For instance, smart phones can not only deliver the wireless calls but also provide a mobile app platform. Heterogeneous computing systems enable mobile devices to achieve a high performance of computations, such as synchronously assigning a chain of tasks to multiple cores [21]. Nevertheless, the energy costs go up when the large sized tasks are loaded, which may require less energy while some tasks are offloaded to the clouds [11]. Therefore, an optimized deterministic mechanism of task assignments can aid the system to reduce the total energy costs when the energy requirements are varied between local and remote executions. Focusing on this urgent demand, we propose a novel model, named Energy-Aware Heterogeneous Cloud Management (EA-HCM) model, in order to achieve the high performance computation capacity by using the reduced energy. Fig. 1 represents the architecture of EA-HCM model, by which the input tasks are dynamically assigned to heterogeneous cores and remote processors. This model is an extension of Gai et al.’s [10] work. Distinguishing prior work, this model further emphasizes the role of cyber-enabled applications that empower the task assignment for mobile embedded systems in heterogeneous cloud computing. The core algorithm creating near-optimal solutions is proposed in this model. In addition, as shown in the figure, the assignment uses the estimated energy costs to reduce the total energy consumption, which is controlled by the cyber-enabled applications. The expected goal is creating the plan of the task assignment that can reduce the total energy consumption while considering the both computation and communication energy costs. Furthermore, we emphasize the implementation of the cyberenabled application in our proposed model. The reason for using cyber-enabled applications is that it enables feasible configurations on various mobile devices for meeting different demands of data collections and task distributions. In line with the cyberenabled applications, we propose our algorithm, Heterogeneous Task Assignment Algorithm (HTA2), in order to achieve our designed goal. The algorithm aims to dynamically assign the tasks to various cores and remote clouds. The tasks assignment is based on the cost mapping and our proposed optimal alternatives and adjustments. The algorithm consists of two steps: (1) generate a sub-optimal solution, and (2) improve the obtained sub-optimal solution and try to transfer it to the optimal solution via a set of adjustments. Our approach is an attempt of achieving high performance heterogeneous MES with lower-level energy requirements. The main contributions of this paper include the following: 1. We propose a novel approach for reducing the computation energy costs for heterogeneous MES in cloud systems. Our algorithm can intelligently assign the tasks to on-premises cores or remote cloud servers within an adaptive time period. Distinguishing from prior work, the approach proposed by this work considers all available computing resources the

individual options for task assignment, such that each cloud source is an objective for task scheduling. 2. We present a method of the adjustment for generating nearoptimal solutions, which is designed to transfer sub-optimal solutions to optimal solutions at a high success rate. 3. We propose an adaptive solution to the task assignment problem for heterogeneous MES, which has been proved as an NP-hard problem. The proposed approach can be used in other application scenarios. The remainder of this paper is organized by the following sections. We accomplish a survey of cloud resource management in Section 2. Next, a motivational example is represented in Section 3. Moreover, we explain the mechanism and system definitions in Section 4. Furthermore, in Section 5, we illustrate the main algorithm proposed for our model. In addition, we display and analyze partial experimental results in Section 6. Finally, we give the conclusions in Section 7. 2. Related work Previous research have explored a variety of dimensions in the field of cloud resource management and task scheduling provisions. First, formulating a proper resource provision strategy was a research direction in demand. Rodriguez and Buyya [20] investigated the issue of resource provisioning and scheduling strategy for meeting the demands of resource management in the cloud environment. This approach used meta-heuristic optimization technique to minimize the total operation costs when the timing constraints are configured. However, this work is restricted by the designed operating scenario which lacks parallel computations. There were some other completed studies using different approaches, such as applying k-mean methods to divide workloads into clustered tasks [29], considering response time to increase the level of customer satisfactions [27], and using stochastic programming to optimize the multiple provision stages [4]. Moreover, some studies addressed green computing issues and balanced a variety of factors, such as energy consumptions, system performances, and execution time. Addis et al. [1] designed distributed hierarchical framework for the mixed-integer nonlinear optimizations using multiple timing constraints. Addressed the same issue in the cloud context, another approach [28] introduced a new layer named Skewness to examine the status of the multidimensional server utilizations, by which different workload types could be formulated. This approach used a heuristic algorithm to attempt the minimization of the energy consumption. Other similar work confronting green computing applied other methods, such as Greedy algorithms [7], genetic algorithms [18] and dynamic programming [11]. However, the weakness of these approaches was that the configuration of the resource controller could rarely prove its relationship with the system performance,

128

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

since the measurement methods cloud be varied due to various service demands and execution scenarios. Our approach avoided this drawback because a specific application scenario was selected in which relations between computing resources and costs were identifiable. Next, a few prior attempts used the voltage frequency techniques in cloud datacenter for the purpose of saving energy consumption [2]. Wu et al. [26] proposed a scheduling algorithm that increased the utilization rate of the computing resource so that the energy cost was logically reduced, considering the unit workload cost. This approach could be applicable for those tasks that the energy consumption had a linear relationship with the execution time. For those tasks that the energy consumption had a linear relationship with the workload, this approach was inapplicable. Zhu et al. [31] also designed a scheduling algorithm that emphasized the start-up time and tried to lower down the time overheads in order to reduce the total energy cost. The main weakness of this approach was that it brought a new great energy cost while the scheduling strategy was created. The cost of the strategy generation was ignored, even though the computation involved complicated calculations. Thus, our approach considered the limitations in the prior work in order to avoid the weaknesses. The energy cost was associated with a task on individual computing resource. Additionally, we also tried to lower down the energy cost of creating task assignments. Furthermore, Vasile et al. [24] proposed a scheduling method, named HySARC 2 , which integrated four scheduling strategies, including Earliest Deadline First (EDF), Shortest Job First (SJF), Modified Critical Path (MCP) and Earliest Time First (ETF). This approach used a heuristic algorithm that applied different strategies for different computing resources. Another work [15] emphasized the execution time by considering the estimated Earliest Available Time (EAT) and Earliest Finish Time (EFT). The task assignment strategy could be formulated by selecting the set with the minimum EAT and EFT. The core algorithms of these approaches were Greedy algorithms. The main challenge of using Greedy algorithms was that the output task assignment plan did not guarantee the acquisition of the optimal solution, such that the performance could not reach the expected optimization level in some situations. Using dynamic programming could acquire optimal solutions to task assignment [17]; however, the plan generation time was prolonged. In summary, our proposed approach was different from the previous work. We emphasized the energy-saving issue and considered offloading the data processing tasks to the remote heterogeneous cores for cyber-enabled applications. Our mechanism attempted an adaptive method that could produce the high performance task assignment within a short execution time. 3. Motivational example We represent a simple example to explain the basic mechanism of our proposed scheme in this section. The motivation of this example is that the computation workload of many current mobile applications are becoming heavier along with the growth of the functionality. Multi-core and remote cores in the cloud provide mobile devices with alternatives for reducing the cost of the computing resources. In this paper, we define that a cost can refer to any required computing resource for completing tasks in a mobile application, which can be execution time or energy consumptions. We only consider the total cost of each alternative for task assignment generations. Moreover, the task assignment issue is significant for mobile applications because of the challenges brought by high performance expectations and limited energy supplies. The battery capacity is generally a restriction for the enhancement of the functionality [13,22]. The complexity of the workload is associated with

Fig. 2. Task graph representing the given example’s task path.

Table 1 C Table: Energy consumptions for each task at each mode for the given example. a T : Tasks; C1 : Core 1; C2 : Core 2; C3 : Core 3; MC1 : Mobile Cloud Server 1, MC2 : Mobile Cloud Server 2, MC3 : Mobile Cloud Server 3. b The same notations are used in Table 2, 3, and 4. T

C1

C2

C3

MC1

MC2

MC3

1 2 3 4 5 6 7 8 9 10 11 12 13

8.95 7.86 7.88 6.96 7.05 7.57 7.58 8.54 8.98 8.62 7.06 8.05 7.77

4.56 6.62 6.31 6.06 4.55 5.16 5.42 4.92 5.05 5.59 4.23 6.55 6.89

3.2 4.77 2.61 3.75 3.7 3.93 2.57 2.08 4.53 4.64 2.21 3.54 2.32

9.75 10.45 8.24 4.04 4.96 3.49 11.98 11.86 4.91 6.62 11.48 3.44 3.22

9.13 7.78 8.4 9.61 10.07 9.51 9.82 8.29 8.99 8.23 11.56 8.01 7.56

3.96 1.64 6.01 1.35 3.6 12.26 10.78 8 3.34 9.71 3.7 11.56 2.94

the energy consumption; however, contemporary task assignment methods mainly rely on a random or a greedy algorithm in order to meet the requirement of the real-time services [3,5]. The drawback of this type of task assignment is that task assignment plans mostly cannot fully utilize computing resources due to non-optimal solutions. It implies that the waste of the computing resources can negatively influence on the increase of the performance, dramatically. Therefore, the issue addressed by our research has a strong impact on manipulating complicated tasks on mobile computing when multi-core and heterogeneous cloud computing are applied. Next, we present our model design in the followings. The application scenario is configured as processing a few input tasks, Ti , which have preceding-and-succeeding relations. The task assignment is operated by the cyber-enabled applications, including task workload estimates and task distributions. Fig. 2 represents a directed acyclic task graph representing the given example’s task path. There are 13 tasks in total, as shown in the figure. Task 1 is the entry task and Tasks 9, 10, 11, 12, and 13 are exit tasks. These tasks need to be processed on the given MHES in which there are three heterogeneous cores. The execution energy costs are varied at the different cores. Meanwhile, the tasks can be alternatively offloaded to the remote cloud servers for reducing the total energy cost. Using heterogeneous cloud computing is considered in this example, in which there are three cloud servers available that perform differently to various input tasks. We use C Table to map tasks’ energy costs at various cores, both on-premise and remote. Table 1 displays a C Table representing the energy consumptions for each task at each model for the given example. For instance, Task 1 needs 8.95 units energy at Core 1 but only

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135 Table 2 G Table generated for the given example. Ni : Node i. T1 → C3 , T2 → MC3 , T3 → C3 , T4 → MC1 , T5 → MC3 , T6 → MC1 , T7 → C3 , T8 → C2 , T9 → C1 , T10 → C3 , T11 → MC3 , T12 → MC1 , T13 → MC2 . N

T

C1

C2

C3

MC1

MC2

MC3

N1

1 2 3 4 5 6 7 8 9 13 10 11 12

8.95 7.86 7.88 6.96 7.05 7.57 7.58 8.54 8.98 7.77 8.62 7.06 8.05

4.56 6.62 6.31 6.06 4.55 5.16 5.42 4.92 5.05 6.89 5.59 4.23 6.55

3.2 4.77 2.61 3.75 3.7 3.93 2.57 2.08 4.53 2.32 4.64 2.21 3.54

9.75 10.45 8.24 4.04 4.96 3.49 11.98 11.86 4.91 3.22 6.62 11.48 3.44

9.13 7.78 8.4 9.61 10.07 9.51 9.82 8.29 8.99 7.56 8.23 11.56 8.01

3.96 1.64 6.01 1.35 3.6 12.26 10.78 8 3.34 2.94 9.71 3.7 11.56

N2

N3

N4

129

Table 4 D Table: developed for the optimal solution deriving from G Table (after adjustments). The task assignment plan is T1 → C3 , T2 → MC3 , T3 → C3 , T4 → MC1 , T5 → MC1 , T6 → MC1 , T7 → C3 , T8 → C2 , T9 → MC3 , T10 → C3 , T11 → MC3 , T12 → MC1 , T13 → MC2 . N

T

C1

C2

C3

MC1

MC2

MC3

N1

1 2 3 4 5 6 7 8 9 13 10 11 12

8.95 7.86 7.88 6.96 7.05* 7.57 7.58 8.54 8.98 7.77 8.62 7.06 8.05

4.56 6.62 6.31 6.06 4.55 5.16 5.42 4.92 5.05 6.89 5.59 4.23 6.55

3.2 4.77 2.61 3.75 3.7 3.93 2.57 2.08 4.53 2.32 4.64 2.21 3.54

9.75 10.45 8.24 4.04 4.96 3.49 11.98 11.86 4.91 3.22 6.62 11.48 3.44

9.13 7.78 8.4 9.61 10.07 9.51 9.82 8.29 8.99 7.56 8.23 11.56 8.01

3.96 1.64 6.01 1.35 3.6 12.26 10.78 8 3.34* 2.94 9.71 3.7 11.56

N2

N3

N4 *

requires 3.2 units energy at Core 3. Task 2’s lowest energy cost can be gained by using MC3 . Therefore, the inputs of this example include a group of tasks from a directed acyclic task graph in Fig. 2. The output is a task assignment that can minimize the total energy costs of all tasks. Our solution mainly consists of three steps. First, we group these tasks into a sequence of nodes, according to the preceding and succeeding relations. For example, there are four nodes in this example, Node 1, 2, 3, and 4. Table 2 shows the grouped tasks in four nodes, which are {1}→ Node 1, {2, 3, 4}→ Node 2, {5, 6, 7, 8, 9, 13}→ Node 3, and {10, 11, 12}→ Node 4. Second, we use a greedy algorithm to produce a sub-optimal solution. At each node, we select the available core requiring the lowest power task by task, which also includes the cloud-side processors. Finishing this step can generate a G Table that gains a sub-optimal solution. Table 2 represents an example of G Table in which the selected cores are bolded. Using this assignment plan needs energy cost 54.39, as displayed in the table notes.

refers to the adjusted core assignments from G Table to D Table.

Finally, we use our proposed algorithm to generate a D Table that is an optimal solution based on the G Table. For reaching this goal, we make a few adjustments on G Table by operating OHTA algorithm. Table 4 represents an adjusted G Table that shows an optimal alternative. The adjusted core assignments are marked by ‘‘∗ ’’. Therefore, using our scheme only needs 52.2 units energy, which is less than 54.39 units energy that is required by Greedy algorithm. The gained assignment plan is an optimal solution that is less than all other assignment plans. Detailed descriptions are given by the succeeding sections. 4. Concepts and the proposed model We define the system definitions and the main concepts in this section.

Table 3 Example showing the adjustment for Task 5, 6, 7, 8, 9, and 13 from G Table to final assignments. Assignments with costs

Adjustment operation proce.

S1

Assignment from G Table ⇒

T

C1

C2

C3

MC1

MC2

MC3

Initialize CD from G Table C1

C2

C3

MC1

MC2

MC3

5 6 7 8 9 13

7.05 7.57 7.58 8.54 8.98 7.77

4.55 5.16 5.42 4.92 5.05 6.89

3.7 3.93 2.57 2.08 4.53 2.32

4.96 3.49 11.98 11.86 4.91 3.22

10.07 9.51 9.82 8.29 8.99 7.56

3.6 12.26 10.78 8 3.34 2.94

3.45b 4.08 5.01 3.62 0 0.21

0.95 1.67 2.85 0 −3.93 −0.67

0.1 0.44 0 −2.84 −4.45 −5.24

1.36 0 9.41 6.94 −4.07 −4.34c

6.47 6.02c 7.25 3.37 0.01 0

0 8.77 8.21 3.08 −5.64b −4.62

S2

Adjustment mid-process ⇒

←↩ T

The corresponding CD

C1

C2

C3

MC1

MC2

MC3

C1

C2

C3

MC1

MC2

MC3

5 6 7 8 9 13

7.05 7.57 7.58 8.54 8.98 7.77

4.55 5.16 5.42 4.92 5.05 6.89

3.7 3.93 2.57 2.08 4.53 2.32

4.96 3.49 11.98 11.86 4.91 3.22

10.07 9.51 9.82 8.29 8.99 7.56

3.6 12.26 10.78 8 3.34 2.94

0

−3.35 −5.58

−2.09 −6.02b

5.01 3.62 5.64 4.55

2.85 0 1.71 3.67

0

9.41 6.94 1.57 0

3.02 0 7.25 3.37 5.56 4.34b

−3.45

−1.94

−2.5 −4.35

2.75 8.21 3.08 0 −0.28

S3

Final task assignment ⇒

T

C1

C2

C3

MC1

MC2

MC3

C1

C2

C3

MC1

MC2

MC3

5 6 7 8 9 13

7.05 7.57 7.58 8.54 8.98 7.77

4.55 5.16 5.42 4.92 5.05 6.89

3.7 3.93 2.57 2.08 4.53 2.32

4.96 3.49 11.98 11.86 4.91 3.22

10.07 9.51 9.82 8.29 8.99 7.56

3.6 12.26 10.78 8 3.34 2.94

0 4.08 5.01 3.62 5.64 0.21

−2.5

−3.35

−2.09

−3.45

1.67 2.85 0 1.71 −0.67

0.44 0 −2.84 1.19 −5.24

0 9.41 6.94 1.57 −4.34

3.02 6.02 7.25 3.37 5.56 0

−2.84 1.19

−0.9

←↩ Final CD mapping

a CD: cost differences. Si : Step i. (e.g.: S1 means Step 1.) Cost differences with the same superscripts (b or c) refer to the paired task assignments that need a switch operation.

8.77 8.21 3.08 0 −4.62

130

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

Fig. 3. Manipulative process of the Energy-Aware Heterogeneous Cloud Management (EA-HCM) Model.

4.1. Problem statement and definition Definition 1 (Energy Minimization Problem on Heterogeneous Computing (EMPHC)). The inputs include a directed acyclic task graph G = (V , E). ∃ vi ∈ V , ei (vm , vn ) ∈ E. Each node vi is a task. Each ei (vm , vn ) refers to the edge between nodes vm and vn showing the task preceding–succeeding relations. Heterogeneous cores cj . C Table, C, maps each task’s energy cost C(vi ,cj ) at each core. C ={(Vi , C(vi ,cj ) )}. Output is a task assignment plan, P. Our target problem is how to minimize the total energy cost by executing P. As defined in Definition 1, inputs of this problem include a chain of tasks that are attached to a directed acyclic task graph, represented as G = (V , E). G refers to the directed acyclic task graph; V refers to the tasks involved in G; E refers to the edge between tasks. Therefore, there exists w tasks vi and every task vi belongs to V . ei (vm , vn ) ∈ E represents the proceeding–succeeding relations between tasks. Moreover, inputs also include a CTable that maps each task’s energy requirement at each core, represented as C(vi ,cj ) . For remote cloud-side cores, we calculate the energy consumption by summing up all costs caused data transmissions, including sending out and receiving data. The output will be a task assignment plan, marked as a P. Our objective is to find out the approach that can dynamically select premier cores that produce the lowest energy consumptions. The total energy cost, Ctotal , is a sum of all tasks’ energy costs. The formulation of total cost calculation is given by Eq. (1). vi (cj ) represents the task vi cost at core cj . Ctotal =

w ∑

vi (cj ).

(1)

i=1

The challenging issue in this problem is that it is hard to gain the optimal solution to task assignment in heterogeneous cores. A combination by traversing all situation is usually required to compare the results for gaining the minimum result. Section 4.2 gives a detailed description about the process of gaining optimal solutions. 4.2. Energy-Aware Heterogeneous Cloud Management (EA-HCM) Model

generate a sub-optimal assignment solution, which is represented by a G Table. Based on this table, we use our proposed algorithm to accomplish a series of adjustments to eventually create an optimal assignment solution that is a D Table. Assign this D Table to the output Task Assignment Plan. The crucial process of this mechanism is the adjustment operation from the sub-optimal to the optimal solution. The detailed method of the adjustments is given in our algorithm descriptions in Section 5. We give the mathematical expressions as follows. Assume that the G Table can be represented in a matrix G, which is shown as the following Eq. (2). As shown in the matrix, we assume that there are i tasks and j cores. Thus, each value represents the energy cost for each task at each core.

⎛ [1][1] ⎜[2][1] ⎜[3][1] G=⎜ ⎜ . ⎝ ..

[1][2] [2][2] [3][2] .. .

[1][3] [2][3] [3][3] .. .

[i][1]

[i][2]

[i][3]

...

⎞ [1][j] [2][j]⎟ [3][j]⎟ ⎟. .. ⎟ . ⎠

(2)

[i][j]

After the accomplishment of S2GP phase, there is a value being selected at each row, which means the task will be assigned to the core aligning with the corresponding energy cost. Our mechanism is to subtract the selected energy cost value from all other values at the same row. It implies that there is only one ‘‘0’’ at each row since the task can be only assigned to one core. In addition, there may be a few negative values, which means that the energy cost can be lower if the task assignment is switched to the negative value from the original selection valued at ‘‘0’’. However, the corresponding core of the negative value may be conquered by other tasks. Our approach can determine whether an adjustment is required to reduce the total energy cost. The adjustment is processed between two assigned cores positioned in a diagonal relation. In order to clearly represent our mechanism, we reshuffle the matrix by extracting the features of the newly obtained G Table showing there is only one 0 at each row. The reshuffle is done by re-locating the rows, which means the input sequence of the tasks. This change will not change the result if the tasks are involved in the same node. Therefore, G can be represented in a matrix that has a diagonal with all ‘‘0’’, which is represented in Eq. (3).

⎛ EA-HCM model consists of a few processes, including Preprocessing Process (PP), Sub-optimal Solution Generation Process (S2GP), and Near-Optimal Solution Generation Process (NSGP). The crucial component is NSGP in which adjustments will be made for producing the optimal solution from the outputs of S2GP. Fig. 3 illustrates the manipulative process of the EA-HCM model. According to the figure, nodes will be generated when the tasks are inputted, which can simplify the process structure. Next, a C Table will be created for mapping energy consumptions. An example of C Table is given by Table 1. Moreover, we use greedy algorithm to

... ... ... .. .

0

[1][2]

⎜[2][1] ⎜[3][1] G=⎜ ⎜ . ⎝ ..

[3][2] .. .

0

[i][1]

[i][2]

[1][3] [2][3] 0

.. . [i][3]

... ... ... .. . ...

⎞ [1][j] [2][j]⎟ [3][j]⎟ ⎟. .. ⎟ . ⎠

(3)

0

Assume that the value of [2][1] is negative. We need to examine whether the sum of [2][1] and [1][2] ([2][1] + [1][2]) is also negative. A switch adjustment needs to be processed if ([2][1] + [1][2]) is negative; otherwise, we need to keep the original assignments. Our approach examined all negative values to execute all appli-

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

cable adjustment in order to transfer a sub-optimal solution to an optimal solution at a high success rate. Align with the statement above, Theorem 1 provides theoretical concept of our mechanism. The matrix is the mapping with value ‘‘0’’ for each task assignment. We define this status of the matrix as a Mapping status. Since we are seeking a lower-level total cost, the objective is to obtain the maximum value of summing up all elements in the matrix. It also means that the cost level is corresponding with the total sum value of all elements in the matrix at a mapping status. We also present the corresponding proof for Theorem 1 using the disproved method. Theorem 1. In an (m × n)-dimension matrix, there exists an element Mi,j < 0 so that there exists an element Mi,k = 0 at the same row. There is at least one element Mq,j = 0 at the same column. ∵ Mq,j = 0, ∴ Mq,k ̸ = 0. If Mi,j + Mq,k < 0, switch task assignments for Mi,j and Mq,k . The total cost will be reduced. m×n

Proof. ∃ a matrix M = (Mxy ) ∈ R . At each row, all elements minus the selected element (task assignment) so that we have a mapping with 0 values for each assignment. The original elements o are denoted by M = (Mxy ) ∈ Rm×n . For an arbitrary element Mi,j < 0 at a mapping status, there must be an element Mi,k with a 0 value at the same row. Concurrently, at the jth column, there is at least one element Mq,j valued at 0. We assume that switching Mi,j and Mq,k will reduce the value of summing up all elements in the matrix at a mapping status when Mi,j + Mq,k < 0. Next, let Mi,j switch with Mq,k so the updated elements are Mi′,j = 0 and Mq′ ,k = 0. We give the mathematical deduction in the followings: Mi,j + Mq,k < 0 ⇒ Mio,j − Mio,k + Mqo,k − Mqo,j < 0



Mio,j

+

Mqo,k

<

Mio,k

+

Mqo,j

.

(4)

At the first mapping status, Eq. (5) sums up all elements at the ith row and Eq. (6) sums up all elements at the qth row. Assign the results to A and B, respectively. A=

n ∑

(Mio,y − Mio,k )

(5)

(Mqo,y − Mqo,j ).

(6)

y=1

B=

n ∑ y=1

Thus, the total sum of these two rows is represented in Eq. (7). n ∑

A+B=

(Mio,y − Mio,k ) +

y=1

n ∑

(Mqo,y − Mqo,j ).

(7)

y=1

n ∑

(Mio,y − Mio,j )

(8)

(Mqo,y − Mqo,k ).

(9)

y=1

B′ =

n ∑ y=1

Thus, the updated A′ + B′ is given in Eq. (10): A′ + B′ =

n ∑

n ∑

y=1

y=1

(Mio,y − Mio,j ) +

Algorithm 1 C-Table Generation (CTG) Algorithm Require: CostRef, Tasks Ensure: CTable 1: /*CostRef: Cost Reference Table*/ 2: for each input task do 3: for Each on-premise core do 4: Cost ← select cost from CostRef 5: Where (type=task.type) && (task size ∈ scale of CostRef) 6: end for 7: for Each mobile cloud server do 8: Cost ← Communication cost + energy cost on mobile cloud server 9: end for 10: end for 11: Output CTable

Based on the assumption, there exists A′ + B′ < A + B. Eq. (11) shows the calculation for A′ + B′ − A − B. A′ + B′ − A + B

=

n ∑

(Mio,y − Mio,j ) −

y=1

+

n ∑

(Mio,y − Mio,k )

y=1

n ∑

(Mqo,y



Mqo,k )



n ∑

(Mqo,y − Mqo,j )

y=1 n

=

y=1

(11)

n





y=1

y=1

(Mio,k − Mio,j ) +

(Mqo,j − Mqo,k )

= n(Mio,k − Mio,j ) + n(Mqo,j − Mqo,k ) ⇒ Mio,j + Mqo,k > Mio,k + Mqo,j . The result from Eq. (11) contradicts the result from Eq. (4); therefore, the assumption is incorrect. Theorem 1 is proved. The next section represents our main algorithms applied in the proposed model. 5. Algorithms This section introduces our main algorithm used in the EA-HCM model. The algorithm entitled the Heterogeneous Task Assignment Algorithm (HTA2) is designed to obtain the optimal solution by adjusting the sub-optimal solution. This algorithm was represented in our prior work [10], which was an adoptable approach of solving EMPHC problem. We further extend the algorithms used for data preprocessing, which are required by HTA2. Section 5.1 represents the extended algorithms of data preprocessing in the EA-HCM model, and Section 5.2 illustrates HTA2. 5.1. Data preprocessing algorithms

At the second mapping status (after the switching operation), updated A′ and B′ are obtained, as shown in Eqs. (8) and (9), respectively. A′ =

131

(Mqo,y − Mqo,k ).

(10)

In this section, we present two supportive algorithms used for functioning HTA2 in the EA-HCM model. In the implementation of HTA2, a C Table is one of the inputs that is used for calculating total energy costs. A C Table refers to a table that maps all energy consumptions for each task at each available core. We propose an algorithm to produce C Table entitled the C-Table Generation (CTG) Algorithm. Pseudo codes of CTG algorithm are represented in Algorithm 1. Inputs of CTG algorithm include a Cost Reference Table (CostRef) and the task table. A CostRef refers to the data source that provides the estimated energy consumptions. The data acquisitions can be completed by either on-premises applications or remote database. For example, the estimation of the local energy cost can depend on the execution time length. Therefore, there are two main variables

132

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

Algorithm 2 Sub-Optimal Assignment Generation (SOAG) Algorithm Require: CTable Ensure: Sub − optimal 1: for each input task do 2: min_cost_core ← C1 3: for each core do 4: if Core.cost < min_cost_core.cost then 5: min_cost_core ← core 6: end if 7: end for 8: Sub-optimal.add (task, min_cost_core) 9: end for 10: RETURN Sub − optimal 11: Output CTable

in estimating the energy cost, which are task types and the sizes. Additionally, a task table contains each input task’s type and size. Some examples of task types include textual, video, audio, and image tasks. A few scopes of the task size can be formed for task classifications. The output of CTG algorithm is a C Table. The time complexity of CTG algorithm is O(mn), where m is the amount of the input tasks and n is the amount of the available cores. Moreover, at the first phase, our model produces a sub-optimal solutions before the adjustment is made. We design a Sub-Optimal Assignment Generation (SOAG) algorithm to accomplish this procedure and its pseudo codes are represented in Algorithm 2. The SOAG algorithm is a Greedy algorithm that considers the minimum energy cost the priority during the process of the core selections. As displayed in Algorithm 2, the input of SOAG algorithm is a C Table and its output is a sub-optimal task assignment plan (Sub-optimal). The mechanism of this algorithm is alternating the core with the minimum energy cost from the available core set for each task in the sequence. The algorithm’s time complexity is O(mn), where m is the amount of the input tasks and n is the amount of the available cores. The next section represents our main algorithm, HTA2. 5.2. Heterogeneous Task Assignment Algorithm (HTA2) The inputs of our algorithm include a C Table and a Sub-optimal. The Sub-optimal is a sub-optimal task assignment plan that can be obtained by applying Algorithm 2. This algorithm’s output is new TaskAssignment, which is made by adjusting the sub-optimal solution. Pseudo codes of HTA2 is given by Algorithm 3. The main phases of our algorithm include: 1. Input CTable and Sub-optimal that is a sub-optimal assignment plan. 2. We generate a table, Temp, for adjustment operations deriving from the TaskAssignment. We use the assigned core’s cost subtract from all task costs for the same task and map the results into Temp. 3. We make adjustment by switching a few task assignments if applicable. The method applies Theorem 1 and its proof. For each task at each task group, we search the lowest energy cost value. If there is a value A and it is less than 0, then a comparison will be given between A and another value. Assume A is the cost of task T1 , and T1 ’s assignment is B. Task T2 is assigned to the core with the value C that is as same as A’s corresponding core. D is the value that is corresponding to B. We will switch the alternative B and C if A + D < 0. 4. Repeat the adjustment operations until there is no A + D < 0 situations. 5. Output the assignment plan according the final table.

Algorithm 3 Heterogeneous Task Assignment Algorithm (HTA2) Require: CTable, Sub − optimal (Sub-optimal Assignment Plan) Ensure: TaskAssignment (Optimized Plan) 1: Input CTable, Sub-optimal Assignment Plan TaskAssignment 2: for ∀ Task[i] do 3: Cost ← taskCost[i][taskAssignment[i]] 4: for ∀ taskCost[i][j] do 5: taskCostDiff[i][j] ← taskCost[i][j] - Cost 6: end for 7: end for 8: Switch← True /*Need to do a ‘‘switch" operation*/ 9: while Switch do 10: for ∀ task[i] do 11: Find the index of the minimum costs, (MinIndex), from taskCostDiff 12: /*The minimum cost: minCost*/ 13: if minCost < 0 then 14: for ∀ task[j] do 15: if taskCostDiff[j][MinIndex] == 0 then 16: Break 17: end if 18: end for 19: if taskCostDiff[i][MinIndex] + taskCostDiff[j][taskAssignment[i]] < 0 then 20: /*Whether a switch operation can reduce the total cost*/ 21: taskAssignment[i] ⇐⇒ taskAssignment[j] 22: /*Switch taskAssignment[i] and taskAssignment[j]*/ 23: if ∃ coreAvailable[k] && taskCost[i][k] < taskCost[i][taskAssignment[i]] then 24: taskAssignment[i]←k 25: end if 26: if ∃ coreAvailable[k] && taskCost[j][k] < taskCost[j][taskAssignment[j]] then 27: taskAssignment[j]←k 28: end if 29: Cost ← taskCost[i][taskAssignment[i]] 30: for ∀ taskCost[i][k] do 31: taskCostDiff[i][k] ← taskCost[i][k] - Cost 32: end for 33: Cost ← taskCost[j][taskAssignment[j]] 34: for ∀ taskCost[j][k] do 35: taskCostDiff[j][k] ← taskCost[j][k] - Cost 36: end for 37: end if 38: end if 39: end for 40: end while 41: Output taskAssignment

We give the time complexity analysis for Algorithm 3. The best case is that there is no need for switching operations such that the time complexity T (n) = O(ab), when the matrix has the dimensions a × b. Next, the worst case is associated with two aspects, which are the amount of the negative values after each switching operation and the number of the switching operations. Based on the mathematical deduction shown in Eqs. (4)–(11), we know that the total sum of all elements in the matrix grows along with every step of the switching operation. Assume that the gap between the maximum and minimum values is n. The worst case for the number of the switching operations is n, which means that the total sum value only grows one for each switch. Next, assume that the matrix has a × b dimensions. The maximum number of the negative numbers is ⌈ ab2−b ⌉, considering the constraints. Therefore,

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

133

the time complexity for the worst case is T (n) = O(nab). The average time complexity also is T (n) = O(nab). The next section illustrates our experimental evaluations and discussions. 6. Experiment and the results We describe our experiment configurations in Section 6.1 and illustrate a few experimental results, analyses, and findings in Section 6.2. 6.1. Experimental configuration The experimental environment was established in our lab. We developed a simulator that was specifically designed and operated for this experiment to simulate the cloud computing applications. The hardware setting in this experiment included a server with a processor (Intel(R) Xeon(R) CPU E52687 W v4 @ 3.00 GHz), 64.0 GB memory. To simulate the cloud side, we installed a VMWare workstation and a Ubuntu 15.04 LTS Server on the VMWare workstation. For work tasks, we only considered the total cost, which meant that the cost included all potential aspects, such as computations, communications, data moves, or response delays. This configuration spotlighted the comparisons between EA-HCM and other algorithms. The task dependencies also were configured. Our simulator created a variety of layers with different working modes in order to simulate merging tasks. At each layer, there were arbitrary amounts of tasks. For each working mode, our simulator randomly created input values, such that a broad scope of application scenarios could be simulated based on a large volume of evaluations. Moreover, we compared our proposed scheme, EA-HCM, with other three updated algorithms, OTDSM [17], CMMS [15] and HySARC 2 [24] algorithms. OTDSM algorithm was a dynamic programming that could produce optimal solutions. Both CMMS and HySARC 2 algorithms were Greedy algorithms and their assignment plans were based on different strategies. We configured three experimental settings for assessing the performance of the proposed model. These settings considered two examining aspects, including energy saving performance and execution time. There were mainly three variables in our experiments: the number of the input tasks (T), the costs of the available core (C), and the number of task groups (G). Four experimental settings are:

Fig. 4. Partial experimental results comparing the assignment plan generation time among four algorithms under Setting 1.

Fig. 5. Partial experimental results comparing the energy costs among EA-HCM, OTDSM, CMMS and HySARC 2 algorithms under Setting 1.

• Setting 1: We executed 1000 simulations for this setting and each simulation consists of 10 tasks (T), 4 available cores (C), and data are grouped into 3 groups. • Setting 2: We executed 10 000 simulations for this setting and each simulation consists of 10 tasks (T), 4 available cores (C), and data are grouped into 2 groups. • Setting 3: We executed 1000 simulations for this setting and each simulation consists of 5 tasks (T), 5 available cores (C). The following section provides some experimental results based on the implementations of these four settings. 6.2. Experimental results Fig. 4 represents comparisons for the task assignment plan generation time consumptions under Setting 1. We found that our proposed model required slightly longer execution time for generating the task assignments than CMMS and HySARC 2 algorithms. Both algorithms were Greedy algorithms and our evaluations showed the EA-HCM required a little longer computation time for the task assignment generations. However, as an approach addressing a NP-hard problem, our proposed scheme’s execution time is in

Fig. 6. Partial experimental results comparing the assignment plan generation time among four algorithms under Setting 2.

an acceptable time scope. Compared with OTDSM algorithm, our solution had a great advantage in plan generations. Fig. 5 represents partial experimental results that examined energy-saving performances among four examined algorithms under Setting 1. We selected 10 experimental results out of 1000 simulations and illustrated the results in the figure. According to the figure, our proposed scheme had better performances in most cases under this setting. Based on our 1000 rounds evaluations, our approach could produce optimal solutions at a high rate, which reached 80.1% success rate. Moreover, Fig. 6 illustrates 10 experimental results under Setting 2, which were selected from 10 000 simulations. Our approach still kept a stable performance in shortening plan generation time, which required much shorter time than OTDSM even though the

134

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135

Fig. 7. Partial experimental results comparing the energy costs among EA-HCM, OTDSM, CMMS and HySARC 2 algorithms under Setting 2.

Fig. 9. Partial experimental results comparing the energy costs among EA-HCM, OTDSM, CMMS and HySARC 2 algorithms under Setting 3.

approach was better than a dynamic programming algorithm because EA-HCM required much shorter plan generation time than that of dynamic programming. The success likelihood of producing optimal solutions was sufficient. 7. Conclusions

Fig. 8. Partial experimental results comparing the assignment plan generation time among four algorithms under Setting 3.

success rate of creating optimal solutions was high. The average plan generation time of our approach was 75.02% shorter than that of OTDSM; however, the success rate of optimal solution was 81.45% under this setting. Next, the advantage in saving energy of our proposed scheme was still obvious under Setting 2. Fig. 7 represented partial results of the energy-saving examinations under this setting. The energy consumptions of EA-HCM were remarkably close to OTDSM and were much lower than CMMS and HySARC 2 . Furthermore, Fig. 8 showed a few experimental results under Setting 3. Our scheme as still greatly superior to OTDSM had similar performance to CMMS and HySARC 2 . Compared to OTDSM, our approach saved 85.49% execution time. Meanwhile, Fig. 9 depicted partial experimental results for the energy-saving performance measurements under Setting 3. The results were similar to the prior two settings. Implementing our approach could obtain a high success rate of creating optimal solutions, which reached 90.5%. In summary, our experimental evaluations had proved that our proposed scheme had a great advantage in saving energy due to the optimal task assignments. The differences between our approach and other non-optimal algorithms were observable. The plan generation time was within an acceptable range even though the plan generations required a longer execution time. Based on our observations, it seemed that our approach was inapplicable for those mobile tasks with less computation workloads, since creating an optimization plan might cause more cost than the saved cost. Meanwhile, our approach could be better applied to computing-intensive applications, in which the computation workloads caused the major costs. The total cost could be reduced when the cost of creating an optimization plan was much lower than the cost wastes from other task assignment methods. Our

This paper focused on the issue of task mitigations by using heterogeneous MES in cloud computing and aimed to reduce the total energy consumption by using cyber-enabled applications to produce optimal task assignment plans. The proposed model, EAHCM, was designed to solve the energy minimization problem on heterogeneous computing that is an NP-hard problem. The main algorithm used in this model was HTA2 that was proposed for producing optimal task assignments at a high success rate. Our experimental evaluations had proved that our proposed model was superior in saving energy. Acknowledgment The second author’s work is partially supported by National Natural Science Foundation of China, #61672358. References [1] B. Addis, D. Ardagna, B. Panicucci, M. Squillante, L. Zhang, A hierarchical approach for the resource management of very large cloud platforms, IEEE Trans. Dependable Secure Comput. 10 (5) (2013) 253–272. [2] R. Ahmad, A. Gani, S. Hamid, M. Shiraz, A. Yousafzai, F. Xia, A survey on virtual machine migration and server consolidation frameworks for cloud data centers, J. Netw. Comput. Appl. 52 (2015) 11–25. [3] E. Boutin, J. Ekanayake, W. Lin, B. Shi, J. Zhou, Z. Qian, M. Wu, L. Zhou, Apollo: Scalable and coordinated scheduling for cloud-scale computing, in: 11th USENIX Symposium on Operating Systems Design and Implementation, USENIX Association, Broomfield, CO, 2014, pp. 285–300. [4] S. Chaisiri, B. Lee, D. Niyato, Optimization of resource provisioning cost in cloud computing, IEEE Trans. Serv. Comput. 5 (2) (2012) 164–177. [5] Z. Dong, N. Liu, R. Rojas-Cessa, Greedy scheduling of tasks with time constraints for energy-efficient cloud-computing data centers, J. Cloud Comput. 4 (1) (2015) 5. [6] D. Feng, C. Jiang, G. Lim, J. Cimini, G. Feng, G. Li, A survey of energy-efficient wireless communications, IEEE Commun. Surv. Tutor. 15 (1) (2013) 167–178. [7] K. Gai, Z. Du, M. Qiu, H. Zhao, Efficiency-aware workload optimizations of heterogenous cloud computing for capacity planning in financial industry, in: The 2nd IEEE International Conference on Cyber Security and Cloud Computing, IEEE, New York, USA, 2015, pp. 1–6. [8] K. Gai, S. Li, Towards cloud computing: a literature review on cloud computing and its development trends, in: 2012 Fourth Int’L Conf. on Multimedia Information Networking and Security, Nanjing, China, 2012, pp. 142–146. [9] K. Gai, M. Qiu, L. Tao, Y. Zhu, Intrusion detection techniques for mobile cloud computing in heterogeneous 5G, Secur. Commun. Netw. 9 (16) (2016) 3049– 3058.

K. Gai et al. / J. Parallel Distrib. Comput. 111 (2018) 126–135 [10] K. Gai, M. Qiu, H. Zhao, M. Liu, Energy-aware optimal task assignment for mobile heterogeneous embedded systems in cloud computing, in: 2016 IEEE 3rd International Conference on Cyber Security and Cloud Computing, (CSCloud), IEEE, Beijing, China, 2016, pp. 198–203. [11] K. Gai, M. Qiu, H. Zhao, L. Tao, Z. Zong, Dynamic energy-aware cloudlet-based mobile cloud computing model for green computing, J. Netw. Comput. Appl. 59 (2015) 46–54. [12] H. He, G. Xu, S. Pang, Z. Zhao, AMTS: Adaptive multi-objective task scheduling strategy in cloud computing, China Commun. 13 (4) (2016) 162–171. [13] K. Kumar, J. Liu, Y. Lu, B. Bhargava, A survey of computation of floading for mobile systems, Mob. Netw. Appl. 18 (1) (2013) 129–140. [14] P. Li, Y. Luo, J. Yang, Transformer: Run-time reprogrammable heterogeneous architecture for transparent acceleration of dynamic workloads, J. Parallel Distrib. Comput. 86 (2015) 45–61. [15] J. Li, M. Qiu, Z. Ming, G. Quan, X. Qin, Z. Gu, Online optimization for scheduling preemptable tasks on IaaS cloud systems, J. Parallel Distrib. Comput. 72 (5) (2012) 666–677. [16] Jianhua J. Ma, Kim-Kwang Raymond Choo, Hui-huang Hsu, Qun Jin, William Liu, Kevin Wang, Yufeng Wang, Xiaokang Zhou, Perspectives on cyber science and technology for cyberization and cyber-enabled worlds, in: 14th Int’L Conf. Dependable, Autonomic and Secure Computing, 14th Int’L Conf on Pervasive Intelligence and Computing, 2nd Int’L Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress, IEEE, 2016, pp. 1–9. [17] L. Qiu, K. Gai, M. Qiu, Optimal big data sharing approach for tele-health in cloud computing, in: The IEEE International Conference on Smart Cloud 2016, IEEE, New York, USA, 2016, pp. 184–189. [18] M. Qiu, M. Zhong, J. Li, K. Gai, Z. Zong, Phase-change memory optimization for green cloud with genetic algorithm, IEEE Trans. Comput. 64 (12) (2015) 3528–3540. [19] A. Rajhans, A. Bhave, I. Ruchkin, B. Krogh, D. Garlan, A. Platzer, B. Schmerl, Supporting heterogeneity in cyber-physical systems architectures, IEEE Trans. Automat. Control 59 (12) (2014) 3178–3193. [20] M. Rodriguez, R. Buyya, Deadline based resource provisioning and scheduling algorithm for scientific workflows on clouds, IEEE Trans. Cloud Comput. 2 (2) (2014) 222–235. [21] Z. Sanaei, S. Abolfazli, A. Gani, R. Buyya, Heterogeneity in mobile cloud computing: taxonomy and open challenges, IEEE Commun. Surv. Tutor. 16 (1) (2014) 369–392. [22] M. Sharifi, S. Kafaie, O. Kashefi, A survey and taxonomy of cyber foraging of mobile devices, IEEE Commun. Surv. Tutor. 14 (4) (2012) 1232–1243. [23] S. Ulukus, A. Yener, E. Erkip, O. Simeone, M. Zorzi, P. Grover, K. Huang, Energy harvesting wireless communications: A review of recent advances, IEEE J. Sel. Areas Commun. 33 (3) (2015) 360–381. [24] M. Vasile, F. Pop, R. Tutueanu, V. Cristea, J. Kołodziej, Resource-aware hybrid scheduling algorithm in heterogeneous distributed computing, Future Gener. Comput. Syst. 51 (2015) 61–71. [25] S. Wang, B. Luo, W. Shi, D. Tiwari, Application configuration selection for energy-efficient execution on multicore systems, J. Parallel Distrib. Comput. 87 (2016) 43–54. [26] C. Wu, R. Chang, H. Chan, A green energy-efficient scheduling algorithm using the DVFS technique for cloud datacenters, Future Gener. Comput. Syst. 37 (2014) 141–147. [27] L. Wu, S. Garg, S. Versteeg, R. Buyya, SLA-based resource provisioning for hosted software-as-a-service applications in cloud computing environments, IEEE Trans. Serv. Comput. 7 (3) (2014) 465–485. [28] Z. Xiao, W. Song, Q. Chen, Dynamic resource allocation using virtual machines for cloud computing environment, IEEE Trans. Parallel Distrib. Syst. 24 (6) (2013) 1107–1117. [29] Q. Zhang, M. Zhani, R. Boutaba, J. Hellerstein, Dynamic heterogeneity-aware resource provisioning in the cloud, IEEE Trans. Cloud Comput. 2 (1) (2014) 14–28. [30] N. Zhong, J. Ma, R. Huang, J. Liu, Y. Yao, Y. Zhang, J. Chen, Research challenges and perspectives on Wisdom Web of Things (W2T), J. Supercomput. 64 (3) (2013) 862–882. [31] X. Zhu, H. Chen, G. Liu, L. Liu, STARS: Startup-time-aware resource provisioning and real-time task scheduling in clouds, in: 2016 IEEE 18th International Conference on High Performance Computing and Communications; IEEE 14th International Conference on Smart City; IEEE 2nd International Conference on Data Science and Systems, IEEE, Sydney, Australia, 2016, pp. 309–316.

135

Keke Gai holds degrees from Nanjing University of Science and Technology (B.Eng.), The University of British Columbia (MET) and Lawrence Technological University (M.B.A. and M.S.). He is currently pursuing his Ph.D. at Department of Computer Science at Pace University, New York, USA. Keke Gai has published more than 60 peer-reviewed journals or conference papers, 20+ journal papers (including ACM/IEEE Transactions), and 40+ conference papers. He has been granted three IEEE Best Paper Awards (IEEE SSC’16, IEEE CSCloud’, IEEE BigDataSecurity’15) and two IEEE Best Student Paper Awards (SmartCloud’16, HPCC’16) by IEEE conferences in recent years. His paper about cloud computing has been ranked as the ‘‘Most Downloaded Articles’’ of Journal of Network and Computer Applications (JNCA). He is involved in a number of professional/academic associations, including ACM and IEEE. Currently, he is serving as a Secretary/Treasurer of IEEE STC (Special Technical Community) in Smart Computing at IEEE Computer Society. His research interests include mobile cloud computing, cyber security, combinatorial optimization, business process modeling, enterprise architecture, and Internet computing.

Meikang Qiu received the BE and ME degrees from Shanghai Jiao Tong University and received Ph.D. degree of Computer Science from University of Texas at Dallas. Currently, he is a Distinguished Professor at Shenzhen University, China and an Adjunct Professor at Columbia University. He is an IEEE Senior member and ACM Senior member. He is the Chair of IEEE Smart Computing Technical Committee. His research interests include Cyber Security, Cloud Computing, Smarting Computing, Intelligent Data, Embedded systems, etc. A lot of novel results have been produced and most of them have already been reported to research community through high-quality journal and conference papers. He has published 14 books, 400 peer-reviewed journal and conference papers (including 180+ journal articles, 220+ conference papers, 60+ IEEE/ACM Transactions papers), and 3 patents. He has won ACM Transactions on Design Automation of Electrical Systems (TODAES) 2011 Best Paper Award. His paper about cloud computing has been published in JPDC (Journal of Parallel and Distributed Computing, Elsevier) and ranked #1 in Top Hottest 25 Papers of JPDC 2012. His papers published in IEEE Transactions on Computers and Journal of Computer and System Science (Elsevier) have been recognized as Highly Cited Papers in 2016 and 2017. He has won another 10+ Conference Best Paper Awards in recent years. Currently he is an associate editor of 10+ international journals, including IEEE Transactions on Computer and IEEE Transactions on Cloud Computing. He is the General Chair/Program Chair of a dozens of IEEE/ACM international conferences, such as IEEE HPCC, IEEE TrustCom, IEEE CSCloud, and IEEE BigDataSecurity. He has given 100+ talks all over the world, including Oxford, Princeton, Stanford, and Yale University. He has won Navy Summer Faculty Award in 2012 and Air Force Summer Faculty Award in 2009. His research is supported by US government such as NSF, Air Force, Navy and companies such as GE, Nokia, TCL, and Cavium.

Hui Zhao received the B.E. and M.S. degrees from Xi’an Technology University, Shanxi and Henan University, Henan, China, in 2000 and 2008, respectively. He is a Ph.D. student at the Seidenberg School of Computer Science and Information Systems of Pace University. He is currently an associate professor in the Software school of Henan University.