FlashMob I: A First Step Toward Practical Instant Supercomputing
FlashMob Computing started as a challenge. Could we convince enough people
to bring their conventional computers to a single location in order to build
a temporary supercomputer, one that could compete with the fastest and most
expensive computers in the world? Since its inception in February of this year,
the idea of FlashMob Computing transformed from a challenge to a new paradigm
for enabling any group of people to pool together computing power for the purpose
of working on scientific problems of interest to them. Unlike traditional supercomputers,
which are expensive and not accessible to the general public, a FlashMob supercomputer
is temporary, made up of ordinary computers, and is built to work on a specific
problem. We set out to prove, through an elaborate experiment, that instant
supercomputing is viable.
On April 3, 2004, the University of San Francisco hosted the first FlashMob
Computing event: FlashMob I. By all measures, the event was a fantastic success.
We had over 700 computers come into the gym and we wired them to a network switch
donated by Foundry Networks. After the last computers arrived and were installed
by 11:00am we used our custom software to begin pooling the collective power
of the computers to work on the Linpack benchmark, a mathematical application
that is used to determine supercomputing speed. Through a series of tests, we
were able to run the benchmark on 256 of the computers and achieved a peak rate
of 180 Gflops (billions of calculations per second), although this computation
stopped three quarters of the way through due to a node failure. Our best, complete
run used 150 computers and resulted in 77 Gflops. Both of these results show
that it is possible to achieve substantial computational speed from a temporary
supercomputer. Time constraints and unanticipated problems prevented us from
using all 700 computers simultaneously, but one goal of the FlashMob I experiment
was to identify issues involved in getting a large number of very different
computers to work together. This valuable experience will enable us to improve
our software for future FlashMob computers.
FlashMob I presented both technical and logistical challenges. We worked furiously
for five weeks on the software that would ultimately run off CD-ROM disks inserted
into each of the volunteer computers. A novel aspect of the software is that
we boot and run directly off of the CD-ROM, so that the hard disk is not touched
at all. This technique enables all the computers in a FlashMob to quickly run
the same operating system and applications without installing anything onto
the hard disk. We only use the processor and memory of volunteer computers,
making it "safe" for people to loan their computers without fear of
loosing data. To this end, an important logistical component of large-scale
FlashMob Computing is a registration and asset tracking system for volunteer
equipment. Volunteer computers need to be tagged and associated with owners
so that everyone gets their computer back at the end of the day. Not only can
future FlashMob computers leverage off our software, but they can also use our
registration process as a model.
The event itself was well received. We had a diverse set of participants, including
high school students, college teachers, and supercomputing experts. Everyone
had a sense that they were participating in something revolutionary. We also
received quite a bit of media attention. As a result, we have received extremely
positive feedback from around the world and scores of people are motivated to
organize a FlashMob Computer in their own cities. Many people now recognize
that they have an untapped resource in their laptops and desktop and would like
to put them to work for a good cause.
Since we made our software available on our Web site, many people are running
their own FlashMobs at home, in schools, and at work. People seem excited about
turning their own computers into a supercomputer. For some people, this is the
first time they had ever heard of parallel computing, the idea of using multiple
computers simultaneously to solve a single problem. It seems we have done more
than introduce a new type of computing; we have also popularized supercomputing
and raised awareness about its potential.
We have completed the first step toward making the vision of FlashMob Computing
a reality. We have shown that an instant supercomputer is feasible. However,
the next step is a larger one: scientific applications must be tailored for
FlashMob Computing. Many people run SETI@Home because it is easy. A FlashMob
scientific application must also be simple to run in order to make it possible
for non-experts to perform real experiments on their own FlashMob computers.
Our vision is that scientists (physicists, chemists, biologists, etc.) will
adapt their existing supercomputer applications to the FlashMob environment.
By creating easy-to-run CD-ROMs, a group of people can simply duplicate as many
CDs as expected computers for a FlashMob. We hope that scientists will be motivated
to adapt their applications for FlashMobs, because they offer an alternative
platform for doing scientific computation. Our Web site can serve as a meeting
ground for scientists and the individuals who want to build FlashMob computers.
At USF we are still reflecting on FlashMob I and planning improvements to the
core FlashMob software. We intend to make the project open source, so anyone
will be able to download and modify our code. Specific improvements include
reducing the setup and configuration time of a FlashMob so that the computers
can be used for computation as quickly as possible. Since a FlashMob computer
is temporary, it is important to maximize the amount of time dedicated to computation.
A related issue involves making Flashmob computers more resistant to failure.
The benchmark program used in FlashMob I would crash if any single computer
failed during the computation. With a large number of volunteer computers it
is possible that a small fraction of them could be unreliable. Again, because
FlashMobs are temporary it is important to withstand failures in order to maximize
the computation time.
FlashMob I turned out to be a unifying project at USF. Many faculty members
and students in the Department of Computer Science contributed to the FlashMob
software. The organizational effort spanned several administrative units and
received tremendous support from all levels in the university. USF student volunteers
and non-USF volunteers helped make the day run smoothly and enjoyable for the
participants. A FlashMob supercomputer is as much about the people who participate
as it is about the technology they bring.
Read Syllabus' coverage
of the Flashmob Computing event.