May 7, 2004: NEW RELEASE -- USF_FlashMob_RC_4.iso and Source Code
USF_FlashMob_RC_4.iso (230 MB) is a bug fix release (download). This contains updates that we made to
the server code the night before flashmob day. This will allow power users to run larger flashmobs and configure individual nodes with different processor types. In addition we have released the source code for USF_FlashMob_RC_4 (source).
See the
README for more information.
May 1, 2004: USF Computer Science Masters Programs
Interested in studying with the faculty, staff, and students that brought you the next wave in supercomputing? Our new M.S. in Internet Engineering offers a rigorous plan of study combining networking, distributed computing, and internet technology. This new MS program shares courses with the regular MS in Computer Science, but focuses more on Internet application development.
April 7, 2004: 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 began 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 CDROM disks inserted into each of the volunteer computers. A
novel aspect of the software is that we boot and run directly of the
CDROM, 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 website, 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 every 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 CDROMs, 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 FlashMobs
because they offer an alternative platform for doing scientific
computation. Our website 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.