COMPUTING SCIENCE
Collective Wisdom
Brian Hayes
Collectivists and Capitalists
And what about incentives for the owners of that $100
billion distributed computer? The spirit of volunteerism is
a wonderful thing, but it doesn't always scale well. If
Internet computing ever catches on in a big way, we'll
probably hear less about cooperatives and collectives, and
more about return on investment.
One way of paying for Internet computing is through a
commodity market in CPU cycles. If you have 100 computers
with nothing to do nights and weekends, you offer the spare
capacity at an asking price expressed in millicents per
trillion instructions or dollars per Pentium-year, or some
such fabricated unit. Meanwhile someone with a big batch of
numbers to crunch enters a bid for a stated quantity of
computation, measured in the same units. An automated
clearinghouse matches up buyers and sellers.
It could be fun to watch the fluctuations of such a market.
When Lucasfilms needs half the processors in the galaxy to
render scenes for the next Star Wars saga, prices
shoot up. Over academic holidays, excess capacity brings on
a seasonal slump. The market is likely to be volatile,
because CPU cycles are like electricity or fresh asparagus:
You can't stockpile them for later use.
Trading in CPU cycles is not a new idea. As early as 1968
Ivan Sutherland wrote of a "futures market in computer
time"—although his market consisted of only a whiteboard
and colored pens. The market mechanism was explored in
greater depth at Xerox PARC, in an experiment described by
Carl A. Waldspurger, Tad Hogg, Bernardo A. Huberman, Jeffrey O. Kephart and W. Scott Stornetta. For the most part their market worked as economists would predict--each job's share of the total machine time was proportional to its funding—but they did observe some interesting undamped oscillations in prices.
Could a real market, backed by real money, evolve on the
Internet? Questions of security and confidentiality would
need to be addressed. When I send you my program to run, how do I know you won't pry it open and steal my secrets? How do you know my program won't steal your secrets? (The answer to both questions is probably Java.) Another essential precondition is that CPU cycles have to become what economists call a fungible asset, meaning that cycles on one computer are readily converted into those on any other. This is a hard problem but not insurmountable.
In the end, though, the economics of the global metacomputer are probably less interesting than the operation of the machine itself. Given a free flow of computations through all those 100 million nodes, what would such a device wind up computing? I hope that we as a civilization can find a better use for this machine than we have for Janus, whose primary function is to simulate the explosion of nuclear weapons.
© Brian Hayes