An Optimal Capacity Planning Algorithm for Provisioning Cluster-Based Failure-Resilient Composite Services Chun Zhang, Rong N. Chang, Chang-shing Perng, Edward So, Chungqiang Tang, Tao Tao IBM T.J. Watson Research Center {czhang1, rong, perng, edwardso, ctang, ttao}@us.ibm.com Abstract

(e.g., credit card authorization service) or IT services (e.g., PDF file generation service). A fundamental principle of achieving failure resilience is to cluster resources and to redirect the new workload to failed resources to healthy ones when failures happen. Commonly used failure resilience mechanisms [3] in server-cluster based service systems are intra-cluster loadcontrolling and inter-cluster failover. The intra-cluster loadcontrolling mechanism uses a load controller to distribute new workload to a set of healthy (backend) servers running in the same cluster. Availability of each of the servers is monitored continuously. When a non-performing server is detected, the load controller would not dispatch new workload to that server until the server is in a healthy state again. As per the local failure resilience polity, the load controller may redirect a portion of the new workload for the failed server to other healthy server clusters (via the inter-cluster failover mechanism) till the failed server starts functioning again. Cost-effectively satisfying end-to-end quality requirements for composite business services is a key driver of supporting failure resilience in a service oriented computing system. Since processing one composite-service request may utilize a chain of servers, optimizing the failure resilience support for composite-service requests must exploit the relationship between the constituent atomic services and their dependency on the server infrastructure. In this paper, we propose an optimal capacity planning algorithm for server-cluster based service systems, particularly the ones that provision composite services via several servers. The algorithm assumes the use of both intra-cluster load-controlling and inter-cluster failover mechanisms. The goal is to minimize the resource cost while assuring service levels on the end-to-end throughput and response time of provisioned composite services under normal conditions and server failure conditions. We illustrate that the stated goal can be formalized as a capacity planning optimization problem and can be solved mathematically via convex analysis and linear optimization techniques. We also quantitatively demonstrate that the proposed algorithm can find the

Resilience against unexpected server failures is a key desirable function of quality-assured service systems. A good capacity planning decision should cost-effectively allocate spare capacity for exploiting failure resilience mechanisms. In this paper, we propose an optimal capacity planning algorithm for server-cluster based service systems, particularly the ones that provision composite services via several servers. The algorithm takes into account two commonly used failure resilience mechanisms: intra-cluster load-controlling and inter-cluster failover. The goal is to minimize the resource cost while assuring service levels on the end-to-end throughput and response time of provisioned composite services under normal conditions and server failure conditions. We illustrate that the stated goal can be formalized as a capacity planning optimization problem and can be solved mathematically via convex analysis and linear optimization techniques. We also quantitatively demonstrate that the proposed algorithm can find the min-cost capacity planning solution that assures the end-to-end performance of managed composite services for both the nonfailure case and the common server failure cases in a threetier web-based service system with multiple server clusters. To the best of our knowledge, this paper presents the first research effort in optimizing the cost of supporting failure resilience for quality-assured composite services.

1 Introduction Service-Oriented Architecture [1] has been widely accepted as a set of good service design principles for satisfying business requirements over large-scale, crossorganization IT infrastructures. Resilience against unexpected server failures [2] [3] [4] [5] has become a key desirable function of service oriented systems due to increasing demand on the assurance of end-to-end performance of composite business services (e.g., travel booking service), which may comprise of several atomic business services 1

min-cost capacity planning solution that assures the end-toend performance of managed composite services for both the non-failure case and the common server failure cases in a three-tier web-based service system with multiple server clusters. To the best of our knowledge, this paper presents the first research effort in optimizing the cost of supporting failure resilience for quality-assured composite services. The remainder of this paper is organized as follows. Section 2 introduces related concepts and our service system model. Section 3 illustrates how we formalize the stated goal as a capacity planning optimization problem and how the proposed algorithm solves the problem. Section 4 presents our quantitative quality evaluation results of the algorithm. Related work is summarized in section 5. Finally, we conclude the paper in section 6 with a discussion of future work.

composite services created via the sequential composition operator, the most common composition operator. A request processing plan maps the abstract atomic services of an abstract composite service to the deployed atomic services (in terms of server clusters) with certain end-to-end service quality requirements. In this paper, we focus on end-to-end service performance requirements such as minimum throughput and maximum response time. Customer Service Requests Atomic Service Invocation Choreographer Atomic Service Invocations

Deployed Atomic Services Server Cluster 1

2 Concept and service system model

Failure Resilience Policy

This section first presents some basic concepts on atomic services and composite services, then introduces our service system model and common failure scenarios.

2.1

Deployed Atomic Services Server Cluster k Failure Resilience Policy

Request Processing Policy

Request Processing Plan (Assume No Server Failure)

Figure 1. Our service system model.

Atomic and composite services

2.2

An abstract atomic service represents the implementation of certain functional requirements (e.g., credit card authorization) that can be deployed onto a single server as an atomic service. One abstract atomic service can be deployed more than once. In order to simplify the presentation of the paper without loss of generality, we assume the deployment of an abstract atomic service is done on the basis of server clusters, i.e., every server in a server cluster supports the same set of atomic services. The deployed atomic services of the same abstract atomic service run concurrently and provide failure resilience support for each other. We allow different abstract atomic services to be deployed onto a single server, and assume each server uses a queueing discipline [6] (e.g., first-in-first-out, last-in-first-out, or round-robin) to let the deployed atomic services share its resources (e.g, CPU). In general, the average response time of an atomic service on a single server is a convex and nonincreasing function of the server resource capacity. An abstract composite service specifies a composition rule that choreographs one or more abstract atomic services to support a specific type of customer service requests. A service composition rule can be illustrated as a Directed Acyclic Graph (DAG) of abstract atomic services, showing how a high-level (business-oriented) abstract composite service is composed of low-level (IT-oriented) abstract atomic services using composition operators such as sequential, parallel and branch. In this paper, we focus on the abstract

Service System model

Figure 1 illustrates the working principles of our service system model. When a customer service request arrives, the Atomic Service Invocation Choreographer first instantiates a request processing plan for it as per the system-wide request processing policy. The Choreographer then executes the plan assuming each constituent abstract atomic service is deployed on one or more healthy servers in the target server cluster. When a server failure is detected during the execution of the plan, the cluster controller of the affected server cluster is expected to handle the failure as per its local failure resilience policy. The failure handling actions are transparent to the Choreographer. We note that different server clusters may use different local failure resilience policies, particularly the ones for the inter-cluster failover mechanism. Since different server clusters may support different sets of abstract atomic services, the failover mechanism must ensure every new invocation to an affected abstract atomic service is redirected to a server cluster that supports the service. Figure 2 shows each server cluster essentially consists of one load controller and one or more (backend) servers. The working principles of the cluster controller can be illustrated using a scenario in which the workload for abstract atomic service a is assigned to a specific server cluster sj . The incoming workload to server cluster sj may also include workload redirected from other server clusters sk , . . ., sl due to inter-cluster failover protection. When cluster sj 2

Sk

Assigned workload of abstract atomic service a

3. Problem formulation Sp In this section, we formulate a cost minimization problem that explicitly takes cluster-based failure resilience mechanisms into account. We first formulate the problem as a convex/linear programming problem. Then we analyze the computational complexity to solve the formulated problem. For ease of reading, we list all notations in Table 1.

Cluster Controller

Sl

Sq Servers

Sj

Table 1. Notations Figure 2. Server-cluster based failure handling scenarios.

θ(ai , sl , sm ) θ(ai , sl , sl ) γ(sk ) Γ Φ Φ0 , η(sk ) τ R (wi ) τ P (wi ) aj BA BC c(sk ) d(aj ) e(sk ) f (sk ) g(aj , sk ) h(sk ) H n(sk ) qj r(wi ) R(wi ) sk t(wi ) t(wi , aj , sk ) T (wi ) u(sk ) v(sk ) wi x(sk ) yj z(wi , aj )

experiences a server failure, its cluster controller may redirect a fraction of new incoming workload for the affected server to its failover protection clusters sp , . . ., sq , and distribute the remaining workload equally to the rest healthy local servers. The aforementioned local failure resilience plan of cluster sj is executed by the cluster’s load controller. If the load controller fails, sj can neither serve the workload, nor redirect workload to other server clusters. We use term cluster failure to denote the scenario where either the load controller fails, or all servers in the cluster fail. Once cluster failure is declared for sj , sj is excluded from both request processing plans (by service invocation choreographers) and failure resilience plans (by each server cluster). We note that, compared with the servers, the load controller needs relatively little resources since it does not actually process the workload. Thus, we assume that load controllers are supplied with abundant but constant resources, and incur negligible load balancing latency. We will still consider the redirection latency between any pair of load controllers.

2.3

Common failure scenarios

In a service system with n servers, the total number of server failure scenarios (2n ) is exponential to the number of servers (n). Among all possible failure scenarios, we consider the failure scenarios with a small percentage of failed servers per server cluster and/or a small number of failed server clusters. This scoping approach enables us to reduce the number of failure scenarios that we need to focus on to a polynomial number of servers. More specifically, we will consider non-disaster failures (i.e., small server failure percentage in all server clusters), as well as disaster failures (i.e., high server failure percentage in any single server cluster at one time).

3.1

redirection latency of a aj instance from sl to sm processing latency of a aj instance by cluster sl cluster sk server cost system server cost failure resilience matrix failure resilience constants average redirection latency of wi average processing latency of wi atomic service j atomic service ratio variable set composite service ratio variable set cluster sk CPU capacity CPU demand of an atomic service instance aj cluster sk per server CPU capacity cluster sk per server cost incoming rate of aj instances to sk cluster sk CPU demand rate disaster server failure percentage cluster sk server number server and server cluster failure scenario j implemented wi avg response time wi avg response time requirement server cluster k wi implemented throughput rate of aj instances of wi assigned to sk wi throughput requirement cluster sk CPU utilization cluster sk available CPU capacity composite service i cluster sk failed server percentage server failure scenario j composition relationship between wi and aj

Problem formulation with server failure scenarios

Let the server clusters in a service system be represented by S = {s1 , s2 , . . . , s|S| }. Each server cluster sk ∈ S consists of n(sk ) homogeneous servers. Let e(sk ) denote the CPU1 capacity for each server in sk , and c(sk ) for cluster sk ; Let f (sk ) denote the cost for each server in sk , and 1 In

3

this paper, we use CPU as a resource example.

γ(sk ) for cluster sk . We have, c(sk ) = n(sk )e(sk );

γ(sk ) = n(sk )f (sk ).

In case of server failure in the system, the incoming workload to each server cluster may be redirected to other server clusters based on failover resilience matrix Φ = {φ(aj , sk , sl )|aj ∈ A, sk , sl ∈ S}, where φ(aj , sk , sl ), sk 6= sl denotes the fraction of the aj instances arrived at cluster sk redirected to sl , and φ(aj , sk , sl ), sk = sl , the fraction of aj instances arrived at sk executed at sk . Let g(aj , sk ) be the rate of aj instances arrived at sk . Since g(aj , sk ) is the sum of the rate of aj instances assigned to sk and the rate of aj instances redirected to sk from other server clusters due to failover protection, we have,

(1)

The total system cost Γ is the sum of all cluster costs. We have, X γ(sk ). (2) Γ= sk ∈S

Let Y = {y1 , y2 , . . . , y|Y | } be all possible server failure scenarios considered. Each yi ∈ Y is a vector set {x(sk )| 0 ≤ x(sk ) < 1, sk ∈ S}, where x(sk ) denotes the failed server percentage within cluster sk . (See Appendix B for an extension to the server cluster failure case). Let v(sk ) denote the available CPU capacity of cluster sk . We have, v(sk ) = e(sk )n(sk )(1 − x(sk )).

g(aj , sk ) = t(aj , sk ) +

(3)

The failover resilience matrix Φ must satisfy the following conditions. 1) ∀aj ∈ A, sk , sl ∈ P S, φ(aj , sk , sl ) ≥ 0; 2) ∀aj ∈ A, sk ∈ S, sl ∈S φ(aj , sk , sl ) = 1; 3) ∀aj ∈ A, sk ∈ S, there is a failover redirection sink, which means there is a sequence of clusters sk , sl , sm , . . ., sp , sq , such that φ(aj , sk , sl ) > 0, φ(aj , sl , sm ) > 0, . . ., φ(aj , sp , sq ) > 0, φ(aj , sq , sq ) > 0. The value of φ(aj , sk , sl ) depends on x(sk ), which is the fraction of failed servers in sk . In this paper, we use,

(5)

½

It is straightforward that the minimum system cost is always achieved at the minimum throughput requirements. Assuming that the arrival rate is equal to the throughput, we use t(wi ) = T (wi ) denote both arrival rate and throughput of wi . Let A = {a1 , a2 , . . . , a|A| } denote the atomic service set. Let Z = {z(wi , aj )|wi ∈ W, aj ∈ A} be the abstract composite matrix between abstract composite services and abstract atomic services, where z(wi , aj ) denotes the number of abstract atomic services aj in abstract composite service wi . If abstract atomic service aj is not in abstract composite service wi , z(wi , aj ) = 0. Let t(aj ) denote the arrival rate of aj instances to the system. We have, X t(aj ) = t(wi )z(wi , aj ). (6)

φ(aj , sk , sl ) =

t(wi , aj , sk ), aj ∈ A, sk ∈ S.

if sk 6= sl ; otherwise. (9)

∀aj ∈ A, sk ∈ S,

X

φ0 (aj , sk , sl ) = 1;

(10)

sl ∈S,sl 6=sk

0 ≤ η(sk ) ≤ 1.

(11)

Note that η(sk ) is the weight between inter-cluster failover mechanism and intra-cluster load-controlling mechanism. η(sk ) = 1 corresponds to pure failover mechanism: a fraction of workloads arrived at sk , x(sk ), which is equal to the fraction of failed servers, is redirected to other server clusters; η(sk ) = 0 corresponds to pure load-controlling mechanism: all workloads arrived at sk are distributed to healthy servers in sk . Let us introduce atomic service ratio variable set B A = {B A (aj , sk , sl , sm )|aj ∈ A, sk , sl , sm ∈ S}, where B A (aj , sk , sl , sm ) sl 6= sm , denotes the ratio of the rate of aj instances assigned to sk redirected from sl to sm , to the rate of aj instances assigned to sk , and B A (aj , sk , sl , sm ) sl = sm denotes the ratio of the rate of aj instances assigned to sk executed at sl , to the rate of aj instances assigned to sk . Theorem 3.1 states that a set of failover resilience variables Φ uniquely determine a set of atomic service ratio variables B A .

In case of normal system operation, the workload of aj ∈ A is assigned to each server cluster according to request processing policy. Let t(wi , aj , sk ) denote the instance rate of atomic service type aj of composite service type wi , assigned to server cluster sk according to request processing policy, and t(aj , sk ) the instance rate of atomic service type aj assigned to server cluster sk . We have, X

η(sk )x(sk )φ0 (aj , sk , sl ) 1 − η(sk )x(sk )

where η(sk ), φ0 (aj , sk , sl ) are predetermined non-negative constants that satisfy the following conditions.

wi ∈W

t(aj , sk ) =

g(aj , sl )φ(aj , sl , sk ). (8)

sl ∈S;sl 6=sk

Note that the no server failure case can be viewed as a special server failure case, where x(sk ) = 0, sk ∈ S. The service system supports a set of composite service types W = {w1 , w2 , . . . , w|W | }. Let T (wi ) and R(wi ) denote the composite service type throughput and average response time requirement, and t(wi ), r(wi ) the implemented composite service type throughput and average response time. We have, t(wi ) ≥ T (wi ); (4) r(wi ) ≤ R(wi ).

X

(7)

wi ∈W

4

Theorem 3.1 A set of failover resilience variables Φ determines a set of atomic service ratio variables B A .

where (ki , li ), i ∈ {1, . . . , 7} be (−200, 231), (−50, 66), (−10, 18), (−2, 6), (−0.5, 3), (−0.125, 1.875), and (0, 1). Therefore,

Proof: See Appendix A. ¥ θ(ai , sl , sl ) ≈ max

1≤i≤7

Let us further introduce composite service ratio variable set B C = {B C (wi , aj , sl , sm )|wi ∈ W, aj ∈ A, sl , sm ∈ S}, where B C (wi , aj , sl , sm ) sl 6= sm , denotes the ratio of the rate of aj instances belonging to wi redirected from sl to sm , to the rate of aj instances belonging to wi , and B C (wi , aj , sl , sm ) sl = sm , denotes the ratio of the rate of aj instances belonging to wi executed at sl , to the rate of aj instances belonging to wi . We have, P B C (wi , aj , sl , sm ) =

sk ∈S

t(wi , aj , sk )B A (aj , sk , sl , sm ) t(wi )z(wi , aj )

X

τ P (wi ) =

(20)

.

(12)

r(wi ) = τ R (wi ) + τ P (wi ).

(13)

B C (wi , aj , sk , sk )t(wi )z(wi , aj )d(aj ).

wi ∈W aj ∈A

(14)

Let u(sk ) be the CPU utilization of cluster sk ∈ S. We have, h(sk ) . v(sk )

(15)

Since the CPU utilization of cluster sk must be be 100% or less, we have, u(sk ) ≤ 1. (16) Assume that it takes θ(aj , sl , sm ), sl = sm time, in average, for sl to process one atomic instance of type aj . In general, θ(aj , al , sl ) is a convex and non-increasing function of available number of servers in cluster sk . In this paper, we will use, θ(aj , sl , sl ) =

3.2

Computational complexity analysis

In the above formulated linear programming problems, the control variable set is {n(sk )|sk ∈ S}, the number of constraints is O(|Y ||S| + |Y ||W |) where |Y | is the number of failure scenarios, |S| is the number of clusters, and |W | is the number of composite services.

This round-robin [7] like processing time can be approximated by a set of piece-wise linear functions. Specifically, the function 1/(1 − 1/x) where x > 1 can be approximated as, 1≤i≤7

Cost Minimization Problem Formulation Inputs: (1) Server clusters S with per cluster individual server CPU capacity E and cost F ; (2) Composite service set W with average response time requirement R and throughput requirement T ; (3) Atomic service set A with CPU requirement D; (4) Abstract composition matrix Z; (5) No server failure workload assignment {t(wi , aj , sk )|wi ∈ W, aj ∈ A, sk ∈ S}; (6) Server failure redirection constants Φ0 and η; (7) Server failure redirection latency {φ(aj , sl , sm )|aj ∈ A, sl , sm ∈ S, sl 6= sm }; (8) Server failure scenario set Y . Minimize: the total system cost Γ. Subject to: For each server failure scenario y ∈ Y , 1) Server cluster utilization constraints. See (16); 2) Average response time constraints. See (5); 3) Piece-wise linear constraints. See (19). It is straightforward to verify that the formulated problem is a linear programming problem. If θ(aj , sl , sl ) is accurate (see equation (17)), i.e., not approximated by piecewise linear functions (see equation (19)), the formulated problem is a convex optimization problem.

d(aj ) d(aj )/e(sk ) = . h(sk ) e(sk )(1 − u(sk )) 1 − n(sk )(1−x(s k ))e(sk ) (17)

1/(1 − 1/x) ≈ max ki x + li ,

(21)

The cost minimization problem under server failure scenarios is then formulated as follows.

B C (wi , aj , sl , sm )z(wi , aj )θ(aj , sl , sm ).

u(sk ) =

B(wi , aj , sl , sl )z(wi , aj )θ(aj , sl , sl ).

The average response time of composite service type wi is the sum of average redirection time τ R (wi ) and average processing time τ P (wi ). We have,

Assume that one atomic service instance of aj consumes d(aj ) CPU cycles. Let h(sk ) be the CPU demand rate of cluster sk . We have, X X

X aj ∈A,sl ∈S

aj ∈A,sl ,sm ∈S,sl 6=sm

h(sk ) =

½ ¾ n(sk )(1 − x(sk ))e(sk ) ki + li . h(sk ) (19)

Let τ P (wi ) denote the average processing latency of one composite service instance of type wi . We have,

Assume that it takes θ(aj , sl , sm ), sk 6= sl time for sl to redirect one atomic service instance of type aj from sl to sm . Let τ R (wi ) denote the average redirection latency of one composite service instance of type wi . We have, τ R (wi ) =

d(aj ) e(sk )

(18)

5

4 Evaluation Results

assume that at any time, at most one server cluster incurs a disaster failure. Table 3 lists all possible failure scenarios (the number in the table denotes cluster server failure percentage).

In section 3, we formulate the cost minimization problem as a convex/linear programming problem. In this paper, we solve the formulated linear programming problem using Gnu Octave [8]. We now use the proposed algorithm to examine a capacity planning problem in a 3-tier service system whose server cluster topology and atomic service deployment is shown in Figure 3. Note that each atomic service type aj is deployed on two clusters. For example, atomic service a1 is deployed on server cluster s1 and s2 . We assume that each atomic service instance utilizes CPU 0.2G. Each server’s CPU capacity is 3GHz and incurs a cost of $5k. WEB

J2EE

a1 a2

a1 a2

S1

S2

a3 a4 a5

a3 a4 a5

S3

S4

Table 3. Failure scenarios considered id 1 2 3 4 5 6 7 8 9 10

a6 a7 a7 a8

a6 a8

S6

S7

a9

a9

S8

S9

Figure 3. Server cluster topology and atomic service deployment. The service provisioning network supports 5 types of abstract composite services. The abstract composition matrix, composite services’ throughput and response time requirements are shown in Table 2. Table 2. Composite services and their throughput and response time requirements comp. service w1 w2 w3 w4 w5

composition a1 , a9 a2 , a9 a3 , a6 , a9 a4 , a7 , a9 a5 , a8 , a9

throughput 80/s 80/s 80/s 80/s 80/s

s2 0 10% H 10% 10% 10% 10% 10% 10% 10%

s3 0 10% 10% H 10% 10% 10% 10% 10% 10%

s4 0 10% 10% 10% H 10% 10% 10% 10% 10%

s5 0 10% 10% 10% 10% H 10% 10% 10% 10%

s6 0 10% 10% 10% 10% 10% H 10% 10% 10%

s7 0 10% 10% 10% 10% 10% 10% H 10% 10%

s8 0 10% 10% 10% 10% 10% 10% 10% H 10%

s9 0 10% 10% 10% 10% 10% 10% 10% 10% H

In this example, each abstract atomic service aj is deployed over two server clusters, say sp and sq . In the case of normal system operation without error, workload is evenly distributed over the two server clusters. In the case of server failure on server cluster sp , sp will redirect η(sp )x(sp )/n(sp ) incoming workload to the other server cluster sq . Note that 0 ≤ η(sp ) ≤ 1 is the fraction of affected workload redirection to other server clusters, When η(sp ) = 0, the affected workload will be handled within sp using the load-controlling mechanism, while when η(sp ) = 1, the affected workload will be redirected to the other server cluster sq . Given this setup, we are interested in how the minimum server cost changes as a function of disaster failure percentage H. Figure 4 shows the minimum resource cost as a function of H for pure load-controlling (η = 0) and pure failover (η = 1) mechanisms when the redirection latency of an activity instance between any two clusters is 0.7 second. Figure 4 demonstrates that pure intra-cluster load-controlling mechanism performs best when disaster server failure percentage H is below a certain threshold (50%). For higher disaster server failure percentage H, pure inter-cluster failover mechanism achieves the lowest resource cost. This is because that when H is low (e.g., 10%), the server failure percentage of all server clusters are close to each other, and therefore server clusters can hardly help each other. Compared to the load-controlling mechanism, the failover mechanism incurs additional latency of redirecting affected load among clusters, and thus demands more servers to make up for the redirection latency. As the disaster failure percentage H keeps increase (>= 50%), since failover mechanism could disseminate affected workload to server clusters with low server failure percentage, the server cost under failover mechanism grows smoothly (from $700k to $1300k) as the disaster failure percentage H increases from 50% to 100%. In contrast, without the help from other server clusters, the server cost under loadcontrolling mechanism grows dramatically (from $700k to $35000k). Figure 5 shows the results for varying redirection la-

DB

S5

s1 0 H 10% 10% 10% 10% 10% 10% 10% 10%

resp. time 1s 1s 1s 1s 1s

We consider two server failure situations in each server cluster: non-disaster failure situation and disaster failure situation. In the case of non-disaster failure situation, the server cluster has 10% or less failed servers; In the case of disaster failure situation, the server cluster has a higher fraction (denoted by 10% ≤ H < 100%) of failed servers. We 6

5 Related work Pure Load-Controlling

While resilience against unexpected computing resource failures [3] [2] has become a critical issue in service oriented computing systems due to the increasing demand on the availability and reliability of the service infrastructure, limited work has been performed to quantitatively study the impact of resource failure to the performance of failure resilience mechanisms. In [5], Hanemann et al. proposed a framework to automatically determine the impact of resource failures with respect to services and service level agreements. However, very limited integrated modeling of business services and IT resources is presented in the paper. In [4], Xie et al. proposed an analytical approach to satisfy the availability requirement using minimum IT cost. Compared to their work, our goal is to satisfy the performance requirements (throughput and response time requirement) using minimum IT cost in case of resource failure, which is arguably more challenging than satisfying availability requirements only. Related work also includes [9] [10] [11] [12], which focused on capacity planning problems for service oriented systems under the assumption that resources do not fail.

Pure Failover

Figure 4. Server cost grows as disaster failure percentage H increases (activity redirection latency = 0.7s).

Pure Load-Controlling

Pure Load-Controlling

Pure Failover

Pure Failover

6 Summary and Future Work Result 2 (redirection latency = 0.1s)

In this paper, we proposed an optimal capacity planning algorithm for provisioning composite services in failureresilient server-cluster based service systems. The algorithm assumes the deployment of two commonly used failure resilience mechanisms: intra-cluster load-controlling and inter-cluster failover. Our goal was to minimize the resource cost while assuring the end-to-end service performance requirements (e.g., throughput and response time) under both normal system conditions as well as abnormal system conditions with common resource failures. We formulated and solved the capacity planning problem as a convex/linear optimization problem. We quantitatively demonstrated that our algorithm could find the min-cost capacity planning solution that satisfies the end-to-end service quality requirements for both the non-failure case and the common failure cases in a three-tier web-based service system with multiple server clusters. A key research contribution of the paper would be its innovative approach to optimizing the cost of supporting failure resilience for quality-assured composite services. One future work relates to our assumption on predetermined failure resilience policies. Quality of the proposed algorithm can be improved further if it supports the scenario in which server clusters can adapt their failure resilience mechanisms (i.e., more load-controlling, or more failover) based on real-time system conditions. Nontrivial tradeoff

Result 3 (redirection latency = 1.4s)

Figure 5. Results with varying activity redirection latencies.

tencies (0.1s and 1.4s). Since the load-controlling mechanism does not redirect workload between server clusters, the minimum server cost is not affected by the change of redirection latencies. From the left plot of Figure 5, we see that with a lower redirection latency (0.1s), pure failover mechanism performs better than pure load-controlling in a wider range of disaster failure percentage (20% ≤ H < 1). From the right plot of Figure 5, we see that with a higher redirection latency (1.4s), pure failover mechanism may be consistently outperformed by load-controlling mechanism in terms of minimum server cost. In addition, the right plot of Figure 5 also shows that when redirection latency is 1.4s, even with unlimited server supplies for all server clusters, pure failover mechanism can only sustain a disaster server failure percentage up to 50%. In contrast, pure loadcontrolling mechanism can sustain arbitrary disaster server failure percentage up to 100%. 7

between adaptive control and signaling overhead needs be investigated under the new assumptions.

b(aj , sk , sl ) = 1(sk = sl ) +

X

b(aj , sk , sm )φ(aj , sm , sl ) (22)

sm 6=sl

References service [1] IBM http:///www.ibm.com/soa.

oriented

Here, 1(P ) is 1 is the predicate P is true and 0 otherwise. The work in [13] shows that equation (22) must have a unique solution of b. After solving b, we compute B A from b,

architecture,

[2] A. Brown and D. Patterson, “Embracing failure: A case for recovery-oriented computing,” in High Performance Transaction Processing Symposium, 2001.

B A (aj , sk , sl , sm ) = b(aj , sk , sl )φ(aj , sk , sl , sm ) (23)

[3] IBM WebSphere V5.1 Performance, Scalability, and High Availability WebSphere Handbook Series (Red Book), http://www.redbooks.ibm.com/redbooks/pdfs/sg246198.pdf.

8. Appendix B: Extension to server cluster failure scenarios

[4] L. Xie, J. Luo, J. Qiu, J. A. Pershing, Y. Li, and Y. Chen, “Availability ”weak point” analysis over an soa deployment framework,” in IEEE/IFIP Network Operations and Management Symposium, pp. 473–480.

So far, we assume that server clusters do not fail (i.e., load controllers do not fail and at least one server in each server cluster do not fail). Now we extend our solution approach to include server cluster failure scenarios. When a server cluster fails, we require the failed server cluster to be excluded from both request processing plan by service invocation choreographer, and failure resilience policy by each server cluster. Let Q = {q1 , q2 , . . . , q|Q| } denote the server cluster failure scenarios. Each qi ∈ Q is a vector set {x(sk )| − 1 ≤ x(sk ) ≤ n(sk )} where x(sk ) = −1 means that cluster sk fails, and 0 ≤ x(sk ) < 1 means that cluster sk does not fail, and the fraction of failed servers in sk is x(sk ). When server cluster sk fails, all workloads assigned to sk will be assigned to other clusters in proportion to their assigned workloads when no server cluster fails. Reminds that t(wi , aj , sk ) denotes the rate of aj instances of wi assigned to sk in case of no server cluster failure. Let tF (wi , aj , sk ) denote the rate of aj instances of wi assigned to sk in case of server cluster failures, we have

[5] A. Hanemann, D. Schmitz, and M. Sailer, “A framework for failure impact analysis and recovery with respect to service level agreements,” in IEEE International Conference on Services Computing, 2005. [6] L. Kleinrock, Queueing Systems. 1976.

John Wiley And Sons,

[7] A. S. Tanenbaum, Modern Operating Systems (2nd ed.). Prentice-Hall, Inc., 2001. [8] J. W. Eaton, GNU Octave Manual. Network Theory, 2002. [9] A. N. TANTAWI and D. Towsley, “Optimal static load balancing in distriuted computer systems,” Journal of the Association for Computing Machinery, no. 2, pp. 445–465, 2008. [10] J. L. Wolf and P. S. Yu, “Load balancing for clustered web farms,” ACM SIGMETRICS Performance Evaluation Review, vol. 28, no. 4, pp. 11–13, 2001. [11] W. Lin, Z. Liu, C. H. Xia, and L. Zhang, “Optimal capacity allocation for web systems with end-to-end delay guarantees,” Performance Evaluation, vol. 62, no. 1-4, pp. 400–416, 2005.

( F

t (wi , aj , sk ) =

0 t(wi ,aj ,sk ) P

x(sl )6=−1

[12] C. Zhang, R. N. Chang, C.-S. Perng, E. So, C. Tang, and T. Tao, “Qos-aware optimization of composite-service fulfillment policy,” in IEEE International Conference on Services Computing, 2007.

if x(sk ) = −1;

P sl

t(wi ,aj ,sl )

t(wi ,aj ,sl )

otherwise. (24)

Similarly, when server cluster sk fails, all workloads redirected to sk will be redirected to other clusters in proportion to their redirected workloads when no server cluster fails. We have,

[13] R. G. Gallager, “A minimum delay routing algorithm using distributed computation,” IEEE Transaction on Communications, pp. 73–85, january 1977.

( F

φ (aj , sl , sk ) =

7. Appendix A

0 φ(aj ,sl ,sk ) x(sm )6=−1 φ(aj ,sl ,sm )

P

if x(sk ) = −1; otherwise. (25)

Note that under adjusted workload assignment tF and adjusted failure redirection matrix φF , no workloads would be sent to failed server cluster sk where x(sk ) = −1. Once tF and φF are determined, all other computations directly follow the server failure case, which we have analyzed in Section 3.1.

Proof of Theorem 3.1: Given a set of failover resilience variables Φ, we can compute a set of ratio variables B A as follows. Let b(aj , sk , sl ) denote the ratio of incoming CPU workload of aj at sl that is originally assigned to sk , to the total CPU workload of aj originally assigned to sk . We have, 8

An Optimal Capacity Planning Algorithm for ...

a three-tier web-based service system with multiple server clusters. To the best ..... service deployment. The service provisioning network supports 5 types of ab-.

331KB Sizes 1 Downloads 260 Views

Recommend Documents

An Optimal Online Algorithm For Retrieving ... - Research at Google
Oct 23, 2015 - Perturbed Statistical Databases In The Low-Dimensional. Querying Model. Krzysztof .... The goal of this paper is to present and analyze a database .... applications an adversary can use data in order to reveal information ...

Capacity planning for the Google backbone network
Jul 13, 2015 - Page 1 ... Multiple large backbone networks. B2: Internet facing backbone ... Service level objectives (SLO): latency, availability. ➔ Failures are ...

An Optimal Content-Based Pattern Generation Algorithm
Experimental results show that ASPVC outperforms the existing PVC with predefined regular-shaped patterns when each embedded into H.264 as an extra mode. II. CONTENT-BASED PATTERN GENERATION. The MR of an MB in the current frame is obtained using the

An Efficient Genetic Algorithm Based Optimal Route Selection ... - IJRIT
Wireless sensor Network (WSN) is getting popular especially for applications where installation of the network infrastructure is not possible, such as.

An Efficient Genetic Algorithm Based Optimal Route Selection ... - IJRIT
infrastructure, but imposes some drawbacks and limitations (mainly on .... Networks”, http://www.monarch.cs.rice.edu/monarch-papers/dsr-chapter00.pdf.

Genetic evolutionary algorithm for optimal allocation of ...
Keywords WDM optical networks · Optimal wavelength converter ... network may employ wavelength converters to increase the ..... toward the next generation.

A faster algorithm for finding optimal semi-matching
Sep 29, 2007 - CancelAll(N2). Figure 2: Divide-and-conquer algorithm. To find the min-cost flow in N, the algorithm use a subroutine called CancelAll to cancel.

Genetic evolutionary algorithm for optimal allocation of ...
Given a set of connections between the source-destination node-pairs, the algorithm to ..... advantages of natural genetic system. In this article, more ..... rence on Wireless and Optical Communications Networks – 2006. (WOCN'06), IEEE ...

Polynomial-time Optimal Distributed Algorithm for ...
a reallocation problem is independent of the network size. Remark 2: The ... We now begin the proof of convergence of the proposed algorithm. Proof: Let gi. =.

Polynomial-time Optimal Distributed Algorithm for ...
Reassignment of nodes in a wireless LAN amongst access points using cell breathing ... monitor quantities, surveillance etc.) [8]. Authors in [9] have proposed ...

A Lifetime Optimal Algorithm for Speculative PRE
network problems. General Terms: Algorithms, Languages, Experimentation, Performance. Additional Key Words and Phrases: Partial redundancy elimination, classic PRE, speculative. PRE, computational optimality, lifetime optimality, data flow analysis.

Generation Capacity Expansion Planning under ...
2014 IEEE Power & Energy Society General Meeting (IEEE-PES-GM 2014), National Harbour, USA, Jul. 27-31, 2014. ... of reliability constraints [4], renewable integration [5], [6], emissions control ... 2-stage Stochastic Mixed-Integer Programming (SMIP

An Evolutionary Algorithm for Homogeneous ...
fitness and the similarity between heterogeneous formed groups that is called .... the second way that is named as heterogeneous, students with different ...

An Algorithm for Implicit Interpolation
More precisely, we consider the following implicit interpolation problem: Problem 1 ... mined by the sequence F1,...,Fn and such that the degree of the interpolants is at most n(d − 1), ...... Progress in Theoretical Computer Science. Birkhäuser .

An Adaptive Fusion Algorithm for Spam Detection
An email spam is defined as an unsolicited ... to filter harmful information, for example, false information in email .... with the champion solutions of the cor-.

An Algorithm for Implicit Interpolation
most n(d − 1), where d is an upper bound for the degrees of F1,...,Fn. Thus, al- though our space is ... number of arithmetic operations required to evaluate F1,...,Fn and F, and δ is the number of ...... Progress in Theoretical Computer Science.

An Adaptive Fusion Algorithm for Spam Detection
adaptive fusion algorithm for spam detection offers a general content- based approach. The method can be applied to non-email spam detection tasks with little ..... Table 2. The (1-AUC) percent scores of our adaptive fusion algorithm AFSD and other f

An Algorithm for Nudity Detection
importance of skin detection in computer vision several studies have been made on the behavior of skin chromaticity at different color spaces. Many studies such as those by Yang and Waibel (1996) and Graf et al. (1996) indicate that skin tones differ

Personalized Optimal Planning for the Surgical ...
Abstract. We introduce a quantitative and automated method for personalized cranial shape remodeling via fronto-orbital advancement surgery. This paper builds on an objective method for automatic quantication of malformations caused by metopic cranio

capacity aware optimal activation of sensor nodes ...
lated with the correlation function being dependent upon nodal locations. The related optimization problem is shown to be NP-hard. We proceed to develop an effective sensor activation heuristic algorithm. c). A system as de- fined for case (b) is ass

capacity aware optimal activation of sensor nodes ...
Department of Electrical Engineering. University of California, Los Angeles, CA, USA. {rubin ...... Imperial College, London, UK, 1998. Authorized licensed use ...

Optimal Multicast capacity and delay tradeoff in manet.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Optimal ...

Mutated Near Optimal Vertex Cover Algorithm (NOVCA)
This paper describes the mutated version of extremely fast polynomial time algorithm, NOVCA (Near Optimal Vertex Cover. Algorithm). NOVCA is based on the idea of including the vertex having higher degree in the cover. Mutation is introduced in NOVCA