|
发表于 2010-8-5 22:51:30
|
显示全部楼层
原文: http://www.techradar.com/news/co ... help-science-695518
How your PC can help science
Help save the world, one processor cycle at a time
By Tom Baines
June 13th

BOINC is a distributed computing platform with the aim of letting anyone help support and decide which scientific experiments deserve their processing power
Page 1: Why science needs your PC’s help
Scientific research has always been an expensive endeavour, and one that can often be difficult to justify. Research teams first have to reason away the cost of retaining large numbers of staff, including engineers, technicians and management. They also have vast expenses associated with laboratory costs, equipment, computer hardware and the huge amount of electricity required to run the above.
This can be hard enough in private industry, where the results are justifiable in terms of concrete output (products or services). But with scientific research the output may be nothing more than abstract knowledge, and alongside that there's always the danger that years of research will yield no results at all.
In order for these projects to keep going, they need to establish cost savings wherever possible. Unfortunately, it's difficult to source these savings without sacrificing the productivity of a team or the validity of the results.
If an organisation cuts staff, the research will take far longer, ultimately costing more; if it cuts equipment, the quality of work and output will suffer, something that isn't an option in such a precise field.
So where, then, are researchers to make these savings in a world where every penny spent is scrutinised and needs to be justified?
A big idea
A bright spark of inspiration from one individual can make a vast difference for thousands. In 1989, when Sir Tim Berners-Lee wrote a proposal for what would eventually become the World Wide Web, the ingenuity of one man changed the face of the world as we know it.
Berners-Lee was at the time working for CERN in Geneva, and the web was born of the concept of scientific collaboration. It seems appropriate, then, that the man who has invented what could be the potential saviour of the scientific community with one big idea cites the internet itself as one of the roots of his creation.
Dr David P. Anderson is a research scientist in the Space Sciences Lab at the University of California, Berkeley. He has headed the SETI@home project since 1997. SETI (or the Search for Extra-Terrestrial Intelligence) concerns itself with listening to the deep universe for some signature of life.

The SETI@ home project utilises the power of connected home computers to perform calculations and analysis of captured data on behalf of interested researchers. SETI@home was a pioneering endeavour because it was one of the first volunteer computing projects.
While it attracted much attention, it was limited in terms of some functionality, and there have been instances of users falsifying data in order to appear more prolific in the field.
But there was an upside: Dr Anderson began work on the successor to the original SETI@home software (now referred to as 'SETI@home Classic') in 2002, and as a result BOINC (the Berkeley Open Infrastructure for Network Computing) was born.
"BOINC is trying to create a system in which thousands of scientists compete for computing resources by publicising their research. Computer owners can then make careful, informed decisions about how to target their donation of resources," Dr Anderson told us.
There are over 35 separate research projects currently signed up to utilise BOINC in their computations. Dr Anderson has some pretty specific and ambitious goals for the project:
"The goals are [that] huge amounts of computing power – potentially all the computers in the world – are made available to scientific research. Scientists who are doing better research get more computing power, where better is defined by the public. The public gets interested in and excited about current scientific research, and learns about scientific method and the importance of scepticism and logic."
The concept of the public deciding what research is more important and which deserves more focus is an interesting one, and to an extent is already happening in the BOINC community.
Page 2: how volunteer computing works
The idea of volunteer computing is quite a straightforward one in principle. Users who volunteer to take part download a client application that runs in the background on their machine. The machine then utilises its unused CPU and GPU cycles to run scientific computing applications, often to analyse data, perform calculations or make contributions towards simulations.

The client detects how much of your system is currently in use for the tasks you are performing yourself, and then allocates spare resources accordingly; the idea is that you can participate in the research without it affecting your computer's performance.
If you have a powerful graphics card but are currently only working in a word processor, for example, the GPU will not be heavily utilised and can donate power to BOINC. Fire up a game and the GPU requirement will go up, so the BOINC overhead will decrease accordingly.
One of the biggest advances seems to have been the introduction of GPU support following work with Nvidia's CUDA chip, with support for other manufacturers coming on board shortly afterwards. "GPUs are currently 10 to 50 times faster than CPUs, and this gap is widening," continues Anderson.
"GPUs account for the majority of processing power in volunteer computing. In a few years, CPUs may be lost in the noise as far as scientific computing is concerned. We've been working on GPU support in BOINC for a couple of years now, and it's working well – lots of BOINC projects have GPU apps. The next big step for BOINC involves running applications in virtual machines. This will greatly reduce problems of heterogeneity (having to compile apps for lots of different platforms) and of security (a VM is a strong sandbox, preventing buggy or malicious apps from doing any damage)."
In the interest of inclusivity and ensuring that there are no barriers to anyone wanting to contribute, BOINC is available for most operating systems, from Microsoft Windows and Mac OS X to more specialist OSes, including various flavours of Unix/Linux and even FreeBSD.
This doesn't come without its difficulties though, and there are technical constraints and difficulties with the system, as Dr Anderson explains: "We have thousands of [problems], ranging from general (such as how to support GPUs) to specific (how to deal with changes in the latest version of Mac OS X, for example). We eventually solve all the problems – I have a couple of very talented programmers working for me!"

It also seems apparent that the weight of numbers and expectations are big concerns for the team behind BOINC. It relies on volunteers for pretty much everything, including programming, testing, support (via Skype and web forums), translation, documentation and development of third-party components and applications.
It's abundantly clear that Dr Anderson and the team are always looking for help, and if you believe you have something to offer, you can do more than just volunteering your processing time to get involved. Check out the Help Wanted section on the BOINC homepage to see what you can do.
Saving the world
Applications for volunteer computing via BOINC are many and varied, covering several areas of science. They include the mathematical (NFS@Home – studying factorisation of massive integers), biological (Rosetta@home – attempting to discover new proteins for disease), medical (malariacontrol.net – simulating the transmission dynamics of malaria) or physical (LHC@home – yes, even the Large Hadron Collider at CERN, Switzerland has some BOINC-based activity that requires participation).
Something everyone can relate to, though, is the work of the University of Oxford and the Climateprediction.net project. Climateprediction.net uses the participation of users all over the world via BOINC to create climate-predicting models on their machines.
As each user's 'world' ages and changes in different ways (think Sliding Doors – everybody's model will go a different way, even if only slightly), the volunteer can view their own climate model through the application, with details on anything from surface temperature to rainfall and cloud predictions in their own little ecosystem.

At the time of writing, the Climateprediction.net site showed that it currently has over 54,000 hosts, and has achieved almost 54 million model years of data since the move to BOINC in 2004.
This success can to a certain degree be attributed to some good press: the project was featured in the BBC's Climate Chaos season in 2006, and viewers were invited to "predict the UK's future climate" in a mass experiment. Hollywood blockbuster The Day After Tomorrow certainly didn't hurt its cause either.
Climateprediction.net is an increasingly important project and one that is an obvious success. It's worth noting that while using BOINC, volunteers can choose to share their resources among multiple experiments. But Dr Anderson is quick to point out that the organisation still has work to do:
"BOINC hasn't succeeded – at least not yet. The utopian ideal has not been realised. Only a few dozen scientists – not thousands – are using volunteer computing and the rate of project creation is low. We're trying to figure this out. One thing that's clear is the need for umbrella projects that serve multiple scientists and that are operated at a high organisational level. For example, instead of Climateprediction.net there might be Oxford@home, serving many scientists at Oxford and operated and publicised by the university, or maybe a project that serves multiple climate researchers from different institutions."
The options for expanding the uptake and therefore the success of the project are huge, given the right focus and direction. It particularly brings the point home when we talk in terms of numbers. Dr Anderson estimates that "the larger BOINC projects have [around] 50,000 active computers. The cost of the projects is a couple of server machines and a couple of people to administer the project – say $300,000 a year. Buying the equivalent computing power – either by building a cluster or by renting time on the Amazon Elastic Computing Cloud – would cost on the order of $50million a year. No BOINC-based project has this kind of money!"
If we want these projects to succeed, then the only way is to volunteer resources. Every PC that connects to BOINC, regardless of project, is a step in the right direction, and the more we contribute the closer results become.
In coming years when scientists cure the incurable, solve the impossible or save the world from climate change, wouldn't it be fantastic for millions of ordinary people to be able to raise their hand and say 'I did that!'?
With BOINC and volunteer computing helping and changing the scientific community, that's a very real possibility. |
|