Differences between revisions 7 and 8
Revision 7 as of 2005-07-21 13:37:17
Size: 4396
Editor: anonymous
Comment:
Revision 8 as of 2005-07-21 14:10:56
Size: 4646
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 63: Line 63:
It was stated before that this settings will only influence the credits assigned to your machines, unless you also recompile the module performing the computation which is a separate download for which alioth does not yet feature Debian packages. It was stated before that this settings will only influence the credits assigned to your machines, unless you also recompile the module performing the computation which is a separate download for which alioth does not yet feature Debian packages. Sadly, while the above apparently works when starting the configure directly, say with {{{
  CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS ./configure --enable-server --enable-client
}}}
this information is not forwarded in the current debian/rules. Suggestions?

BOINC - Berkeley Open Infrastructure for Network Computing

The [http://boinc.berkeley.edu/ wiki:BOINC] project transferred all its fame from the [http://setiweb.ssl.berkeley.edu/ SETI@Home] project that the developers created before to the new infrastructure they are providing. This is far more flexible now, now fostering many more projects at a very high scientific level. It is a great success with a strong attention of the media.

The idea behind having Debian projects for BOINC ( {alioth:pkg-boinc} ) was that Debian could push the infrastructure by its capabilities of automated builds from source that cater for a higher efficiency of clients under Debian since these are adapted to the AMD/Intel/other processors, also taking, if preferences are set correctly by the user, the respective version of the processor into account.

From the user's perspective, BOINC has three parts.

  1. The server that the data flow to which, after registration to the project(s) is no longer of interst.
  2. The boinc client that is commonly wrapped by the boinc manager (boincmgr) and the only program actually that is started by the user
  3. The application's binary that is started by the boinc client.

The speed of the processor is measured by the boinc-client. One gets the more credits for one's efforts in the stats, the faster the boinc-client says the individual machine is. Hence, it makes perfect sense to have a very much optimised binary of the boinc client, if one is interested in the stats. In a way, the Debianers are interested in high stats to show that their distribution is a good one. However, the client that does the real work, the application's binary, does not go any faster from that. And this is where the real interest is in. Hence, the ultimate goal of this project is, that we have packages for the applications, too. Some are only distributed as binaries, though, which renders this process difficult. There is an inofficial (and now outdated) package for SETI@Home, updates are badly due. Jump in for help, please if you can spare the resources.

Instructions

Installation of binary distribution

You should not do this. However, admittedly, it feels good for a start to go for the less efficient binary.

Add pkg-boinc to /etc/apt/sources.list

   (cd /etc/apt/ && cp sources.list sources.list.backup \
    && cat sources.list.backup || sed -e '/pkg-boinc/d' > sources.list \
    && echo "deb     http://pkg-boinc.alioth.debian.org ./" >> sources.list \
    && echo "deb-src http://pkg-boinc.alioth.debian.org ./" >> sources.list )

Update and get things

  apt-get update
  apt-get install boinc-client boinc-manager

Run the user interface boincmgr and follow the instructions for the addition of a new project, use your user keys if you have one already. Don't go into the hazzle to copy over any prior partial results.

Installation from source

The installation from source is totally identical to the binary. The apt-src tool takes care.

  1. Prepare source directory
    1. mkdir -p ~/src/boinc
    2. cd !$
    3. apt-src install boinc
  2. Inspect source and apply patches
  3. Build and install binaries
    1. apt-src build boinc
    2. dpkg -i boinc-client boinc-manager

The man page to apt-src gives insights into how above steps could be more streamlined. I.e., if no manual intervention is desired, with apt-src install -i boinc all these steps could have been performed in one go.

Compiler settings

Frankly, we are ourselves a bit floating around on how to optimise the build process. At the moment, the following feels a nice path to go. Prior to the build, or even prior to the download, set the following variables which are picked up by configure.

  CFLAGS      C compiler flags
  CXXFLAGS    C++ compiler flags

Then inspect man gcc for the specification of your hardware. The best settings should be exchange on this wiki. For a laptop the following might be appropriate:

  export CFLAGS="-mtune=pentium-m"
  export CXXFLAGS=$CFLAGS

It was stated before that this settings will only influence the credits assigned to your machines, unless you also recompile the module performing the computation which is a separate download for which alioth does not yet feature Debian packages. Sadly, while the above apparently works when starting the configure directly, say with

  CFLAGS=$CFLAGS CXXFLAGS=$CXXFLAGS ./configure --enable-server --enable-client

this information is not forwarded in the current debian/rules. Suggestions?

-- Frank Thomas and Steffen Moeller