22
CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2007; 19:107–128 Published online 24 August 2006 in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.1106 An optimization approach for decentralized QoS-based scheduling based on utility and pricing in Grid computing Li Chunlin ,† and Li Layuan Department of Computer Science, Wuhan University of Technology, Wuhan 430063, People’s Republic of China SUMMARY This paper presents an optimization approach for decentralized Quality of Service (QoS)-based scheduling based on utility and pricing in Grid computing. The paper assumes that the quality dimensions can be easily formulated as utility functions to express quality preferences for each task agent. The utility values are calculated by the user-supplied utility function that can be formulated with the task parameters. The QoS constraint Grid resource scheduling problem is formulated into a utility optimization problem. The QoS-based Grid resource scheduling optimization is decomposed into two subproblems by applying the Lagrangian method. In the Grid, a Grid task agent acts as a consumer paying for the Grid resource and the resource providers receive profits from task agents. A pricing-based QoS scheduling algorithm is used to perform optimally decentralized QoS-based resource scheduling. The experiments investigate the effect of the QoS metrics on the global utility and compare the performance of the proposed algorithm with other economical Grid resource scheduling algorithms. Copyright c 2006 John Wiley & Sons, Ltd. Received 30 October 2005; Revised 8 May 2006; Accepted 11 June 2006 KEY WORDS: Quality of Service (QoS); scheduling optimization; Grid; utility Correspondence to: Li Chunlin, Department of Computer Science, Wuhan University of Technology, Wuhan 430063, People’s Republic of China. E-mail: [email protected] Contract/grant sponsor: National Natural Science Foundation of China; contract/grant number: 60402028 Contract/grant sponsor: Wuhan Younger Dawning Foundation; contract/grant number: 20045006071-15 Copyright c 2006 John Wiley & Sons, Ltd.

An optimization approach for decentralized QoS-based scheduling based on utility and pricing in Grid computing

Embed Size (px)

Citation preview

CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCEConcurrency Computat.: Pract. Exper. 2007; 19:107–128Published online 24 August 2006 in Wiley InterScience (www.interscience.wiley.com). DOI: 10.1002/cpe.1106

An optimization approach fordecentralized QoS-basedscheduling based on utility andpricing in Grid computing

Li Chunlin∗,† and Li Layuan

Department of Computer Science, Wuhan University of Technology,Wuhan 430063, People’s Republic of China

SUMMARY

This paper presents an optimization approach for decentralized Quality of Service (QoS)-based schedulingbased on utility and pricing in Grid computing. The paper assumes that the quality dimensions can beeasily formulated as utility functions to express quality preferences for each task agent. The utility valuesare calculated by the user-supplied utility function that can be formulated with the task parameters.The QoS constraint Grid resource scheduling problem is formulated into a utility optimization problem.The QoS-based Grid resource scheduling optimization is decomposed into two subproblems by applying theLagrangian method. In the Grid, a Grid task agent acts as a consumer paying for the Grid resource andthe resource providers receive profits from task agents. A pricing-based QoS scheduling algorithm is usedto perform optimally decentralized QoS-based resource scheduling. The experiments investigate the effectof the QoS metrics on the global utility and compare the performance of the proposed algorithm with othereconomical Grid resource scheduling algorithms. Copyright c© 2006 John Wiley & Sons, Ltd.

Received 30 October 2005; Revised 8 May 2006; Accepted 11 June 2006

KEY WORDS: Quality of Service (QoS); scheduling optimization; Grid; utility

∗Correspondence to: Li Chunlin, Department of Computer Science, Wuhan University of Technology, Wuhan 430063,People’s Republic of China.†E-mail: [email protected]

Contract/grant sponsor: National Natural Science Foundation of China; contract/grant number: 60402028Contract/grant sponsor: Wuhan Younger Dawning Foundation; contract/grant number: 20045006071-15

Copyright c© 2006 John Wiley & Sons, Ltd.

108 L. CHUNLIN AND L. LAYUAN

1. INTRODUCTION

In Grid computing, Quality of Service (QoS) management aims to provide assurance for accessingresources, while maintaining the security level between domains. QoS criteria in Grid computingare viewed from three perspectives: networking, computation, and storage media. Scheduling andresource management are important issues in implementing applications in the Grid infrastructure.The resource scheduler receives information about the characteristics and requirements of the taskssubmitted by different users and determines when and on which Grid resources each job will execute.The scheduler in the Grid environment needs to consider application and QoS constraints to obtaina better match between applications and resources [1]. The objective of the resource scheduler is toassign resources to tasks in an optimal way, while meeting to the QoS requirements of the individualtasks. Since a Grid serves a wide range of services with diverse characteristics and QoS requirements,the traditional scheduling schemes cannot be applied to the Grid environment as these schemes affectthe Grid flexibility and the degree of performance guarantees [2].

In this paper we discuss efficient QoS-based resource scheduling in Grid computing. The paperdefines a set of QoS dimensions with utility functions for each dimension and adopts a distributedoptimization approach to maximize the global utility. In our scheduling model, all users submit theirjob requests to the Grid market. The user specifies its requirements with a utility function that can bespecified for each QoS dimension. The utility values are calculated by the user utility function that canbe formulated with the task parameters. In the Grid, a Grid task agent acts as a consumer paying for theGrid resource and the resource providers receive profits from task agents. The task agent’s utility canthen be defined as a weighted sum of a single-dimension QoS utility function. The QoS-based Gridresource scheduling optimization is decomposed into two subproblems by applying the Lagrangianmethod.

The rest of the paper is structured as follows. Section 2 discusses the related works. Section 3presents an optimization approach for decentralized QoS-based scheduling in the Grid. In Section 4the experiments are conducted and discussed. Section 5 gives the conclusions to the paper.

2. RELATED WORKS

QoS-based scheduling has been studied in various research areas. Zeng et al. [3] present a middlewareplatform that addresses the issue of selecting Web services for the purpose of their composition ina way that maximizes user satisfaction, expressed as utility functions over QoS attributes. In [3],two selection approaches are described and compared: one based on local (task-level) selection ofservices and the other based on global allocation of tasks to services using integer programming.Dogan and Ozguner [4] consider the problem of scheduling a set of independent tasks with multipleQoS requirements, which may include timeliness, reliability, security, version and priority in a Gridcomputing system in which resource prices can vary with time during scheduling time intervals.Golconda et al. [5] compare five QoS-based scheduling heuristics from the literature in terms ofthree performance parameters, namely the number of satisfied users, makespan and total utility ofthe meta-task. Liu presents an open, fair and dynamic QoS computation model for Web servicesselection through the implementation of and experimentation with a QoS registry in a hypotheticalphone service provisioning market place application. Lee et al. [7,8] use resource-utility functions in a

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 109

QoS management framework with the aim of maximizing the total utility of the system. End user’squality preferences are taken into account when system resources are apportioned across multipleapplications such that the net system utility accrued to the end users is maximized. They propose twoapproximation algorithms, and compare the runtimes and solution quality with an optimal solution.Ghosh et al. [9,10] present scalable QoS optimization algorithms for allocating resources to tasks ina multi-processor environment. The algorithms are extensions of the QoS-based resource allocationmodel (Q-RAM), which can select a QoS operating point, the number of replicas for fault toleranceand the processors on which to run the replicas so as to maximize the overall system QoS. Our worksare inspired by Lee et al. and Gosh et al. in that we define a set of QoS dimensions with utilitycurves for each dimension and state a goal of maximizing the global utility. However, our solutionto the QoS optimization is radically different to those of the previous works. We use a market modelfor distributed optimization, our QoS-based Grid resource scheduling optimization is decomposedinto two subproblems: the joint optimization of the resource user and the resource provider in theGrid market. Al-Ali et al. [11,12] extend the service abstraction in OGSA for QoS properties.The realization of QoS often requires mechanisms such as advanced or on-demand reservation ofresources, varying in type and implementation, and independently controlled and monitored. Su Namand Youn [13] propose a quorum-based resource management scheme, in which a resource quorumincludes a middleware entity and a network entity, where both can satisfy the requirements ofapplication QoS. They suggest a heuristic configuration algorithm in order to optimize performance andusage cost of a resource quorum. Curescu and Nadjam-Tehrani [14] propose a Time-Aware ResourceAllocation (TARA) scheme that aims to allocate bandwidth such that the accrued utility of the wholecell accumulated over time is maximized. Foster et al. [15] describe a General-purpose Architecturefor Reservation and Allocation (GARA) that supports flow-specific QoS specification, immediate andadvance reservation, and online monitoring and control of both individual resources and heterogeneousresource ensembles. Abdelzaher et al. [16] propose, implement and evaluate a novel communicationserver architecture that maximizes the aggregate utility of QoS-sensitive connections for a communityof clients, even in the case of overload. Layuan and Chunlin [17,18] discuss the multicast routingproblem with QoS constraints such as delay, delay jitter, bandwidth and packet loss metrics. They alsodescribe a network model that is suitable for searching such routing problems and present a QoS-guaranteed multicast routing protocol (QGMRP). In [19], Feng et al. consider a radio resourcemanagement problem with user-centric and network-centric objectives. They introduced an explicitpricing mechanism to mediate between the user-centric and network-centric resource managementproblems. Buyya et al. [20,21] have proposed and developed a distributed computational economy-based framework, called Nimrod/G, for resource allocation and to regulate supply and demand of theavailable resources. Ernemann [22] addresses the idea of applying economic models to the schedulingtask. The Gridbus project [23] has been developing technologies that provide end-to-end support forthe allocation of resources based on resource providers and consumers’ QoS requirements. Wolskiet al. [24] investigate ‘G-commerce’ computational economies for controlling resource allocation incomputational Grid settings. The previously mentioned works do not give a comprehensive utilityfunction, and also do not consider the global optimization of the utility of all Grid users and providers.In our proposed model, the utility function is realistic and calculable. Our contribution is to considerthe joint optimization of both Grid users and Grid provider’s through a market model for distributedoptimization, by decomposing the system utility optimization into subproblems.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

110 L. CHUNLIN AND L. LAYUAN

network

User2

QoS

User1

QoS

Grid resource agent

Grid task agent

Grid

resource

Grid

resource

Utility functionUtility function

Scheduler Scheduler

Grid market

Figure 1. QoS-based resource scheduling model.

3. MULTIDIMENSIONAL QOS CONSTRAINED RESOURCE SCHEDULINGOPTIMIZATION

3.1. System model

Our QoS-based resource scheduling model consists of two types of agent: the Grid resource agents,which represent the economic interests of the underlying resources of the computational Grid, andthe Grid task agents, which represent the interests of the Grid user using the Grid to achieve goals.Our QoS-based resource scheduling model is represented in Figure 1. In our scheduling model, allusers submit their job requests to the Grid market as shown in Figure 1. The utility values arecalculated by the user-supplied utility function that can be formulated with the task parameters.The request is analyzed by the scheduler of the Grid market. The Grid resources can be divided intocomputation resources and network resources. Computation resources are related to a computer systemand include the CPU speed, memory size, storage capacity and I/O devices. Computation resources aremodeled as limited capacity and execution speed. Network resources usually include the following fourcharacteristics: bandwidth, loss rate, delay and jitter. Bandwidth is the total amount of data sent on thenetwork per unit of time.

According to above classification, the Grid resource agents can be divided into computation resourceagents and network resource agents. The market mechanism is very suitable for solving the problem ofresource scheduling in the Grid context. The market mechanism in economics is based on distributedself-determination, i.e. the variation of price reflects the supply and demand of resources. Finally,market theory in economics provides a precise depiction for the efficiency of resource scheduling.A Grid resource agent provides services that can be used by other Grid agents. Resource providers

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 111

compete actively for jobs from resource consumers and execute them to gain profits. Every providertries to maximize its profit based on its computational capability. The Grid resource agents have variedcomputational resource capacities, and the computational resource capacity is shared among the Gridtask agents. The Grid resource agents charge the task agents for the portion of the computationalresource capacity occupied. We assume that the Grid resource agents of a Grid do not cooperate,probably due to the high messaging and processing overheads associated with cooperative allocating.Instead, they act non-cooperatively with the objective of maximizing their individual profits. The Gridresource agents compete to serve the task agents [25–29]. Whenever a new Grid task agent is created,it is first given an endowment of electronic cash to spend to complete its task. We assume that when atask agent purchases a portion of a resource from a resource agent it has exclusive use of that resourceuntil the task is completed. A job can be characterized by deadline, budget, data size and runtimerequirements. The budget is the amount of money that the consumer promises to pay for the completionof the job. Each task agent may have a different budget assigning scheme. Task agents are allowed tospecify their resource requirements and preference parameters with a utility model. A utility functionis a simple and general means for users to specify their preferences. Utility functions are declarative;they do not require any knowledge of resource QoS trade-offs from the user. By using utility functionsto capture user preferences, this approach is flexible enough to deal with the heterogeneity and loadvariations of computational Grid environments. In our model, a utility function can be specified foreach QoS dimension. As a result, a market-based Grid model inherently supports users with diverserequirements for the execution of their tasks. In this paper, we model each of these diverse requirementsas a QoS dimension of a task and design a multiple QoS-based resource scheduling policy in which thetask agents are charged according to the QoS provided to them by the Grid resources.

3.2. QoS constrained resource scheduling

First, the notation used is presented as follows:

• Ti , time limits given by the ith Grid task agent to complete all of its jobs;• Ei , the endowment given to a task agent i;• cj , capacity of a computation resource represented by computation resource agent j ;

• uj

i , money paid to the computation resource agent j by Grid task agent i;• vk

i , money paid to the network resource agent k by Grid task agent i;• ql

i , the ith task agent’s lth QoS dimension;

• xji , computation resource units allocated to task agent i by computation resource agent j ;

• sk , bandwidth represented by network resource agent k;• yk

i , bandwidth units obtained by task agent i from network resource agent k;• tni , the time taken by the ith Grid task agent to complete the nth job;• pcj , the price of the computational resource unit of computation resource agent j ;• pnk , the price of the network resource unit of network resource agent k;• bin, is the computation quantity of ith Grid task agent’s nth job;• din, is the transmission quantity of ith Grid task agent’s nth job;• Ul

i (qli ), the utility function associated with the lth QoS dimension of task agent i;

• Ui(qli ), the utility function associated with task agent i.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

112 L. CHUNLIN AND L. LAYUAN

The Grid resource QoS model is based on some assumptions that simplify the problem formulation.In our study, the network resource QoS is primarily concerned with the capacity of bandwidth.The computation resource QoS is concerned with computation payment and computation deadline.In modeling the QoS requirements, each user agent is assumed to associate a number of QoSrequirements with its task agent. Each ql

i is a finite set of quality choices for the ith task agent’slth QoS dimension, let M denote the number of QoS requirements of task agent i. The QoSdimensions associated with task agent i are given by q1

i , q2i , . . . , qM

i and qi = [q1i · · · qM

i ] defines anM-dimensional space of the QoS choices of task agent i. Associated with each QoS dimensionis a utility function, which defines a user’s benefit in choosing a certain value of QoS choices inthat dimension. Formally, the utility function associated with the lth QoS dimension of task agenti is Ul

i (qli ). One-dimensional utility functions can express a task agent’s benefits in individual QoS

dimensions, but a Grid resource scheduling system needs multi-dimensional QoS requirements toevaluate the overall benefits of the task agents. Multi-dimensional QoS requirements can be formulatedas a utility function for each task as a weighted sum of each of its dimensional QoS utility functions.The utility function associated with task agent i is denoted by Ui(qi), and can be defined as a weightedsum of Ul

i (qli ):

Ui(qi) =M∑l=1

wliU

li (q

li )

where 1 ≤ l ≤ M, 0 ≤ wli ≤ 1 denotes the weight assigned 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 is composed of three dimensions: payment, deadline and reliability. Payment (P ) representsthe bearable payment of Grid users to Grid resource providers. It can be broken down into twoparts, payments for computation resources and payments for bandwidth resources. Deadline (D) isa common and universal measure of performance. Task deadline corresponds to the overall time a taskis processed in the Grid. The task deadline can be broken down into two parts: process time and delaytime. Task reliability (R) is defined to be the probability that the task can be completed successfully.Each user may specify a degree of reliability that is acceptable for its task, in order to minimize theadverse effects of failures. Payment, deadline and reliability are considered to be the QoS dimensionsof a task. As a result, the QoS model of task agent i can be formulated as qi = [P, D, R].

A QoS constraint Grid resource scheduling problem can be resolved by adopting a computationaleconomy framework. In the Grid, a Grid task agent acts as a consumer paying for the Grid resourceand the resource providers receive profits from the task agents. Assume that each Grid task agent needsa computation resource, owned by various computation resource agents, and network resources tocomplete its jobs. Specifically, we assume that task agent i can buy bandwidth yk

i from network agent k,and buy computation resources x

j

i from computation resource agent j . If the network resource agenthas a total bandwidth sk available to task agents, then the bandwidth allocations must obey sk ≥ ∑

i yki .

If we define cj as the capacity of computation resource represented by computation resource agent j ,then the corresponding resource allocation constraint is therefore cj ≥ ∑

i xji . The completion time

for Grid task agent i to complete its nth job is tni = f (xj

i , yki , bin, din) where bin is the computation

quantity of ith Grid task agent’s nth job, and din is the transmission quantity of ith Grid task agent’snth job. We assume that each Grid user i can place an upper bound on the total completion time byTi ≥ ∑N

n tni where N is the number of user’s jobs. Grid task agents compete for computation resourcesand network resources with finite capacity. The resources are allocated through a resource market,

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 113

where the partitions depend on the relative payments sent by the task agents. We assume that each taskagent i submits payment vk

i to the network resource agent k and uj

i to computation agent j . Then,vk = [vk

1, . . . , vkN ] represents all payments of task agents for the kth network resource agent.

For each task agent in the Grid, we assume that the following optimization problem needs to besolved:

max Ui(qi) (3.1)

Each task agent has a utility function that measures the value it puts on quality assignments.The overall system’s QoS utility is a linear combination of Ui(qi). We will use these utility functionsto define an overall system utility function, which is a weighted sum of each task agent’s QoS utilityfunction:

Usystem =N∑

i=1

ωiUi(qi)

A Grid resource scheduler’s objective is to assign qualities and allocate resources to task agents,such that the system utility Usystem is maximized. We now formulate the problem of Grid schedulingoptimization in a computational Grid as the following constrained nonlinear problem:

maxN∑

i=1

ωiUi(qi)

cj ≥∑

i

xji , Sk ≥

∑i

yki

subject to Ti ≥∑

i

tni , Ei ≥∑j

uj

i +∑

k

vki

xji > 0, yk

i > 0

(3.2)

In (3.2), ωi is the priority weight assigned to task agent i by the Grid. The Grid resource scheduler findsa possible task assignment that maximizes Usystem subject to the users’ QoS constraints. Computationresource units are allocated to task agent i by x

ji , which computation resource agent j allocates, and

yki is the network resource obtained by Grid task agent i from network resource agent k. The QoS

constraint implies that the aggregate network resource units do not exceed the total capacity ofresource Sk , the aggregate computation resource units do not exceed the total resource cj , and a Gridtask agent should complete all of its jobs inside the time limits. A Grid task agent needs to complete asequence of jobs in a specified amount of time, Ti , while the payment overhead accrued cannot exceedthe budget, Ei .

We can apply the Lagrangian method to solve a problem such as (3.2). Let us consider the Lagrangianform of this optimization problem:

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

i

U − λi

(∑i

yki − Sk

)− βi

(∑i

xji − cj

)

− ϕi

(∑j

uji +

∑k

vki − Ei

)− γi

(∑i

tni − Ti

)

where λi , βi , γi is the Lagrangian multiplier of the Lagrangian formulation of the task agent’s utility.Thus, given that the Grid knows the utility functions U of all of the Grid task agents, this optimization

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

114 L. CHUNLIN AND L. LAYUAN

problem can be mathematically tractable. However, in practice, the Grid is not likely to know all of theutility functions and it is also infeasible for the computational Grid to compute and allocate resourcesin a centralized fashion. Solving the objective function (3.2) requires the global coordination of allGrid users, which is impractical in a distributed environment such as the computational Grid. In orderto achieve a distributed solution, we decompose the problem into the following two subproblems, (3.3)and (3.4), by adopting a computational economy framework, seeking a distributed solution where theGrid provider does not need to know the utility functions of an individual Grid user.

The constraints of Grid scheduling optimization consist of QoS constraints and resource constraint.In a resource market, for each task agent, we assume that the following optimization problem needs tobe solved:

max Utask(qi), subject to qi ≥ qmini (3.3)

Here qi ≥ qmini means that every dimension of QoS should reach qmin

i , which is the QoS constraint.The computation resource agent and network resource agent act as suppliers maximizing their

benefits. So the Grid resource provider’s optimization problem can be formulated as follows:

max Uresource(ri ), subject to R ≥∑

i

ri (3.4)

The expression R ≥ ∑i ri means that the Grid resource allocations do not exceed R, which is the

resource constraint.Let us consider the utility function associated with three QoS dimensions of the task agent.

The utility function associated with the first QoS dimension is U1i (q1

i ), which is related to the payments

U1i (q1

i ) = w1i

(Ei −

∑j

uji −

∑k

vki

)

where∑

j uj

i is the total payment of the ith task agent paid to the computation resources and∑

k vki is

the total payment of the ith task agent paid to the network resources. The term w1i denotes the weight

assigned to the first QoS dimension of task agent i. The utility function associated with the second QoSdimension is U2

i (q2i ), which is related to the completion time:

U2i (q2

i ) = w2i

(Ti −

N∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)

where the completion time for Grid task agent i includes two parts: computation time and transmissiontime. The upper bound on the total completion time of each Grid task agent i is given by Ti , D denotesthe delay time and w2

i denotes the weight assigned to the first QoS dimension of task agent i.The completion time is given by the following equation:

N∑n=1

bin

xj

i

+N∑

n=1

din

yki

The utility function associated with the second QoS dimension is U3i (q3

i ), which is related to thecompletion reliability:

U3i (q3

i ) = w3i

g

f

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 115

where g is the number of times that the task has been successfully completed within the deadline andf is the total number of invocations.

To provide the Grid resource scheduler with a unique utility function that maps the multi-dimensional QoS needs of the task to a benefit value, we can define the utility function of a taskagent as a weighted sum of one-dimensional QoS utility functions:

Ui(qi) = w1i

(Ei −

∑j

uji −

∑k

vki

)+ w2

i

(Ti −

n∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)+ w3

i

g

f

Now, let us apply the concrete utility function of task agents and resource agents to study the problem.For a completed time, the task agent optimization problem can be written as

Task agent i : max

{w1

i

(Ei −

∑j

uji −

∑k

vki

)+ w2

i

(Ti −

N∑n=1

bin

xj

i

−N∑

n=1

din

yki

− D

)+ w3

i

g

f

}

(3.5)The Grid resource agent, given the amounts that the Grid task agents are willing to pay, attempts to

maximize the function∑

(uj

i log xj

i + vki log y

j

i ). Therefore, the Grid resource provider’s optimizationproblem can be formulated as follows:

Resource agent: max∑

(uji log x

ji + vk

i log yji )

subject to ci ≥∑j

xji , sk ≥

∑k

yki

(3.6)

In (3.6), yki is the network resource sold to the task agent i by network resource agent k and x

ji is the

computation resource sold to task agent i by computation resource agent j . The revenue obtainedby computation resource agent j and network resource agent k from the task agents is given by∑

(uji log x

ji + vk

i log yji ). Computation agents or network agents cannot sell more resources than cj

or sk to a task agent, which is the upper limit of resource presented by the resource agents.

3.3. Distributed optimization policy

Here the QoS constraint resource scheduling optimization in a computational Grid is decomposed intotwo subproblems: optimization of task agents and resource agents in a resource market.

First, consider a task agent’s optimization:

Task agent i : max

{w1

i

(Ei −

∑j

uji −

∑k

vki

)+ w2

i

(Ti −

N∑n=1

bin

xji

−N∑

n=1

din

yki

− D

)+ w3

i

g

f

}

subject to Ti ≥∑

i

tni

We assume that each task agent submits uj

i to the computational resource agent and vki to the network

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

j

i ] represents all payments of Grid task agents for the j thcomputation resource agent, vi = [v1

i , . . . , vki ] represents all payments of Grid task agents for the

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

116 L. CHUNLIN AND L. LAYUAN

kth network resource agent. Letmi =

∑j

uji +

∑k

vki

where mi is the total payment of the ith task agent. There are N Grid task agents competing for Gridresources with finite capacity. The resource is allocated using a market mechanism, where the partitionsdepend on the relative payments sent by the Grid task agents. Let pcj and pnk denote the price of theresource unit of computation resource agent j and network resource agent k, respectively. Let thepricing policy, pc = (pc1, pc2, . . . , pcn), denote the set of computational resource unit prices of allof the computation resource agents in the Grid, and let pn = (pn1, pn2, . . . , pnk) denote the setof network resource unit prices. The ith task agent receives resources proportional to its paymentrelative to the sum of the resource agent’s revenue. Let x

ji and yk

i be the fraction of resource unitsallocated to task agent i by computation resource agent j and network resource agent k, respectively.The computation resource units x

j

i and network resource units yki allocated to task agent i are given by

the following equations:

xji = cj

uji

pcj

, yki = sk

vki

pnk

The time taken by the ith task agent to complete the nth job is given by the following expression:

tni = binpcj

cjuji

+ dinpnk

skvki

We reformulate (3.5) as

max

{Utask = w1

i

(Ei −

∑j

uj

i −∑

k

vki

)+ w2

i

(Ti −

N∑n=1

binpcj

cjuji

−N∑

n=1

dinpnk

skvki

− D

)+ w3

i

g

f

}

We then take the first and second derivative of Utask with respect to uji :

U ′task(u

ji ) = dUtask(u

ji )

duji

= w2i

N∑n=1

binpcj

(uji )

2cj

− w1i , U ′′

task(uji ) = d2Utask(u

ji )

d(uji )

2= −w2

i

N∑n=1

binpcj

(uji )

3cj

U ′′task(u

ji ) < 0 is negative due to 0 < u

ji . The extreme point is the unique value minimizing the task

agent’s payment under completed time limits. The Lagrangian for the task agent’s utility L(u, v), isgiven by

L(uj

i , vki ) = w1

i

(Ei −

∑j

uj

i −∑

k

vki

)+ w2

i

(Ti −

N∑n=1

binpcj

cjuj

i

−N∑

n=1

dinpnk

skvki

− D

)

+ w3i

g

f+ λ

(Ti −

N∑n=1

tni

)

where λ is the Lagrangian constant. From the Karush–Kuhn–Tucker theorem we know that the optimalsolution is given by ∂L(u, v)/∂u = 0 for λ > 0:

∂L(uji , vk

i )

∂uji

= −w1i + w2

i

binpcj

cj (uji )

2+ λ

binpcj

cj (uji )

2

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 117

Let ∂L(uj

i , vki )/∂u

j

i = 0 to obtain

uji =

((w2

i + λ)binpcj

w1i cj

)1/2

(3.7)

Using this result in the constraint equation, we can determine θ = (w2i + λ)/w1

i as

(θ)−1/2 = Ti∑Nm=1 ((pcmbim)/cm)1/2

We substitute (3.7) to obtain

uji

∗ =(

binpcj

cj

)1/2 ∑Nm=1 ((bimpcm)/cm)1/2

Ti

where uji

∗is the unique optimal solution to the optimization problem task agent. This means that the

Grid task agent will want to pay uji

∗to computation resource agent j for resources needed under the

completion time constraint.Using a similar method, let ∂L(u

ji , vk

i )/∂vki = 0:

∂L(uji , vk

i )

∂vki

= −w1i + w2

i

binpnk

sk(vki )

2+ λ

binpnk

sk(vki )

2= 0

which means that

vki =

((w2

i + λ)binpnk

w1i sk

)1/2

(3.8)

Using this result in the constraint equation, we can determine θ = w2i + λ/w1

i as

(θ)−1/2 = Ti∑Nm=1 ((pnmbim)/sm)1/2

We substitute (3.8) to obtain

vki

∗ =(

binpnk

sk

)1/2 ∑Nm=1 ((bimpnm)/sm)1/2

Ti

This means that Grid task agent will want to pay vki

∗to network resource agent k for resource needed

under the completion time constraint.Second, let us consider the resource agent’s optimization.

Resource agent: max∑

(uji log x

ji + vk

i log yji )

subject to ci ≥∑j

xji , sk ≥

∑k

yki

Uresource(xji , yk

i ) =∑

(uji log x

ji + vk

i log yji )

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

118 L. CHUNLIN AND L. LAYUAN

We take the first and second derivative with respect to xj

i :

U ′resource(x

ji ) = u

ji

xji

, U ′′resource(x

ji ) = − u

ji

xj2

i

Here U ′′resource(x

ji ) < 0 is negative due to 0 < x

ji . The extreme point is the unique value maximizing the

revenue of the Grid resource provider. The Lagrangian for the resource agent’s optimization problemis L(x, y)

L(xj

i , yki ) =

∑(u

j

i log xj

i + vki log yk

i ) + λ

(cj −

∑i

xj

i

)+ β

(sk −

∑i

yki

)

=∑

(uji log x

ji + vk

i log yki − λx

ji − βyk

i ) + λcj + βsk

where λ and β are the Lagrangian constants. From the Karush–Kuhn–Tucker theorem we know thatthe optimal solution is given by ∂L(x, y)/∂x = 0 for λ > 0:

∂L(xji , yk

i )

∂xji

= uji

xj−λi

Let ∂L(x, y)/∂x = 0 to obtain the following equation:

xji = u

ji

λ(3.9)

Using this result in the constraint equation cj ≥ ∑j x

j

i , we can determine λ as

λ =∑n

m=1 ujm

cj

We substitute λ into (3.9) to obtain

xji

∗ = uji cj∑n

k=1 uik

where xj

i

∗is the unique optimal solution to the optimization problem of the computation resource

agent. Let us consider the network resource agent’s optimization problem, using a similar method.Let

∂L(x, y)

∂y= 0

and∂L(x

ji , yk

i )

∂yki

= vki

yki

− β = 0

We can obtain

yki = vk

i

β

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 119

Using this result in the constraint equation, sk ≥ ∑k yk

i , we can determine β as

β =∑n

m=1 vkm

sk

We can therefore obtain

yki

∗ = vki sk∑n

m=1 vkm

where yki

∗is the unique optimal solution to the optimization problem of the network resource agent.

This means that the network resource agent acting as a provider will want to allocate yki

∗to a Grid task

agent to maximize its revenue.

3.4. Pricing-based scheduling algorithms

Pricing-based QoS scheduling can be achieved by solving subproblems via an iterative algorithm.In each iteration, the task agent individually solves its fees to pay, adjusts its computation resourcedemand and network resources demand and notifies the Grid about this change. After the newcomputation resource and network resource demands are observed by the computation resource agentand network resource agent respectively, they updates their prices accordingly and communicate thenew prices to the Grid task agent, and the cycle repeats. To illustrate how the Grid task agent adjustsits fees to pay, we define the computation resource demand and network resource demand functions.The iterative algorithm that computes the price of resources and resource allocation is then given asfollows.

Algorithm 1. (Pricing-based QoS Scheduling Algorithm (PQSA))Computation resource agent part of the algorithm at iteration n

(1) Receives Grid resource demand xj

i from Grid task agents.(2) Computes a new price according to the following formula:

pc(n+1)j = max{ε, pc(n)

j + η(xj − cj )} (3.10)

where xj = ∑i x

j

i , η > 0 is a small step size parameter, and n is the iteration number. Letε > 0 be a sufficiently small constant preventing prices from approaching zero. This algorithmis consistent with the law of supply and demand: if the demand for a Grid resource exceeds thecapacity 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 of the 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 + η(yk − sk)} (3.11)

where yk = ∑i yk

i , η > 0 is a small step size parameter and n is the iteration number.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

120 L. CHUNLIN AND L. LAYUAN

(3) Communicates new price pn(n+1)k to all Grid task agents.

Grid task agent part of the algorithm at iteration n

(1) Receives the price pcj from the computation resource agent j , which is calculated by usingEquation (3.10).

(2) Calculates its optimal computation resource demand xji (n + 1) according to u

ji

∗to maximize

U(uji ):

xji (n + 1) = u

j

i

∗(n)

pc(n)j

(3) Communicates the new computation resource demand xj (n+1)i to the computation resource

agents.(4) Receives the price pnk from the network resource agent k, which is calculated by using

Equation (3.11).(5) Calculates its optimal network resource demand according to vk

i

∗to maximize U(vk

i ):

yki (n + 1) = vk

i

∗(n)

pn(n)k

(6) Communicates the new network resource demand yk(n+1)i to the network resource agents.

4. EXPERIMENT STUDIES

Simulation studies were carried out to evaluate the performance of the PQSA. We use the BRITEgenerator to set up a network topology of a simulated Grid test bed. We chose the hierarchical topologymodel. We first generate an AS-level topology consisting of five nodes. Each node in the AS-leveltopology generates a router-level topology of 100 nodes. The size of our experimental Grid is 500nodes that are divided into eight clusters. The number of nodes in each cluster vary from 20 to 100.To characterize various Grid resource usage, the simulation abstracts both time and resource usage.The time is measured in one-second units. The Grid resources are shared among task agents. Each taskagent has an associated time limit, before which it must finish its job. Time limits are measured intime units from the start time. Thus, the job of one task agent may be delayed to start later thananother task agent’s job, but this does not affect the time limits of the delayed jobs. Processor capacitycan be expressed in million instructions per second (MIPS). The resource cost can be expressed inGrid dollars, which can be defined as the processing cost per MIPS. The bandwidths of all links areuniformly distributed between 1 and 1000 Mbps. Processor capacity varies from 220 to 580 MIPS,each node’s computing delay varies from 1 to 20 per time unit. The job data size is 1 MB. During thetime of experiment, Grid resource requests are generated by the Grid user agents. After this initialperiod, the number of tasks statistically expected to be generated during an interval of 100 time unitsis considered in the result. To allow Grid task agents to complete their tasks, an additional margin of300 time units is provided. The initial value of the task price denoted by P varies from 10 to 500Grid dollars. Each measurement is run six times with different random seeds. All of the parameters

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 121

Table I. Experiment parameters.

Number of Number of Processor capacity Initial pricecluster nodes of (MIPS) (Grid dollars)

1 30 370 300–5002 100 220 10–1003 80 370–380 200–5004 20 510–580 100–5005 100 340–390 20–2006 50 270–275 10–3007 50 410–475 100–4008 80 220 20–300

0

200

400

600

800

1000

100 200 250 300 350 400 450 500Task deadline

Gri

d gl

obal

util

tiy

Figure 2. Grid global utility versus task deadline.

of the simulation environment are summarized in Table I. These experimental configurations are usedto evaluate the performance of the resource scheduling algorithm as much as possible. Completiontimes and resource allocation efficiency are the two measurement criteria considered in the experiment.Completion times measure the time observed by the Grid client to access the requested Grid resourcesand complete the task. The times are influenced by the size of the Grid, the available connections andbandwidth, processor capacity and processing delay. Resource allocation efficiency indicates the ratioof accepted Grid resource requests to all sent Grid resource requests. This is influenced by the networkcapacity, computation capacity and Grid size.

The first series of experiments studies the effect of QoS factors such as reliability, payment andtask deadline on Grid global utility and resource allocation efficiency. Figures 2–4 study the Gridglobal utility under various QoS metrics. Figure 2 shows that the Grid global utility increases as thetask deadline increases. Figure 3 shows that Grid global utility has a maximal point that representsoptimal resource payment to maximize the Grid global utility that balances the benefits of Grid usersand Grid resource providers. When the payment is less than 1000, increasing the payment leads to ahigher global Grid utility. When the payment is larger than 1000, increasing the payment results inlower utility. In Figure 4, the reliability value varies from 0.1 to 1; when the reliability value increases,

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

122 L. CHUNLIN AND L. LAYUAN

0

200

400

600

800

1000

200 400 600 800 1000 1200 1400 1600 1800Payment

Gri

d gl

obal

util

ity

Figure 3. Grid global utility versus payment.

0

200

400

600

800

1000

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Reliability

Gri

d gl

obal

util

tiy

Figure 4. Grid global utility versus reliability.

0

500

1000

1500

2000

2500

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Reliability

Rev

enue

of

serv

ice

prov

ider

Figure 5. Revenue of service provider versus reliability.

the Grid global utility increases quickly. In Figure 5, when the reliability of the service is high, therevenue of the service provider is also high because users tend to choose the service with a highreliability and are willing to pay more for a service provider with a high reliability.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 123

0

20

40

60

80

100

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1Reliability

Tas

k co

mpl

etio

n ra

tio (

%)

Figure 6. Task completion ratio versus reliability.

0

20

40

80

100

100 200 250 300 350 400 450 500

Task deadline

Res

ourc

e al

loca

tion

60

effi

cien

cy (

%)

Figure 7. Resource allocation efficiency versus task deadline.

From the results in Figure 6 we can see that when the reliability of service is high the task completionratio is also high. Since the reliability of service is high, the services selected can guarantee availabilitywhen the Grid task needs to be executed: the user will complete all tasks as expected. Figure 7 showsthe effect of a task’s deadline on the resource allocation efficiency. From the results in Figure 7, wecan see that when increasing the task deadline the resource allocation efficiency is higher. Figure 8shows the effect of task deadline on resource demand. When the deadline increases, the demand for theresource is less. From the results in Figure 9, when the deadline is low, there is an intensive demand forthe resources in a short time and so Grid users choose more expensive resources to process the tasks.However, when the deadline is extended, it is likely that tasks can be completed before deadline and soGrid users consider using the cheaper resources to complete tasks to maximize the utility.

Second, in order to evaluate the advantage of our model, we compared our scheme, PQSA, witha deadline and budget constrained (DBC) scheduling algorithm [20], which uses an economy drivenmethod for allocating resources to application jobs in such a way that the Grid users’ requirementsare met. In [20], a scheduling algorithm, called DBC cost–time optimization, is proposed to optimizefor time, keeping the cost of computation at a minimum. We now give a brief summary of the DBCalgorithms [20]. DBC algorithms attempt to complete an experiment as quickly as possible, within thebudget available. For each resource, the algorithm will perform the following method: calculate the

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

124 L. CHUNLIN AND L. LAYUAN

0

400

800

1200

1600

2000

100 200 250 300 350 400 450 500

Task deadline

Dem

and

of r

esou

rce

Figure 8. Demand of resource versus task deadline.

0

50

100

150

200

250

300

100 200 250 300 350 400 450 500

Task deadline

Use

r ut

ility

Figure 9. User utility versus task deadline.

next completion time for an assigned job, taking into account previously assigned jobs; sort resourcesby next completion time; assign one job to the first resource for which the cost per job is less than orequal to the remaining budget per job; and repeat all steps until all jobs are assigned.

The following experiments were performed to compare the performance of PQSA and DBCalgorithm under budget and deadline constraints in terms of completion time, payment for processingjob and allocation efficiency with respect to the completion time. Figure 10 represents the impact ofdifferent budget constraints on the completion time; when the budgets are small, both the PQSA andthe DBC algorithms take more time to complete a job, because the task agent cannot buy expensiveand efficient resources. When the budget increases, PQSA outperforms the DBC algorithm in termsof completion times because the task agents can afford more expensive resources; the objective ofPQSA is to maximize the net utility as long as they can complete tasks within a deadline. So mosttask agents prefer to choose proper resources to achieve their goals. A larger budget enables taskagents to afford more expensive resources and obtain better completion times to maximize the utility.Figure 11 represents the impact of different budget constraints on the actual payments of task agents.When the budget increases, the impact of different budget constraints on the payments is obvious,because the task agent uses the more expensive resources to complete tasks within the deadline. PQSAis seen to be more sensible in spending money than the DBC algorithm. With respect to the resource

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 125

0

50

100

150

200

250

300

350

400

100 200 500 800 1000 1500Budget

Com

plet

ion

time

(s)

PQSA DBC

Figure 10. Complete time for different budget constraints.

0200400600800

100012001400160018002000

100 250 500 800 1000 1500Budget

PQSA DBC

Paym

ent

Figure 11. Payment for different budget constraints.

allocation efficiency (see Figure 12), when increasing budget values, the resource allocation efficiencyof PQSA increases. A larger budget leads to a higher resource allocation efficiency.

In Figures 13–15, we measure the impact of different deadline constraints on the completion time,actual payment and allocation efficiency. From the results in Figure 14 we can see that when thedeadline is low, there is an intensive demand for the resources in a short time, so the task agent shouldchoose more expensive resources to process the jobs. However, when the deadline is extended, it islikely that tasks can be completed before the deadline, so task agent considers using the cheaperresources to complete tasks to maximize the utility. For the resource allocation efficiency underdifferent deadline constraints (see Figure 15), when increasing the deadlines, the impact on the resourceallocation efficiency is obvious. A longer deadline leads to a higher resource allocation efficiency.Under the same deadline, PQSA has a higher resource allocation efficiency than the DBC algorithm.Within a certain deadline, task agents in PQSA can choose resources with different prices to maximizethe utility and so can achieve good resource allocation efficiency.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

126 L. CHUNLIN AND L. LAYUAN

0

20

40

60

80

100

100 200 500 800 1000 1500

Budget

PQSA DBC

Allo

catio

n ef

fici

ency

(%

)

Figure 12. Allocation efficiency for different budget constraints.

0

100

200

300

400

100 200 250 300 350 400

PQSA DBC

Deadline

Com

plet

ion

tim

e (s

)

Figure 13. Time spent for different deadline constraints.

0200400600800

10001200140016001800

100 200 250 300 350 400

PQSA DBC

Deadline

Paym

ent

Figure 14. Payment for different deadline constraints.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

DECENTRALIZED QOS-BASED SCHEDULING BASED ON UTILITY 127

0

20

40

60

80

100

100 200 250 300 350 400

PQSA DBC

Deadline

All

ocat

ion

effi

cien

cy (

%)

Figure 15. Allocation efficiency for different deadline constraints.

5. CONCLUSIONS

In this paper, we have considered the scheduling of finite resources to satisfy the QoS needs ofvarious Grid users with multi-dimensional QoS requirements. It is the heterogeneity and dynamicsof the Grid that make QoS problems in Grid environments so challenging. This paper formulates theQoS-based Grid resource scheduling problem into the resource market by adopting a computationaleconomy framework. Each of the Grid user’s diverse requirements is modeled as a QoS dimension,and associated with each QoS dimension is a utility function that defines the benefit that is perceivedby a user with respect to QoS choices in that dimension. A multiple QoS-based scheduling problemis formulated into a utility optimization problem based on dynamic programming. The objectiveof resource scheduling is to maximize the global utility of the system. This paper proposesan iterative scheduling algorithm that is used to perform optimal multiple QoS-based resourcescheduling.

ACKNOWLEDGEMENTS

The authors wish to thank the editors and the anonymous reviewers for their helpful comments and suggestions.The work is supported by the National Natural Science Foundation of China under grant No. 60402028 and theWuhan Younger Dawning Foundation under grant No. 20045006071-15.

REFERENCES

1. He XS, Sun XH, Laszewski GV. QoS guided Min–Min heuristic for Grid task scheduling. Journal of Computer Scienceand Technology 2003; 18(4):442–451.

2. Foster I, Kesselman C, Nick J, Tucke S. Grid services for distributed system integration. Computer 2002; 35(6):37–46.3. Zeng L-Z, Benatallah B, Ngu AHH, Dumas M, Kalagnanam J, Chang H. QoS-aware middleware for Web services

composition. IEEE Transactions on Software Engineering 2004; 30(5):311–327.4. Dogan A, Ozguner F. Scheduling independent tasks with QoS requirements in Grid computing with time-varying resource

prices. Proceedings of the 3rd International Workshop on Grid Computing (GRID 2002) (Lecture Notes in ComputerScience, vol. 2536). Springer: Berlin, 2002; 58–69.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe

128 L. CHUNLIN AND L. LAYUAN

5. Golconda KS, Ozguner F, Dogan A. A comparison of static QoS-based scheduling heuristics for a meta-task with multipleQoS dimensions in heterogeneous computing. Proceedings of the 18th Parallel and Distributed Processing Symposium(IPDPS2004). IEEE Computer Society Press: Los Alamitos, CA, 2004.

6. Liu Y. QoS computation and policing in dynamic Web service selection. Proceedings of WWW2004, New York, 2004.IEEE Computer Society Press: Los Alamitos, CA, 2004; 66–73.

7. Lee C, Lehoczky J, Siewiorek D, Rajkumar R, Hansen J. A scalable solution to the multi-resource QoS problem.Proceedings of the 20th IEEE Real-time Systems Symposium, December 1999. IEEE Computer Society Press:Los Alamitos, CA, 1999.

8. Lee C, Lehoczky J, Rajkumar R, Siewiorek D. On quality of service optimization with discrete QoS options. Proceedingsof the IEEE Real-time Technology and Applications Symposium, June 1999. IEEE Computer Society Press: Los Alamitos,CA, 1999.

9. Ghosh S, Rajkumar R, Hansen J, Lehoczky J. Scalable resource allocation for multi-processor QoS optimization.Proceedings of 23rd International Conference on Distributed Computing Systems, May 2003. IEEE Computer SocietyPress: Los Alamitos, CA, 2003; 174–183.

10. Ghosh S, Rajkumar R, Hansen J, Lehoczky J. Integrated resource management and scheduling with multi-resourceconstraints. Proceedings of 25th IEEE Real-time Systems Symposium. IEEE Computer Society Press: Los Alamitos, CA,2004.

11. Al-Ali R, Rana O, Walker D, Jha S, Sohail S. G-QoSM: Grid service discovery using QoS properties. Computing andInformatics Journal (Special Issue on Grid Computing) 2002; 21(4):363–382.

12. Al-Ali R, ShaikhAli A, Rana O, Walker D. Supporting QoS-based discovery in service-oriented Grids. Proceedings ofIEEE Heterogeneous Computing Workshop (HCW’03), Nice, France, 2003. IEEE Computer Society Press: Los Alamitos,CA, 2003.

13. Su Nam D, Youn C-H. QoS-constrained resource allocation for a Grid-based multiple source electrocardiogram application.Proceedings of ICCSA 2004 (Lecture Notes in Computer Science, vol. 3043). Springer: Berlin, 2004; 352–359.

14. Curescu C, Nadjm-Tehrani S. Time-aware utility-based QoS optimization. Proceedings of the 15th Euromicro Conferenceon Real-Time Systems (ECRTS’03). IEEE Computer Society Press: Los Alamitos, CA, 2003.

15. Foster I, Fidler M, Roy A, Sander V, Winkler L. End-to-end quality of service for high-end applications. ComputerCommunications 2004; 27(14):1375–1388.

16. Abdelzaher TF, Shin KG, Bhatti N. User-level QoS-adaptive resource management in server end-systems. IEEETransactions on Computers 2003; 52(5):678–685.

17. Layuan L, Chunlin L. A QoS-guaranteed multicast routing protocol. Computer Communications 2004; 27(1):59–69.18. Layuan L, Chunlin L. A distributed QoS-aware multicast routing protocol. Acta Informatica 2003; 40(3):211–233.19. Feng N, Mau S-C, Mandayam NB. Pricing and power control for joint network-centric and user-centric radio resource

management. Proceedings of CISS’2002, Princeton, NJ, March 2002. IEEE Transactions on Communications 2004;52(9):1547–1557.

20. Buyya R, Murshed M, Abramson D. A deadline and budget constrained cost-time optimization algorithm for schedulingtask farming applications on global Grids. Proceedings of PDPTA’02, Las Vegas, NV, 24–27 June 2002. CSREA Press:Las Vegas, NV, 2002.

21. Buyya R, Giddy J, Abramson D. A case for economy Grid architecture for service-oriented Grid computing. Proceedingsof HCW 2001 (in Conjunction with IPDPS 2001), San Francisco, CA, April 2001. IEEE Computer Society Press:Los Alamitos, CA, 2001.

22. Ernemann C. Economic scheduling in Grid computing. Proceedings of the 8th International Workshop Job SchedulingStrategies for Parallel Processing (Lecture Notes in Computer Science, vol. 2537). Springer: Berlin, 2002; 128–152.

23. The Gridbus project. http://www.gridbus.org [October 2005].24. Wolski R, Plank J, Brevik J. Analyzing market-based resource allocation strategies for the computational Grid.

International Journal of High Performance Computing Applications 2001; 15(3):258–281.25. Chunlin L, Layuan L. The use of economic agents under price driven mechanism in Grid resource management. Journal

of Systems Architecture 2004; 50(9):521–535.26. Chunlin L, Layuan L. Applying agents to build Grid service management. Journal of Network and Computer Applications

2003; 26(4):323–340.27. Chunlin L, Zhengding L, Layuan L, Shuzhi Z. A mobile agent platform based on tuple space coordination. Advances in

Engineering Software 2002; 33(4):215–225.28. Chunlin L, Layuan L. Competitive proportional resource allocation policy for computational Grid. Future Generation

Computer Systems 2004; 20(6):1041–1054.29. Chunlin L, Layuan L. Agent framework to support computational Grid. Journal of Systems and Software 2004;

70(1–2):177–187.

Copyright c© 2006 John Wiley & Sons, Ltd. Concurrency Computat.: Pract. Exper. 2007; 19:107–128DOI: 10.1002/cpe