Escolar Documentos
Profissional Documentos
Cultura Documentos
.
JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of
content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms
of scholarship. For more information about JSTOR, please contact support@jstor.org.
Springer is collaborating with JSTOR to digitize, preserve and extend access to Economic Theory.
http://www.jstor.org
Econ. Theory
( 1995)
6,225-250
"Pi-?
Economic
Theory
?
Springer-Verlag
1995
The Fuqua
Department
Received:
School
Duke
NC 27708-0120,
Durham,
University,
of California,
Berkeley, CA 94720, USA
of IEOR, University
June
version March
USA
15, 1994
the complexity
Summary. We develop a framework for designing and evaluating
of mechanisms
that allocate resources in a distributed setting to agents or processors
with bounded computational
and describe
ability. We discuss several mechanisms
the construction of efficient price based mechanisms,
which exploit the decentralized
are polynomial
in the number of
aspects of the problem. These price mechanisms
resources, precision of the solution, and the logarithm of the number of agents.
1 Introduction
In this paper we consider the problem of allocating resources among a large group
of processors (or agents) in a distributed setting in order tomaximize
the total social
welfare of an economy. It can also be interpreted as maximizing
total value or profit
in an organization. We provide a framework for studying such mechanisms,
which
we then use to evaluate
several different ones. Our goal is to design efficient
mechanisms
reasonable
allocations
in a distributed
rapidly
setting.
The design of mechanisms
for the allocation of scarce resources among a large
a
is
of
fundamental
group
processors
[1, 10, 14]. This
topic inmodern economics
resources may
is
also
in
of
distributed
where
great importance
problem
computing,
refer to CPU time, network bandwidth, and data storage. In fact much recent work
has involved the application of economic ideas to problems in distributed computing.
(See e.g. [5,9, 15, 17,33,32,36].)
was instituted by Reiter
The formal study of'efficiency'
for different mechanisms
a
on informationally
and
has
literature
and Hurwicz
[12, 24]
large
produced
most
efficient mechanisms.
of
these
consider
mechanisms
which
However,
analyses
at equilibrium
find optimal or Pareto efficient allocations
The
[13].
incorporation
in a limited manner [23]. However,
of dynamic elements has only been attempted
the time required
*
We
been
thank Thomas
supported
find a good
to actually
Marschak
by National
and
Science
(or optimal)
allocation
a anonymous
referee for helpful
Foundation
Grant
IRI-8902813.
suggestions.
This
research
was
226
E. J. Friedman
and S. S. Oren
number
number
of messages
required overall. We believe that the total time and effort
an
to
allocation should be considered when designing mechanisms,
compute
required
as these directly determine how well they function.
Most of the work in this field has implicitly assumed that the processors have
unlimited computational
ability, since they are required to exactly solve difficult
This viewpoint
is certainly unrealistic and
problems instantaneously.
are not
been questioned;
in an economy
typically, the processors
Such limitations have been
infinitely wise, neither is the designer of the mechanism.
referred to as 'bounded rationality' [37, 31].
Several approaches have attempted to account for the decision maker's bounded
optimization
has recently
rationality.
perform
consider
automata.
in an organization
Recently, Radner [29] has analyzed information processing
from a computational
is very similar to ours. However,
which
he
viewpoint
considers the problem of designing an efficient organizational
structure, where we
assume that the structure is predetermined
and concentrate on the protocols within
the
structure.
rationality'. We model
'speed of computation'
complexity
theory for
we use the recent idea
over the real numbers' as discussed
in [3, 22, 2]. Our 'processors'
of'computation
can manipulate
in unit time: addition,
real numbers and do the following operations
subtraction, multiplication,
division, and comparison. This model of computation
It is also, perhaps, a more realistic model of
is both elegant and useful analytically.
most of
numerical analysis. Nonetheless,
the workings of modern
and
computers
our discussion and results are also valid in standard models of binary computation,
such as Turing machines, with only slight modifications.
We consider the problem of constructing mechanisms which compute allocations
to be 'good', in the sense of social utility,1 but not 'perfect', in
that are guaranteed
a reasonable amount of time. The most important aspect of these mechanisms
is
that they scale well with the number of processors. That is, even if the number of
processors
in a reasonable
amount
of
time.2
processors
to use
[21]. He explicitly
infinite computation.
considers
the running
time of a mechanism,
Resource
allocation
mechanisms
227
system, as primal-dual algorithms typically distribute well. For example Arrow and
Hurwicz use a primal dual method
for constructing
in
decentralized mechanisms
are
as
structure
These
efficient
take
of
the
very
[1].
they
advantage
algorithms
inherent in resource allocation problems.3 For example the price mechanism
for a
resource
our
to
is
the
distributed
single
only polynomial-efficient
algorithm
resources
we
two
For
is
it
the
know
which
knowledge.
only algorithm
exploits the
structure of this problem and is the only polynomial-efficient
serial or parallel
algorithm known to us. For more than two resources we conjecture that the same
is true.
we note
3
the theory of mechanisms
and
The formal description
of mechanisms
reflects the interplay between
In fact many of the mechanisms
found in the economics
literature
that of mathematical
programming.
and currently many algorithms
for mathematical
have their inception
in mathematical
programming,
are using ideas from economics
for their inspiration. Our work is no exception.
programming
228
and S. S. Oren
E. J. Friedman
computations
required to find a solution. Note that we are not considering incentives
or initial endowments
of agents.
The paper is structured as follows. In section two we define a model
of
for resource allocation, both with and without a center. Then section
complexity
three presents two quantity based mechanisms,
which are modeled
after known
are efficient we are led
methods of optimization.
Since neither of these mechanisms
to the construction of new, price based, mechanisms
in section four. In the first part
of section four we construct a price mechanism
for a single resource. Although much
of this part is pedagogical,
is a significant improvement
the mechanism
constructed
over known algorithms
for the distributed allocation
of a single resource. In the
for two resources and propose
second part we construct a price based mechanism
a similar construction
for any number of resources. Since the proofs for this part
are quite involved, we present them separately in the appendix. Section five describes
to the important case of externalities and section
the extension of our mechanisms
six contains our conclusions.
2 Model
consider the problem of allocating
data for an economy is the environment
=
This
is denoted
by U
(UUU2,...,
environments. We will assume that T =
We
concave
of all C2 nondecreasing
(utility) functions
t/f:W->
9?+ with
du?
<
l,and
dx?\
17,(0)
= 0. Note
the condition
that
dU,
<
dxi
1 is quite mild
is
=
(x1,...,xn)|x?G^,?x/=l,
j=\,...,r\.
|x
These
The
more
restrictions
restriction
elaborate
to differentiable
proofs.
functions
is not
really necessary,
notation.
and could
be removed
at the cost of
Resource
allocation
mechanisms
Agents
Figure
The
goal
approximately
of a mechanism
maximizes
1. A central mechanism
will
be
an allocation
to rapidly compute
that
=
to
where
xeF,
U(\) subject
U(\)
liU^Xi).
We will consider both central and distributed mechanisms.
Central mechanisms
are very common
in economics. For motivation
consider the standard Walrasian
process consists of a center shouting prices to a large group of processors. Central
can also arise in distributed
are
mechanisms
computing when many processors
sharing
a single
resource.
center-less
However,
are
mechanisms
often
more
relevant
a large collection
of processors
(such as
computing,
or personal computers) are interconnected
on a large network. We
workstations
we design are easily implemented
show that any of the central mechanisms
in a
a
distributed
with
loss
of
setting
negligible
efficiency.
for distributed
in which
where
each mf represents
(m1,...,m?,mc)eM1
a program
x(m, U)
be the output
of mechanisms
5
that computer
(x(mu (7t),...,
Mn
Mc
i follows. Let
x(mn, Un))
of mechanism
which
the case
Note
that this socially optimal allocation
is also Pareto Efficient.
In the case of a single resource this
is inherently more difficult than the standard problem
in an exchange economy. However,
when
problem
there are two or more resources
it is not clear which problem
ismore difficult, or more relevant. This is
an important open problem.
E. J. Friedman
230
Define
e(m,U)
in environment
and S. S. Oren
to be
| (7(x(m,U)) l/(x*(U))|
where
x*(U)
So e(m, U)
argmaxxeFl/(x)
define
to be
UeT
are interested
in parametrized
families of mechanisms,
{me,n,r}, where me,n,r
that for n processors and r resources has ?(me'n'r)< e for all \JeT.
communi
Our mechanism must perform three different actions: computation,
cation, and utility function evaluation. We represent the time required for each of
these operations
symbolically. Let X be the amount of time required for a single
number)
(real
by a processor and X/n for the center, / be the time for
computation
We
is a mechanism
this time
by considering
Timenr)
where G(-) is a (symbolic)
function
OiGie,n,r))
containing
X,I,i2's
such that
Timenr)<KGie,n,r)
for
some
k and
constant
all
e, n, r.
different mechanisms
their complexities.
by comparing
an
of
[18],
algorithm will be
theory
parallel computing
a
in r, log n, and
is
if
it
bounded
deemed
by
polynomial
'polynomial-efficient'
on
used
in
the
definitions
standard
computer science (there
log (1/a). This is based
are a reasonable number of resources, a very large number of processors) and the
on e be equivalent
to an algorithm
that is at least
that the dependence
condition
linearly convergent.
2.2 Distributed
mechanisms
of other processors.
Resource
allocation
231
mechanisms
001
000
010
Oil
100
101
110
111
Agents
Figure
2. Agents
organized
on a Butterfly
network
computes more slowly than the center does, which would make any polynomial
distributed one.
into a polynomial-inefficient
efficient central mechanism
This can be avoided by exploiting the power of distributed computations
by the
in a
which we describe can be implemented
network. All of the mechanisms
is increased by a
the complexity
distributed manner. In each of these mechanisms
and information
factor of log n in the number computations
not effect the polynomial-efficiency
of any of the mechanisms.
3 Quantity
exchanges.
This does
mechanisms
mechanisms
6
Actually
any expander
graph will
suffice.
(See [18].)
232
E. J. Friedman
and S. S. Oren
sublinearly.
This can be seen in the following
and Yudin [26].
Nemirovsky
1 A mechanism
Theorem
theorems
which
are based
on
the work
can be constructed
of
which has
complexity
= o(rV
T{mEn^(eUipsoid))
+ Xo%lh + / + q
J
log(i7i/e) x(\
for
2 A mechanism
which has complexity
Theorem
of mirror descent
+ Z+
fl])
nm^mdM^^^^l+^
for
can be constructed
problem.
for brevity.
It is a straightforward
of the
application
algorithm described in [26].
do not satisfy our definition of polynomial-efficiency.
Thus, primal mechanism
is not truly distributed and
The ellipsoid mechanism
fails because the computation
share of the work. The Mirror Descent
the center must do a disproportionate
on s, i.e. 0(\/e2).
also fails due to its poor dependence
Mechanism
Even for the case of one resource, primal algorithms with known bounds on
their complexity
[15, 8] fail our criteria of polynomial-efficiency
poorly. In the next section we describe a primal-dual approach
weaknesses
of primal mechanisms.
as they distribute
the
that overcomes
4 Price mechanisms
is based on the idea of a Walrasian
idea of a price mechanism
process, which
in detail in [40]. Thus, our process is based on the idea of a center
a sequence of prices, and processors picking a consumption
bundle
announcing
The
is described
its original
it does
programming
found useful
[4].
and Yudin
to prove
applications.
Resource
allocation
233
mechanisms
U^x-)
this mechanism
is not stable [35]. A modification
allocation. However,
of it based
on the 'Global Newton Method'
a
is
but
stable,
[38]
space.
larger message
requires
assume that processors
can provide their exact optimal con
These mechanisms
are able to instantly
sumption bundle for a given set of prices. Thus processors
a
the
of
difficult optimization problem, while any such computation
compute
optimum
requires an arbitrarily large number of computational
steps. The issue of accuracy
and computation
in this situation has been neglected
in the
ability of processors
literature.
In this section we show how to construct finite 'computational' mechanisms
are polynomial-efficient
based on theWalrasian mechanism. These mechanisms
and
naturally
4.1 One
distributed.
resource
In this section we present a price based algorithm for allocating a single resource.
The algorithm we present
is not the simplest possible, but it is the one most
are extendible to
amenable to generalization. Most of the ideas in its construction
a basis for
the multi-resource
problem. Thus, our goal here is to provide
other price based mechanisms.
constructing
This mechanism
operates in two stages. (Recall that we are trying to maximize
L/(x) over all feasible allocations,
given a prespecified amount of the resource.) In
the first stage the center announces a price and the processors compute a resource
that approximately maximizes
utilization
Liix^p)
UiiXi)
piXi
\/n)
version of a binary
search
L'iixi,p)=U'iixi)-p.
UjiX,) -pKj
Xj(lOUj)
Figure
x(high)
K,
Kj(high)
price. Note
any allocation
between
x(low)
and
234
E. J. Friedman
and S. S. Oren
Using this information the center computes a new price and the process
until the center has found a price p that approximately minimizes
L(\,p)
continues
YaLi(xi,p).
i
the current allocation may not be feasible for two reasons. First, even
However,
was
if the price
the correct price p*, the resulting allocation might not be feasible if
the processor's
utility function was flat at this price, and its marginal
utility
choices all with
constant, thus allowing for a wide choice of possible consumption
is that the price p may be
the same net utility. (See figure 3.) Another problem
effects.
arbitrarily far from p* due to inter-processor
This problem is remedied in stage 2. Basically, the center asks the processors for
their maximum
and minimum
choices x, that are reasonably good
consumption
(within ? of optimal), given the price p, which the processors compute approximately
using a finite accuracy binary search. By noting that a feasible allocation must occur
in the interval between these
for some x with the consumption
by each processor
two points, we see that some convex combination
of these points must give a feasible
x is then used as the allocation. While
this allocation
allocation. This combination
?
x* ||may be quite
may be arbitrarily different from the optimal allocation
( ||x
?
U(x)\ as it is the convex
|
large) it is still an accurate one in the sense of U(x*)
and convex combinations
of two other good allocations
combination
preserve the
of solutions.
the center
the interplay between the processors and the center. Essentially
allocation by asking questions of the processors,
is computing a good approximate
answers. Thus there are two levels of computation
who are computing approximate
accuracy
Note
Stage
program?m*'"'1
(price)
1:
x(p)
is
Resource
allocation
235
mechanisms
Stage 2:
1. For all i: transmit p to processor
i.
2. For all i: receive xf from processor
i.
3. Compute
maximum
and minimum
s? =
(The
?/xi?.
are
that
Lete'
for combining
x+ and x~.)
iprice)
program?m*'"'1
Stage 1:
1. Receive p.
2. Let Xj = 0 and xh =
3.
amounts
e-accurate.)
consumption
1.
?2.
4. Repeat Na = flog(l/?')l
times.
(Perform a binary search to find the optimal
=
(a) Let xm
(x, + xh)/2.
=
(b) Letvm
U'iixm).
=
xm.
(c) Ift;m<pletxz
=
Else
let
xh
xm.
(d)
5. Continue.
6. Transmit L,(xm, p) to the center.
7. Go to 1.
Stage 2:
1. Receive p from center.
2. Do for w= ?1.
= 0 and
=
xh
(a) Let xl
consumption
at price p.)
1.
(b) Setf=Li(xl>P).
(c) Repeat [log(s)] times.
value of x?
(Do a binary search to find the maximum
(resp. minimum)
such that \LiiXi,p)
L(x,,p)| < e.)
i. Let xm = (x, + xh)/2.
ii. Let/m = Li(xm,p)andi;wl = (;;.(xJ.
iii. If |fm? lm |< ? let x, = xm if w = + 1 otherwise let xfc= xm.
iv. Else if vm< p then let xz = xm.
v.
let xh =
Else
xm.
3. Continue.
4. Transmit
to center.
x1
Receive
a from
6. Compute
x,
5.
Theorem
3 The
center.
i.)
=
T(m<*1)
?((iog"Y[X
Proof:
to processor
+ / + 12]Y
stage 1 the center
stage 2. During
of a sum,
the computation
requires
236
E. J. Friedman
and S. S. Oren
computes
L(x,p)
the Lagrangian
YjUi(Xi)-p'(YjXi-l)
F(p)
[30] we know
argmaxx
1 Stage
Ui(Xi)
of F(p)
p(Xi
is separable
in x and
\/n)
is
dF(p) dL(x,p)
dp
dp
through
is a convex
L(x,p*).
=
Define x(p)
argmaxx L(x,p) so x*
x(p*). The Lagrangian
=
can be written as L
where
?. Lx
=
Li(Xi, p)
that F(p)
5>i-i
<n
two lemmas.
\F(P)-F(p*)\<e.
that the processors
Proof: Notice
simply perform a binary search for the xf that
is the condition
for optimality.
Thus the x, that the
satisfies U'i(Xi) = p, which
processor computes, which we denote xf(p), is within e' of the optimal x?(p) which
a derivative
that is close to zero it immediately halts. This is correct since for this
to occur the derivative at this point must be less than e. This implies that either pm
is within ? of p* or that all three, pm and p? are approximately
equal. This also
no
matter
how
far pm is from
solution
?
the
within
of
that
is
optimal
F(pm)
implies
s
assume
then
+
For
that
p*>pm
p*.
example
Resource
allocation
by convexity.
237
mechanisms
Therefore
?
\F{pm+ e) F(pm)\ < ? we see that
O
0>F(p*)-F(pm)>-?/n>-e.
Lemma
compute
solution.
an approximation
- ?
s.t. Lt(xi9P) > L^p)
argmax^.dxi)
ifwe can show that s+ > 1 and s~ < 1 then 0 < a < 1 and
that is accurate to ?.Now
of x*. Now as l^x1,^) ? Fip)\ < 2ns we
the allocation x? is a convex combination
?
see that |L(x, p) Fip)) < 2ne as L(x, p) is concave in x and thus L(x, p) > min L(x ?, p)
x? =
by concavity.
From this we
immediately
see that
=
|L(x,P) L(x*,p*)| < 3ne
\Lix,P) Fip*)\
and as both x and x* are feasible
\Uix)-Uix*)\<3ne<e
thus showing that the solution is sufficiently accurate.
Now we must show that s+ > 1 and s" < 1. If the center
?
this implies that
small derivative then \p p*\<e
\Lix*,p*)-Fix*,p)\<ne
as the Lipschitz constant of L(x, p) is less than n. Now as L(tf, p) < L(x(^), p) then
this implies that xf is an ? accurate solution to the processor's
stage 2 problem.
Thus xf~ < xf < x* implying that s+ > 1 and s~ < 1.
if the center terminated stage 1 due to a small derivative then we know
However,
that
\dF(P)\
< ?, but we
also know
that
dp
dFiP)
.
=*(?)-1.
dp
Now
if we consider x' = xip)/s(p)
Thus we see that \sip)\ < ? where sip) =
Y,ixi(P)=
we see that
1 and |x?. xt(P)\ < 2e. thus
\L(x',p) Ux,p)\ < 2ne for ? < 1/2,
?.x;
so xf~ < x\ <
O
the proof of the lemma.
x?+, completing
Combining
resources
238
E. J. Friedman
and S. S. Oren
differences
small chance of failure [26]. The second difference is that in the price mechanism
for a single resource we used a finite accuracy variant of the bisection method
for
several purposes since all searches were one dimensional.
In this case we must do
similar searches in two or more dimensions. Therefore we must replace the simple
bisection method with an ellipsoidal algorithm for convex programming.
This is
the same algorithm used for the ellipsoid mechanism,
but in this case it operates on
the price space, which
is much
smaller (dimension
r) than the primal space
(dimension nr) on which the ellipsoid mechanism
operates.
The construction
than in the simple case.
of stage 2 ismuch more complicated
to construct two solutions who's convex hull
In one dimension
it is straightforward
contains a feasible solution. In higher dimensions
this ismuch more difficult. For
the case of two resources we have constructed a method which solves this problem.
We believe that a generalization
of the method should work for an arbitrary number
of resources but have no proof of this conjecture.
we describe
In the following discussion
of a price based
the construction
over
0 < x < 1. As the
for two or more resources which maximizes
mechanism
l/(x)
are
1
resources
not
two
for
for
than
the general case,
for
any simpler
stage
proofs
we will give them for the case of an arbitrary number of resources. However
for
on
a
we
resources
case
to
two
2
comment
the
and
stage
only briefly
specialize
possible extension to cases with more resources at the end.
In stage 1 the mechanism
computes a p that is ? accurate
where
F(p),
?
?
=
F(p) = max L(x, p) max l/(x) Pi ? xf 1 J
using
e3-approximate
solutions
Figure
by the processors
4. Geometry
to evaluate F(p).
of stage 2 algorithm
of
Resource
allocation
239
mechanisms
Stage 2 iteratively
computes
a set of solutions
to
?
max c1"x s.t. L(x,
| ?
|
p) L(x, p) <
who's
convex
a feasible
hull contains
solution (approximately).
This is done by
a
or restrict
which
contain
feasible
either
solution
repeatedly constructing
simplices
the solution by pushing a face of the simplex up towards the solution. (See figure 4.)
This is continued until either a feasible solution is found (by being contained in the
convex hull of a simplex) or a face of the simplex is close enough to a feasible solution
that we can just 'round' the solution to feasibility with only a small loss in accuracy.
to the problem with an arbitrary number of
This idea seems to generalize
resources. Again in this case we can use simplices to trap a feasible solution against
the face of a simplex. Unfortunately,
this does not guarantee that a straightforward
we
will
believe
that by using several such simplices
work.
However,
rounding
we
can
to allow for a
'trap' the feasible solution,
simultaneously
successfully
to
succeed.
rounding step
As the mechanism
for two or more resources is significantly more involved than
one
that for
and less
resource, we will describe the programs more descriptively
Stage
program?m*"''(price)
1:
1. Construct
the
x=l/2
ellipsoid
1 =(1,1,...,
where
1)
and
p at random
from
B-Diaa(7?.7-}
2. Let e= e/4.
times.
3. Repeat Nc = [4r2 log(l/?)]
an
Construct
gradient
approximate
(a)
the box K = {p| ||p-p||i
<
T} where
r
at p by choosing
T = ?6--.
Now
12/rr
U(x + Tei)-U(x)
-e?
c=l
where
let
and t =-?-.
Se3
576n7r4log(l/8)
(b) compute
method.
4.
Continue.
a finite precision
240
E. J. Friedman
and S. S. Oren
=
Stage 2: (For r 2.) (Initialize.)
1. Letc.Ml^c^-l^.
2. For all i: transmit ch and c, to the processors.
3. For all i: receive sh and Sj from the processors, where
v such that \\st ? sh)= 0 and (0, l)v = 1.
4. Compute
5. Letv = v/||v||2.
=
6. Ifvtsi<ethencm
(0,l)t.
7. Else if vfs, > ? then cm= (0, - l)f.
8. Else Goto ROUND.
9. Let d = c,?. (This will define the outward direction.)
s=
xx?e9?2.
?"=
=
Xh Xm,Xh such that Xtst + XmsmH-Xhsh
XhXm,Xh and c/5cm,ch to all processors.
Compute
1.
16. STOP.
Processor's
program?m\,n,riprice)
1:
Stage
1. Receive
p.
2. Construct
the ellipsoid
/ 2
x? =1/2
and Bf = Diagl ?,
2
?-,...,
Xy/r yjr
Jin
=
3. Repeat JVC
times.
[32r2 log(nr/(??))l
bundle for price p.)
consumption
(Compute an e-accurate
the gradient at x,.
(a) Compute
(b) Compute a new x{ and B using the ellipsoid method for solving L^x,, p).
=
(c) Let lmax max[/m?x, Lt{xh p)].
4.
Transmit
5. Goto
lmax.
1.
Resource
allocation
241
mechanisms
Stage 2:
1. Receive
c from center.
2. Construct
the ellipsoid
x,
/ 2
2
??,...,
\y/r yfr
Transmit
5. Go
Jr/
bundle
consumption
x,.
to 1.
6. ROUND:
7.
8.
9.
10.
11.
12.
13.
Theorem4
For
any Se(0,e/n)
price mechanism
ment(price)
has
complexity
=
TM
+ log(n/e))
+ / + ? log(n/8)]
log
^)[*(1
greater
than 1? S.
1 For
any Se(0,e/n)
T=e[r*[ log
^
the r resource
price mechanism
m?n'r(price)
has
greater
than 1?
<5.
242
E. J. Friedman
should be extendible
5 Resource
allocation
a polynomial-efficient
mechanism
to more than two resources.
and S. S. Oren
with externalities
In many instances the utility a processor derives from a certain bundle of resources
is dependent on the resources used by the other processors. Two classic examples
as the
of this are pollution and congestion. These are both negative externalities,
increased total use of resources reduces the processors derived utility.
are also possible.
Positive
externalities
For example
the usefulness
of a
network may depend on the number of people using it, assuming
communication
that it is operating below capacity. In this case ifmany people use the network then
more people are reachable on the network thus increasing its value. (See e.g. [27].)
in this paper we will only consider negative externalities, as they are the
However,
common in resource allocation and distributed computing.
To account for externalities, we modify our formulation
slightly, and assume
negative externalities of a simple and common form. We allow the utility functions
to depend on X? (A1,..., Xr)where Xj =
?"= Axj. So
n
most
U(x,X)=YUi(xi,X).
?=1
in X. Since A is a
decreasing
require that (7(x, X) is concave and monotonically
we
can
be less restrictive about the definition of X, by viewing
negative externality,
as
it
just another variable subject to Xj > E"= xx{, as the optimal solution will always
occur when the constraint is binding.
We can modify both the ellipsoid and descent mechanisms
quite simply, to solve
?
the resource allocation with externalities. We note that the transformation X= 1 X
us
to rewrite
allows
We
F =
jx|0<x,0<!,
X x/ + 2J'<ll
and note that F is equivalent to F with the addition of r new variables. Thus this
new problem is almost identical structurally to the problem without externalities.
allows them to solve the new problem
A slight modification
of these mechanisms
with negligible
loss of efficiency.
that solves the resource
In fact, any mechanism
(including the price mechanism)
can
to
solve the problem with externalities. Let Tie, r, n)
be used
allocation problem
mechanism
that solves the
be the time required by an arbitrary polynomial-efficient
resource allocation problem without externalities. Note that this time is unchanged
ifwe solve the generalized problem, but fix the externality effect to a certain level,
say X0 < 1. Letting
ViX)
maxUix,X)\X
xeF
X0
to maximize
ViX). (Note
Resource
allocation
243
mechanisms
Theorem
=
^externalities^ ^ ") ^
log(l/e)(T(?,
resources
solves the
r, n) + r))
= r3
log(l/e)[T(?3,
r, n) + r]
to be polynomial-efficient
the mechanism
is assumed
it must have a
in
time
which
is
in
Therefore
the
e4
the
running
log 1/e.
polynomial
complexity can
be replaced by e as this can only change the running time by a multiplicative
= 3
D
constant, since log e"3
log e'1.
Thus externalities do not increase themechanism's
dependence on n significantly
and
or
since
decrease
its convergence
rate.
6 Conclusions
We have described a general framework for constructing and comparing mechanisms
a
resource allocation
for distributed
under bounded
rationality, and developed
rigorous computational model of resource allocation with realistic processors. This
are given
is in contrast to the large body of economic work where processors
unbounded
is much more
computational
ability. Also our measure of complexity
relevant than the standard definitions of complexity,
such as the size of message
this model we have still been able to design polynomial-efficient8
space. Using
for resource allocation and compute their efficiency.
mechanisms
Another major contribution
of our work is explicitly considering mechanisms
with a large number of processors. Many of the mechanisms
in the literature either
implicitly or explicitly apply to a very small group of processors, often two or three.
In contrast, we are interested inmechanisms
that apply to large or very large groups
this is an important distinction, as allocating
of processors. For resource allocation
resources
to a small group of processors
is relatively easy, and the differences
is probably unimportant.
between different mechanisms
to economic
Thus our major contribution
theory comes from raising these two
a methods
to
and number of processors,
and by developing
issues, computation
design mechanisms
in this framework.
have
to
244
E. J. Friedman
A Appendix:
Proof
of Theorem
and S. S. Oren
we
In this section we give the proof of Theorem 4. For stage 1 of the mechanism
an
resources
as
the
number
is
for
of
this
cleaner
give
proof
arbitrary
notationally
and requires no extra effort. For stage 2 we explicitly consider the case of two
resources. In this part of the proof the argument requires this restriction. However,
we believe that this should generalize in a natural manner.
A.1
Stage
the basic concepts required by the proof and set some of the
[20] allows us to rewrite the
Duality
theory of convex programming
? 1.
Then let
in the following manner. Define s(x) = ?.x?
First we describe
notation.
problem
L(x,p)=i/(x)-pts(x)
then define
F(p)
which
is a convex
= max
X L(x, p)
that achieves
the maximum.
over p of L(p) is
Now the basic theory of convex duality says that the minimum
is
if
the
to
maximum
of
the
the
allocation
Also,
p*
price that achieves
problem.
equal
then x(p*) = x* is the optimal allocation.
the maximum
for the allocation problem.
Using this we discover a natural distributed method
Define
L?(xi,p)=C/?(x)-pt(xi-l/n)
so that L(x, p) =
Define
?"= lLf(xf, p).
each processor to solve its own
maxL^p).
Xi
can solve the low dimensional
Then a central processor
problem of finding the
of F(p).
minimum
is that of approximating
The first major difficulty which we must overcome
value
of F(p). Deterministically
the
functional
gradients with only information about
can
as
where the value of the
'kinks'
have many
the function
this is very difficult
if we choose the places to evaluate the
gradient can change abruptly. However,
we
a
can
of the gradient with
useful approximation
function at random, then
get
a
small number of query points.
only
Lemma 3 For any <5e(0,e) the procedure for approximating gradients
?
with probability greater than 1 a where a = <5/(4r2log 1/e).
Proof:
See [26].
is ?-accurate
Resource
allocation
245
mechanisms
Proof:
Lemma
1 produces
\Fip)-Fif>*)\<e
and
|L(x,p)-F(p)|<^
and therefore
|F(p*)-L(x,p)|<2?
for ? <
greater
?
than 1
<5.
The first statement follows from the argument above on the accuracy of the
for computing
gradients. The
algorithm
ellipsoid method with the randomized
of x(p), and the third
second from the accuracy of the processor's own computation
from combining
the first two. O
Proof:
A.2
Stage 2
a feasible solution
G =
Gvx
combination
of several
of
solutions
maxc^x
X
where
as the convex
Gn
s.t. xeG
and
Gi={x|L(x?,p)-L(x,p)<4?}.
is computed using the ellipsoid method
by the individual
n
into
is
independent pieces.
separable
problem
This
Theorem
6 The computation
as the
of
max rfxt
X
to accuracy
processors
?2 can be accomplished
s.t. x^Gi
in r2 log(r/2?3)
Proof: Note
that Gf must contain the hypersphere
constant of L^x^p) is less than 1. This hypersphere
E. J. Friedman
246
and S. S. Oren
of lemmas.
6 Given p is an ?2 accurate
Lemma
solution
there exists
of F(p),
\\p-pf\\2<?and\\W(p')\\2<?.
Proof:
Consider
by
VF(y(t))
dy(t)
dt
s.t.
\\W(y(t))\
y(0)
which is a path from p to p* where t is the arc length of the path from y(0) to y(t).
Note that y (I) = p* where / is the length of the path y.
Now
=
F(p)-F(p*)= flVF(y(t)y^dt
f ||VF(7(t))\\2dt
dt
Jo
Jo
is just the line integral of VF.
?
F(p*) < e2. Thus
By assumption F(p)
which
f
as the integrand
Now assume
Jo
hold
l|VF(y(x))||2dy<?2
is non-negative.
that the theorem
is false. This
implies
?
have VF(y(x))
||
||2> ?as theEuclidean distance ||y(0) y(?) ||2 is less than thedistance
along
y. Since
Wmn2??<6
f
minJVF(y(x)
0<X<?
Jo
Jo
f1
However,
the gradient
7 The feasibility
Lemma
Proof:
the theorem.
proving
This
follows
of F is related to feasibility.
? 1=
vector, s(p)
VF(p).
theorem,
dF(p) dF(p)
dp
Using
problem.
this we
|VF(y(x))||2dy>e:
show
dp
that a feasible
s(p)-l.
solution
exists
optimization
Resource
allocation
247
mechanisms
Lemma
of F(p),
there exists
an x? such that
?
From the previous
lemma there exists a p' such that ||s(p')
=
x
that is feasible and noting that
letting xj
xjip')/sjip') gives an
Proof:
1 ||2< e then
Hx-x(p')||2<2?
implies that
|L(xf(p'),p/)-L(x?,p)|<2?
by the Lipschitz
p we know that
constant
of L?. Now
by the Lipschitz
constant
of Ft for changing
|J\<P)-JW)|<?.
these inequalities produces the required result.
O
Combining
Now that we have shown that a G contains at least one feasible solution we will
describe how to construct one of these.
A.3 Constructing
The easiest way
a feasible
solution
to understand
is to consider
the map
defined by
sf(0)
argmaxx.(cos0,
sin?^x,
s.t. xeG
and s(0) =
Note that in the mechanism we work directly with c = (cos 0, sin 0)
Xis;(f3).
instead of 0. For the purposes of the proof it ismuch clearer to work in 0 directly.
The mechanism
works in the following manner. The feasible point 1 must lie
on one side of the line between sz and sh.We choose 0m such that sm is on the same
side of the line that 1 is. Now
these three points create three possible regions in
can
1
lie.
which
(See figure 4.) If the point lies in the convex hull of s/5 sh, sTO(region I)
then we stop. Also if the point lies close to one of the lines sjs^ or sfcsm then we also
if the point lies in one of the remaining regions (regions II or III)
the two points that define that region to be our new 0, and 0h and
continue the process.
In order to prove that the mechanism
constructs a feasible solution we note that
Stage 2 actually performs a binary search in 0, and the only ways it can halt are:
stop. However
then we choose
0l-0h<2n/e.
of
the following
lemma shows that the convex combination
gives a feasible solution that is ?-accurate.
?
Lemma 9 Let u,v,w
that
all satisfy
{resp. v,w). Assume
|L(u,p) F(p)| <4?
<
x = Xuu+ Xvv+ Xwwwith 0 < Xu, Xv, Xwand Xu+ Xv+ Xw= ?. Then L(x,
4?.
\
p) F(p) |
In the first case
248
E. J. Friedman
si
sh
Figure
Proof:
By convexity
and S. S. Oren
5. Accuracy
of stage 2
of L we have that L(x, p) < max [L(u, p), L(v, p), L(w, p)]. However
Lemma
defined
=
by xj
xj/sj(x)
satisfies
|L(x,p)
F(p)|<2e.
? x
? 1 < e.
that x, is feasible. Also
Thus by the
||x'
||2< e as ||s(x)
||2
we
L
O
the
result.
of
desired
get
Lipschitz continuity
Now we will show that case 3 is actually equivalent to case 2 as |0,? 9h\ < 2ne
of x(0?) and
implies that there exists a solution x which is the convex combination
Proof:
Note
x(??)and||s(x)-T||2<e.
Lemma 11 Assume that the center's stage 2 algorithm received the exact solution
?
then 1 must be within ? of the line s?s?.
s(0) at each iteration. Then if \9l 9h\<e
Proof: This follows from elementary geometry and the fact that the feasible solution
1must be contained
in the region bounded by s?s?~by construction. Also we know
that c(9l)ifsl > c(9?f 1 and c(0m)fsm > c^)1" 1 as these (shsh) are the respective
maxima of their respective c's. This region forms a triangle with angle a = n ? ? as
?=\9h-9l\.(Seengure5.)
Since we know that ||Sj? sh \\2< 2 the height of the triangle must be less than 2
sin e/2 which is less than e. Thus as the point 1 is contained within this triangle, we
see that the distance from 1 to s^ must be less than e. O
the center does not receive exact solutions from the processors. The
However,
solutions from the processors are only accurate to ?2. In fact the solutions s(0) can
as the next lemma shows,
be arbitrarily far from the true solutions s(0). However,
these solutions are actually close to the real solution for a slightly different 9. Thus
we can imagine that the values of 9 ave uncertain. However,
this does not effect the
binary search if these errors in 9 are less than e.
?
12 Assume
Then
that Ic^^s
s(0))| <e2.
<
s
e.
2ne
and
2
||
\9-9'\<
s(0') ||
?
Proof: As |c(0)f(s
s(0))| < e2 we see that there exists
Let y(x) be the boundary of the feasible region with
assume that y is parametrized
by arc length.
now
show that there exists a ff such that &
We will
|
Lemma
Combining
these inequalities
produces
the theorem.
there exists
a 9' such
that
||s(0')
s(f) ||2< ?.
Resource
First note
Note
249
mechanisms
allocation
to ymust
point
in the direction
defined
by 0.
that
r*(?)
c(0)t(s(0)-s(jS))=
Jo
r*(?)
tan(0(u)-0)dt/<
Jo
2/*(0(ii) 0)du
|0(x)
satisfy
0| > ?,
c(0)t(s(0(x))-s(0))>?2
However
this contradicts
even with
References
1. Arrow,
Essays
K., Hurwicz,
in economics
in resource allocation.
and computation
In: Pfouts, R. (ed.)
Hill: University
of North Carolina
1960
Press,
over the reals (or an arbitrary
of computation
and complexity
ring).
L.: Decentralization
and econometrics.
Chapel
Computer
Science
Institute,
CA, December
Perkeley,
1989
over the real numbers:
3. Blum, L., Shub, M,
Smale, S.: On a theory of computation
Bull. ACM 21, 1-46 (1988)
recursive functions,
and universal machines.
4. Ecker, J. G., Kupfershmid,
for nonlinear
J.: The ellipsoid algorithm
programming.
JVP-completeness,
Math.
Prog.
27,
83-106(1983)
5. Ferguson,
D. W., Nikolau,
C, Yemini, Y.: Microeconomic
of the 8th International
buted computer
systems. Proceedings
1988
Systems,
algorithms
Conference
resources
In:
in parallel: upper and lower bounds.
E. J.: The complexity
of allocating
in numerical
Scientific
1993
P. (ed.) Complexity
optimization.
Singapore: World
with
for convex
combinatorial
7. Friedman,
E. J.: A strongly
programs
algorithm
polynomial
Technical
constraints
and resource allocation.
report UCB/ERL/IGCT
M92/6,
Interdisciplinary
6. Friedman,
Pardalos,
on Coordination
Electronics
of California,
Research
Laboratory,
Theory,
University
1992
Berkeley, CA 94720, January
for the allocation
and other nonlinear
D. S.: Lower
and upper bounds
8. Hochbaum,
problem
and Industrial Engineering
School of Business Administration
optimization
problems. Manuscript,
Group
and Operations
Research,
1990
December
University
of California,
Berkeley,
CA
94720.
September
1989, Revised
1988
Amsterdam:
North Holland
9. Huberman,
B.: The ecology of computation.
Am. Econ. Rev. 1-30 (1973)
for resource allocation.
10. Hurwicz,
L.: The design of mechanisms
and efficiency
in resource allocation mechanism.
L.: On informational
decentralization
11. Hurwicz,
Association
economics. Washington
D.C.: Mathematical
in mathematical
Reiter, S. (ed.) Studies
America
1986
12. Hurwicz,
L.: On
and organization.
informationally
Minneapolis:
the dimensional
decentralized
University
C. B., Radner,
systems. In:McGuire,
of Minnesota
Press 1986
R. (ed.) Decision
decentralized
of informationally
pareto satisfactory
requirements
L. (ed.) Studies
in resource allocation
In: Arrow, K. J., Hurwicz,
processes.
processes.
Press 1977
New York: Cambridge
Cambridge,
University
for resource
dimensional
T.: Discrete
allocation mechanisms:
14. Hurwicz,
L., Marschak,
requirements
are unbounded.
J. Complexity
when the desired outcomes
allocation mechanisms
1,264-303
(1985)
13. Hurwicz,
adjustment
L.: On
In:
of
250
and S. S. Oren
E. J. Friedman
allocation
problems:
algorithmic
for linear programming.
algorithm
(1979)
to optimal
resource allocation
in distributed
J. F., Simha, R.: A microeconomic
approach
systems. IEEE Trans. Comp. 38, 705-16
(1989)
to parallel algorithms
1991
18. Leighton,
F. T.: Introduction
and architectures.
Morgan-Kaufman
convex functions.
Sov. Maths.
19. Levin, A. Yu.: On an algorithm
for minimizing
1,286-90
(1965)
2nd edn. Reading, Massachusetts:
Addison
20. Luenberger,
D. G.: Linear and nonlinear
programming,
17. Kurose,
computer
21. Marschak,
T. A.: Organizational
economics.
New
mathematical
22. Megiddo,
N.: Towards
a genuinely
polynomial
M. D.
K. J., Intrilligator,
1986
algorithm
(eds.) Handbook
Siam
of
J. Comp.
23. Mount,
size of message
spaces. J. Econ. Theory 8,161-192
(1974)
1990. Discussion
with
human
of
K., Reiter,
agents
Paper No. 890.
computing
Northwestern
for Mathematical
Graduate
School of Management,
Center
J.L. Kellogg
Studies,
Ilinois 60208
Evanston,
University,
New
in optimization.
26. Nemirovsky,
A. S., Yudin, D. B.: Problem
and method
efficiency
complexity
24. Mount,
25. Mount,
S.: The
K., Reiter,
informational
S.: A model
York:Wiley 1983
27. Oren,
S. S., Smith,
S.: Critical
mass
and
tariffs in electronics
communication
markets.
J. Econ.
Bell
12,467-487(1981)
K.: Combinatorial
C. H., Steiglitz,
optimization:
Inc. 1982
Cliffs, New Jersey: Prentice-Hall,
Englewood
information
of decentralized
29. Radner, R.: The organization
processing.
28. Papadimitriou,
algorithms
and
Econometrica
complexity.
61,1109-1146
(1993)
R. T.: Convex
30. Rockafellar,
E.: Do
31. Russell, S., Wefald,
32. Sanders,
networks.
B.: An
incentive
Press 1970
New Jersey: Princeton
University
analysis. Princeton,
1991
Boston: MIT Press,
the right thing: studies in limited rationality.
for rate allocation
in computer
flow control
algorithm
compatible
IEEE Trans.
(1988)
Comp. 37,1062-72
33. Sanders, B.: A private good/public
queue. IEEE Trans.
good for optimal flow control of an m/m/1
Autom. Contr. 30,1143-5
(1985)
for
for the transistor sizing problem
34. Sapetnekar,
S., Rao, V., Vaidya, P., Kang, S.: An exact solution
cmos circuits using convex optimization.
1992
Mimeo
35. Scarf, H.: Some
examples
of global
instability
of the competitive
equilibria.
Int. Econ.
Rev.
1,157-72
(1960)
with selfish users. In: King, P. J. B., Mitrani,
allocations
36. Shenker, S.: Efficient network
I., Pooley,
1990
R. J. (eds.) Performance
'90, pp. 279-285. New York: North-Holland
and
In: McGuire,
C. B., Radner, R. (eds.) Decision
of bounded
37. Simon, H. A.: Theories
rationality.
Press 1986
of Minnesota
University
Minneapolis:
organization.
38. Smale,
S.: A convergent
process
of price
adjustment
and global
newton
methods.
J. Math.
Econ.
3,107-20(1976)
convex functions over convex sets. In: 30th Annual
P. M.: A new algorithm
for minimizing
1989
on the Foundations
of Computer
IEEE, October
Science, pp. 332-337.
Symposium
W.
W.
1978
York:
New
40. Var?an, H. R.: Microeconomic
Norton,
analysis.
39. Vaidya,