BOINC

New BOINC LogoBOINC steht für die Berkeley Open Infrastructure for Network Computing und wird von vielen am ehesten mit SETI (oder SETI@Home) verbunden. Doch BOINC ist eigentlich viel mehr: Es handelt sich um eine Plattform bei der Privatleute rechenintensive (meist) wissenschaftliche Projekte mit wenig Aufwand unterstützen können. Diese Unterstützung kann als Spende angesehen werden. Wobei diese Art von Spende in Form von Rechenleistung erfolgt. Die Grundidee rührt daher, dass jeder PC einen Großteil seiner Zeit eigentlich nicht arbeitet. Salopp gesagt werden die vielen “Gigahertz” heutiger Prozessoren eigentlich nur genutzt (und gebraucht) sobald gerade Last auf dem System ist. Das ist jedoch verglichen mit der täglichen Laufzeit eines Computers nur sehr selten der Fall.

Für BOINC werden eine Reihe von interessanten und weniger interessanten Projekten angeboten, an denen man sich beteiligen und Rechenleistung seines PCs für sie spenden kann. Das Schöne daran ist, dass man selbst entscheiden kann, ob man nach Aliens suchen (bei SETI@Home), Heilungsmethoden gegen AIDS oder Krebs ermitteln (beim World Community Grid), Auswirkungen des Klimawandels und der globalen Erwärmung untersuchen (bei Climateprediction) oder zur Grundlagenforschung in Chemie und Biologie beitragen (z.B. SIMAP oder QMC@Home) möchte. Man kann sogar mit demselben Computer an mehreren Projekten teilnehmen und somit zu verschiedenen Projekten spenden.

 

Unser Beitrag

Unsere (verteilte) BOINC-Farm

Es gibt neben den “normalen” BOINC-Usern, die zwischen 1 und 3 Rechnern mit BOINC betreiben auch eine kleine Minderheit von Leuten, die sogenannte BOINC-Farmen (auch “BOINC-Cluster”) betreiben. Es wird also eine kleinere Anzahl von Rechnern nur für BOINC alleine 24 Stunden am Tag, 7 Tage die Woche betrieben.

Auch hier gibt es wieder zwei Gruppen von Leuten: Die einen sind auf reine Credit-Hascherei aus - die anderen sehen den wissenschaftlichen Nutzen der beteiligten Projekte im Vordergrund. Im Grunde macht es keinen großen Unterschied, welcher der beiden Gruppen man angehört. Schließlich sind die letzteren nur dahingehend besser/überhaupt informiert, wofür man sich so engagiert beteiligt. Vom reinen Nutzen her betrachtet leistet ja niemand weniger - auch wenn es aus “niederen Motiven” geschieht. ;)

BOINC-Farm Potsdam (2006)Nichtsdestotrotz zählen wir uns zu denjenigen Usern, die kontinuierlich reflektieren welchen Nutzen ein Projekt hat und welches evtl. besser sein könnte. Deshalb betreiben wir derzeit zwischen 10 und 15 Rechner (die Hälfte davon 24/7) zur Unterstützung der BOINC-Projekte SIMAP, QMC@Home, Einstein@Home und SETI@Home. Die Auswahl der Komponenten der Rechner ist mit Hinsicht auf Energieeffizienz gefällt worden.

BoincViewZum Management unserer Farm (zumindest des größten Teils) verwenden wir unser familieninternes Extranet über einen dauerhaften VPN-Tunnel (mit OpenVPN) zwischen den Netzwerken in Bochum und Potsdam. Desweiteren gibt es eine gute Software namens BoincView (siehe Screenshot), die es ermöglicht mehrere BOINC-Rechner gleichzeitig per remote zu monitoren und konfigurieren.

Die meisten BOINC-Rechner der Farm laufen diskless (ohne Festplatte) & headless (ohne Monitor, Tastatur & Maus) mit BOINCpe und sparen so Energie. Dabei handelt es sich um eine eigens von uns entwickelten modifizierten Variante von BartPE.

Das inoffizielle BOINC Wiki

Da viele Sachen rund um BOINC von offizieller Seite noch sehr unausgegoren und teilweise schwer verständlich sind, gibt es ein Wiki-Projekt das es sich zur Aufgabe gemacht hat alle Zusammenhänge um BOINC möglichst verständlich und umfangreich zu erklären und zu dokumentieren. Daher schreibe ich beim inoffiziellen BOINC Wiki (englischsprachig) als User Torben Schreiter mit.

Unser Beitrag in Hausnummern

BOINCstats

Related Articles


Write a Comment

Take a moment to comment and tell us what you think. Some basic HTML is allowed for formatting.

Powered by WP Hashcash

Reader Comments

Big Apple: * New York City * (30. Oktober - 04. November)…

New York City, Spitzname “Big Apple”: 1924 machte dann der Sportjournalist John J. Fitz Gerald den Begriff in seiner Kolumne mit dem Titel “Around The Big Apple” über die New Yorker Pferderennszene populär. Im Pferderennspor…

Hi Torben,

meine letzte New York Reise führte mich zu Weihnachten in diese wahnsinns Stadt. Dass war sicher nicht das billigte Weihnachten was ich verlebt abe, aber mit Sicherheit das schönste. New York ist persönlich für mich eine der schönsten und gigantichsten Städte die es gibt auf der Welt und wer noch nicht in New Yorkwar, kann sich nicht vorstellen was dort abgeht.

LG
Karo

BoincPE seems to do excellently on my XP computers.

I now have some Vista computers. Does BoincPE work at all on Vista systems, if so, how do I get it to set-up. Do I simply make a copy in an XP computer and boot up the Vista computer with it?

Ob der Kerkeling auch schon in New York war?

Hi Torben

After a few power outages, and loss of some workunits, I think I might be on to something. Some Boinc projects tasks only take about 3 hours to run. So even persisting the data to a network share every 24 hours will result in some loss of WU’s. Also, you can never be sure the state of the data when the persistency service runs is a ‘valid’ checkpoint. Also when having several machines run their backup at once, it saturates the 100MB network. So what I have decided to do is eliminate the persistency service altogether, and instead, when mapping the network share, I just set that directory (the folder with the machines unique MAC id) as the BOINC data directory. And voila! No more lost workunits (even when power is restored, the last checkpoint has almost always worked, and no more duplicate ID’s). Also network traffic is much slower, and nearly unnoticable hard drive activity. Even when 2 machines are downloading new workunits, even the slowest hard drive can more than keep up with the data flow off the internet (very few people in the world have more than 10-25MB sustainable download speeds). Here is the main modifications I made to a couple batch files:

First is inti_boinc:

@ECHO OFF

REM This File is launched from PeNetCfg.ini (section [PostNetAutoRun])

ECHO.
ECHO Setting BOINC paths…
ECHO ======================
ECHO.

SET BOINCbase=%SystemDrive%\BOINC
SET BOINCclient=%BOINCbase%\Client\Standard

CALL setSysVar BOINCbase %BOINCbase%
CALL setSysVar BOINCclient %BOINCclient%

ECHO.
ECHO Processing Network Share Data
ECHO.

CALL %BOINCbase%\Persistency\network_share_data.bat
SET ERRORLEV=0
SET PersistDrv=T:
SET PersistDrvBase=Q:
CALL setSysVar PersistDrv %PersistDrv%

ECHO This system’s MAC addresses:
%BOINCbase%\Persistency\GetMACAdapters.exe
for /f “tokens=1 delims=;” %%i in (’%BOINCbase%\Persistency\GetMACAdapters.exe’) do Set MAC=%%i

ECHO.
CALL setSysVar MAC %MAC%
ECHO.
ECHO Mapping temporary share %PersistDrvBase%…
net use %PersistDrvBase% “%Share%” “%Password%” /user:”%User%”

if exist %PersistDrvBase%\%MAC%\ goto ShareExists
if exist %PersistDrvBase%\ goto CreateFolder

SET ERRORLEV=1
ECHO.
ECHO FAIL: Share %Share% does not exist…
ECHO.
goto end

:CreateFolder
ECHO.
ECHO Creating dir based on MAC address…
md %PersistDrvBase%\%MAC%

:ShareExists
ECHO.
ECHO Removing temporary share %PersistDrvBase%…
net use %PersistDrvBase% /delete
ECHO Mapping share %Share%\%MAC% to %PersistDrv%
net use %PersistDrv% “%Share%\%MAC%” “%Password%” /user:”%User%”

SET BOINCdata=%PersistDrv%\Data
CALL setSysVar BOINCdata %BOINCdata%

if exist %PersistDrv%\Data goto launch
xcopy %BOINCbase%\InitData\*.* %BOINCdata%\ /e /s /v /y /h /r /d

:launch
ECHO.
ECHO Launching BOINC
ECHO ===============
ECHO.
REM Start BOINC launcher

CALL %BOINCbase%\Client\launch_boinc.bat

:end
EXIT

Then launch_boinc was modified slightly (the new client 10.45 doesn’t like the switch “return_results_immediately”:

@ECHO OFF

start /D%BOINCclient% /low %BOINCclient%\boinc.exe -dir %BOINCdata%

start /D%BOINCdata% %BOINCclient%\boincmgr.exe

:end
EXIT

Next I moved the 2 batch files, load_boinc_data, and persist_boinc_data out of the “Files” subdirectory so those 2 options would be correctly greyed out in the NU2 Menu.

Also the restart and shutdown commands modified to remove the calls to the persistency service:

NT Shutdown command script:
@ECHO OFF

ECHO Shutting down BOINCpe now…..
ECHO ==============================
ECHO.

@%systemroot%\system32\nu2shell.exe -s

EXIT

and NT reboot command script:
@ECHO OFF

ECHO Rebooting BOINCpe now…..
ECHO ==========================
ECHO.

@%systemroot%\system32\nu2shell.exe -r

EXIT

So far (about 1 week) everything is working good, and I this will be much easier and cheaper in setting up a headless and diskless ‘farm’. First the main advantage is more consistent uniform network traffic, more reliable restarts in the event of a power failure. Also, the size of the Ramdisk can be greatly reduced, allowing the machines to be built with probably as little as 512KB of ram (256+256 Ram drive). The RAM drive is still needed to allow for the creation of some folders that WindowsPE needs, like the My Documents folder etc. What I did to reduce hard drive activity is set global preferences in either a Account Manager or the project itself is to set the “Write to Disk at most every XXX seconds” paramenter to about 600 (10 min) on all “slave machines”. This is like persising every 10 min, but only changing files that are needed, rather than re-writing and backing up of the entire Network Share, which is time consuming, and can easily saturate a 100MB LAN.

Cheers!

This is for Markcbq

There really is no such thing as a “XP” or “Vista” computer. Any system that will run Vista will work just fine with the ‘mini-XP’ that BartPE uses. Just be sure to use a Windows XP CD when building the image, dont use a “Vista” CD. You might need to put a driver for the network card into the proper folder in BoincPE before building it.