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.

Featured