18
J. Parallel Distrib. Comput. 68 (2008) 182 – 199 www.elsevier.com/locate/jpdc A macroeconomic model for resource allocation in large-scale distributed systems Xin Bai a , Dan C. Marinescu a , , Ladislau Bölöni a , Howard Jay Siegel b, c , Rose A. Daley d , I-Jeng Wang d a School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, FL 32816-2362, USA b Department of Electrical and Computer Engineering, Colorado State University, Fort Collins, CO 80523-1373, USA c Department of Computer Science, Colorado State University, Fort Collins, CO 80523-1373, USA d Applied Physics Laboratory, Johns Hopkins University, 11100 Johns Hopkins Road, Laurel, MD20723-6099, USA Received 8 April 2006; received in revised form 17 March 2007; accepted 4 July 2007 Available online 13 July 2007 Abstract In this paper we discuss an economic model for resource sharing in large-scale distributed systems. The model captures traditional concepts such as consumer satisfaction and provider revenues and enables us to analyze the effect of different pricing strategies upon measures of performance important for the consumers and the providers. We show that given a particular set of model parameters the satisfaction reaches an optimum; this value represents the perfect balance between the utility and the price paid for resources. Our results confirm that brokers play a very important role and can influence positively the market. We also show that consumer satisfaction does not track the consumer utility; these two important performance measures for consumers behave differently under different pricing strategies. Pricing strategies also affect the revenues obtained by providers, as well as, the ability to satisfy a larger population of users. © 2007 Elsevier Inc. All rights reserved. Keywords: Resource allocation; Macroeconomic model; Utility; Price; Consumer utility; Consumer satisfaction; Large-scale distributed system 1. Introduction and motivation Computational, service, and data grids, peer-to-peer systems, and ad hoc wireless networks are examples of open systems. Individual members of the community contribute computing cycles, storage, services, and communication bandwidth to the pool of resources available to the entire community; resources as well as consumers of resources could belong to different ad- ministrative domains. In this case it is difficult to devise global resource allocation policies and there is no central authority to enforce global policies and schedules. The existence of multi- ple administrative domains is a reality in the Grid environments and the Internet. In the context of our research, each adminis- trative domain corresponds to a different organization and has complete control of its resources, it dictates the price and the Corresponding author. Fax: +1 407 8235419. E-mail address: [email protected] (D.C. Marinescu). 0743-7315/$ - see front matter © 2007 Elsevier Inc. All rights reserved. doi:10.1016/j.jpdc.2007.07.001 amount of resources available. A broker mediates between pro- ducers and consumers in different administrative domains. The research reported in this paper investigates the use of macroe- conomic models for resource allocation in heterogeneous, dis- tributed computing, and communication systems. Market-oriented economies have proved their advantages over alternative means to control and manage resource alloca- tion in social systems [8]. It seems reasonable to adapt some of the successful ideas of economical models to resource allo- cation in large-scale computing systems and to study market- oriented resource allocation algorithms. As shown by recent studies, economic models are attractive for resource providers, beneficial for the consumers of resources, and have societal benefits for large-scale distributed systems [41–44]. Fewer resources are wasted, while excess capacity and overloading are averaged over a very large number of providers and con- sumers. The system is more scalable and decision-making is distributed. In an economic model, all participants are con- sidered self-interested. The resource providers are trying to

A macroeconomic model for resource allocation in large-scale distributed systems

  • Upload
    xin-bai

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: A macroeconomic model for resource allocation in large-scale distributed systems

J. Parallel Distrib. Comput. 68 (2008) 182–199www.elsevier.com/locate/jpdc

A macroeconomic model for resource allocation in large-scale distributedsystems

Xin Baia, Dan C. Marinescua,∗, Ladislau Bölönia, Howard Jay Siegelb,c, Rose A. Daleyd,I-Jeng Wangd

aSchool of Electrical Engineering and Computer Science, University of Central Florida, Orlando, FL 32816-2362, USAbDepartment of Electrical and Computer Engineering, Colorado State University, Fort Collins, CO 80523-1373, USA

cDepartment of Computer Science, Colorado State University, Fort Collins, CO 80523-1373, USAdApplied Physics Laboratory, Johns Hopkins University, 11100 Johns Hopkins Road, Laurel, MD20723-6099, USA

Received 8 April 2006; received in revised form 17 March 2007; accepted 4 July 2007Available online 13 July 2007

Abstract

In this paper we discuss an economic model for resource sharing in large-scale distributed systems. The model captures traditional conceptssuch as consumer satisfaction and provider revenues and enables us to analyze the effect of different pricing strategies upon measures ofperformance important for the consumers and the providers. We show that given a particular set of model parameters the satisfaction reachesan optimum; this value represents the perfect balance between the utility and the price paid for resources. Our results confirm that brokers playa very important role and can influence positively the market. We also show that consumer satisfaction does not track the consumer utility;these two important performance measures for consumers behave differently under different pricing strategies. Pricing strategies also affect therevenues obtained by providers, as well as, the ability to satisfy a larger population of users.© 2007 Elsevier Inc. All rights reserved.

Keywords: Resource allocation; Macroeconomic model; Utility; Price; Consumer utility; Consumer satisfaction; Large-scale distributed system

1. Introduction and motivation

Computational, service, and data grids, peer-to-peer systems,and ad hoc wireless networks are examples of open systems.Individual members of the community contribute computingcycles, storage, services, and communication bandwidth to thepool of resources available to the entire community; resourcesas well as consumers of resources could belong to different ad-ministrative domains. In this case it is difficult to devise globalresource allocation policies and there is no central authority toenforce global policies and schedules. The existence of multi-ple administrative domains is a reality in the Grid environmentsand the Internet. In the context of our research, each adminis-trative domain corresponds to a different organization and hascomplete control of its resources, it dictates the price and the

∗ Corresponding author. Fax: +1 407 8235419.E-mail address: [email protected] (D.C. Marinescu).

0743-7315/$ - see front matter © 2007 Elsevier Inc. All rights reserved.doi:10.1016/j.jpdc.2007.07.001

amount of resources available. A broker mediates between pro-ducers and consumers in different administrative domains. Theresearch reported in this paper investigates the use of macroe-conomic models for resource allocation in heterogeneous, dis-tributed computing, and communication systems.

Market-oriented economies have proved their advantagesover alternative means to control and manage resource alloca-tion in social systems [8]. It seems reasonable to adapt someof the successful ideas of economical models to resource allo-cation in large-scale computing systems and to study market-oriented resource allocation algorithms. As shown by recentstudies, economic models are attractive for resource providers,beneficial for the consumers of resources, and have societalbenefits for large-scale distributed systems [41–44]. Fewerresources are wasted, while excess capacity and overloadingare averaged over a very large number of providers and con-sumers. The system is more scalable and decision-making isdistributed. In an economic model, all participants are con-sidered self-interested. The resource providers are trying to

Page 2: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 183

maximize their revenues. The consumers want to obtain themaximum possible resources for the minimum possible price.The large number of participants makes one-to-one negotiationsexpensive and unproductive.

In 1933 the Norwegian economist and Nobel laure-ate Ragnar Frisch introduced the dichotomy macroecon-omy/microeconomy [17]. Macroeconomics deals with theeconomy as a whole and studies aggregate trends such as totalconsumption and production [37], while microeconomics isprimarily focused on the economic behavior of individual unitsand the role of prices in allocation of scarce resources [40].While in our model we simulate the individual customers andproducers, the objectives are to improve the aggregate utilityand the satisfaction of the entire user population and to betteruse all the resources of the distributed system. Thus, it seemsmore appropriate to call it a macroeconomic model.

The model presented in this paper is based upon conceptsborrowed from economics, such as utility and consumer sat-isfaction. Informally, utility quantifies the benefits obtainedas the result of being granted a certain amount of resources.Utility-based resource allocation models have proved theirpotential in a different context, e.g., when the only resourceis the radio bandwidth, the size of the population is limited,and each participant has a unique role (e.g., is a consumer)[4]. The heterogeneity of a large-scale distributed system,the large spectrum of resources and demands placed uponthese resources, the scale of the system, the autonomy ofindividual resource providers, and the dual role of individ-ual actors, as consumer of some resources and as providerfor others, add complexity to the models we study in thispaper.

Different utility functions can be considered; a utility func-tion should be: (i) monotonically increasing with the amount ofallocated resource; (ii) convex for high resource values; and (iii)fast growing for small amounts of allocated resources. Increas-ing the resource allocation will yield lower and lower increasein utility. Intuitively, this is justified by Amdahl’s law: once aresource is plentiful, the performance bottleneck moves to an-other type of resource, and adding additional resource yieldslittle benefit. These observations lead us to conclude that theutility function will have an S-shaped, sigmoid curve. Sigmoidfunctions have all the desirable properties and have been usedin many economic models, in biology, and some other areas,as we discuss in Section 3.

In our model, each resource is characterized by a vector withseveral components. In the general case, a request may requiremultiple resources or resources with multiple attributes. Thus,more general utility functions are surfaces in hyperspaces withseveral dimensions. A discussion of the relative advantages ofdifferent families of utility functions is an important and timelysubject, but beyond the scope of this paper. While the sigmoidis selected for us here, it could be replaced by other functionswithin the framework of our model.

We define a measure of consumer’s satisfaction that takesinto account the utility resulting from resource consumptionand the price paid by the consumer. We show that given aparticular set of model parameters the satisfaction reaches an

optimum; this value represents the perfect balance between theutility and the price paid for resources.

Consumer satisfaction is a more general metric than the Qual-ity of Service, QoS that typically refers to a single performancemeasure (e.g., time to completion or end-to-end delay), anddoes not reflect pricing. Moreover, QoS requirements are gen-erally specified by an upper bound (e.g., the jitter should be lessthan m milliseconds), while one can provide a continuous func-tion describing the utility and select a provider that optimizesthe satisfaction value, or one that is very close to the optimum.

We also show that consumer satisfaction does not track theconsumer utility; these two important performance measuresfor consumers behave differently under different pricing strate-gies. Pricing strategies also affect the revenues obtained byproviders, as well as the request acceptance ratio. We introducethree pricing policies and investigate the effect of several pa-rameters upon critical measures of performance for producersand consumers. The pricing policies are affected by the rela-tionship between the amount of resources required and the totalamount we pay for them, as well as the overall state of the sys-tem. We analyze three cases: when the price per unit is constantregardless of the amount of resources consumed (linear pric-ing); pricing to encourage consumption, i.e., the more resourcesare used the lower becomes the average unit price (sub-linearpricing); and pricing to discourage consumption, i.e., the moreresources are used the higher becomes the average unit price(super-linear pricing). We also analyze the effect of resourceabundance upon pricing strategies.

We foresee an adaptive and intelligent user behavior basedupon the idea that, in the general case, the same goal may beachieved through different means. We suggest the transforma-tion of imperative requests into elastic ones that reflect the levelof utility. Practically, we specify a range of target systems, e.g.,clusters with 100–10,000 nodes, and for each potential target ofan elastic request we compute a satisfaction value and choosethe one leading to the largest satisfaction. Assume that we pro-cess a very large number of images and could use a variety ofsystem configurations each with its own utility and the corre-sponding satisfaction value. Our best option is to use a clusterwith 10,000 nodes with 4 GB of memory per node, but thereare only a few such systems; at the other extreme, we coulduse a cluster more likely to be available soon with only 100nodes and 2 GB of main memory per node, but the executiontime would increase by four orders of magnitude. An elasticrequest quantifies the urgency of the request and allows thebroker and/or the user to compare the satisfaction values anddecide whether to pay a higher price for a unique resource, oruse a readily available one.

Our model, like several others, includes middlemen to me-diate access to resources a strategy rather common for agentsystems. The role of a broker is to reconcile the selfish ob-jectives of individual resource providers and consumers withsome global, societal objectives, e.g., to maximize the resourceutilization of the system.

The best analogy for a broker in our model is a financialadvisor in the real world. Clients trust their financial advisorsand disclose their financial objectives (corresponding to the

Page 3: A macroeconomic model for resource allocation in large-scale distributed systems

184 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

utility and satisfaction functions) to them. At the same time, theclients know and accept the fact that the financial advisor willact in the context of existing laws and stock market regulations,thus, it also serves societal objectives.

Most macroeconomic models include policy makers that es-tablish societal objectives. For example the Federal ReserveBoard establishes monetary policies in the US and there arecounterparts in other countries. In a global economy the policymakers sometimes coordinate their behavior. In the future oursimulation studies should be extended to include policy makersand multiple brokers.

Our results confirm that brokers play a very important roleand can influence positively the market. The development ofbroker-to-broker coordination models and an analysis of a morecomplex system is well beyond the scope of this paper due tothe complexity of the analysis and space limitations. As ex-pected, even with a set of simplifying assumptions, the mod-els are extremely complex and can only be evaluated throughsimulation.

The contributions of this paper are: (i) a macroeconomicmodel that includes policy makers whose role is to establishsocietal objectives, trusted middlemen whose role is to ensuremaximum satisfaction to their clients, and producers and con-sumers of resources; (ii) utility and satisfaction functions, aswell as pricing policies; and (iii) a simulation study of the be-havior of a system with a single broker.

The paper is organized as follows: we survey different eco-nomic models applied to information systems in Section 2 andcompare their features with our model. In Section 3, we in-troduce the basic elements of our model and define utility andsatisfaction function, as well as pricing strategies. The role ofthe middlemen is discussed in Section 4 and the results of asimulation study are analyzed in Section 5; finally, we presentour conclusions in Section 6.

2. Related work

The development of the first global macroeconomic model,the Wharton Econometric Forecasting Associates LINKproject, started in 1968 under the leadership of Nobel laureateLawrence Klein [31]. There are two basic analytical approachesto classical macroeconomics: (a) Keynesian economics focusedon demand and (b) supply-side economics focused on supply.

Interestingly enough, the most complex information systemever conceived, the Internet, takes advantage of ideas that canbe traced back to macroeconomics. While the Internet is basedupon a best effort service model, supply-side economics arereflected by overprovisioning, namely building an excess band-width to ensure some levels of QoS.

Frank Kelly developed in late 1990s an analytical model fora self-managed Internet based upon utility and cost [26]. Kellyconsiders a set of sessions s ∈ S that use a set of links l ∈ L;each link l has a capacity C. If Ls is the set of links used bysession s, then the utility Us(rs), S ∈ Ls is a strictly concave,increasing function of the packet source rate, rs . He attemptsto maximize system utility with the constraint that the totalbandwidth used on each link by all connections is lower than

the link capacity. If ps is the price function of the rate, then adistributed algorithm solves a greedy optimization problem forevery session:

max Us(rs) − psrs .

It turns out that the adaptive congestion control mechanismintroduced in early 1980s for TCP can be well described byKelly’s model developed in late 1990s; the price in this caseis the probability of losing packets and the utility is a simplefunction of the round trip time (RTT).

Extending Kelly’s model to a large-scale distributed systemconsisting of a collection of heterogeneous systems, while fea-sible, would be rather impractical; the need to differentiate ser-vices for individual consumers and specify a different utilityfunction for each one of them, the variety of prices, and thefact that individual entities are consumers and providers at thesame time, make such an extension very hard and possibly in-feasible computationally.

Even though theoretical studies of economic models appliedto information systems are only now beginning to emerge, sev-eral companies including IBM (E-Business On Demand [24]),HP (Adaptive Enterprise [23]), Sun Microsystems (pay-as-you-go [39]), as well as startups such as Entropia, ProcessTree,Popular Power, Mojo Nation, United Devices, and Parabon areembedding economics into their resource allocation systems.Economic concepts and ideas are used for distributed storagesystems such as the Stanford Peers Initiative [15] and GnuNet[20] and distributed databases [3,38]. Java Market [2], JaWS[27], Xenoservers [32], and others apply economic models forcomputer services.

The economic concepts and strategies embedded in existingor proposed systems and models [10–12] are summarized inTable 1 and surveyed below. An auction starts with owners an-nouncing resources and inviting bids; consumers bid and thewinner gets access to the resource. In an English auction, whenno bidder is willing to increase the bid, the auction ends andthe highest bidder wins; in first-price sealed bid auction, ev-ery bidder submits a sealed bid and the highest bidder wins;in a Vickrey auction [41], every bidder submits a sealed bidand the highest bidder wins at the price of the second high-est bidder; a Dutch auction starts with a high price lowereduntil a bidder is willing to pay the current price. In bid-basedproportional resource sharing the percentage of resources al-located is a function of user’s bid relative to others. Bargainingrequires direct negotiations between producers and consumersuntil they reach a mutually agreeable price. Bartering is con-ducted among the members of a community that share eachother’s resources. In commodity markets, providers advertisetheir resource prices and charge users based on the amount ofresources used; posted price allows providers to advertise spe-cial offers to attract consumers. In case of a monopoly, one or asmall number of resource providers decide a non-negotiable theprice. Pricing policy could be based on a flat fee, the resourceusage duration, the subscription, the demand and supply [29],or could be designed to encourage or discourage consumption.

Arguments that commodities markets are better choices forcontrolling grid resources than auction strategies are presented

Page 4: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 185

Table 1Economic concepts and strategies in different systems

System Au Ba Bt Cm Co Mo Ut Cs Pr Results

ContractNet [36] Yes Yes No Yes No No No No No DeployedCondor [14] No No No Yes No No No No Yes DeployedEnhanced MOSIX [1] No No No No No No Yes No Yes SimulatedMariposa [28] (based on the Contract Net) Yes Yes No Yes No No No No No PrototypeRexec/Anemone [13] No No No Yes No Yes No No Yes PrototypeSETI@home [33] No No No Yes No No No No No DeployedSpawn [42] Yes No No No No No Yes No Yes PrototypeSun [39]) No No No Yes No No No No No DeployedOur model No No No No No No Yes Yes Yes Simulation

Abbreviations: Au–Auction; Ba–Bargaining; Bt–Bartering; Cm–Commodity market; Co–Coalition; Mo–Monopoly; Ut–Utility; Cs–Consumer satisfaction; Pr–Pricing policy; Results–performance results reported in literature, Analitical/simulation.

in [43,44] based upon concepts such as price stability, marketequilibrium, consumer efficiency, and provider efficiency. Anapproach to implement automatic selection of multiple nego-tiation models to adapt to the computation needs and changesin a resource environment is discussed in [34]. A task-orientedmechanism for measuring the economic value of using hetero-geneous resources as a common currency is analyzed in [21];resource consumers can compare the advantage of participatingin a computational grid with the alternative of purchasing theirown resources necessary and resource providers can evaluatethe profit of putting their resources into a grid. A compara-tive analysis of market-based resource allocation by continuousdouble auctions and by the proportional share protocol vs. aconventional round-robin approach is presented in [19].

A game-theoretic approach is used to develop pricing strat-egy for efficient job allocation in mobile grids [18] as well asgrid resource allocation models [25]. A risk analysis is carriedout by a service provider to balance its objectives and earn aprofit, while meeting the service level agreement and maintain-ing the reliability of the service [45]. QoS and budget considera-tions are incorporated in the fitness of a genetic algorithm-basedscheduler for scientific workflows on the utility Grid [46].

Table 1 summarizes the key features of a variety of economic-based systems for resource allocation. Our approach differsfrom other models in that it is based upon utility and satisfactionfunctions and pricing policies.

3. Basic concepts

An efficient and fair utilization of the resources can beobtained only through a scheme that gives incentives to theproviders to share their resources and that encourages the con-sumers to maximize the utility of the received resources. Awell-tested model for such a scheme is based on an economicmodel, in which the resources need to be paid for in a realor virtual currency. This model has the advantage of beingprovably scalable, and we can successfully reuse or adapt themodels that govern the economy in our society.

To study possible resource management policies, we have todevelop resource consumption models that take into accountdifferent, possibly contradictory, views of the benefits associ-ated with resource consumption as well as the rewards for pro-

viding resources to the consumer population. Such models tendto be very complex and only seldom amenable to analyticalsolutions.

In this section we introduce the basic concepts and notationsfor our model. First, we introduce price, utility, and satisfac-tion functions; then we present our resource provider–consumermodel. To capture the objectives of the entities involved in thecomputational economy we use: (i) a consumer utility func-tion, 0�u(r)�1, to represent the utility provided to an indi-vidual consumer, where r represents the amount of allocatedresource; (ii) a provider price function, p(r), imposed by aresource provider, and (iii) a consumer satisfaction function,s(u(r), p(r)), 0�s�1, to quantify the level of satisfaction; thesatisfaction depends on both the provided utility and the paidprice.

3.1. Price functions

We discuss the three pricing functions in Fig. 1(a). Given theaverage unit price, �, the three particular pricing functions wechoose are:

(a) The price per unit is constant regardless of the amount ofresources consumed (linear pricing):

p(r) = � · r. (1)

(b) Discourage consumption: The more resources are used,the higher becomes the average unit price (super-linearpricing):

p(r) = � · rd, (2)

where d > 1. For this equation, we use d = 1.5 throughoutthe remainder of the paper.

(c) Encourage consumption: The more resources are used, thelower becomes the average unit price (sub-linear pricing):

p(r) = � · re, (3)

where e < 1. For this equation, we use e = 0.5 throughoutthe remainder of the paper.

We also analyze the effect of resource abundance; in thiscase we define the load index � as the ratio of total amount of

Page 5: A macroeconomic model for resource allocation in large-scale distributed systems

186 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

0

p(r)

super-linear

linear

sub-linear

�max

�min

�TL �THr 1.00

Unit Price

Fig. 1. (a) Sub-linear, linear, and super-linear price functions. (b) The unit price varies with �, the load index of the provider.

allocated resources to the capacity of the provider and considerthree regions: low, medium, and high load index. We denotethe low, medium, and high regions as the interval of [0, �T L),[�T L, �T H], and (�T H, 1], respectively, as shown in Fig. 1(b).The pricing strategy for each region is different. We considertwo models: EDL—encourage/discourage linear and EDN—encourage/discourage non-linear. The choice of the �T L, �T His basically a policy decision. However, in order to have thedesired influence on the system as a whole, the three intervalsneed to be of a sufficient size. Values such as �T L = 0.49and �T H = 0.51 make the target interval unreasonably small;very low �T L and very high �T H values make the pricing strat-egy degenerate into a constant price strategy. The values usedthroughout this paper are �T L = 0.3 and �T H = 0.7.

For the first model, EDL, the unit price is constant in eachregion, but different in different regions, as defined in Eq. (4),and shown in Fig. 1(b). We introduce three prices, each corre-sponding to a range of the system load: minimal, �min, maxi-mal, �max, and �, the price corresponding to medium load. Forlow load the providers use lower prices to encourage resourceconsumption, but do not lower the price below �min. For highload, the providers gradually increase the price, up to �max. Thechoice of the �min and �max are a matter of policy, however,too low values for �min would make resources basically freefor nodes with low utilization, and very high values of �maxwould make resources too expensive. We used the values of�max = 2 × �, and �min = 0.5 × � throughout the remainder ofthe paper. Thus:

p(r)=

⎧⎪⎪⎪⎪⎨⎪⎪⎪⎪⎩

(�min+ �

�T L(�−�min)

)· r if � ∈ [0, �T L),

� · r if � ∈ [�T L, �T H],(�+ �−�T H

1.0−�T H(�max−�)

)· r if � ∈ (�T H, 1.0].

(4)

For the second model, EDN, when � is low, the provider usesa sub-linear price function; when � is high, the provider uses asuper-linear price function; otherwise, the provider uses a linearprice function as expressed below:

p(r) =⎧⎨⎩

� · re if � ∈ [0, �T L),

� · r if � ∈ [�T L, �T H],� · rd if � ∈ (�T H, 1.0],

(5)

where e < 1 and d > 1. The choice of e and d follows similarconsiderations like the choice of parameters for the EDL model:we need to encourage and discourage the customers, while stillmaintaining the prices in a justifiable range. In this paper weare using the values of e = 0.5 and d = 1.5, which provide anappropriate range of prices.

3.2. Utility function

The utility function should be a non-decreasing function ofr, i.e., we assume that the more resources are allocated to theconsumer, the higher the consumer utility is. However, whenenough resources have been allocated to the consumer, i.e.,some threshold is reached, an increase of allocated resourceswould bring no improvement of the utility. On the other hand,if the amount of resources is below some threshold the utilityis extremely low. Thus, we expect the utility to be a concavefunction and reach saturation as the consumer gets all the re-sources it can use effectively. These conditions are reflected bythe following equations:

du(r)

dr�0, lim

r→∞du(r)

dr= 0. (6)

For example, if a parallel application could use at most 100nodes of a cluster, its utility reflected by a utility function doesnot increase if its allocation increases from 100 to 110 nodes.If we allocate less than 10 nodes then the system may spendmost of its time paging and experiencing cache misses and theexecution time would be prohibitively high.

Different functions can be used to model this behavior andwe choose one of them, a sigmoid:

u(r) = (r/�)�

1 + (r/�)�, (7)

where � and � are constants provided by the consumer, ��2,and � > 0. Clearly, 0�u(r) < 1 and u(�) = 1

2 .A sigmoid is a tilted S-shaped curve that could be used to

represent the life cycles of living, as well as man-made, social,or economical systems. It has three distinct phases: an incipientor starting phase, a maturing phase, and a declining or agingphase, as shown in Fig. 2(a).

Page 6: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 187

0

1

r

u

StartingPhase

MaturingPhase

AgingPhase

0.0

1.0

r

s

Low Unit PriceMedium Unit Price

High Unit Price

Fig. 2. (a) A sigmoid is used to model the utility function; a sigmoid includes three phases: the starting phase, the maturing phase, and the aging phase.(b) The satisfaction function for a sigmoid utility function and three linear price functions with low, medium, and high unit price.

3.3. Satisfaction function

A consumer satisfaction function takes into account boththe utility provided to the consumer and the price paid for theresources. For a given utility, the satisfaction function shouldincrease when the price decreases and, for a given price, the sat-isfaction function should increase when the utility u increases.These requirements are reflected as

�s

�p�0,

�s

�u�0. (8)

Furthermore, a normalized satisfaction function should satisfythe following conditions:

• the degree of satisfaction, s(u(r), p(r)), for a given pricep(r), approaches the minimum, 0, when the utility, u(r),approaches 0;

• the degree of satisfaction, s(u(r), p(r)), for a given pricep(r), approaches the maximum, 1, when the utility, u(r),approaches infinity;

• the degree of satisfaction, s(u(r), p(r)), for a given utilityu(r), approaches the maximum, 1, when the price, p(r),approaches 0; and

• the degree of satisfaction, s(u(r), p(r)), for a given utilityu(r), approaches the minimum, 0, when the price, p(r), ap-proaches infinity.

These requirements are reflected as

∀p > 0, limu→0

s(u, p) = 0, limu→∞ s(u, p) = 1, (9)

∀u > 0, limp→0

s(u, p) = 1, limp→∞ s(u, p) = 0. (10)

A candidate satisfaction function is [40]:

s(u, p) = 1 − e−�·u�·p−�, (11)

where �, �, and � are appropriate positive constants. The sat-isfaction function based upon the utility function in Eq. (7) isnormalized; given a reference price we consider also a nor-malized price function and we end up with a satisfaction func-tion given by:

s(u, p) = 1 − e−�·u�·(p/)−�. (12)

Because u and p are functions of r, satisfaction increases asmore resources are allocated, reaches an optimum, and thendeclines, as shown in Fig. 2(b). The optimum satisfaction de-pends upon the pricing strategy; not unexpectedly, the higherthe unit price, the lower the satisfaction.

The 3D surfaces representing the relationship s = s(r, �)

between satisfaction s and the unit price � and amount ofresources r for several pricing functions (super-linear, linear,and sub-linear) are presented in Fig. 3. As we can see fromthe cut through the surfaces s = s(r, �) at a constat � when wediscourage consumption (super-linear pricing) the optimumsatisfaction is lower and occurs for fewer resources; whenwe encourage consumption (sub-linear pricing) the optimumsatisfaction is improved and occurs for a larger amount of re-sources. These plots reassure us that the satisfaction functionhas the desired behavior.

3.4. Resource provider–consumer model

Consider a system with n providers offering computing re-sources and m consumers. To simplify the model, we assumethat the two sets are disjoint. Call U the set of consumers andR the set of providers. The n providers are labeled 1 to nand the m consumers are labeled 1 to m. Consider providerRj , 1�j �n, and consumer Ui, 1� i�m, that could poten-tially use resources of that provider.

Let rij denote the resource (defined below) of Rj allocated toconsumer Ui and let uij denote its utility for consumer Ui . Letpij denote the price paid by Ui to provider Rj . Let tij denotethe time Ui uses the resource provided by Rj . Let cj denote theresource capacity of Rj , i.e., the amount of resources regulatedby Rj .

The term “resource” here means a vector with componentsindicating the actual amount of each type of resource:

rij = (r1ij r2

ij . . . rlij ),

where l is a positive integer and rkij corresponds to the amount

of resource of the kth type. The structure of rij may reflectthe rate of CPU cycles, the physical memory required by theapplication, the secondary storage, the number of nodes andthe interconnection bandwidth (for a multiprocessor system or

Page 7: A macroeconomic model for resource allocation in large-scale distributed systems

188 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

0

2

4

6

r

8

100

1

ξ 2

3

0

0.2

0.4

0.6

0.8

1

s

0

2

4

6

r

8

100

1

ξ 2

3

0

0.2

0.4

0.6

0.8

1

s

0

2

4

6

8

100

1

ξ 2

3

0

0.2

0.4

0.6

0.8

1

s

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 1 2 3 4 5

s

r

Superlinear

Linear

Sublinear

r

Fig. 3. The relationship between satisfaction s and the unit price � and amount of resources r. The satisfaction function is based on a sigmoid utility functionand different price functions: (a) discourage consumption (super-linear); (b) linear; (c) encourage consumption (sub-linear); and (d) a cut through the threesurfaces at a constant �.

a cluster), the network bandwidth (required to transfer datato/from the site), the graphics capabilities, and so on.

The utility of resource of the kth type provided by Rj forconsumer Ui is a sigmoid function:

ukij = u(rk

ij ) = (rkij /�

ki )

�ki

1 + (rkij /�

ki )

�ki

,

where �ki and �k

i are constants provided by consumer Ui , �ki �2,

and �ki > 0. Clearly, 0 < u(rk

ij ) < 1 and u(�ki ) = 1

2 .

The overall utility of resources provided by Rj to Ui

is:

• the product over the set of resources provided by Rj , i.e.,uij = ∏l

k=1 ukij , or

• the weighted average over the set of resources provided by

Rj , i.e., uij = 1l

∑lk=1 ak

ij ukij , where ak

ij values are provided

by consumer Ui and∑l

k=1 akij = 1.

Let pkij denote the price consumer Ui pays to provider Rj

for a resource of type k. The total price for consumer Ui for

Page 8: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 189

resources provided by provider Rj is

pij =l∑

k=1

pkij .

The total cost for consumer Ui for resources provided byprovider Rj is pij × tij .

Based on Eq. (12), we define the degree of satisfaction of Ui

for a resource of the kth type provided by provider Rj as

skij (u

kij , p

kij ) = 1 − e

−�ki u

kij

�ki (pk

ij /ki )

−�ki

, �ki ,

ki , �

ki , �

ki > 0,

where �ki , �k

i , and �ki are appropriate positive constants and ki

is a reference price.The overall satisfaction of consumer Ui for resources pro-

vided by Rj is:

• the product over the set of resources provided by Rj , i.e.,sij = ∏l

k=1 skij , or

• the weighted average over the set of resources provided by

Rj , i.e., sij = 1l

∑lk=1 bk

ij skij , where bk

ij values are provided

by consumer Ui and∑l

k=1 bkij = 1.

We conclude this section with an example. Let us consider asystem which has two resources: memory (measured in MB)and computational power (measured in MHz). Let us considera client which has its utility function calculated by setting�m = 2000, �m = 10 for the memory, while for the com-putational power �cp = 2000 and �cp = 3. The shape of theutility curve is shown in Fig. 4(left). The utility curve is al-most linear for the computational power, while it has a steepramp for memory at the value of around 2000 MB. A memoryallocation smaller than 1000 MB has virtually no utility, whileadding extra memory above 3000 MB yields very little bene-fit. The price curves are shown in Fig. 4(middle). The shapesof the curves are justified by objective considerations: for in-stance, high performance processors are an order of magnitudemore expensive than consumer grade processors. Finally, thesatisfaction function is calculated with the values for the mem-ory being: �m = 0.02, m = 0.6, �m = 3 and �m = 3, whilefor computational power �cp = 0.03, cp = 0.2, �cp = 3 and�cp = 3. The satisfaction curves are shown in Fig. 4, (right).We will assume that the overall satisfaction is the product ofthe satisfaction for memory and computational power.

Let us now consider the case when the customer receivesfour offers A, B, C, and D. The offers and the associated costand satisfaction values are summarized below:

Memory C. Cost Cost Total Satisfactionpower memory c. power cost

A 3000 2000 300 60 360 0.6676B 2500 2500 250 83.5 333.5 0.8132C 2300 2500 230 83.5 313.5 0.7574D 3000 2550 300 129 429 0.4338

Under these conditions, the user will choose offer B, whichoffers the highest satisfaction. Notice that B is neither the offerwith the largest amount of resources, nor the cheapest offer.

4. The role of brokers

In this paper, we concentrate on optimal resource manage-ment policies. A policy is optimal when the satisfaction func-tion, which reflects both the price paid to carry out a task andthe utility resulting from the completion of the task, reachesa maximum. A broker attempts to operate at or near thisoptimum.

The role of a broker is to mitigate access to resources. Inthis paper, we consider provider–broker–consumer models thatinvolve the set of resource providers R, the set of consumers U ,and broker B. These models assume that a consumer must get allof its resources from a single provider. Brokers have “societalgoals” and attempt to maximize the average utility and revenue,as opposed to providers and consumers that have individualisticgoals; each provider wishes to maximize its revenue, while eachconsumer wishes to maximize its utility and do so for the lowestcost possible. To reconcile the requirements of a consumer andthe candidate providers, a broker chooses a subset of providerssuch that the satisfaction is above a high threshold and allproviders in the subset have equal chances to be chosen by theconsumer. We call the size of this subset satisficing size, anddenote it by ; the word “satisfice” was coined by Nobel Prizewinner Herbert Simon in 1957 to describe the desire to achievea minimal value of a variable instead of its maximum [35].

The resource negotiation protocol consists of the followingsteps:

(1) All providers reveal their capacity and pricing parametersto the broker: ∀Rj ∈ R send vectors cj and �j , where eachelement corresponds to one type of resource.

(2) A consumer Ui sends to the broker a request with the fol-lowing information:(a) the parameters of its utility function: vectors �i and

�i , where each element corresponds to one type ofresource,

(b) the parameters of its satisfaction function: vectors �i ,�i , �i , and i , where each element corresponds to onetype of resource, and

(c) the number of candidate resource providers to be re-turned.

(3) The broker performs a brokering algorithm and returns alist of candidate resource providers Ri to consumer Ui .

(4) Consumer Ui selects the first provider from Ri and verifiesif the provider can allocate the required resources. If itcannot, the consumer moves to the next provider from thelist until the resources are allocated by a provider Rj .

(5) Rj notifies the broker about the resource allocation to Ui .

The algorithm performed by the broker is summarized in Fig. 5.The amount of resources to be allocated is determined duringthe execution of the algorithm according to a broker strategy.Simple strategies would be to allocate the same amount ofresources to every consumer, or to allocate to every consumer

Page 9: A macroeconomic model for resource allocation in large-scale distributed systems

190 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

0 1000 2000 3000 40000

0.2

0.4

0.6

0.8

1

Resource: memory

Utilit

y

0 1000 2000 3000 40000

0.05

0.1

0.15

0.2

Resource: memory

Price

0 1000 2000 3000 40000

0.2

0.4

0.6

0.8

1

Resource: memory

Satisfa

ction

0 1000 2000 30000

0.2

0.4

0.6

0.8

Resource: computational power

Utilit

y

0 1000 2000 30000

0.05

0.1

0.15

0.2

Resource: computational power

Price

0 1000 2000 30000

0.2

0.4

0.6

0.8

1

Resource: computational power

Satisfa

ction

Fig. 4. Example of utility (left), price (middle) and satisfaction (right) curves for two resources: memory (upper row) and computational power (lower row).

Fig. 5. The algorithm performed by the broker. The consumer request, req, is elastic. It contains the parameters describing u and s, the utility and satisfactionfunctions. � is the target utility and is the satisficing size. The cardinality specifies the number of resource providers to be returned by the broker.

a random amount of resources. A better strategy, used by oursystem, is to allocate an amount of resources such that the utilityof each type of resource to the consumer reaches a certain targetutility �. To determine the amount of resources allocated to theconsumer, the broker uses Eq. 13(a) derived from the definitionof u(r), Eq. 13(b):

(a) r = e(ln( �1−� )/�)+ln(�), (b) u(r) = (r/�)�

1 + (r/�)�. (13)

Several quantities characterize the resource management policyfor broker B and its associated providers and consumers:

(a) Average hourly revenue. The average is over the set ofproviders connected to broker B; the revenue of a provideris the sum of revenues from all resources it controls.

(b) Request acceptance ratio. The ratio is the number of ac-cepted requests over the number of requests submitted bythe consumers connected to broker B. A request is acceptedif a provider able to allocate resources exists, otherwise therequest is rejected and the corresponding satisfaction andutility are set to 0.

(c) Average consumer satisfaction. The average is over the setof all consumers connected to broker B.

(d) Average consumer utility. This average is over the set ofconsumers connected to broker B.

In our model, a broker receives a percentage of the revenuescollected by the providers connected to it. More sophisticatedmechanisms are possible, for example, in addition to the per-centage of the revenues collected from the providers, a brokermay receive a premium from consumers based upon their levelof satisfaction. This policy would encourage brokers to balance

Page 10: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 191

the interests of providers and consumers. Different brokers mayhave different policies and may be required to disclose the aver-age values for critical parameters, such as � and , and their feestructure, during the initial negotiation phase; thus, consumersand providers will have the choice to work with a broker thatbest matches their own objective.

5. A simulation study

Market-oriented resource allocation algorithms are very dif-ficult to analyze analytically. To understand the behavior of thesystem we conducted a simulation study using YAES [9]. Athorough investigation would require multiple brokers, but themodel is already very complex and would require additionalprotocols for broker selection and renegotiations so we are con-sidering the case of a single broker.

The resource allocated by provider Rj to consumer Ui arerepresented by a resource vector rij = (r1

ij r2ij . . . rl

ij ). For ex-

ample, if the kth component is secondary storage, then rkij =

20 GB is the amount of secondary storage provided by Rj toconsumer Ui . The associated utility and satisfaction vectorsare: uij = (u1

ij u2ij . . . ul

ij ) and sij = (s1ij s2

ij . . . slij ). The

demand to capacity ratio for resource type k is the ratio ofthe amount requested by all consumers to the total capacity ofproviders for resource k,

∑j ck

j . The level of demand is lim-ited by the sigmoid shape of the utility curve and the finite fi-nancial resources of the consumers. In the computation of thedemand–capacity ratio, for each consumer and each resource,it is assumed that for the requested rk

ij value the corresponding

utility value ukij = 0.9, i.e., the consumers request an amount

of rkij that results in uk

ij = 0.9. The demand to capacity ratio

vector for all resource types is � = (�1 �2 . . . �l ). For the sakeof simplifying the simulation, we only consider the case when�1 = �2 = . . . = �l = �.

We run multiple simulation experiments for each case (50runs/case) and compute 95% confidence intervals for the re-sults. The parameters for our experiments are:

• �—target utility for the consumers,• —satisficing size; reflects the choices given to the consumer

by the broker, and• �—demand to capacity ratio; measures the commitment and,

thus, the load placed upon providers.

We study the evolution in time of:

• average hourly revenue,• request acceptance ratio (the ratio of resource requests

granted to total number of requests),• average consumer satisfaction, and• average consumer utility.

We investigate the performance of the model for differenttarget utilities, �, satisficing sizes, , and demand to capacityratios, �. We study several scenarios, for the linear (Eq. (1)),EDN (Eq. (5)), and EDL (Eq. (4)) pricing strategies.

We simulate a system of 100 clusters and one broker. Thenumber of nodes of each cluster is a random variable normally

distributed with the mean of 50 and the standard deviation of30. Each node is characterized by a resource vector containingthe CPU rate, the main memory, and the disk capacity. Forexample, the resource vector for a node with one 2 GHz CPU,1 GB of memory, and a 40 GB disk is (2 GHz, 1 GB, 40 GB).

Initially, there is no consumer in the system. Consumers ar-rive with an inter-arrival time exponentially distributed with themean of 2 s. The service time tij is exponentially distributedwith the mean of seconds. By varying the value we modifydemand–capacity ratio so that we can study the behavior of thesystem under different loads.

The request is elastic, i.e., instead of requesting a preciseamount, consumers only specify their utility and satisfactionfunctions. The parameters of the utility and satisfaction func-tions are uniformly distributed in the intervals shown in Table 2.A request provides the parameters of the utility function, �and �, for each element of the resource vector (CPU, Mem-ory, Disk). We generate � and � such that with a utility of0.9, the CPU rate, memory space, and disk space of a requestare exponentially distributed with means of 2 GHz, 4 GB, and80 GB, and ranges of [0.1 GHz, 100 GHz], [0.1 GB, 200 GB],and [0.1 GB, 1000 GB], respectively. More precisely, for eachelement: (a) we generate the amount r according to the cor-responding distribution; (b) we choose a value for �; and (c)set u = 0.9 and compute the corresponding value of �. For aresource vector, we let the overall utility be the product of theutilities of its scalar resources, and the overall satisfaction bethe product of the satisfaction for its scalar resources.

When we study the effect of the target utility �, we use =1 and � = 1.0; when we study the effect of , we use � =0.9 and � = 1.0; and when we study the effect of �, we use� = 0.9 and = 1. We also compare the system performanceof our scheme for several values with a random strategy.In this case, we randomly choose a provider from the set ofall providers, without considering the satisfaction function. Tomake the model more realistic, we allow a resource providerto reject a consumer’s request if the available resources areinsufficient to permit both satisfaction and utility to reach 0.1.

Figs. 6–9 summarize our findings. In each case, we presentthe three pricing strategies, linear, EDN, and EDL. The param-eters for the graphs illustrating the effect of the target utility,�, at the top of the figure are: = 1, � = 1.0, and � = 0.8,0.85, 0.9, and 0.95. The graphs illustrating the effect of the sat-isficing size, , in the middle of the figure, use the followingparameters: � = 0.9, � = 1.0, and = 1, 10, and 20; for therandom strategy, =| R |= 50. The parameters for the graphsillustrating the effect of the demand to capacity ratio, �, at thebottom of the figure are: � = 0.9, = 1, and � = 0.5, 1.0, 1.5,and 2.0.

The average hourly revenue is an important consideration forresource providers. We notice that the three pricing strategiesexhibit similar behavior: the average hourly revenue increasesrapidly during the transient period, reaches a maximum, andthen converges to a steady state, as shown in Fig. 6. For thesame value of the target utility, �, the steady state value for thelinear and the EDN pricing strategies are close to one anotherand almost half of those for EDL, as shown in the top row of

Page 11: A macroeconomic model for resource allocation in large-scale distributed systems

192 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

Table 2The parameters for the simulation are uniformly distributed

Parameter CPU Memory Disk

� [5, 10] [5, 10] [5, 10]� [0.4, 0.9] [0.5, 1.5] [10, 30]� [0.02, 0.04] [0.02, 0.04] [0.02, 0.04]� [2, 4] [2, 4] [2, 4]� [2, 4] [2, 4] [2, 4] [10, 20] [20, 40] [400, 800]

The parameters and the corresponding intervals are shown.

0 0.5 1 1.5 2

x 105

0

1

2

3

4

5x 106

TIME

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0

1

2

3

4

5x 106

TIME

AV

ER

AG

E H

OU

RLY

RE

VE

NU

E

AV

ER

AG

E H

OU

RLY

RE

VE

NU

EA

VE

RA

GE

HO

UR

LY

RE

VE

NU

E

AV

ER

AG

E H

OU

RLY

RE

VE

NU

E

AV

ER

AG

E H

OU

RLY

RE

VE

NU

EA

VE

RA

GE

HO

UR

LY

RE

VE

NU

E

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0

1

2

3

4

5x 106

TIME

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0

0.5

1

1.5

2x 107

TIME

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0

0.5

1

1.5

2x 107

TIME

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0

0.5

1

1.5

2x 107

TIME

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0

2

4

6

8

10x 106

TIME

AV

ER

AG

E H

OU

RL

Y

RE

VE

NU

E

AV

ER

AG

E H

OU

RLY

RE

VE

NU

EA

VE

RA

GE

HO

UR

LY

RE

VE

NU

E

η = 0.5

η = 1.0

η = 1.5

η = 2.0

0 0.5 1 1.5 2

x 105

0

2

4

6

8

10x 106

TIME

η = 0.5

η = 1.0

η = 1.5

η = 2.0

0 0.5 1 1.5 2

x 105

0

2

4

6

8

10x 106

TIME

η = 0.5

η = 1.0

η = 1.5

η = 2.0

Fig. 6. Average hourly revenue vs. time (in seconds) for different target utilities, � (top), satisficing sizes, (middle), and demand to capacity ratios, � (bottom).The three pricing strategies are: linear (left), EDN (center), and EDL (right).

Fig. 6. In all cases, the larger � the higher the revenue. In thesesimulations, = 1 (the broker provides a single choice) and thedemand to capacity ratio is � = 1.0. We believe that resourcefragmentation is the reason why the steady state value is lowerthan the maximum attained at the end of the transient period.

Resource fragmentation is an undesirable phenomena wherethe amount of resources available cannot meet the target utilityvalue for any request and resources remain idle. This effectis more pronounced for larger utility values, for example, for� = 0.95 the steady state value is some 20% lower than its

Page 12: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 193

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

τ = 0.8τ = 0.85τ = 0.9τ = 0.95

0 0.5 1 1.5 2

x 105

0.995

0.996

0.997

0.998

0.999

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

τ = 0.8τ = 0.85τ = 0.9τ = 0.95

τ = 0.8τ = 0.85τ = 0.9τ = 0.95

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

0 0.5 1 1.5 2

x 105

0.973

0.9735

0.974

0.9745

0.975

0.9755

0.976

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

σ = 1σ = 10σ = 20

RANDOM

0 0.5 1 1.5 2

x 105

0.972

0.973

0.974

0.975

0.976

0.977

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

η = 0.5η = 1.0η = 1.5η = 2.0

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

η = 0.5η = 1.0η = 1.5η = 2.0

0 0.5 1 1.5 2

x 105

0.93

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E

RA

TIO

η = 0.5η = 1.0η = 1.5η = 2.0

Fig. 7. Request acceptance ratio vs. time (in seconds) for different target utilities, � (top), satisficing sizes, (middle), and demand to capacity ratios, �(bottom). The three pricing strategies are: linear (left), EDN (center), and EDL (right).

corresponding maximum, while for � = 0.8 the steady statevalue is close to its corresponding maximum.

The next question is if larger satisficing size affects the av-erage revenue. A small value of limits the number of choicesto consumers and this restriction leads to lower average hourlyrevenues. In our experiments � = 0.9 and � = 1.0, as shown inthe middle row of Fig. 6. EDN and EDL are superior to linearpricing. The larger the , the higher the average hourly rev-enue for the provider. The random strategy, which correspondsto the maximum value of =| R | leads to the highest averagehourly revenue.

Lastly, we see that the demand to capacity ratio also hasan impact upon the average hourly revenue that is larger forlarger � for all three pricing strategies, as shown in the bottomrow of Fig. 6. The conclusion we draw from these results isthat the average hourly revenue increases when we provide ahigher target utility (� closer to 1), increase the satisficing size(larger ), and when we increase the demand to capacity ratio,�, and that differential pricing strategies (EDN and EDL) arepreferable to the linear one.

The request acceptance ratio for various pricing policies andchoices of parameters is shown in Fig. 7. We find that therequest acceptance ratio shows variations during the transientperiod but converges to constant values in the steady state. TheEDN pricing strategy appears optimal, leading to steady statevalues close to 1.0 for virtually every choice of parameters,except for the random . The steady state values for the linearand EDL strategies are also high, with values larger than 0.95,but the exact amount is determined by the values of �, � and .We find that the higher the values of any of these parameters,the higher the request acceptance ratio.

The three pricing strategies lead to very different consumersatisfaction for the same set of parameters of the simulation,even though the qualitative behavior is somehow similar in thatthe average consumer satisfaction decreases during the transientperiod and then increases and reaches a stable value in steadystate, as shown in Fig. 8. EDN appears to be the best strategy.The larger the target utility, the lower the consumer satisfac-tion. The highest steady state average satisfaction is about 80%when � = 0.8 and when we use the EDN strategy as compared

Page 13: A macroeconomic model for resource allocation in large-scale distributed systems

194 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

σ = 1

σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

η = 0.5

η = 1.0

η = 1.5

η = 2.0

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

η = 0.5

η = 1.0

η = 1.5

η = 2.0

0 0.5 1 1.5 2

x 105

0.2

0.4

0.6

0.8

1

1.2

TIME

AV

ER

AG

E C

ON

SU

ME

R

SA

TIS

FA

CT

ION

η = 0.5

η = 1.0

η = 1.5

η = 2.0

Fig. 8. Average consumer satisfaction vs. time (in seconds) for different target utilities, � (top), satisficing sizes, (middle), and demand to capacity ratio, �(bottom). The three pricing strategies are: linear (left), EDN (center), and EDL (right).

with less than 50% for EDL and about 70% for linear pricingstrategy in terms of . The highest satisfaction occurs when = 1. Though this seems counterintuitive it is well justified;in this case the broker directs the consumer to that resourceprovider that best matches the request. When we select at ran-dom one provider from the list of all providers supplied by thebroker we observe the lowest average consumer satisfactionbecause we have a high probability to select a less than opti-mal match for a given request. Recall that the optimal matchis the top ranked element of the list of providers supplied bythe broker. We also notice that a high demand to capacity ra-tio has a negative impact upon user satisfaction. The largestimpact of the demand to capacity ratio upon the steady stateaverage consumer satisfaction is visible for the linear pricingstrategy, when the average consumer satisfaction ranges fromabout 55% for � = 2.0 to about 75% for � = 0.5.

For the same set of parameters of the simulation the threepricing strategies lead to slightly different average consumerutility values, but the qualitative behavior is similar, as shown

in Fig. 9. The average consumer utility decreases slowly duringthe transient period because of system fragmentation; someresources are allocated to consumers due to their cheaper price,although they are not enough to allow the utility to reach thetarget value, �. In steady state, the average utility reaches astable value. Overall, the differentiated pricing strategies, EDNand EDL, perform better and reach higher steady state values.The higher the target utility, the larger the actual utility; thehighest steady state utility is about 70% for � = 0.95 for EDNand EDL, as shown in the top of Fig. 9. The larger the satisficingsize, the higher the actual utility; the random strategy leads to90% utility, as shown in the middle of Fig. 9. The lower thedemand to capacity ratio, the higher the satisfaction.

Fig. 10 summarizes the effect of the three pricing strategiesupon the four quantities we monitored in our experiments, fora particular set of parameters: � = 0.9, = 1, and � = 1.0.EDL allows the highest average hourly revenue while the linearpricing strategy leads to the lowest one, as shown in Fig. 10(a).EDN leads to the highest request acceptance ratio while EDL

Page 14: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 195

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

τ = 0.8

τ = 0.85

τ = 0.9

τ = 0.95

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

σ = 1σ = 10σ = 20RANDOM

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

η = 0.5

η = 1.0

η = 1.5

η = 2.0

η = 0.5

η = 1.0

η = 1.5

η = 2.0

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R

UT

ILIT

Y

η = 0.5

η = 1.0

η = 1.5

η = 2.0

Fig. 9. Average consumer utility vs. time (in seconds) for different target utilities, � (top), satisficing sizes, (middle), and demand to capacity ratios,� (bottom). The three pricing strategies: linear (left), EDN (center), and EDL (right).

leads to the lowest one, as shown in Fig. 10(b). EDN leads tothe highest consumer satisfaction while EDL leads to the lowestone, as shown in Fig. 10(c). EDL allows the highest averagehourly revenue while linear pricing strategy leads to the lowestone, as shown in Fig. 10(d).

6. Conclusions and future work

Economic models are notoriously difficult to study. Thecomplexity of the utility, price, and satisfaction-based modelsprecludes analytical studies and in this paper we report on asimulation study. The goal of our simulation study is to val-idate our choice of utility, price, and satisfaction function, tostudy the effect of the many parameters that characterize ourmodel, and to get some intuition regarding the transient andthe steady state behavior of our models. We are primarily in-terested in qualitative rather than quantitative results, i.e., weare interested in trends, rather than actual numbers.

In our model the actual shape of the utility function is con-trolled by the parameters dictated primarily by the application.On the other hand, the satisfaction function reflects mostly theuser’s constraints. The model inhibits selfish behavior: greedyconsumers pay a hefty price and greedy providers who insiston high prices are avoided. The satisfaction function ensuresa balance between the amount of resources consumed and theprice paid for them.

The function of a broker is to monitor the system and set �and for optimal performance. For example, if the broker per-ceives that the average consumer utility is too low, it has twochoices: increase � or increase . At the same time, the sys-tem experiences an increase of the average hourly revenue anda decrease of the average consumer satisfaction. The fact thatincreasing utility could result in lower satisfaction seems coun-terintuitive, but reflects the consequences of allocating moreresources; we increase the total cost possibly beyond the op-timum predicated by the satisfaction function. The simulation

Page 15: A macroeconomic model for resource allocation in large-scale distributed systems

196 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

0 0.5 1 1.5 2

x 105

0

0.5

1

1.5

2

2.5

3

3.5x 106

TIME

AV

ER

AG

E H

OU

RLY

RE

VE

NU

E

0 0.5 1 1.5 2

x 105

0.94

0.95

0.96

0.97

0.98

0.99

1

TIME

RE

QU

ES

T A

CC

EP

TA

NC

E R

AT

IO

LINEAR

EDN

EDL

LINEAR

EDN

EDL

LINEAR

EDN

EDL

LINEAR

EDN

EDL

0 0.5 1 1.5 2

x 105

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

TIME

AV

ER

AG

E C

ON

SU

ME

R S

AT

ISF

AC

TIO

N

0 0.5 1 1.5 2

x 105

0.55

0.6

0.65

0.7

0.75

0.8

0.85

0.9

0.95

TIME

AV

ER

AG

E C

ON

SU

ME

R U

TIL

ITY

Fig. 10. (a) The average hourly revenue, (b) the request acceptance ratio, (c) the average consumer satisfaction, and (d) the average consumer utility vs. time(in seconds) for = 1, � = 0.9, and � = 1.0, with different price functions.

results shown in this paper are consistent with those in [5,6]where we use linear pricing and simpler models based upon asynthetic quantity to represent a vector of resources.

The EDL pricing strategy leads to the highest average con-sumer utility and the highest average hourly revenue, while itgives the lowest request acceptance ratio and the lowest aver-age consumer satisfaction. The EDN pricing strategy allows thehighest request acceptance ratio and the highest average con-sumer satisfaction, while it leads to lower average consumerutility and average hourly revenue than EDL. It is also remark-able that the average consumer satisfaction does not track theaverage consumer utility. This shows the importance of the sat-isfaction function.

One could argue that in practice it would be rather difficultfor users to specify the parameters of their utility and satisfac-tion function. Of course, this is true in today’s environments,

but entirely feasible in intelligent environments where such in-formation could be provided by societal services [7]. The ad-vantages of elastic requests is likely to motivate the creation ofsuch services in the computational economy of the future.

Even though we limit our analysis to a single broker system,we are confident that the most important conclusions we areable to draw from our model, namely that:

(i) Given a particular set of model parameters the satisfactionreaches an optimum; this value represents the perfect bal-ance between the utility and the price paid for resources.

(ii) The satisfaction does not track the utility.(iii) Differentiated pricing perform better than linear pricing.(iv) Brokers can effectively control the computing economy.

will still be valid for multiple broker systems. In such an en-vironment, individual brokers could enforce different policies;

Page 16: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 197

providers and consumers could join the one that best matchestheir individual goals. The other simplifying assumptions forour analysis, e.g., the uniformity of the demand to capacity ratiofor all resources available at a consumer’s site, will most likelyhave second order effects. The restriction we impose by requir-ing a consumer to obtain all necessary resources from a singlebroker is also unlikely to significantly affect our findings.

It is very difficult to make a direct comparison between sys-tems based on different models with different objective func-tions. Our results are qualitative rather than quantitative; thegoal of our work is to show that our formal mathematical modelcaptures and predicts performance trends. In Table 1 we com-pare the features of several systems. Performance results for ex-isting systems are rarely reported and when they are available itwould be hard to calibrate them. We are confident that a modelthat formalizes the selfish goals of consumers and providers, aswell as societal goals, has a significant potential. Our intentionis to draw the attention of the community to the potential ofutility, price, and satisfaction-based resource allocation mod-els. It is well beyond the scope of this paper to cover all anglesof such a complex model.

A fair number of questions require further investigations in-cluding: (a) Are there better alternatives to the utility, price, andsatisfaction functions we introduced? (b) Is the policy aimingto achieve maximum satisfaction sound, e.g., how should wetake into account the societal importance of activities carriedout by individual resource consumers? (c) How can we applythe models to more complex networks of resource managers?(d) What composition rules should be used to describe the util-ity and/or the satisfaction for a group of consumers? (e) Howcan we define more complex utility functions that take intoaccount additional constraints related to system reliability anddeadlines? Future work involves also the study of more com-plex systems including policy makers and multiple brokers.

Acknowledgments

This research was supported in part by National ScienceFoundation Grants ACI-0296035, EIA-0296179, and CNS-0615170, the Colorado State University George T. Abell En-dowment, and the DARPA Information Exploitation Officeunder contract No. NBCHC030137. The authors are greatlyindebted to three anonymous reviewers for their constructivecomments which helped to improve the quality of this paper.One of the authors (DCM) acknowledges useful discussionsregarding the Kelly model with Don Towsley and the supportprovided by a Walton award from the Science Foundationof Ireland. Preliminary versions and performance results pre-sented in this paper were reported in [5,6].

References

[1] Y. Amir, B. Awerbuch, A. Barak, R.S. Borgstrom, A. Keren, Anopportunity cost approach for job assignment in a scalable computingcluster, IEEE Trans. Parallel Distrib. Syst. 11 (7) (2000) 760–768.

[2] Y. Amir, B.A. B, R.S. Borgstrom, A cost–benefit framework for onlinemanagement of a metacomputing system, in: Proceedings of the First

International Conference on Information and Computation Economies(ICE ’98), ACM Press, New York, 1998, pp. 14–47.

[3] A. Anastasiadi, S. Kapidakis, C. Nikolaou, J. Sairamesh, A computationaleconomy for dynamic load balancing and data replication, in:Proceedings of the First International Conference on Information andComputation Economics ICE’98, 1998.

[4] L. Badia, M. Zorzi, On utility-based radio resource management withand without service guarantees, in: Proceedings of ACM MSWiM 2004Modelling, Analysis, and Simulation of Wireless and Mobile Systems,ACM Press, 2004, pp. 244–251.

[5] X. Bai, L. Bölöni, D.C. Marinescu, H.J. Siegel, R.A. Daley, I.-J. Wang,Are utility, price, and satisfaction based resource allocation modelssuitable for large-scale distributed systems? in: Proceedings of theThird International Workshop on Grid Economics and Business Models(GECON 2006), Singapore, 2006.

[6] X. Bai, L. Bölöni, D.C. Marinescu, H.J. Siegel, R.A. Daley, I.-J. Wang,A brokering framework for large-scale heterogeneous systems, 15thHeterogeneous Computing Workshop (HCW 2006) in Proceedings of the20th IEEE International Parallel and Distributed Processing Symposium(IPDPS 2006) (CD Proceedings), Rhodes, 2006.

[7] X. Bai, H. Yu, G. Wang, Y. Ji, G.M. Marinescu, D.C. Marinescu,L. Bölöni, Coordination in intelligent grid environments, Proc. IEEE 93(3) (2005) 613–630.

[8] M. Blaugh, Economic Theory in Retrospect, fifth ed., CambridgeUniversity Press, 1997 ISBN 978-0521577014.

[9] L. Bölöni, D. Turgut, YAES—a modular simulator for mobile networks,in: Proceedings of the Eighth ACM/IEEE International Symposium onModeling, Analysis and Simulation of Wireless and Mobile SystemsMSWIM 2005, 2005, pp. 169–173.

[10] R. Buyya, D. Abramson, J. Giddy, H. Stockinger, Economic models forresource management and scheduling in grid computing, ConcurrencyComput.: Practice Experience 14 (13–15) (2002) 1507–1542.

[11] R. Buyya, D. Abramson, S. Venugopal, The grid economy, Proc. IEEE93 (3) (2005) 698–714.

[12] R. Buyya, H. Stockinger, J. Giddy, D. Abramson, Economic modelsfor management of resources in peer-to-peer and grid computing,in: Proceedings of the SPIE International Conference on CommercialApplications for High-Performance Computing, Denver, 2001,pp. 13–25.

[13] B. Chun, D. Culler, Market-based proportional resource sharing forclusters, Technical Report, UC Berkeley, September 1999.

[14] CONDOR, URL 〈http://www.cs.wisc.edu/condor/〉.[15] B.F. Cooper, H. Garcia-Molina, Peer-to-peer data preservation through

storage auctions, IEEE Trans. Parallel Distrib. Syst. 16 (3) (2005)246–257.

[17] R. Frisch. Propagation problems and impulse problems in dynamiceconomics, in: Economic Essays in Honour of Gustav Cassel, Allenand Unwin, London, 1933, pp. 691–704. (Reprinted in: R.A. Gordon,L.R. Klein (Eds.), Readings in Business Cycles, 1966).

[18] P. Ghosh, N. Roy, S.K. Das, K. Basu, A pricing strategy for job allocationin mobile grids using a non-cooperative bargaining theory framework,J. Parallel Distrib. Comput. 65 (11) (2005) 1366–1383.

[19] J. Gomoluch, M. Schroeder, Market-based resource allocation forgrid computing: a model and simulation, in: International MiddlewareConference Workshop Proceedings, Rio de Janeiro, 2003, pp. 211–218.

[20] C. Grothoff, Resource allocation in peer-to-peer networks—an excess-based economic model, Wirtschaftsinformatik 45 (3) (2003) 285–292.

[21] L. He, T.R. Ioerger, Task-oriented computational economic-baseddistributed resource allocation mechanisms for computational grids,in: Proceedings of International Conference on Artificial Intelligence,vol. 1, Las Vegas, 2004, pp. 462–468.

[23] HP Grid computing, URL 〈http://www.hp.com/techservers/grid〉.[24] IBM Grid computing, URL 〈http://www.ibm.com/grid〉.[25] S.U. Khan, I. Ahmad, Non-cooperative, semi-cooperative, and

cooperative games-based grid resource allocation, Proceedings ofInternational Parallel & Distributed Proceedings Symposium (IPDPS2006), 2006.

[26] F. Kelly, Models for a self-managed Internet, Philos. Trans. Roy. Soc.A 358 (2000) 2335–2348.

Page 17: A macroeconomic model for resource allocation in large-scale distributed systems

198 X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199

[27] S. Lalis, A. Karipidis, JaWS: an open market-based framework fordistributed computing over the internet, in: R. Buyya, M. Baker (Eds.),GRID, Lecture Notes on Computer Science, vol. 1971, Springer, Berlin,2000, pp. 36–46.

[28] Mariposa, URL 〈http://mariposa.cs.berkeley.edu/〉.[29] L.W. McKnight, J. Boroumand, Pricing Internet services: approaches

and challenges, IEEE Comput. 33 (2) (2000) 128–129.[31] R. L. Klein, Some economic scenarios for 1980s, Nobel Memorial

Lecture, 1980, in: A Lindbeck (Ed.), Nobel Lectures in EconomicSciences, World Scientific Publishing, Singapore, 1992.

[32] D. Reed, I. Pratt, P. Menage, S. Early, N. Stratford, Xenoservers:accountable execution of untrusted programs, in: Workshop on HotTopics in Operating Systems, 1999, pp. 136–141.

[33] SETI@home, URL 〈http://setiathome.ssl.berkeley.edu/〉.[34] W. Shen, Y. Li, H.H. Genniwa, C. Wang, Adaptive negotiation for agent-

based grid computing, J. Amer. Statist. Assoc. 97 (457) (2002).[35] H.A. Simon, Models of Man, Wiley, New York, 1957.[36] R.G. Smith, The contract net protocol: high-level communication and

control in a distributed problem solver, IEEE Trans. Comput. C-29 (12)(1980) 1104–1113.

[37] B. Snowdown, H.R. Vane, Modern Macroeconomic: its Origin,Development and Current Status, New Edition, Edward Elgar Publishing,2005, ISBN 978-1845422080.

[38] M. Stonebraker, R. Devine, M. Kornacker, W. Litwin, A. Pfeffer,A. Sah, C. Staelin, An economic paradigm for query processing anddata migration in Mariposa, in: Proceedings of the Third InternationalConference on Parallel and Distributed Information Systems, 1994.

[39] Sun Microsystems utility computing, URL 〈http://www.sun.com/service/utility〉.

[40] H.R. Varian, Intermediate microeconomics: A Modern Approach, Norton,New York, 1999.

[41] W. Vickrey, Counterspeculation and competitive sealed tenders,J. Finance 16 (1) (1961) 8–37.

[42] C.A. Waldspurger, T. Hogg, B.A. Huberman, J.O. Kephart, W.S.Stornetta, Spawn: a distributed computational economy, Software Eng.18 (2) (1992) 103–117.

[43] R. Wolski, J.S. Plank, J. Brevik, T. Bryan, Analyzing market-basedresource allocation strategies for the computational grid, Int. J. HighPerformance Comput. Appl. 15 (3) (2001) 258–281.

[44] R. Wolski, J.S. Plank, J. Brevik, T. Bryan, G-commerce: marketformulations controlling resource allocation on the computationalgrid, in: Proceedings of the 15th International Parallel & DistributedProcessing Symposium (IPDPS-01), San Francisco, CA, April 2001,pp. 23–27.

[45] C.S. Yeo, R. Buyya, Integrated risk analysis for a commercial computingservice, in: Proceedings of the 21st IEEE International Parallel &Distributed Processing Symposium (IPDPS-07), Long Beach, CA, March2007.

[46] J. Yu, R. Buyya, Scheduling scientific workflow applications withdeadline and budget constraints using genetic algorithms, Sci.Programming 14 (3–4) (2006) 217–230.

Xin Bai received his B.S. degree from NorthernJiaotong University, Beijing, China, in 1993. Heenrolled in the graduate program in ComputerScience at the University of Central Florida andreceived his M.S. and his Ph.D. degrees in 2003and 2006, respectively. He is now with FactSetResearch Systems, Norwalk, CT. His researchareas include grid computing and multiagentsystems.

Dan C. Marinescu joined the Computer Sci-ence Department at University of CentralFlorida in August 2001 as Professor of Com-puter Science. From 1984 to 2001 he wasa Professor of Computer Science at PurdueUniversity, in West Lafayette, Indiana. He isthe Scientific Director of the I2Lab, an orga-nization supporting interdisciplinary researchin computer and information sciences at UCF.He was a visiting professor at INRIA Paris,an adjunct professor at Tsinghua University inBeijing, and visiting faculty at IBM Research

in Yorktown Heights, New York, Intel in Portland, Oregon, Deutsche Tele-com in Bonn and Multi-Media Systems in Dresden, Germany, Institute forInformation Sciences, Beijing, P.R. China, and GSI Darmstadt, Germany.Dan Marinescu’s work spans several areas: scheduling, workflow manage-ment and grid computing, parallel algorithms and performance evaluation ofparallel and distributed systems, and quantum computing and quantum infor-mation theory. He is the author or co-author of more than 180 publicationsin referred journals and conference proceedings, and book chapters. He isthe author of “Internet-Based Workflow Management: Towards a SemanticWeb,” published by Wiley in 2002 and co-edited with Craig Lee the vol-ume “Process Coordination and Ubiquitous Computing” published by CRCPress in 2002. The book “Approaching Quantum Computing,” co-authoredwith Gabriela M. Marinescu was published in September 2004 by PrenticeHall and awarded the prize of the Romanian Academy of Science for In-formatics in 2004. He was the PI or co-PI of numerous grants from theNational Science Foundation and is the recipient of a 2007 Ernst T.S. Wal-ton award from the Science Foundation of Ireland. For more information seehttp://www.cs.ucf.edu/∼dcm

Ladislau Bölöni is an assistant professor withthe School of Electrical Engineering and Com-puter Science of University of Central Florida.He received his Ph.D. degree in May 2000 and aMaster of Science degree in 1999 from the Com-puter Sciences Department of Purdue University,and Diploma Engineer degree in Computer En-gineering with Honors from the Technical Uni-versity of Cluj-Napoca, Romania in 1993. Hereceived a fellowship from the Computer andAutomation Research Institute of the HungarianAcademy of Sciences for the 1994–95 academic

year. He is a senior member of IEEE, member of the ACM, AAAI andthe Upsilon Pi Epsilon honorary society. His research interests include au-tonomous agents, grid computing and wireless networking.

Howard Jay Siegel was appointed the AbellEndowed Chair Distinguished Professor of Elec-trical and Computer Engineering at ColoradoState University (CSU) in 2001, where he isalso a Professor of Computer Science. He isthe Director of the CSU Information Scienceand Technology Center (ISTeC), a university-wide organization for promoting, facilitating,and enhancing CSU’s research, education, andoutreach activities pertaining to the design andinnovative application of computer, communi-cation, and information systems. From 1976

to 2001, he was a professor at Purdue University. Prof. Siegel is a Fel-low of the IEEE and a Fellow of the ACM. He received two B.S. degreesfrom the Massachusetts Institute of Technology (MIT), and his M.A., M.S.E.,and Ph.D. degrees from Princeton University. He has co-authored over 340technical papers. His research interests include heterogeneous parallel anddistributed computing, parallel algorithms, and parallel machine interconnec-tion networks. He was a Coeditor-in-Chief of the Journal of Parallel andDistributed Computing, and was on the Editorial Boards of both the IEEE

Page 18: A macroeconomic model for resource allocation in large-scale distributed systems

X. Bai et al. / J. Parallel Distrib. Comput. 68 (2008) 182–199 199

Transactions on Parallel and Distributed Systems and the IEEE Transactionson Computers. He has been an international keynote speaker and tutoriallecturer, and has consulted for industry and government. For more information,please see www.engr.colostate.edu/∼hj

Rose Daley is a Principal Professional Staff withthe Johns Hopkins University Applied PhysicsLaboratory. She is the group supervisor of theEnterprise Knowledge Systems Group in theApplied Information Sciences Department. Shereceived a B.S. from Rensselaer Polytechnic In-stitute in EE in 1985 and is pursuing an M.S.in Computer Science at the Johns Hopkins Uni-versity. Ms. Daley has over 15 years of ex-perience in enterprise system as well as real-time, multi-processor, embedded system designand development. She is the PI of a project on

mission-oriented resource management for a Total Ship Computing Environ-ment funded by the DRAP IXO ARMS program. She was the lead architectfor Living With a Star Scientific Resource Access System, a web-based in-formation discovery and retrieval system for scientific data and tools. Hercurrent technical interests focus on system architecture design and proof-of-concept prototype development for DoD, DHS, and intelligent applications.

I-Jeng Wang is a Principal Professional Staffwith the Research and Technology DevelopmentCenter at the JHU/APL and a Research Assis-tant Professor with the JHU CS Department. Hereceived his Ph.D. degree from Purdue Univer-sity in 1996 in EE. From 1996 to 1997, he wasa postdoctoral fellow with the Institute for Sys-tems Research at the University of Maryland,where he conducted research in stochastic con-trol and optimization. Since October 1997, hehas been with JHU/APL where he manages anddirects internal research in developing scalable

modeling, inference, and learning algorithms for solving large-scale DoDproblems. He is the Co-PI of a project on mission-oriented resource manage-ment for a Total Ship Computing Environment funded by the DARPA IXOARMS program. He was the PI of a project on adaptive information controlto develop efficient resource allocation techniques for dynamic QoS provi-sioning over distributed and disparate networks, funded by the DARPA AICEprogram. His current research interests include wireless networking, stochas-tic control and optimization, and distributed inference in large-scale sensornetworks. He is an Associate Editor of the IEEE Transactions on AutomaticControl.