Archive for the ‘graphics card’ tag
They’re not just for gaming II
We’ve talked before about researchers using PlayStation game consoles and gaming graphics cards to perform scientific computing, but we hadn’t heard too much about Microsoft’s XBox. Until now, that is, when University of Warwick researcher Dr. Simon Scarle demonstrated the use of the graphical horsepower on an XBox360 in high performance computing. By taking advantage of the parallel processing power of the on-board GPU, Dr. Scarle was able to use an Xbox360 to aid in his research and sidestepped the need to reserve time on a dedicated parallel processing computer or shell out thousands for a parallel network of PC’s.
Armed with his gaming console, Dr. Scarle used the Xbox’s GPU computing power to calculate and even predict cardiac arrhythmias based on his model of electric excitations of the heart. The result? A paper titled Implications of the Turing completeness of reaction-diffusion models, informed by GPGPU simulations on an XBox 360: Cardiac arrhythmias, re-entry and the Halting problem.
This is a highly effective way of carrying out high end parallel computing on “domestic” hardware for cardiac simulations. Although major reworking of any previous code framework is required, the Xbox 360 is a very easy platform to develop for and this cost can easily be outweighed by the benefits in gained computational power and speed, as well as the relative ease of visualization of the system.
So much attention thus far has focused on using the PlayStation 3 in distributed computing projects like Folding@Home — maybe its time that Microsoft release some sort of software to let the legions of XBox360 owners out there show the PS3 users that their machines are good for more than just gaming?
Distribute compute
As the problems scientists solve become more and more complex, so do their demands for computational power. One approach to addressing this has been to build faster, more powerful computers, potentially with chips better suited to performing advanced calculations (like graphics cards or IBM’s Cell processor). But, this approach has serious limitations — mainly that it’s expensive to build and to maintain these supercomputers.
Some researchers, however, have turned to a radically different approach. Instead of building a bigger, better mousetrap to deal with more mice, the distributed computing approach takes the approach of placing many small, cheap mousetraps. The result is cheap "supercomputers" which are able to “pool” the computing power of many computers connected over a network.
This approach has been used by projects like Folding@Home and SETI@Home which are able to combine computing power from volunteers over the internet to do the number-crunching needed to simulate protein folding or scan deep space for extraterrestrial life. SETI@Home was the first such large-scale distributed computing platform. This platform, now the Berkeley Open Infrastructure for Network Computing (BOINC), is today used for many other distributed computing projects such as attempts to search for gravitational waves, do climate modeling, and simulate particle collisions in the Large Hadron Collider.
Folding@Home, a project started by the Pande group at Stanford to use distributed computing to study protein folding uses a similar approach, albeit with different underlying software (is it any wonder that a Stanford group doesn’t use Berkeley’s distributed computing platform?!
) . It has probably been the most successful distributed computing approach to date, and, as a testament to the power of distributed computing, has become known as the first computing system to break the petaFLOPS barrier – e.g. capable of one quadrillion floating point calculations per second! This has enabled the team to do protein-folding simulations on a scale of ~10 micro-seconds.
But, as impressive as the science achieved by distributed computing projects is, what impresses me the most is that projects like Folding@Home and SETI@Home have defined some brilliant new ways to do science:
- Use the internet – It’s a common theme on Bench Press, but with more and more people having faster and faster access to the internet, the potential for distributed computing becomes greater and greater. As Folding@Home demonstrated, such approaches can produce computing systems as powerful (or potentially more powerful) as leading supercomputer systems at a fraction of the cost.
- Mobilize the public – We’ve discussed ways for the scientific community to reach out to the public like using social media and creating interactive applications/tools for the public to use, but efforts like Folding@Home illustrate a way to not only reach out to the public but to get them vested in science. In a world where high school science teachers find it difficult to get teens interested in science, initiatives like Folding@Home have created a system where teams of individuals compete on who can contribute the most to the effort! Instead of simply hoping that the public will continue to fund and listen, why not borrow a page from the many existing cancer-walk-a-thons and make it easy for the public to get involved?
- Leverage new technology – It may not come as a surprise to our readers that a significant amount of the computational power at Folding@Home comes from graphics cards and Playstation 3’s. But, while many “mainstream” supercomputers ignored the new power afforded by these new chip types, Folding@Home developed software so that volunteers could quickly and easily use these powerful chips to boost their Folding@Home scores. The Folding@Home initiative also developed software to take advantage of innovations AMD and Intel included in their chips (new multi-core architectures and special instructions to speed up calculations). Is it any wonder, then, that Sony, NVIDIA, and AMD have all publically announced support for the initiative with their products?
I don’t pretend that every scientific problem is amenable to a distributed computing initiative, but to some extent, I believe that every scientific endeavor has something valuable to learn from the success of Folding@Home and SETI@Home and their brethren. To that end, I sincerely hope to see an open-source distributed computing architecture like BOINC but with:
- Support for new chip technologies – To provide greater value to the scientific effort, the architecture should support new chip technologies like Intel’s SSE extensions, SMP, or stream processing
- Client contribution tracking – To make it easier for volunteers to know how much they’ve contributed and/or have contests on how much they’ve contributed, a simple system to enable users/administrators to track the effort is needed
- Better security – Medical initiatives and volunteer privacy concerns demand that very fine and specialized security controls are necessary. Support for sophisticated encryption and authentication are a must.
- Linkage to social media – This probably seems extraneous, but since distributed computing efforts depend on motivated volunteers actively seeking out new volunteers, a successful architecture needs to make it easy for volunteers to share their progress with their friends whether it be via blog, or social network, or Twitter, or anything.
- Tie-in with new cloud computing systems – Along the theme of cutting costs, it is reasonable to assume that as offerings like Google’s App Engine and Amazon’s EC2 and technologies like MapReduce become better developed, we will see cash-strapped research groups using the power of “Clouds” to hold their computing power – after all, what is distributed/grid computing other than a specific variant of cloud computing (de-localized, pooled computing)? It’s probably necessary, then, for the new distributed computing architecture to more easily link with EC2 or MapReduce or App Engine.
Anyone else have any thoughts?
(Image Credit – picture of the internet) (Image Credit – Folding@Home computing power)