8
Information Processing Letters 98 (2006) 119–126 www.elsevier.com/locate/ipl QoS based resource scheduling by computational economy in computational grid Li Chunlin , Li Layuan Department of Computer Science, Wuhan University of Technology, Wuhan 430063, P.R. China Received 22 February 2005; received in revised form 13 September 2005 Available online 20 January 2006 Communicated by M. Yamashita Abstract In this paper, we consider multiple QoS based grid resource scheduling. Each of grid task agent’s diverse requirements is modeled as a quality of service (QoS) dimension, associated with each QoS dimension is a utility function that defines the benefit that is perceived by a user with respect to QoS choices in that dimension. The objective of multiple QoS based grid resource scheduling is to maximize the global utility of the scheduling system. © 2006 Elsevier B.V. All rights reserved. Keywords: Distributed computing; Quality of Service (QoS); Scheduling; Grid 1. Introduction The goals of a resource management system in the computational grid are to manage and provide resources to satisfy users’ requests, which may require different types and levels of quality of service (QoS). It is het- erogeneity and dynamics of the grid that make QoS problems in grid environment challenging [1,2]. Com- putational grid’s resource management must deal with various demands from users. So, QoS is directly related to the performance of a grid. QoS-based resource management and scheduling has been the subject of many research studies. There are al- ready some research efforts in this area. Buyya [3] pro- posed distributed computational economy-based frame- * Corresponding author. E-mail addresses: [email protected], [email protected] (L. Chunlin). work, called the Grid Architecture for Computational Economy (GRACE). This economic-based framework offers an incentive to resource owners for contributing and sharing resources. In [4], Do˘ gan et al. consider the problem of scheduling a set of independent tasks with multiple QoS requirements. Golconda et al. [5] compare five QoS-based scheduling heuristics. Ernemann [6] ad- dresses the idea of applying economic models to the scheduling task. The efficiency of this approach in terms of response and wait time minimization as well as uti- lization is evaluated. Lee et al. [7] use resource-utility functions in a QoS management framework with the goal to maximize the total utility of the system. Al-Ali et al. [8] extend the service abstraction in the OGSA for Quality of Service (QoS) properties. Foster et al. [9] describe a General-purpose Architecture for Reserva- tion and Allocation (GARA) that supports flow-specific QoS specification, immediate and advance reservation. Wolski [12] investigates ‘G-commerce’ computational 0020-0190/$ – see front matter © 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.ipl.2006.01.002

QoS based resource scheduling by computational economy in computational grid

Embed Size (px)

Citation preview

Information Processing Letters 98 (2006) 119–126

www.elsevier.com/locate/ipl

QoS based resource scheduling by computational economyin computational grid

Li Chunlin ∗, Li Layuan

Department of Computer Science, Wuhan University of Technology, Wuhan 430063, P.R. China

Received 22 February 2005; received in revised form 13 September 2005

Available online 20 January 2006

Communicated by M. Yamashita

Abstract

In this paper, we consider multiple QoS based grid resource scheduling. Each of grid task agent’s diverse requirements is modeledas a quality of service (QoS) dimension, associated with each QoS dimension is a utility function that defines the benefit that isperceived by a user with respect to QoS choices in that dimension. The objective of multiple QoS based grid resource schedulingis to maximize the global utility of the scheduling system.© 2006 Elsevier B.V. All rights reserved.

Keywords: Distributed computing; Quality of Service (QoS); Scheduling; Grid

1. Introduction

The goals of a resource management system in thecomputational grid are to manage and provide resourcesto satisfy users’ requests, which may require differenttypes and levels of quality of service (QoS). It is het-erogeneity and dynamics of the grid that make QoSproblems in grid environment challenging [1,2]. Com-putational grid’s resource management must deal withvarious demands from users. So, QoS is directly relatedto the performance of a grid.

QoS-based resource management and scheduling hasbeen the subject of many research studies. There are al-ready some research efforts in this area. Buyya [3] pro-posed distributed computational economy-based frame-

* Corresponding author.E-mail addresses: [email protected], [email protected]

(L. Chunlin).

0020-0190/$ – see front matter © 2006 Elsevier B.V. All rights reserved.doi:10.1016/j.ipl.2006.01.002

work, called the Grid Architecture for ComputationalEconomy (GRACE). This economic-based frameworkoffers an incentive to resource owners for contributingand sharing resources. In [4], Dogan et al. consider theproblem of scheduling a set of independent tasks withmultiple QoS requirements. Golconda et al. [5] comparefive QoS-based scheduling heuristics. Ernemann [6] ad-dresses the idea of applying economic models to thescheduling task. The efficiency of this approach in termsof response and wait time minimization as well as uti-lization is evaluated. Lee et al. [7] use resource-utilityfunctions in a QoS management framework with thegoal to maximize the total utility of the system. Al-Aliet al. [8] extend the service abstraction in the OGSAfor Quality of Service (QoS) properties. Foster et al. [9]describe a General-purpose Architecture for Reserva-tion and Allocation (GARA) that supports flow-specificQoS specification, immediate and advance reservation.Wolski [12] investigates ‘G-commerce’ computational

120 L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126

economies for controlling resource allocation in Com-putational Grid settings.

In this paper, we consider scheduling finite resourcesto satisfy the QoS needs of various grid users with mul-tiple dimensional QoS requirements. Each of grid user’sdiverse requirements is modeled as a quality of service(QoS) dimension, associated with each QoS dimensionis a utility function that defines the benefit that is per-ceived by a user with respect to QoS choices in thatdimension. This paper proposes an iterative schedulingalgorithm that is used to perform optimal multiple QoSbased resource scheduling.

2. QoS based resource scheduling by computationaleconomy

2.1. Problem formulation

This section formulates the QoS constraint grid re-source scheduling problem into resource market byadopting computational economy framework. In thegrid, grid task agent acted as consumer pay for thegrid resource and resource providers get profits fromtask agents [10,11]. Our grid resource QoS model isbased on some assumptions that simplify the problemformulation. In our study, the network resource QoS isprimarily concerned with capacity of bandwidth. Thecomputation resource QoS is concerned with computa-tion cost, computation deadline. In modeling the QoSrequirements, each user agent is assumed to associate anumber of QoS requirements with its task agent. Eachqli is a finite set of quality choices for the ith task

agent’s lth QoS dimension, let M denote the numberof QoS requirements of task agent i. q1

i , q2i , . . . , qM

i

is the QoS dimensions associated with task agent i.qi = [q1

i , . . . , qMi ] defines an M-dimensional space

of the QoS choices of task agent i. Associated witheach QoS dimension is a utility function, which de-fines user’s benefit in choosing certain value of QoSchoices in that dimension. Formally, the utility func-tion associated with the lth QoS dimension of taskagent i is Ul

i (qli ). One dimension utility functions

can express task agent’ benefits in individual QoS di-mensions, but grid resource scheduling system needsmulti-dimensional QoS requirements to evaluate over-all benefits of the task agents. Multi-dimensional QoSrequirements can be formulated as a utility functionfor each task as a weighted sum of its each dimen-sional QoS utility functions. The utility function as-sociated with task agent i is denoted by Ui(qi), thefunction Ui(qi) can be defined as a weighted sum ofUl(ql).

i i

Ui(qi) =M∑l=1

wliU

li

(qli

), (2.1)

where 1 < l < M , 0 < wli < 1 denotes the weight as-

signed to the lth QoS dimension of task agent i.In our study, we have constructed a QoS model that

includes system and process categories. Our model iscomposed of three dimensions: cost, deadline, and reli-ability. Cost (C) represents the cost associated with theexecution of grid tasks. Task cost is the cost incurredwhen a task t is executed; it can be broken down intotwo parts, which include computation resource cost andbandwidth resource cost. Deadline (D) is a common anduniversal measure of performance. Task deadline cor-responds to the overall time a task is processed in thegrid. The task deadline can be broken down into twoparts that include: process time, delay time. Task Reli-ability (R) is defined to be the probability that the taskcan be completed successfully. Each user may specifya degree of reliability that is acceptable for its task, inorder to minimize the adverse effects of failures.

Cost (C), Deadline (D), Reliability (R) are consid-ered as the QoS dimensions of a task. As a result,the QoS model of task agent i can be formulated asqi = [C,D,R].

Assume each grid task agent needs computation re-source owned by various computation resource agents,and network resources to complete its jobs. Specifically,we assume task agent i can buy bandwidth yk

i from net-

work agent k, and buy computation resources xji from

computation resource agent j . If the network resourceagent has a total bandwidth sk available to task agents,then the bandwidth allocations must obey sk �

∑i y

ki .

cj is the capacity of computation resource representedby computation resource agent j , the corresponding re-source allocation constraint is therefore cj �

∑i x

ji .

The completion time for grid task agent i to completeits nth job is tni = f (x

ji , yk

i , bin, din) where bin is thecomputation quantity of ith grid task agent’s nth job,din is the transmission quantity of ith grid task agent’snth job. We assume that each grid user i can place an up-per bound on the total completion time by Ti �

∑Nn tni

where N is the number of user’s jobs. We assume thateach task agent i submits payment vk

i to the network

resource agent k and uji to computation agent j . Then,

vk = [vk1, . . . , vk

N ] represents all payments of task agentsfor kth network resource agent. Ei is the endowmentgiven to a task agent i.

Let’s consider the utility function associated withthree dimensions QoS of the task agent. The utility

L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126 121

function associated with first dimension QoS is U1i (q1

i ),which is related with the cost.

U1i

(q1i

) = w1i

(Ei −

∑j

uji −

∑k

vki

). (2.2)

In (2.2)∑

j uji is the total payment of the ith task

agent paid to computation resources,∑

k vki is the total

payment of the ith task agent paid to network resources.w1

i denotes the weight assigned to the first QoS dimen-sion of task agent i. The utility function associated withsecond dimension QoS is U2

i (q2i ), which is related with

the completion time.

U2i

(q2i

) = w2i

(Ti −

N∑n=1

bin

xji

−N∑

n=1

din

yki

− D

). (2.3)

In (2.3) the completion time for grid task agent i

includes two parts: computation time and transmissiontime. Ti is an upper bound on the total completion timeof each grid task agent i. D denotes the delay time. w2

i

denotes the weight assigned to the first QoS dimensionof task agent i.

The utility function associated with third dimensionQoS is U3

i (q3i ), which is related with the completion

reliability.

U3i

(q3i

) = w3i

g

f. (2.4)

In (2.4) g is the number of times that the task hasbeen successfully completed within the deadline, and f

is the total number of invocations.To provide the grid resource scheduler with a unique

utility function, which maps the multi-dimensional QoSneeds of the task to a benefit value, we can define theutility function of task agent as a weighted sum ofsingle-dimensional QoS utility function:

Ui(qi) = w1i

(Ei −

∑j

uji −

∑k

vki

)

+ w2i

(Ti −

n∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)+ w3

i

g

f.

(2.5)

For each task agent in the grid, we assume that thefollowing optimization problem needs to be solved:

MaxUi(qi). (2.6)

Each task agent has a utility function that measuresthe value it puts on quality assignments. The overall sys-tem’s QoS utility is a linear combination of (2.5). We

will use these utility functions to define an overall sys-tem utility function, which is as a weighted sum of eachtask agent’s QoS utility function:

Usystem =N∑

i=1

ωiUi(qi). (2.7)

Grid resource scheduler’ objective is to assign qualitiesand allocate resources to task agents, such that the sys-tem utility Usystem is maximized. We now formulate theproblem of grid scheduling optimization in computa-tional grid as the following constrained non-linear:

MaxN∑

i=1

ωiUi(qi),

cj �∑

i

xji , Sk �

∑i

yki .

Subject to

Ti �∑

i

tni , Ei �∑j

uji +

∑k

vki , (2.8)

xji > 0, yk

i > 0.

In (2.8) ωi is the priority weight assigned to task agent i

by the Grid. Grid resource scheduler finds a possi-ble task assignment that maximizes Usystem subject tousers’ QoS constraints. Computation resource units areallocated to task agent i by x

ji that computation re-

source agent j allocates, and yki is the network resource

obtained by grid task agent i from network resourceagent k. The QoS constraint implies that the aggregatenetwork resource units do not exceed the total capac-ity of resource Sk , aggregate computation resource unitsdo not exceed the total resource cj , and grid task agentshould complete all its jobs under time limits. Grid taskagent needs to complete a sequence of jobs in a speci-fied amount of time, Ti , while the cost overhead accruedcannot exceed the budget Ei .

We can apply the Lagrangian method to solve such aproblem (2.8). Let us consider the Lagrangian form ofthis optimization problem:

L(λi, βi, ϕi, γi)

=∑

i

U − λi

(∑i

yki − Sk

)− βi

(∑i

xji − cj

)

−ϕi

(∑j

uji +

∑k

vki − Ei

)

−γi

(∑tni − Ti

), (2.9)

i

122 L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126

where λi, βi, γi is the Lagrangian multiplier of grid taskagent i. Thus, given that the grid knows the utility func-tions U of all the grid task agents, this optimizationproblem can be mathematically tractable. However, inpractice, it is not likely to know all the U , and it is alsoinfeasible for computational grid to compute and allo-cate resource in a centralized fashion. Solving the ob-jective function (2.8) requires global coordination of allgrid users, which is impractical in distributed environ-ment such as the computational grid. Kelly’s work [14]is to maximize the aggregate user utilities over flowrate subject to capacity constraints. In order to eliminatethe coupling of users through shared links, system op-timization is decomposed into subsidiary optimizationproblems for users and networks, respectively, by usingprice per unit flow as a Lagrange multiplier that medi-ates between these two subproblems. We use this ideato solve the optimization of grid resource allocation.Eqs. (2.10) and (2.11) are two subproblems for Eq. (2.8)to seek a distributed solution where the grid providerdoes not need to know the utility functions of individualgrid user. For a completed time, the task agent optimiza-tion problem MaxUi(qi) (2.3) can be written as

Task agent i :

Max

{w1

i

(Ei −

∑j

uji −

∑k

vki

)

+w2i

(Ti −

N∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)+ w3

i

g

f

}.

(2.10)

In resource market, computation resource agent andnetwork resource agent acted as suppliers maximizetheir benefits. Task agent’s objective is to choose opti-mal u

ji . The grid resource agent, given the amounts that

the grid task agents are willing to pay, attempts to maxi-mize the function

∑(u

ji logx

ji + vk

i logyji ). So the grid

resource provider’s optimization problem can be formu-lated as follows:

Max∑(

uji logx

ji + vk

i logyji

)Resource agent:

s.t. ci �∑j

xji , sk �

∑k

yki . (2.11)

In (2.11) yki is the network resource sold to the task

agent i by network resource agent k, xji is the com-

putation resource sold to task agent i by computation

resource agent j .∑

(uji logx

ji + vk

i logyji ) presents the

revenue obtained by computation resource agent j andnetwork resource agent k from the task agents. Compu-tation agent or network agent cannot sell the resourcesto task agent more than cj or Sk , which is the upper limitof resource presented by resource agents.

2.2. Subproblems optimization

QoS constraint resource scheduling optimization incomputational grid is distributed to two subproblems:optimization of task agent and resource agent in re-source market.

Firstly, consider task agent’s optimization.

Max

{w1

ii

(Ei −

∑j

uji −

∑k

vki

)

+w2i

(Ti −

N∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)+ w3

i

g

f

}

Task agent i :s.t. Ti �

∑i

tni

We assume that each task agent submits uji to the

computational resource agent and vki to network re-

source agent. Then, ui = [u1i , . . . , u

ji ] represents all

payments of grid task agents for j th computation re-source agent, vi = [v1

i , . . . , vki ] represents all payments

of grid task agents for kth network resource agent. Letmi = ∑

j uji +∑

k vki , mi is the total payment of the ith

task agent. N grid task agents compete for grid re-sources with finite capacity. The resource is allocatedusing a market mechanism, where the partitions de-pend on the relative payments sent by the grid taskagents. Let pcj , pnk denote the price of the resource unitof computation resource agent j and network resourceagent k, respectively. Let the pricing policy, pc = (pc1,

pc2, . . . ,pcn), denote the set of computational resourceunit prices of all the computation resource agents inthe grid, pn = (pn1,pn2, . . . ,pnk) is set of network re-source unit prices. The ith task agent receives resourcesproportional to its payment relative to the sum of the re-source agent’s revenue.

The time taken by the ith task agent to complete nthjob is:

tni = binpcj

cjuji

+ dinpnk

skvki

,

we reformulate (2.10)

L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126 123

Max

{Utask = w1

i

(Ei −

∑j

uji −

∑k

vki

)

+ w2i

(Ti −

N∑n=1

binpcj

cjuji

−N∑

n=1

dinpnk

skvki

− D

)

+ w3i

g

f

}. (2.12)

The Lagrangian for the task agent’s utility is L(u, v)

L(u

ji , v

ki

)= w1

i

(Ei −

∑j

uji −

∑k

vki

)

+ w2i

(Ti −

N∑n=1

binpcj

cjuji

−N∑

n=1

dinpnk

skvki

− D

)

+ w3i

g

f+ λ

(Ti −

N∑i=1

tni

), (2.13)

where λ is the Lagrangian constant. From Karush–Kuhn–Tucker Theorem we know that the optimal so-lution is given ∂L(u, v)/∂u = 0 for λ > 0.

∂L(uji , v

ki )

∂uji

= −w1i + w2

i

binpcj

cj (uji )

2+ λ

binpcj

cj (uji )

2.

Let ∂L(uji , v

ki )/∂u

ji = 0 to obtain (2.14)

uj∗i =

(binpcj

cj

)1/2∑N

m=1

( bimpcm

cm

)1/2

Ti

, (2.14)

uj∗i is the unique optimal solution to the optimization

problem task agent. It means that grid task agent wantto pay u

j∗i to computation resource agent j for needed

resource under completion time constraint.Using the similar method. Let ∂L(u

ji , v

ki )/∂vk

i = 0,

∂L(uji , v

ki )

∂vki

= −w1i + w2

i

binpnk

sk(vki )

2+ λ

binpnk

sk(vki )

2= 0.

We can obtain vk∗i

vk∗i =

(binpnk

sk

)1/2∑N

m=1

( bimpnm

sm

)1/2

Ti

.

It means that grid task agent want to pay vk∗i to network

resource agent k for needed resource under completiontime constraint.

Secondly, let’s consider resource agent’s optimiza-tion.

Max∑(

uji logx

ji + vk

i logyji

)Resource agent:

s.t. ci �∑j

xji , sk �

∑k

yki ,

Uresource(x

ji , yk

i

) =∑(

uji logx

ji + vk

i logyji

).

The Lagrangian for GP problem is L(x, y)

L(x

ji , yk

i

) =∑(

uji logx

ji + vk

i logyki

)+ λ

(cj −

∑i

xji

)+ β

(sk −

∑i

yki

)

=∑(

uji logx

ji + vk

i logyki − λx

ji − βyk

i

)+ λcj + βsk,

where λ,β is the Lagrangian constant. From Karush–Kuhn–Tucker Theorem we know that the optimal solu-tion is given ∂L(x, y)/∂x = 0 for λ > 0.

We can obtain xj∗i

xj∗i = u

ji cj∑n

k=1 uik

,

xj∗i is the unique optimal solution to the optimization

problem of computation resource agent.Let’s consider network resource agent’s optimization

problem, using the similar method.Let ∂L(x, y)/∂y = 0. We obtain

yk∗i = vk

i sk∑nm=1 vk

m

.

yk∗i is the unique optimal solution to the optimization

problem of network resource agent. It means that net-work resource agent acting as provider want to allocateyk∗i to grid task agent to maximize its revenue.

3. QoS based resource scheduling algorithm

Multiple QoS constraint resource scheduling opti-mization in computational grid is distributed to twosubproblems: optimization of task agent and resourceagent in resource market, respectively. It suggests thatQoS constraint resource scheduling can be achieved bysolving sub problems via an iterative algorithm. In eachiteration, the task agent individually solves its fees topay, adjusts its computation resource demand and net-work resources demand and notifies the grid about thischange. After the new computation resource and net-work resource demand are observed by the computationresource agent and network resource agent, respectively,they updates their prices accordingly and communicates

124 L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126

the new prices to the grid task agent, and the cycle re-peats. The iterative algorithm that computes the price ofresources and resource allocation is then given as fol-lows.

Algorithm 1. Multiple QoS-based resource schedulingalgorithm (MQRS)

Computation resource agent part algorithm at itera-tion n

(1) Receives grid resource demand xji from grid task

agents;(2) Computes a new price according to the following

formula

pc(n+1)j = max

{ε,pc(n)

j + η(xj pc(n)j − cj )

}, (3.1)

where xj = ∑i x

ji , η > 0 is a small step size pa-

rameter, n is iteration number. Let ε > 0 be a suffi-ciently small constant preventing prices to approachzero. This algorithm is consistent with the law ofsupply and demand: if the demand for grid resourceexceeds the capacity supply cj , then the price

pc(n+1)j is raised; otherwise, the price is reduced;

(3) Communicates new price pc(n+1)j to all grid task

agents.

Network resource agent part algorithm at iteration n

(1) Receives network resource demand yki from grid

task agents;(2) Computes a new price according to the following

formula

pn(n+1)k = max

{ε,pn(n)

k + η(ykpnnk − sk)

}, (3.2)

where yk = ∑i y

ki , η > 0 is a small step size para-

meter, n is iteration number;(3) Communicates new price pn(n+1)

k to all grid taskagents.

Grid task agent part algorithm at iteration n

(1) Receives from the computation resource agent j theprice pcj which is calculated by (3.1);

(2) Calculates its optimal computation resource de-mand x

ji (n + 1) according to u

j∗i to maximize

U(uji )

xji (n + 1) = u

j∗(n)

i /pc(n)j

(3) Communicates new computation resource demandx

j (n+1) to computation resource agents;

i

(4) Receives from the network resource agent k theprice pnk which is calculated by (3.2);

(5) Calculates its optimal network resource demand ac-cording to vk∗

i to maximize U(vki )

yki (n + 1) = vk∗(n)

i pn(n)k ;

(6) Communicates new network resource demandy

k(n+1)i to network resource agents.

4. Evaluations

Simulation studies were carried out to evaluate theperformance of multiple QoS based resource schedul-ing algorithm (MQRS). We devise other three resourcescheduling schemes to compare with MQRS in terms oftask completion time and resource allocation efficiency.The case 1 randomly allocates network capacity andcomputation capacity satisfying the minimum QoS re-quirements to grid task agent, the case 2 allocates betterCPU capabilities than network capabilities to the gridtask agent, the case 3 allocates better network capabil-ities than CPU capabilities, the case 4 uses our MQRSalgorithm.

We use the BRITE generator [13] to setup networktopology of simulated grid test bed. We choose the hier-archical topology model. We first generate an AS-leveltopology consisting of 5 nodes. Each node in the AS-level topology generates a router-level topology of 100nodes. The size of our experimental grid is 500 nodesthat are divided into eight clusters. The nodes in eachcluster vary from 20 to 100. The bandwidths of alllinks are uniformly distributed between 1 and 10 Mbps.Processor capacity varies from 10 to 100 per time unit,each node’ computing delay varies from 1 to 20 per timeunit. To allow grid task agents to complete tasks, an ad-ditional margin of 300 time units is provided. The initialvalue of the task price denoted by P varies from 10to 500. Completion times and resource allocation effi-ciency are two measurement criteria to measure in theexperiment.

The first two experiments are to measure completiontimes and allocation efficiency respectively under dif-ferent size of computation task. From Figs. 1 and 2, thesimulation results show that the computation capabili-ties have more effect on the execution time of cases 1and 3 when the size of computation task is large such as20 Mb or 2 Mbytes.

The following two experiments are to measure com-pletion times and allocation efficiency of four cases re-spectively under different size of transfer data. FromFigs. 3 and 4, the simulation results show that the trans-fer data’s size has more effect on the completion time of

L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126 125

Fig. 1. Sizes of computation task effect on time.

Fig. 2. Allocation efficiency effect on time.

Fig. 3. Sizes of transfer data effect on time.

Fig. 4. Sizes of transfer data effect on allocation efficiency.

cases 1 and 2 when the size of transfer data is large suchas 10 Mbytes. Let consider how different grid size takeseffect on the completion times and allocation efficiencyin the four cases. From the results in Fig. 5, for bothfour strategies, smaller grid size leads to faster comple-tion times. Our MQRS considers both optimal networkresource and CPU allocation, so it has better comple-

Fig. 5. Grid size effect on completion time.

Fig. 6. Grid size effect on allocation efficiency.

tion times. From Fig. 6, grid size has more effect onallocation efficiency of cases 1 and 2. When grid sizeincreases, allocation efficiency of cases 1 and 2 deterio-rate more quickly than MQRS.

5. Conclusions

In this paper, we consider scheduling finite resourcesto satisfy the QoS needs of various grid users withmultiple dimensional QoS requirements. We formulatethe QoS constraint grid resource scheduling probleminto resource market by adopting computational econ-omy framework. An iterative multiple QoS schedul-ing algorithm that is used to perform optimal multi-ple QoS based resource scheduling. We devise otherthree resource scheduling schemes to compare withour algorithm in terms of task completion time andresource allocation efficiency. The experiments showthat optimal multiple QoS based resource schedul-ing involves less overhead and leads to more efficientresource allocation than no optimal resource alloca-tion.

Acknowledgements

The authors thank the editor and the anonymous re-viewers for their helpful comments and suggestions.The work is supported by national Natural ScienceFoundation of China under grants (Nos. 60402028,

126 L. Chunlin, L. Layuan / Information Processing Letters 98 (2006) 119–126

90304018), NSF of Hubei Province under grants (No.2003ABA041) and Wuhan Younger Dawning Founda-tion under grants (No. 20045006071-15).

References

[1] D.A. Menascı, QoS in grid computing, IEEE Internet Comput.(July 2004) 85–87.

[2] R. Al-Ali, A. Hafid, O. Rana, D. Walker, Qos adaptation inservice-oriented grids, in: Proc. of the 1st Internat. Workshop onMiddleware for Grid Computing (MGC2003) at ACM Middle-ware 2003, Brazil, 2003.

[3] R. Buyya, J. Giddy, D. Abramson, A case for economy grid ar-chitecture for service-oriented grid computing, in: 10th IEEE In-ternat. Heterogeneous Computing Workshop (HCW 2001), SanFrancisco, CA, April 2001.

[4] A. Dogan, F. Özgüner, Scheduling independent tasks with QoSrequirements in grid computing with time-varying resourceprices, in: Proc. of GRID 2002, in: Lecture Notes in Comput.Sci., vol. 2536, Springer-Verlag, Berlin, 2002, pp. 58–69.

[5] K.S. Golconda, F. Ozguner, A comparison of static QoS-based scheduling heuristics for a meta-task with multipleQoS dimensions in heterogeneous computing, in: IPDPS’04,2004.

[6] C. Ernemann, Economic scheduling in grid computing, in: Proc.of 8th Internat. Workshop Job Scheduling Strategies for ParallelProcessing, UK, in: Lecture Notes in Comput. Sci., vol. 2537,Springer-Verlag, Berlin, 2002, pp. 128–152.

[7] C. Lee, J. Lehoczky, D. Siewiorek, R. Rajkumar, J. Hansen,A scalable solution to the multi-resource QoS problem, in: 20thIEEE Real-Time Systems Symposium, December 1999.

[8] R. Al-Ali, O. Rana, D. Walker, S. Jha, S. Sohail, G-QoSM:Grid service discovery using QoS properties, Comput. Inform.J. (Special Issue on Grid Computing) 21 (4) (2002) 363–382.

[9] I. Foster, M. Fidler, A. Roy, V. Sander, L. Winkler, End-to-endquality of service for high-end applications, Comput. Comm.J. 27 (14) (2004) 1375–1388.

[10] L. Chunlin, L. Layuan, The use of economic agents under pricedriven mechanism in grid resource management, J. SystemsArchitecture 50 (9) (2004) 521–535.

[11] L. Chunlin, L. Layuan, Applying agents to build grid servicemanagement, J. Network and Comput. Appl. 26 (4) (2003)323–340.

[12] R. Wolski, J. Plank, J. Brevik, T. Bryan, Analyzing market-basedresource allocation strategies for the computational grid, Inter-nat. J. High-Performance Comput. Appl. 15 (3) (2001) 258–281.

[13] http://www.cs.bu.edu/brite.[14] F.P. Kelly, Charging and rate control for elastic traffic, European

Trans. on Telecomm. (8) (1997) 33–37.