Installing an "Optimized" SETI@Home Science Application - Microsoft Windows®

From Unofficial BOINC Wiki

Jump to: navigation, search

Contents

[edit] General

Upgrading to optimized versions of the BOINC Client Software (Version 4.45) and the Science Application such as YAOSCW r8.1 (Optimized Science Application for the SETI@Home Project on Microsoft Windows®) should not be hard and will improve performance and increase the amount of work done by your computer. This is one of those procedures where taking it slow and doing the steps in the order in which they are presented cannot be stressed too much. Failure to take the time to do it right can cause significant problems.

Failure to do this process as outlined may damage the BOINC Client Software, render work invalid, cause failure of work in progress, and in general make a miserable mess of things!

You have been Warned!

Note:
If the Science Application is updated after this procedure has been performed, it is possible that you will have to remove the Optimized Science Application and the app_info.xml file to obtain more work. This happened when the SETI@Home Project changed to the "Enhanced" Science Application, for example.

[edit] Preconditions

In order to complete the procedure outlined in this guide, you must meet the following preconditions:

It is highly recommended that:

  1. Set the SETI@Home Project to "No New Work" in the Projects Tab.
  2. You run to completion all SETI@Home work.
  3. You "Report" all completed Results.

See Pre-installation Steps for details.

[edit] Determining the CPU's Instruction Set Extensions

[edit] Explanation

Before we can install an "Optimized" Science Application for SETI@Home we have to check to see which one is the most appropriate. Once we know which "Extensions" are available we can chose which of the "Optimized" Science Application will work.

To do this we will need to run a utility program on the computer which will "ask" the CPU chip what "extensions" it can use. I have used two different programs and will show screen shots of the two, but, there may be other tools that you can use.

I had considered adding the exact links for downloading these tools or adding them to the Wiki but decided against this course of action. Quite simply, the sites I found may disappear or the program will be updated and I will have an out-of-date copy. In either case, you are not well served. So, the first step is very general.

[edit] Find CPU Test Program

Using the search function of your Web Browser search for one of the following tools:

  • CPU-Z (Panopsys hardware detection engine)
  • WCPUID

Either one will work. Download the program, and install it into a temporary directory.

[edit] Run the CPU Test Program

CPU Detection Output Windows
CPU Detection Output Windows

Once downloaded and unpacked, run the program by double-clicking on its icon. The program will run for a moment and then will display a dialog window with the information we need, and a whole lot more.

The example here shows the output windows of both programs for comparison.


[edit] CPU and CPU Extensions From CPU-Z

CPU-Z and a Xeon Processor
CPU-Z and a Xeon Processor

If you used the program CPU-Z to detect your CPU's capabilities, on the front tab in the "Processor" block there is a line that will tell you what your processor type is. Many of us don't really care about that ... but here we need to see if it is an AMD or Intel processor.

If you used the program CPU-Z to detect your CPU's capabilities, also on the front tab in the "Processor" block, the lowest line says "Instructions", we are interested in the acronyms here. Typical lists will be:

  • MMX
  • MMX, SSE
  • MMX, SSE, SSE2
  • MMX, SSE, SSE2, SSE3

In the example shown, I have, for the Xeon processor listed, the values "MMX, SSE, SSE2, SSE3".


[edit] CPU Extensions From WCPUID

WCPUID and an Intel Pentium 4 With HT
WCPUID and an Intel Pentium 4 With HT

If you used the program WCPUID to detect your CPU's capabilities, again on he top line will be the name of the processor and an indication if it is an Intel or AMD chip.

Also on the main window at the bottom we have the capabilities listed as separate blocks, with the name of the extension and the indication "Supported" or "Not Supported". As before we are interested in the extensions: "MMX", "SSE", "SSE2", and "SSE3".

For this example processor we again see that all of the extensions are supported. I only had one computer that did not have full support of the extensions (Yea!).


[edit] Selecting the Correct Version of the Optimized Science Application

Ok, now you need to look into this table to find the file that is compatible with the computer you have.

Clicking on the links should download the correct file.


Intel Processors
CPU Type
Extensions
Available
Tetsuji's File Name Ned Slider's
Generic/Unknown: MMX YAOSCW-0-r8.1.zip seti-i686.zip
Pentium III: MMX, SSE YAOSCW-K-r8.1.zip seti-p3.zip
Pentium 4: MMX, SSE, SSE2 YAOSCW-N-r8.1.zip seti-p4.zip
Pentium 4: MMX, SSE, SSE2, SSE3 YAOSCW-P-r7.zip seti-p4-sse3.zip
Pentium M YAOSCW-B-r7.zip seti-pm.zip


AMD Processors
CPU Type
Extensions
Available
Tetsuji's File Name Ned Slider's
Athlon XP: MMX, SSE YAOSCW-K-r8.1.zip seti-athlon-xp.zip
AMD64: MMX, SSE, SSE2 YAOSCW-W-r7.zip seti-i686-sse2.zip


The reason for the name of the file being important, it is to make sure you get the right one. If you do not get the right file, bad things can happen!

Take your time and be sure to get the right file!

Did I convince you? Good, lets move on.


[edit] Pre-installation Steps

[edit] Explanation

Because this is one of those types of procedures that can ruin your whole day, and your current BOINC Client Software and all the work you have to this point; well, lets do some thinking ahead.

[edit] Return All Completed Results

Check to see if there are any Results that are in the "Ready to Report" state in the Work Tab. If there are, using the Projects Tab issue an "Update" for all Projects with "Ready to Report" Results.

Make sure that the Results were reported! Remember, you may not get a complete communication session with the Project's Scheduling Server. You can check to make sure that this was accomplished by looking in the Work Tab to make sure that all of the Results in the "Ready to Report" state have been removed. You can also check in the Messages Tab for a successful completion of the Scheduler Request Message exchange.

Note:

It is a good idea to select "No New Work" for the Project that you are planning on installing the optimized Science Application for and allowing all Work Units on your Host to finish. An optimized Science Application will generally not be compatible with Work Units already in your Work Buffer.

[edit] Archive CPDN Work

If you run Climateprediction.net on your computer. I would suggest that you perform the process in the BOINC "How-To" Guide: "Saving Or Deleting CPDN Result Data Files" before continuing with this procedure.


[edit] Stop the BOINC Client Software

Because the BOINC Client Software makes continuous updates to the BOINC Client Directory, many processes we want to do can cause corruption of the "state" files. To prevent this, all we have to do is stop the BOINC Daemon.

[edit] Single-User or Shared Installations

"Pop-Up" Menu on Microsoft Windows®
"Pop-Up" Menu on Microsoft Windows®

Open the Pop-Up Menu or the BOINC Manager's File Menu and select "Exit" ("Quit" in OS-X). This will shut down the BOINC Manager and the BOINC Daemon.

Goto Verify All BOINC Processes Have Stopped.


[edit] Services Installation

The "Services" Pane
The "Services" Pane

Perform the following:

  • Click on the "Start" Button.
  • Click on "Control Panel".
  • Double-Click on "Administrative Tools" to open the tools folder.
  • Double Click on "Services" (Two gears).

In the "Services" window, locate the entry "BOINC" which is the BOINC Daemon. Right-click on the name and select "Properties" from the pop-up menu.


BOINC Daemon's Properties Window
BOINC Daemon's Properties Window

With the "General" tab selected on the "Properties" window, click on the "Stop" button.


BOINC Daemon's Service Control Window
BOINC Daemon's Service Control Window

A message window with a progress bar will appear and will show the progress of the stop action. It is possible that the BOINC Daemon will not stop. This is usually indicative of more serious problems in Microsoft Windows® than the BOINC Client Software.


[edit] Verify All BOINC Processes Have Stopped

The Task Manager, BOINC Running
The Task Manager, BOINC Running

Depress the CTRL-ALT-DEL keys to bring up the "Task Manager".

Click on the column heading "CPU" twice to sort the column from top to bottom use.

When the BOINC Client Software is running you will see activity on one or more processes. In the example shown here this is for a computer with an Intel Pentium 4 processor with Hyper-Threading and so it shows two processes with 50% each.

On a single threaded CPU you will see one process with time varying up to about 99% which should be the currently executing Science Application.

Project Known Process Names
BOINC boinc
boincmgr
Climateprediction.net hadsm3
hadsm3um
sulphur_cycle
Einstein@Home albert
einstein
LHC@Home sixtrack
Predictor@Home mfoldB
Charmm
PrimeGrid rsa
Rosetta@Home rosetta
SETI@Home setiathome
SIMAP@Home simap
SZTAKI Desktop Grid search
World Community Grid rosetta
Note:
Some of these Application names may be followed by a version number.
Note:
Both Rosetta@Home and World Community Grid use an Application named "rosetta", but in almost all cases the version numbers will be different.


The Task Manager, BOINC Not Running
The Task Manager, BOINC Not Running

If you have been successful in stopping the BOINC Client Software you will see that the "System Idle Process" has most of the available CPU Time.



[edit] Back-Up the BOINC Client Directory

When we do many processes that have potentially dire consequences we should make a archive copy of the BOINC Client Directory so that we can restore our existing system if things go Really wrong.

[edit] Locate Room For the Copy

Check your available disk drives for enough room to save a copy of the BOINC Client Directory. In most cases, our recommendation would be to save the copy on a disk drive other than the disk drive where the BOINC Client Software is installed.

[edit] Drill Down to the BOINC Directory

Double-Click on "My Computer".

Double-Click on "Local Disk (C:)".

Note:
We are referencing the "normal" installation location for the BOINC Client Software. If you installed the BOINC Client Software on another disk drive, open that disk drive instead.

Double-Click on "Program Files".

[edit] Select the BOINC Directory

Click on the "BOINC Directory".

[edit] Copy the BOINC Client Directory to the "Clipboard"

"Paste" Action Progress
"Paste" Action Progress

With the "BOINC Client Directory" selected, either:

  • Press CTRL and "C", or
  • Click on the "Edit" menu, then click "Copy".


[edit] Select the Destination

Open the designated destination directory. In this example I selected the current "Program Files" directory.

[edit] Paste the BOINC Directory

"Paste" Action Progress
"Paste" Action Progress

"Paste" the copied "BOINC Directory" by either:

  • Typing CTRL and "V", or
  • Click on the "Edit" menu, then click "Paste".


[edit] Monitor the Paste of the BOINC Directory

"Paste" Action Progress
"Paste" Action Progress

Now we get to see the files getting copied into the destination.


[edit] Copy Is Complete

"Paste" Action Progress
"Paste" Action Progress

Once the copy process (the "Paste" action) is complete, you should see a new folder. In this case, we did a "Paste" to the same directory as the source so the name is changed to "Copy of BOINC".


[edit] Verify the Copy

Verification of the Copy
Verification of the Copy

Once the copy action has been completed, we want to verify that the content was completely copied. Right-click on the "source" folder and select the "Properties" menu item. Now, right-click on the "source" folder and select the "Properties" menu item.

Compare the folder sizes and the number of files located within those folders. Both the folder size and the number of files must be equal or the save action did not get performed correctly.


[edit] Performing the Installation of the "Optimized" Science Application

[edit] Explanation

Now that we have the correct "Optimized" Science Application we are ready to begin to do the installation.

Note that the use of the "Optimized" Science Application does not require the use of the "Optimized" BOINC Daemon.

For me personally, the benefits to be gained from the faster code in the BOINC Daemon is less important than using later versions of the BOINC Daemon. For example, when I was writing this guide the Recommended Version for the BOINC Client Software was 4.45, yet the "Optimized" BOINC Daemon was a much earlier Version. So, I only installed the "Optimized" Science Application.

[edit] Opening Up The "Program Files" Directory

Opening Up The "Program Files" Directory
Opening Up The "Program Files" Directory

Double-Click on "My Computer".

Double-Click on "Local Disk (C:)".

Note:
We are referencing the "normal" installation location for the BOINC Client Software. If you installed the BOINC Client Software on another disk drive, open that disk drive instead.

Double-Click on the "Program Files" folder.


[edit] Opening Up The "BOINC" Directory

Opening Up The "BOINC" Directory
Opening Up The "BOINC" Directory

Double-Click on the "BOINC" folder.


[edit] Optional Installation of the "Optimized" BOINC Daemon

At this point you can install the "Optimized" BOINC Daemon.

If you elect to not install the "Optimized" BOINC Daemon go to the step: "Installation of the "Optimized" Science Application".

[edit] Renaming the "Old" BOINC Daemon

Renaming the "Old" BOINC Daemon
Renaming the "Old" BOINC Daemon

Right-Click on the "boinc.exe" file, select "Rename" from the pop-up menu.

When the file name is selected as a edit, carefully click the name so that the insertion bar is located immediately before the period and file extension.

Add "-old" so the file name becomes "boinc-old.exe".

Note:
If you did not stop the BOINC Daemon this rename will not work!


[edit] Verify The Rename of the "Old" BOINC Daemon

Verify The Rename of the "Old" BOINC Daemon
Verify The Rename of the "Old" BOINC Daemon

Check to make sure that the name of the BOINC Daemon is now "boinc-old.exe".


[edit] Open the Folder Containing the "Optimized" Applications

Open the Folder Containing the "Optimized" Applications
Open the Folder Containing the "Optimized" Applications

Here I copied the folder downloaded in the step "Selecting the Correct Version of the Optimized Science Application" to the Desktop.

Open the folder containing the "Optimized" Applications.


[edit] Copy the "Optimized" BOINC Daemon

Copy the "Optimized" BOINC Daemon
Copy the "Optimized" BOINC Daemon

Copy the "Optimized" BOINC Daemon by:

  • "Right-Click and Drag":
    • Right-click on the file "boinc.exe" in the folder containing the "Optimized" Applications.
    • Drag the selected file to the open BOINC folder.
    • Release the mouse and select "Copy'" from the pop-up menu.

or

  • "Click and Copy":
    • Click on the file "boinc.exe" in the folder containing the "Optimized" Applications.
    • Select "Copy" in the "Edit" menu
    • Click on the "BOINC" folder.
    • Select "Paste" in the "Edit" menu


[edit] Verify the Copy of the "Optimized" BOINC Daemon

Verify the Copy of the "Optimized" BOINC Daemon
Verify the Copy of the "Optimized" BOINC Daemon

At this point, you should see two files in the BOINC Directory:


[edit] Installation of the "Optimized" Science Application

Installing the "Optimized" Science Application is the main point of this guide and isn't it about time we got on with it? Smile ...


[edit] Open the "Projects" Folder

Open the "Projects" Folder
Open the "Projects" Folder

Double-Click on the "Projects" folder.


[edit] Open the "setiathome.berkeley.edu" Folder

Open the "setiathome.berkeley.edu" Folder
Open the "setiathome.berkeley.edu" Folder

Double-Click on the "setiathome.berkeley.edu" folder.


[edit] Renaming the "Old" SETI@Home Science Application

Renaming the "Old" SETI@Home Science Application
Renaming the "Old" SETI@Home Science Application

Right-Click on the "setiathome_something.exe" file, select "Rename" from the pop-up menu.

When the file name is selected as a edit, carefully click the name so that the insertion bar is located immediately before the period and file extension.

Add "-old" so the file name becomes "setiathome_something-old.exe".

Note:
If you did not stop the BOINC Daemon this rename may not work!



[edit] Install the "Optimized" Science Application

Installation Step for an "Optimized" Science Application
Installation Step for an "Optimized" Science Application

Select the two files, "app_info.xml" and "setiathome_something.exe" and copy (or move) them into the "setiathome.berkeley.edu" folder.


[edit] Testing the Installation

Now, the installation is complete and it is time to test the upgrade!

[edit] Starting the BOINC Client Software

Starting the BOINC Client Software
Starting the BOINC Client Software

Start the BOINC Client Software.

Note, please, that I have an icon for the BOINC Client Software on my desktop. You may not have this so you will have to navigate from the "Start" button to the BOINC Menu item and select the BOINC Icon there.


Shown here, are the messages in the Messages Tab of the BOINC Manager. The key message we want to see is:

2005-07-27 05:05:31 [SETI@home] Found app_info.xml; using anonymous platform

This message is the first indication that we have put things in the correct spots.

If you did not install the "Optimized" BOINC Daemon correctly you will not even see the BOINC Daemon starting.

If you had not "drained" your supply of SETI@Home Work Units, you will likely see one or more of these messages as the previously downloaded work is purged from the Work Buffer.

2005-07-27 05:05:31 [SETI@home] WU refers to nonexistent app_version: setiathome 418
2005-07-27 05:05:31 [SETI@home] Can't link workunit in state file

See the full details on these messages:


[edit] Download Additional Work From the SETI@Home Project

Download Additional Work From the SETI@Home Project
Download Additional Work From the SETI@Home Project

Open the BOINC Manager and select the Projects Tab.

Select the SETI@Home Project in the list.

Change the Work Fetch Policy setting by depressing the button "Allow more work" changing its state to "No new work".



[edit] New SETI@Home Work Allowed

New SETI@Home Work Allowed
New SETI@Home Work Allowed

Click the "Update" button.


[edit] Work Downloaded

Work Downloaded
Work Downloaded

Select the Messages Tab.

You should see messages indicating that new work is being (or has been) downloaded from the SETI@Home Project.


[edit] Work Being Processed

This is a step with no obvious visual aid. But, now you need to monitor the operation of the BOINC Daemon and the "Optimized" Science Application. There is no simple test at this point. However, you are looking to see "normal" operational messages. If have a "bad" installation you see Message like:

  • Received signal 4
  • SIGILL: illegal instruction Exiting...
  •  ???
  • Unrecoverable Errors - all types

The most likely cause of these types of errors is that you installed the wrong type of optimized application.


[edit] "Before" and "After"

"Before" and "After"
"Before" and "After"

The last step of the install verification is that you should see a decrease in the execution times for the Results. As shown here, the time was reduced from 11,000 seconds per Result range to a 5,000 second per Result range.

Obviously with variable run times there will also be variations in the improved run times. My expectation would be that you should see at least a 20% reduction in run time with the high end of the improved run times being in the vicinity of 50% (in this example the improvement was 45%).

Note:
I used the faster time / old time to derive the speed improvement. The most important thing is not how much the change was (or is) but that we are almost twice as fast. Since the time spent on a Result varies your speed up will also be variable.

If you are not being granted Credit for the work, again, there is a problem with the installation. Most likely from the incorrect selection of the "Optimized" Science Application.


[edit] Also See

[edit] BOINC "How-To" Guides Related To Installation

The list that follows contains the BOINC "How-To" Guides, in rough order of use, that are used in the installation and set-up of the BOINC Client Software.

Note:
Don't panic! I have pictures and everything!
Personal tools