From: O'Regan, Emlyn (Emlyn.ORegan@actew.com.au)
Date: Tue Aug 24 1999 - 00:10:48 MDT
Spike, that analysis of cash prize effectiveness seems like a lot of hard
work, and I'm fundamentally lazy. I'm also impared with respect to
statistics (otherwise I'd have to face the fact that I probably wont live
forever after all).
Be all that as it may, I am actually quite interested in doing a distributed
computing project. I was thinking a while back about the following ideas:
1- There's lotsa unused CPU time out there, but it needs to be used in
chunks (grouped around physical machines). That is, it will suit concurrent
applications.
2- Communication between processes in this concurrent environment is
approaching impossible in any practical sense, certainly impractical at this
stage.
3- You could get a *lot* of people to jump on board if they could be
rewarded in some way. Money, kudos, inner glow, whatever. Depends on your
gatekeepers (the particular group of owners of idle machines).
So, what can be done in a highly parallel way, without needed lots of
intercommunication between processes? Simulation came to mind immediately. I
think this is a growing field in business. People currently build
simulations of things like factories, and run them a lot of times using
various statistical distributions to generate inputs on each run. A lot of
times equates to a few thousand if you're lucky I think.
Seperate runs of an experiment (ie: simulation). No intercommunication.
Often each run is relatively small (might run on a PC very comfortably). So
a sim could be run orders of magnitude more times in a distibuted computing
environment, probably for far lower cost.
What's the cost? I think you should probably pay people for their CPU time.
How do you do that? Get a big ISP is a good start, and get them to offer
free hours to their customers in return for work done. You pay them money.
The person wanting to run a sim pays you money.
So how does this apply to my project? Well, it's an undergraduate software
engineering project (I just have to build something non trivial and write
nice doco about it). There's no money to pay CPU donors. So if I set up a
virtual supercomputer where everyone donates CPU time to run a bogus sim,
that's going to be really attractive.
I'm thinking that I might write a game. Something simple (I don't have years
for this project!) where little bots run around bashing each other senseless
sounds good. I'll provide a simple (simple! ha!) language, and people can
write AIs for their bots. Then the bots are thrown together in every
combination, and run against each other many times (how big is many? how
long is a piece of string?). The bots are simulated on peoples machines who
sign up. People who submit bots must also donate CPU time I think. Others
could too if they wanted to.
Results are assembled, finals are run, someone is the grand winner. I've
wanted to write one of these games for ages, and the idea of writing it as a
distributed app tickles me pink! Even better, it's justifiable, because a
game provides incentive for people to submit jobs to run, and for people to
submit CPU cycles.
It also lets you develop the first round of tools (or a toolkit) for a more
general purpose distibuted virtual machine; this game is nothing but a big
sim.
Umm, there's probably more, but let me know what you think of this. Would
anyone here be interested in donating CPU time or providing bots for such a
beast?
Emlyn
Grade A Geekboy
> ----------
> From: Spike Jones[SMTP:spike66@ibm.net]
> Reply To: extropians@extropy.com
> Sent: Tuesday, 24 August 1999 15:16
> To: extropians@extropy.com
> Subject: Beowuld schmeowulf...
>
> Emlyn, regarding your thesis, you might consider studying a phenomenon
> that Greg Stock spoke about at E4, the effect of cash prizes on research,
> such as distributed computing. His thesis, if I understood it correctly,
> is
> that when a prize is offered for a feat, several times the amount of the
> prize is spent by all the participants collectively in the attempt to
> claim
> the prize. How many jillions are spent trying to win a Nobel prize of a
> few hundred K? For this reason, cash prizes act as a technological
> force multiplier.
>
> For your computer science thesis, consider distributed computing.
> The reason this is so study-able is that some distributed projects
> such as GIMPS have available the amount of computer time being
> produced as a function of time. see
>
> http://entropia.com/ips/stats.html
>
> You can see computing accomplished as a function of date and
> results reported as a function of time of day, etc.
>
> Heres where your research could go:
>
> 1. Get in touch with Scott Kurowski, the organizer of GIMPS,
> see if he will give you the raw data that is shown in graphical
> form on the site above.
>
> 2. With that data, do a butterworth filter or similar digital
> filtering technique [fourier transform to frequency domain,
> filter out the yearly component, then inverse transform back
> into time domain, etc].
>
> 3. Use that data to determine how the introduction of the
> cash prize, announced on 1 April 1999, effected the number
> of participants. Determine if the claim of the first EFF prize
> on 1 June 1999 caused the masses to lose interest and
> give up, or did the publicity cause more to sign on, etc.
>
> 4. Determine if the *way* in which the EFF prize was
> structured actually contribute to the overall effort, or did it in
> fact, *detract from* the effort by encouraging participants
> to leave the organized search and go off treasure hunting alone.
> This lone wolf behavior creates a situation where the same
> exponents may be checked by several people instead of
> just two, decreasing efficiency of an organized distributed
> computing effort.
>
> 5. See if you can figure out a good project for distributed
> computing that uses idle CPU cycles. We have a lot of idle
> computers on our list and a lot of open minds. spike
>
This archive was generated by hypermail 2.1.5 : Fri Nov 01 2002 - 15:04:52 MST