An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An...

9
© Springer-Verlag Berlin Heidelberg 2015 James J. (Jong Hyuk) Park et al. (eds.), Computer Science and Its Applications, 737 Lecture Notes in Electrical Engineering 330, DOI: 10.1007/978-3-662-45402-2_104 An Optimal Recovery Time Method in Cloud Computing Pham Phuoc Hung 1 , Tuan-Anh Bui 2 , and Eui-Nam Huh 1 1 Department of Computer Engineering, Kyung Hee University, Yongin-si, South Korea {hungpham,johnhuh}@khu.ac.kr 2 Louvain School of Engineering, Catholic University of Louvain, Louvain-la-Neuve, Belgium [email protected] Abstract. In this paper, we introduce a task scheduling methodology to help systems to resiliently maintain their availability and reliability. Particularly, this method can quickly improve system recovery from failures as well as achieve an optimized performance while considering the customers’ monetary cost and network condition. As comparison is made between our work and some similar existing approaches, apparently, it shows that ours has higher effectiveness and efficiency than the other ones. Keywords: Parallel computing, task scheduling, recovery time, big data, cloud. 1 Introduction Nowadays, the emerging cloud computing (CC) model [9] is praised as an ideal replacement for the conventional computing models (e.g.: grid computing, clustering, etc.), in which multiple servers coordinate to achieve high performance, availability, and reliability of provided services and to efficiently schedule tasks for applications [4]. To make any cloud data centers to be more reliable, specific mechanism has been designed to handle failures should there be any of them occurring. Despite the fact that the probability of experiencing such failures in the lifetime of a server is relatively rare, it might be magnified across all devices hosted in the data center [5], resulting in considerable loss in finance and reputation of businesses, which could be as high as millions of dollar per minute [1]. Therefore, to deliver better services to customers, cloud-based infrastructures are expected to come up with failure-tolerance and resiliency, which implies that those systems can be quickly recovered from failure and restored to normal working state. Literally, there are two main categories of recovery time reduction methodology, including heuristic-based approaches [8, 6] and stochastic optimization [2]. In fact, neither is completely efficient because they have not yet considered users’ cost and network connectivity. One of the main targets of our paper is to mitigate the drawbacks of these two mentioned methods and takes them as foundation to introduce a novel algorithm in minimizing recovery time and in achieving an optimized performance of cloud-based systems. Additionally, to fulfil the above shortcomings, our work closely looks at the

Transcript of An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An...

Page 1: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

© Springer-Verlag Berlin Heidelberg 2015 James J. (Jong Hyuk) Park et al. (eds.), Computer Science and Its Applications,

737

Lecture Notes in Electrical Engineering 330, DOI: 10.1007/978-3-662-45402-2_104

An Optimal Recovery Time Method in Cloud Computing

Pham Phuoc Hung1, Tuan-Anh Bui2, and Eui-Nam Huh1

1 Department of Computer Engineering, Kyung Hee University, Yongin-si, South Korea

{hungpham,johnhuh}@khu.ac.kr 2 Louvain School of Engineering, Catholic University of Louvain,

Louvain-la-Neuve, Belgium [email protected]

Abstract. In this paper, we introduce a task scheduling methodology to help systems to resiliently maintain their availability and reliability. Particularly, this method can quickly improve system recovery from failures as well as achieve an optimized performance while considering the customers’ monetary cost and network condition. As comparison is made between our work and some similar existing approaches, apparently, it shows that ours has higher effectiveness and efficiency than the other ones.

Keywords: Parallel computing, task scheduling, recovery time, big data, cloud.

1 Introduction

Nowadays, the emerging cloud computing (CC) model [9] is praised as an ideal replacement for the conventional computing models (e.g.: grid computing, clustering, etc.), in which multiple servers coordinate to achieve high performance, availability, and reliability of provided services and to efficiently schedule tasks for applications [4]. To make any cloud data centers to be more reliable, specific mechanism has been designed to handle failures should there be any of them occurring. Despite the fact that the probability of experiencing such failures in the lifetime of a server is relatively rare, it might be magnified across all devices hosted in the data center [5], resulting in considerable loss in finance and reputation of businesses, which could be as high as millions of dollar per minute [1]. Therefore, to deliver better services to customers, cloud-based infrastructures are expected to come up with failure-tolerance and resiliency, which implies that those systems can be quickly recovered from failure and restored to normal working state. Literally, there are two main categories of recovery time reduction methodology, including heuristic-based approaches [8, 6] and stochastic optimization [2]. In fact, neither is completely efficient because they have not yet considered users’ cost and network connectivity.

One of the main targets of our paper is to mitigate the drawbacks of these two mentioned methods and takes them as foundation to introduce a novel algorithm in minimizing recovery time and in achieving an optimized performance of cloud-based systems. Additionally, to fulfil the above shortcomings, our work closely looks at the

Page 2: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

738 P.P. Hung, T.-A. Bui, and E.-N. Huh

aspect of user cost, so as to draw a reasonable and cost-effective model for system recovery. As such, quality-of-service (QoS) can be improved, and so is user experience. Our work includes numerous simulations in order to prove its better effectiveness and efficiency when compared against other existing methods. As primary contributions, generally, not only the time aspect, including execution and recovery time, could be optimized, but also a better cost-effectiveness model has been proposed.

The rest of our paper has the following organization: Recent relevant problems are visited in section 2; Section 3 reveals the motivation behind the work, with a detailed scenario; Section 4 formulates the main problems and their proposed solutions; Section 5 is focused on the implementation and performance evaluation. Section 6 concludes the paper and discusses possible future work.

2 Related Studies

There have been various studies that attempt to solve task scheduling problems in homogeneous and heterogeneous systems, where the sequence of the tasks (workflow) is popularly presented by a directed acyclic graph (DAG) as shown in Fig. 3a. In [7], the authors propose a task scheduling approach for assigning processors to task graph templates prepared in advance. The limitation of this method is that it does not consider network contention. Sinnen et al. [8] present an efficient task scheduling method based on network contention, however the method does not take into account the monetary cost paid by cloud customers (CCs) for use of cloud resources. Authors in [10, 11] introduce a cost-efficient approach to select the most appropriate system to execute the workflow according to a deadline constraint as well as cost savings. However, failure of computing devices is not considered in their proposal.

Zhang et al. in [3] introduce a solution to recover from failure according to check-pointing in stream processing system. With this way, when the system has failure, it finds the closest ancestor node which is not impacted by failure to resume the results from the saved state in that node. In [6], the proposers present a scheme to reduce the recovery time in case of failure but they do not contemplate the cost of suppliers’ services. As much as we studied, no scheduling approach available already has concern both device failure and network contention as well as the cloud cost is conducted. Thereby, in this paper, we introduce a method to solve the above shortcoming.

3 Motivating Scenario

In this section, we discuss the importance and applicability of our work, by presenting relevant scenario. In a cloud datacenter, there are a lot of physical servers (PSs), which have capacities to host the processors, functioning as virtual machines (VMs), to solve some computationally intensive tasks. Whether each physical server is capable of hosting all processors or not, doing so is generally not recommended in order to avoid complete service unavailability in case outage occurs. There is one

Page 3: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

An Optimal Recovery Time Method in Cloud Computing 739

network interface shared among the processors. Due to the high stability of network among processors in the local physical server compared with the Internet, the average data transfer rate of internal communication is always higher than that of external one. With regard to the transfer rate, existing schedulers try to utilize this high speed link, resulting in the fact that many dependent tasks are assigned to processors hosted in the same PS.

(a) (b)

Fig. 1. Motivating scenario

Fig. 1(a) illustrates an example of task scheduling created by an existing approach which does not consider the failure of the system. In this scheduler, task v1, v2, and v3 are assigned to processor P1 and P2 that are located in the same PS in order to utilize the high speed communication between processors. After task v1 and v2 are executed in parallel, task v3 can be processed on processor P1. However, if the PS on which P1 and P2 reside fails, when task v3 is being executed, the results of all task nodes are lost. If we want to recover the results, all the tasks v1, v2, and v3 have to be executed again on another physical server. This may double time consuming as Fig. 1(b).

Assume that all tasks in the critical path are assigned to processors in the same physical server, the worst case happens when a failure occurs during the time the last tasks are being executed and the entire set of tasks have to be executed again for recovery. The critical path here means the longest execution path between the beginning task and the ending task of the workflow and this greatly influences the completion time of the DAG [6]. Hence, the tasks in the critical path should be distributed among processors residing in different PSs to improve the recovery time, though this may increase overhead due to inter-processor communications. Consequently, our paper tries to reduce that overhead as much as possible to deal with the following issues: Scheduling tasks to minimize the execution time in regular operation and, in case of failure, to reduce recovery time while considering the contention and the cloud cost.

4 Problem Formulation and Solution

In this section, we first define the terms used and then formulate the problem. Task scheduling on a target system is defined as the problem of allocating the tasks

of an application to a set of processors in order to minimize total execution time.

Page 4: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

740 P.P. Hung, T.-A. Bui, and E.-N. Huh

Thus, the input of task scheduling includes a task graph and a process graph. The output is a schedule representing the assignment of a processor to each task node.

Definition 1. A task graph, e.g. as in Fig. 2(a), is represented by a DAG, G =(V, E, w, c), where the set of vertices V ={v1,v2,...,vk} represents the set of parallel subtasks, and the directed edge eij = (vi,vj )∈E describes the communication between subtasks vi and vj, w(vi) associated with task vi ∈V represents its computation time and c(eij) represents the communication time between task vi and task vj with corresponding transferred data d(eij). We presume that a task vi without any predecessors, prec(vi)=0, is an entry task ventry, and a task that does not have any successors, succ(vi) =0, is an end task vend . The task consists of workload wli, which delimits the amount of work processed with the computing resources. Besides, it also contains a set of preceding subtasks prec(vi) and a set of successive subtasks succ(vi) of task vi, ts(vi,Pj) denotes Start Time and w(vi, Pj) refers to the Execution Time of task vi∈V on processor Pj. Hence, the finish time of that task is given by tf(vi, Pj)= ts(vi, Pj)+ w(vi, Pj).

(a) (b)

Fig. 2. A sample DAG and a processor graph

Suppose that the following conditions are satisfied:

Condition 1. A task cannot begin its execution until all of its inputs have been gathered sufficiently. Each task appears only once in the schedule.

Condition 2. The ready time tready(vi, Pj) is the time that processor Pj completes its last assigned task and be ready to execute task vi. Therefore,

(1)

where exec(j) is a set of tasks executed at processor Pj, tf(ezi) = tf(vz)+c(ezi). Condition 3. Let [tA,tB]∈[0,∞] be an idle time interval on processor Pj in which no

task is executed. A free task vi ∈ V can be scheduled on processor Pj within [tA,tB] if

(2)

Definition 2. A processor graph TG=(N,D) demonstrated in Fig. 2(b) is a graph that describes the topology of a network between vertices (processors) that are cloud VMs. In this model, N is the finite set of vertices, and a directed edge dij ∈ D denotes a directed link from vertex Pi to vertex Pj with Pi,Pj∈N. Each processor Pi controls the processing rate pi and bandwidth bwi on the link connecting it to other processors.

max{ , ( , )} ( , ) .A ready i j i j Bt t v P w v P t+ ≤

( ) , ( )( , ) max{ max ( ( , )), max ( ( ))},

y zi z iready i j f y j f zi

v exec j e E v prec vt v P t v P t e

∈ ∈ ∈=

Page 5: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

An Optimal Recovery Time Method in Cloud Computing 741

• Problem Formulation Let tt(s) be the total time of a schedule s. Entire schedule is denoted en(s,v) with schedule s is executed and a failure happens at task v. Our purpose is to try to find and move the last tasks in the critical path over multiple machines to minimize the execution time before failure and recovery time and avoid the worst case. That means finding the schedule s such that

(3)

• Proposed Approach This section shows some assumptions for the proposed method. Given a task graph G = (V, E, w, c) and the processor graph TG=(N,D), our approach has two steps:

Determining the task priority In this step, each task is set a priority based on the upward rank value of this task in the task graph. Here, a priority of a task vi is estimated by the length of the critical path leaving the task. Recursively defined, the priority value pr of a task vi is as:

(4)

where is the average execution time of task vi and is the average communication time between task vi and vj, correspondingly:

, (5)

with n is the number of processors in the cloud environment.

Finally, we sort all tasks with a descending order of pr, which is the length of remained schedule, whose benefit is to provide a topological order of the tasks.

Choosing the most appropriate processor to execute the above tasks The start time of a task is defined when the last preceding task is completed.

Thence, to determine that start time, the earliest idle interval [tA,tB] on processor Pj has to be searched and found to satisfy condition 2 and condition 3. As a result, the start time ts of task vi on processor Pj is set as:

(6)

Thus, Earliest Start Time (EST) of a task vi executed on a processors Pj is

computed as follows: (7)

where is the communication time between processors Pk and Pj defined as:

(8)

{max( , ( , )), if 0, otherwise( , ) ,A ready i j i entry

s i j

t t v P v vt v P

≠=

( ),( , ) max ( ( , )) max( ( )),

z i k k

kji j f z k i

v prec v P N P NEST v P t v P c e

∈ ∈ ∈= +

( )kjic e

( ( ) ( ))

1 1( ) ( )*( ).

z i

kj ki i zi

v prec v exec k j k

c e di dobw bw∈ ∩

= + +

( )( )

/k

ijij

kn N

d ec e

bw n∈

=

( )( ) /

k

ii

kn N

wlw v

p n∈

=

( )( ) max [ ( ) ( )]

( )( )

j ii ij j i end

v succ vi

i i end

w v c e pr v v vpr v

w v v v

∈ + + ≠= =

( )iw v

max ( ( , ))v V

minimize tt en s v∈

( )ijc e

Page 6: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

742 P.P. Hung, T.-A. Bui, and E.-N. Huh

Here, is the amount of input data stored at processor Pk and used for executing task vi and dozi is amount of outgoing data executed from Pk then transferred to Pj. Therefore, Earliest Finish Time (EFT) of the task vi is calculated as:

(9) In addition, the algorithm also considers the cost paid by cloud customers to

execute the tasks. The cost C(vi,Pj) for task vi executed at a VM Pj is defined by: (10)

In equation (10), each cost is calculated as follows:

Cost of processing is expressed as:

(11) where c1 is the processing cost per time unit on processor Pj with processing rate pj . Let tmin be the finish time of the task which is completed first out of the parallel tasks and there is no available task after this one, c2 be the waiting cost per time unit and ti be the finish time of the task vi. Then the cost of waiting time is as:

(12)

Suppose that the amount of money per time unit for transferring outgoing data from processor Pj is c3, then the cost of communication time is defined as follows:

(13)

Let c4 be the storage cost per data unit and sti be the storage size of task vi on

processor Pj . Then the storage cost of task vi on processor Pj is calculated as: (14)

Further, we compute the cost of using the memory of processor Pj for task vi as:

(15) where smem is the size of the memory used and c5 is the memory cost per data unit.

Using these costs, we can calculate a utility function that computes the tradeoff U(vi,Pj) between the cost and EFT to determine the most appropriate processor, which is the one obtains the minimum value of this tradeoff, as follows:

(16)

5 Implementation and Analysis

This section attempts to justify the proposed approach, the Contention-Cost aware Scheduling algorithm (CCaS), by applying numerical simulations to evaluate and

( , ) ( , ) ( , ).i j i j i jEFT v P w v P EST v P= +

( , ) ( , ) ( , ) ( , ) ( , )( , ) i j i j i j i j i jv P v P v P v P v P

i j proc wait comm str memC v P C C C C C= + + + +

( , )

1 * / ,i jv P

proc i jC c wl p=

( , )2 min* ( ).i jv P

wait iC c t t= −

( , )3

( ( ) ( ))

*( ) / .i j

z i

v P jcomm i zi j

v prec v exec j

C c di do bw∈ ∩

= +

,

( , ) ( , )( , ) ( * ).

[ ( , )] [ ( , )]i k

i j i ji j

v E P N i k i k

C v P EFT v PU v P Min

Max C v P Max EFT v P∈ ∈

=

( , )4 * .i jv P

str iC c st=

( , )5 * ,i jv P

mem memC c s=

kidi

Page 7: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

An Optimal Recovery Time Method in Cloud Computing 743

compare its performance with other methods, in terms of monetary cost and network bandwidth. The compared methods include the well-known Contention-aware Scheduling (CaS) algorithm [8], which considers only network contention; the Greedy Cost Reduction algorithm (GCR) which merely concerns the cost; and the Interleaved Scheduling method (IS), which allocates tasks across multiple processors of all PSs, according to only EFT. All the parameters in the simulations are different task graphs G=(V, E, w, c), processor graph TG=(N,D) as shown in Table 1. We developed the simulations on Java with JDK-7u7-i586, Netbeans-7.2 by using CloudSim [11].

Table 1. Characteristics of the target system

Parameter Value Topology model LAN, fully connected Operating system Windows 7 professional

Number of processors [5, 30] Number of tasks [20, 90] Processing rate [10, 750]

Bandwidth [10, 100, 512, 1024] Mbps Cost per a time unit executed on processor Pj [0.1, 0.5] Cost per outgoing data unit from processor Pj [0.2, 0.6]

The following figures illustrate obvious differences between simulated scenarios.

In an environment with no failure as shown in Fig. 3(a), the GCR produces the worst case in terms of schedule length, CaS obtains the best result while the IS algorithm and our approach are in the middle, with our method being generally better than IS and GCR (by 14% and 26% respectively) as the number of tasks increases. However, in Fig. 3(b), when the system has a failure that increases the recovery time since some physical machines have to restart. Processing time of the workflow also increases in this case because some task nodes’ results are lost and must be reacquired. Our proposal produces a workflow schedule with better performance than others regardless of the number of tasks. Particularly, it achieves a greater than 20% and 35% increase in speed compared with the CaS and GCR respectively.

(a) (b)

Fig. 3. Schedule length comparison (a) without failure and (b) with failure

Page 8: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

744 P.P. Hung, T.-A. Bui, and E.-N. Huh

(a) (b)

Fig. 4. Cost comparison (a) without failure and (b) with failure

Regarding the monetary cost, in case of no failure illustrated in Fig. 4(a), although CaS provides the best performance, it has the highest cost, while the opposite is true for GCR. Our solution is balanced between schedule length and cloud cost. The CCaS has a slight economic advantage compared with IS. In fact, when compared with CaS, our method can save about 17% cost for CCs while performance reduction is not greater than 19%. Nonetheless, under failure occurrence, if number of tasks increases, the CaS requires the highest monetary cost, the GCR is intermediate and the proposed method has the lowest cost as Fig. 4(b). Notably, the cost of our approach is 24% less than the cost of the CaS and saves 18% when compared with the GCR cost.

6 Conclusion

The paper presents a novel methodology in optimizing cloud-based infrastructure, with focus placed on availability, reliability and resiliency of cloud services. In particular, contributions of the paper includes a new task scheduling algorithm in order to maximize performance of cloud-based services and applications while minimizing recovery time in case of failures. Besides, the research considers both aspects of user cost and network condition in order to determine a finically and operationally optimized solution of high performance with low cost. As future work, the proposed solution can be run under various platforms and simulation circumstances to achieve higher reliability and performance.

Acknowledgements. This research was supported by Next-Generation Information Computing Development Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Science, ICT & Future Planning (2010-0020725). And this research was supported by the MSIP (Ministry of Science, ICT&Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (NIPA-2014(H0301-14-1020)) supervised by the NIPA (National IT Industry Promotion Agency). The corresponding author is professor Eui-Nam Huh.

Page 9: An Optimal Recovery Time Method in Cloud …ltis.icnslab.net/ALTIS/Files/20140820_PhamPhuocHung...An Optimal Recovery Time Method in Cloud Computing 741 • Problem Formulation Let

An Optimal Recovery Time Method in Cloud Computing 745

References

1. Bartholomy, E.: The need to move toward virtualized and more resilient disaster-recovery architectures. IBM Journal of Research and Development 57, 1–10 (2013)

2. Maguluri, S.T., Srikant, R.: Stochastic Models of Load Balancing and Scheduling in Cloud Computing Clusters. In: Proceedings IEEE Infocom (2012)

3. Zhe, Z., Yu, G.: A Hybrid Approach to High Availability in Stream Processing Systems. In: International Conference on Distributed Computing Systems, pp. 138–148 (2010)

4. Sinnen, O.: Task Scheduling for Parallel Systems. Wiley Series on Parallel and Distributed Computting (2007), http://as.wiley.com/WileyCDA/ WileyTitle/productCd-471735760.html

5. Vishwanath, K.V.: Characterizing cloud computing hardware reliability. In: Proceedings of the 1st ACM Symposium on Cloud Computing. Microsoft Research, USA (2010)

6. Gotoda, S.: Task scheduling algorithm for multicore processor system for minimizing recovery time in case of single node fault. In: CCGrid, Ottawa (2012)

7. Wolf, J., Bansal, N., Hildrum, K., Parekh, S., Rajan, D., Wagle, R., Wu, K.-L., Fleischer, L.K.: An Optimizing Scheduler for Large-Scale Stream-Based Distributed Computer Systems. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 306–325. Springer, Heidelberg (2008)

8. Sinnen, O., Leonel, A.: Communication Contention in Task Scheduling. IEEE Transactions on Parallel and Distributed Systems 16(6) (2005)

9. Yang, C.-L.: Key consideration factors of adopting cloud computing for science. In: CloudCom, Taipei (2012)

10. den Bossche, R.V.: Cost-Efficient Scheduling Heuristics for Deadline Constrained Workloads on Hybrid Clouds. In: CloudCom, pp. 320–327 (2011)

11. Cloudsim: A Framework for Modeling And Simulation of Cloud Computing Infrastrutures And Services, doi:https://code.google.com/p/cloudsim/ downloads/list