Archive for the ‘distributed computing’ tag
What to Do as Science Gets Older and More Crowded
A recent NBER paper (gated) by Benjamin Jones from Northwestern conducts a systematic review of trends in scientific research and made a couple of conclusions that won’t come as a surprise to anyone in science (HT: Inside Higher Ed):
As science advances and knowledge accumulates, ensuing generations of innovators spend longer in training and become more narrowly expert, shifting key innovations (i) later in the life cycle and (ii) from solo researchers toward teams
As evidence to this, the average age at which a scientist made a discovery which later qualified for a Nobel prize has increased by 6 years over the course of the 20th century. When looking at publications, the researchers found that the average author list on a publication grew, on average, by 15-20% per decade!
We’ve discussed before the “decline of the Lone Ranger model of science”, but Jones’ paper focuses on looking at the policy implications for such a change. He concludes that the government (and, probably, the academic and private institutions which support researchers) need to adapt policy to reflect this new reality by:
- Tailoring funding and messaging to help keep young researchers interested despite the longer and more difficult training period
- Finding new ways to evaluate the worthiness of proposals as scientist’s expertise becomes more and more specialized
- Altering incentive structures as the team of collaborators replaces the Lone Ranger scientist model of discovery
These policy suggestions are definitely good ones, and are certainly necessary to adapt to a new scientific environment, but one dimension of this which Jones doesn’t discuss as much are the technological (the focus of this blog!) innovations which can help further research in this brave new world.
- Improving science communication with the public. We’ve made multiple mentions of this in the past, but they are no less true here. Active public communications management not only helps secure funding and raise public awareness of the good scientists can do, but it also helps attract the interest of future generations of researchers and policymakers.
- Embracing new collaboration tools. To really kick-start collaboration between scientists across geographies and specialties, we need tools that go beyond just email and fax machines. Tools like Google Wave, wikis, distributed version control, and social media forums like Friendfeed are an early taste of the sort of live collaboration that new web technology can bring about.
- Leveraging cloud computing and heterogeneous compute. One of the reasons discoveries are taking longer and are more expensive is that there is so much more data to collect and to analyze than before. One technological innovation which we’ve talked about at lengths here is the ability of graphics cards/GPUs to make supercomputer-level processing power more readily accessible to research labs. Another is the use of new cloud computing services like Amazon’s to rapidly increase the computational resources that a lab/company has access to. Neither are panaceas for all the data analysis issues which scientists face, but they are definitely ways to make things easier for research groups who have stringent IT budgets.
- Using crowdsourcing to speed innovation. Who says research has to take longer and be more expensive? Perhaps its time to pull on new technological levers which let scientists borrow on the resources and brains of a wider group of people. While new platforms like ChemBioConnect, distributed computing systems like Folding@Home, and volunteer crowdsourcing initiatives like Fold.IT are far from perfect, they hint at a future where researchers can call on resources beyond what their personal computers and brains are capable of.
- Building new research attribution models. When I say new attribution models, I’m referring to two things. The first is embodied by new standards like ORCID which make it easier to understand which person is the author/researcher in question (something which will become more and more important as more people with the same initials/names enter the sciences). The second, and more substantive, is finding new ways to understand who contributed what to a particular study. In today’s digital age, I find it laughable that we still rely on simple author list order to determine the relative roles and positions of the researchers listed on a publication. Employing metadata and other graphical cues can help scientists achieve the recognition they deserve, as well as provide appropriate incentives for teams of researchers to contribute.
- Contributing negative and after-publication results to open repository. While I can understand the hesitation for most research groups to pursue a pure open access strategy, those concerns should not hold with negative or post-publication experimental data. While opening up access to data from failed/negative experiments does little to hurt a lab’s ability to publish first, it can be a dramatic boon for other research groups (especially new labs or labs with interdisciplinary focuses) who can not only use the data for their own analyses and experimental designs, but avoid committing resources to experiments which have already been conducted. If it can work for biotechs and pharma companies, then there’s no reason it should be any different for non-commercial groups.
These suggestions only scratch the surface of what new technologies and policies can do to help scientists in a world where scientific training takes longer and where scientific discoveries need to be more collaborative. If anyone else has any other suggestions, feel free to leave them in the comments!
Catch a Quake
Previously at Bench Press we’ve written about the power of distributive computing and it’s ability to pool resources from volunteers over the internet to tackle projects on protein folding and the search for extraterrestrial intelligence. As distributed computing approaches mainstream, numerous projects focusing on a variety of questions have emerged. ![]()
One project that caught my eye is the Quake-Catcher Network (QCN). The network is described as
a collaborative initiative for developing the world’s largest, low-cost strong-motion seismic network by utilizing sensors in and attached to internet-connected computers.
The QCN utilizes accelerometers attached to computers to monitor for vibrations. Vibrations detected by the accelerometer are then recorded and compared to readings from other computers in the network. Only when a sufficient number of computers report comparable readings at the same time will the data be reported as an earthquake. Most recently the QCN detected a magnitude 4.4 earthquake in the Los Angeles area yesterday morning. The data generated from QCN participants can be seen here.
The beauty of the QCN is the enormous cost savings their approach can provide in comparison to traditional seismic networks like those run by the USGS. New accelerometers are now much more affordable. Sensors that plug into a USB port can cost less than $50. In addition, an increasingly common feature for laptops is a built in accelerometer to detect sudden movements like drops in order to shut down components to protect them from damage. These accelerometers can be utilized and provide a fairly large potential participant base who merely need to install BOINC and join the QCN project to begin providing data to the network.
As the number of QCN participants grows the heads of the project, Drs. Elizabeth Cochran and Jesse Lawrence, hope the network will provide not only a wealth of data for geologists but potentially a small bit of warning in the event of a large earthquake for those miles away from the epicenter. Currently, Drs. Cochran and Lawrence are working hard to increase the number of participants while also providing educational tools for use in schools to teach about earthquakes and science behind them.
Living in San Diego I think I’m in a prime location to help out so I look forward to contributing some data to the QCN (magnitude 4.0 or less please!).
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?
Playing the crowd
We’ve written before about the ability of scientists to use distributed computing to pool the computing power of millions of users over the internet to solve sophisticated mathematical problems. But imagine if we could actually pool the brainpower of volunteers — but in a way which doesn’t involve jacking our brains into the Matrix.
Now, imagine if it could be fun for the volunteers.
Imagine no longer. Fold.It was created less than a year ago at the University of Washington to do just that. Instead of pooling the computational power of millions of machines, it seeks to pool the “human intuition” of volunteers to solve challenging protein folding problems.
The basic scientific concept behind Fold.It is that nature will “push” chains of amino acids to adopt a folded structure which minimizes free energy. But, while free energy calculations can be done relatively easily, finding the structure that minimizes free energy is not so easy to do and requires immense computational power (which is why Folding@Home uses distributed computing).
But, humans have a gift which computers do not: the gift of intuition. While we may not be able to compute the free energies in our head, we have the ability to make logical jumps and do complex reasoning. While we might not necessarily understand how to calculate the strength of a hydrophobic interaction, we know enough that we should place two hydrophobic (non-polar) leucine amino acids near one another. While we may not be able to write a mathematical equation to describe the arc of a polypeptide chain, we can conceptualize and visualize that a chain should be more “scrunched up” or “stretched out”.
And that type of “soft reasoning” is the processing power Fold.It seeks to capture. Fold.It created a game which literally depicts a “raw” protein chain in all its unfolded glory and asks human players to fold it. And, by deploying another unique characteristic of human beings, our competitiveness, the game encourages users to try to aim for the protein structure with the lowest free energy. The current aim is to see if the gift of human logic and competition is enough to solve complicated protein folding problems which currently require massive brute force calculations by supercomputers/distributed systems, and if so, if human 3D intuition can be “taught” to computers.
A quick overview of the game:
The novelty of this approach is striking. Interestingly, if Fold.It is successful, it will have done three very impressive (and very difficult) things:
- Successfully used crowdsourcing by pooling the wisdom of volunteers to solve problems which traditional brute-force computation finds nearly intractable
- Successfully use machine learning to copy the pooled wisdom of the volunteers to create smarter machines capable of solving the important protein folding questions which may underlie disease processes like cancer and Alzheimer’s
- Developed a new avenue with which to mobilize the public – by giving the public a tangible way to actively connect with and help an important scientific endeavor in a fun and easy-to-understand way
Check it out!
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)