BOINC vs. UD
World Community Grid members can choose to run either the UD software or the BOINC software. This document will help you understand what BOINC and UD do and help you decide which one is right for you.
BOINC and UD are frequently referred to as agents to distinguish them from the science applications they work with. The agents and the science applications are software or, if you prefer, computer programs. Both agents and the science applicatons are available free of charge. Upgrades are free too.
There is one case where the choice is very simple. If your computer has more than 1 CPU or a dual-core CPU then you will probably want to run BOINC. UD can use only 1 CPU or core whereas BOINC can use as many as 4.
Apart from this situation, it doesn't much matter which agent you chose. Either will work perfectly well for most people. However, there are a few factors that dedicated crunchers may want to take into account. (There is no advantage to running them simultaneously, althought this will work. You will not crunch twice as many WUs by running both agents simultaneously. Until you decide which agent you prefer you might install both on your computer, run one at a time and alternate between them for a while to see which one you prefer.)
What Job Do They Perform?
It may surprise you to learn that UD and BOINC do very little in the grand scheme. The WUs (work units) are actually crunched (processed) by other software referred to as the science application or science app for short. Each project uses a science app tailored to its particular needs and WUs. Think of the agents as managers that assign WUs to its helpers, the science apps.
We can summarize the agents' job in a simple job description.
Agent Job Description
- Attach the user to a project (you normally do this only once for each project)
- Request a WU from the project server
- If server has no WUs available, wait a while then go back to step 2
- Download the WU
- Check which science app the WU requires, download the science app if necessary
- Give the WU to the science app to crunch
-
While the science app is crunching:
- Keep 1 eye on the science app and report its progress to the user (that's you)
- Keep the other eye on the user. If user exits (closes agent) then halt the science app and clean up loose ends then exit.
-
When the science app is finished:
- Report the outcome to the user
- Upload a detailed report to the project server concerning the outcome of the crunch
- If the crunch was successful (no errors encountered), upload the crunch result to the server. If errors then don't bother uploading the result, the report is all that is required
- Go back to step 2
The Agent Job Description above neglects a few details but the goal was to keep it simple for now. As we move along we'll fill in a few more details and point out the differences between BOINC and UD. You will begin to appreciate the fact that UD doesn't do much more than the Agent Job Description suggests but that is all some members need and want. BOINC has a few nice features UD does not have and it does a few things UD does not do. Nevertheless, our Agent Job Description is a fairly accurate picture of what BOINC does too.
To summarise, the agents are interfaces between:
- you and the science app
- you and the project server
- the science app and project server
The agents are also managers. Like every good manager they know who to call to get the dirty work done (the science app) and how to talk to other entities involved (you and the project server). The agents schedule events (downloading, uploading, etc.) and monitor the progress of events. Finally, the agents know what to do when certain things go wrong and errors happen. They handle errors (some, not all), recover and start the wheels turning again.
BOINC or UD: Which One is Best?
There is no simple answer to the question of which one is best. In the end it boils down to personal preferences. Let's look at the differences and then discuss which agent best meets your preferences.
| BOINC | UD | Comment | |
|---|---|---|---|
| Ease of Installation | wizard, script or Group Policy | wizard | |
| Graphics | coming soon | yes | |
| Speed/Efficiency | slightly more | slightly less | see notes below |
| Error Reports | excellent | poor | this feature alone makes BOINC the favorite for many users |
| Upgrades | frequent upgrades and bug fixes | infrequent | UD has very few bugs |
| Source Code | open source | closed | |
| Platforms | Windows, Linux, Mac | Windows | |
| Multiple Projects | yes | limited | see comments below |
| Resource Sharing | yes | limited | see notes below |
| Screen Saver Mode | yes (no project graphics) | yes | |
| Remote Management | yes | no | |
| Install across LAN | yes | no | see Lazy Slug's posts for Windows roll out tips |
Ease of Installation
Both agents install easily on Windows and Mac via familiar wizards. Choose a folder to install to or just use the default, click OK a few times and you're almost done. Linux requires a little more effort. The WCG website has tips for Linux users here.
Graphics
Both agents have the ability to display a graphic depicting the manipulations of the molecule in the science application. As of July, 2006 WCG uses UD's graphics capability but has not implemented grahics on BOINC. Displaying the graphics consumes resources that many members feel is better spent on crunching. The amount of resources required for the graphics is low but WUs will definitely crunch faster with graphics turned off.
Speed/Efficiency
On a single core computer there is very little difference in speed between BOINC and UD. The reason is that the science app does the actual crunching and both agents use the same science app. BOINC has a very slight efficiency advantage because it downloads the next WU before the current WU is finished. Crunching switches from a completed WU to the next WU almost instantly. UD waits until the current WU is finished and uploaded before downloading the next WU.
The WU files and result files are not large. They transfer to/from the server in short order even on a dialup connection. Still, if you want to squeeze every last bit of speed from your computer then you want BOINC.
Error Reporting and Trouble Shooting
BOINC definitely outshines UD on error reporting and trouble shooting. BOINC logs (records) all of its activities and any errors reported by the science app. It also records errors encountered when it communicates with the project server. Errors are infrequent but when they do happen and especially when they happen repeatedly, BOINC's error reports are an immense help in tracking down the problem and fixing it.
BOINC logs its activities in plain text files in the BOINC folder on your disk. It takes a bit of experience to interpret the logs but there are always helpful people on the WCG forums who are more than willing to assist with interpreting logs and troubleshooting. You can also email the logs to the technicians at WCG who can correlate your logs with information they have on file regarding the WUs your computer has processed.
Upgrades
UD does its job well and has very few bugs but there is always room for improvement and a need to adapt to change. United Devices is rather uncommunicative about the future of its software and there have been no updates for some time.
BOINC is open source software. That means any computer programmer can obtain the source code, fix bugs and add new features and functions then donate his work to the BOINC development team. While the open source concept may seem to be a recipe for chaos it works very well for BOINC and hundreds of other software development projects. Like UD, BOINC is mature and stable but there is a steady flow of bug fixes and enhancements as BOINC's development team works closely with WCG and other distributed computing projects.
Resource Sharing and Multiple Projects
WCG is a project manager. At this time WCG manages several separate projects for separate research teams. The WUs for the projects are different and require different science apps. Both agents are capable of crunching WUs for all projects. That means they can download a WU, determine which project the WU belongs to and then call the appropriate science app to crunch the WU.
There are other project managers similar to WCG that also manage distributed computing projects for various research teams. A few of those project managers use UD but most use BOINC. Here we run into 1 of UD's limitations. UD can connect to only 1 project manager. It can crunch for any or all of the projects at that site but only at that site and no others unless you manually detach it and attach it to a different site.
BOINC can connect to any project manager or site that uses BOINC. It maintains a list of projects that you want to donate time to and it automatically switches from 1 project to another, no intervention required on your part. You can specify what percentage of your computer's time is given to each project. It's all very easy to setup and once it's setup BOINC manages the scheduling and time sharing automatically.
Remote Control
BOINC uses Remote Procedure Calls. If you have several Windows computers on a home or office network you can install BOINC on all of them and manage each BOINC installation from 1 computer. Each computer must have its own Internet connection for BOINC cannot distribute WUs to other machines.