Ein eigenes BOINC Projekt aufsetzen ist, wenn man erst einmal den Dreh raus hat, garnichtmal so schwer. Jedoch ist es bei der spärlichen (bzw. wenig verständlichen) Dokumentation dazu extrem schwer überhaupt herauszufinden was getan werden muss, damit alles richtig läuft.
In den nächsten Artikeln werde ich schrittweise erklären wie ihr euer eigenes (kleines) BOINC Projekt erstellen könnt. Hier ist meine persönliche Testumgebung:
- 1x 750MHz/192MB SDRAM/80GB HDD Debian Lenny Linux Server
- 1x eeePC 901 mit Xubuntu 8.10
- 1x WinXP/Xubuntu Desktop PC mit 3,8GHz AMD
Der Server ist für größere BOINC Projekte auf jeden Fall zu schwach. Jedoch zum Testen bzw kleine (private) Projekte reicht sogar so eine kleine Maschine aus.
Der eeePC und der Desktop sind meine beiden Testclients. Mit ihnen kann ich sowohl Linux als auch Windows Clientsoftware testen.
Was für ein ServerOS ihr benutzt ist egal, jedoch empfele ich Linux. Die nachfolgenden Beispiele basieren auf Debian.
Als erstes müsst ihr euren Server aufsetzen (falls ihr nicht schon einen habt). Zur Not könnt ihr auch die Maschine nehmen mit der ihr arbeitet.
Wenn der Server erstmal läuft, brauchen wir jetzt die Quellcodes um die Serversoftware zu kompilieren. Ausserdem werden wir einen eigenen benutzer für BOINC anlegen.
Aber erstmal benötigen wir die Subversion (SVN) Versionskontrolle:
# aptitude install subversion
Wenn alles installiert ist legen wir den neuen User an, und wechseln zu ihm:
# adduser boinc # su boinc
Jetzt können wir über SVN die aktuellen Quellcodes von BOINC runterladen und kompilieren:
$ svn co http://boinc.berkeley.edu/svn/branches/server_stable boinc $ cd ~/boinc $ svn update $ cd ~/boinc $ ./_autosetup $ ./configure --disable-client $ make
Unser BOINC Projekt
Unsere Beispielanwendung wird sehr einfach sein: Sie berechnet die MD5 Summe einer Datei.
Ich weiss, dass es nichts besonderes ist, aber es ist immerhin ein Beispiel
Um dies zu bewerkstelligen, werden wir eine sogenannte "legacy application" erstellen. Diese Variante von software wird dann benutzt, wenn wir keine offenen Quellen zur Verfügung haben, um die BOINC API in die Software einzubauen.
Um eine legacy application zum laufen zu bekommen, brauchen wir eine "wrapper application". Dieses Programm wird direkt vom BOINC gestartet und kontrolliert. Der Wrapper dagegen steuert die legacy Software, und entscheidet was zu tun ist. Ein wenig kompliziert für den Anfang, aber das wird später alles ein wenig klarer.
Ich sollte hier vermutlich nochmal erwähnen, dass ich hier nur deswegen eine Legacy Application wähle, da die Software die benutzt wird nicht direkt bearbeitet werden kann. Wenn ihr jedoch eure eigene Software schreibt, könnt ihr auch direkt die BOINC API einbauen, welches die Arbeit ein wenig erleichert, und vermutlich auch ein wenig effizienter ist.
Projekt anlegen
$ cd ~/boinc/ $ ./tools/make_project --url_base "http://192.168.1.42/" --db_passwd "dbpasswort" --db_user "dbusername" md5summer
Achtung: Darauf achten, dass der make_project-Befehlt komplett in einer Zeile steht.
Ich benutze hier --url_base, da ansonsten der Servername als URL gewählt wird. Wichtig ist hierbei, eine Domain/IP zu wählen, auf der euer Projekt später zu erreichen ist.
Der letzte Teil, md5summer, ist der Projektname.
Euer Projekt wurde jetzt angelegt. Jetzt geht es an das Konfigurieren.
Im nächsten Teil der Reihe werde ich erklären wie ihr euer Projekt einrichten könnt.
