boinc on FreeBSD 6.2

【概要】
boincに提供されているタスクのバイナリで、Nativeに対応しているものはない。
つまり、boinc-clientを入れて、プロジェクトに参加しただけでは、何も始まらない。



【対象のバージョン】
・OS
FreeBSD ホスト名 6.2-RELEASE-p4 FreeBSD 6.2-RELEASE-p4 #0: Thu Apr 26 17:55:55 UTC 2007 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/SMP i386
・Boinc-Client
BOINC client version 5.8.17



【各プロジェクト OS対応状況】
http://boinc-wiki.ath.cx/index.php?title=Choosing_a_BOINC_Powered_Project

ただし、
・SETI@home
・Einstein@home
の各プロジェクトは、別途プログラムを追加することで実行できる。
/usr/ports/astro/boinc-setiathome-enhanced
/usr/ports/astro/boinc-einsteinathome

・SIMAP
のプロジェクトは、makeのときに(またはpkgtools.confに)以下を追加し、インストール(portinstall)する。
CONFIGURE_ARGS= --disable-server --with-boinc-platform=i686-pc-linux-gnu
※この場合、プラットフォーム名が、FreeBSDでなくなってしまうので注意。
 FreeBSDのNativeなプラットフォーム名は「i386-portbld-freebsd」

その後別途プログラムを追加する。
/usr/ports/biology/boinc-simap



【参考】
・BOINC on FreeBSD
http://people.freebsd.org/~pav/boinc.html

・FreeBSD platforms
http://boinc.gorlaeus.net/forum_thread.php?id=248

・maruko2 Note. ≫ Top / boinc
http://www.maruko2.com/index.php?boinc



【クライアントについて】
・実行ファイル一覧
 
 /usr/local/etc/rc.d/boinc スタートアップスクリプト
 /var/db/boinc/boinc_cmd ユーティリティー



【HELP】
# /usr/local/bin/boinc_client --help
Usage: /usr/local/bin/boinc_client [options]
-help show options
-version show version info
-exit_when_idle Get/process/report work, then exit
-show_projects show attached projects
-return_results_immediately contact server when have results
-detach_project detach from a project
-reset_project reset (clear) a project
-attach_project attach to a project
-update_prefs contact a project to update preferences
-run_cpu_benchmarks run the CPU benchmarks
-check_all_logins for idle detection, check remote logins
too -allow_remote_gui_rpc allow remote GUI RPC connections
-gui_rpc_port port for GUI RPCs
-redirectio redirect stdout and stderr to log files
-detach detach from console (Windows)
-dir use given dir as BOINC home
-no_gui_rpc don't allow GUI RPC, don't make socket
-daemon run as daemon (Unix)
-insecure disable BOINC security users and permissions (Unix, Linux)
-launched_by_manager core client was launched by Manager
#


# boinc_cmd --help

usage: boinc_cmd [--host hostname] [--passwd passwd] command

Commands:
--get_state show entire state
--get_results show results
--get_file_transfers show file transfers
--get_project_status show status of all attached projects
--get_simple_gui_info show status of projects and active results
--get_disk_usage
--result url result_name {suspend | resume | abort | graphics_window | graphics_fullscreen}
--project url {reset | detach | update | suspend | resume | nomorework | allowmorework}
--project_attach url auth
--file_transfer url filename {retry | abort}
--set_run_mode {always | auto | never} duration
--set_network_mode {always | auto | never} duration
--get_proxy_settings
--set_proxy_settings
--get_messages seqno show messages > seqno
--get_host_info
--acct_mgr_rpc url name password
--run_benchmarks
--get_screensaver_mode
--set_screensaver_mode on|off blank_time {desktop window_station}
--get_project_config url
--get_project_config_poll
--lookup_account url email passwd
--create_account url email passwd name
--quit
#



【クライアントインストール】
su
portinstall net/boinc-client
rehash

/etc/rc.conf
boinc_enable="YES"

cd /var/db/boinc
cp gui_rpc_auth.cfg gui_rpc_auth.org.cfg

gui_rpc_auth.cfg
リモートのBoinc Managerからアクセスするときのパスワードを平文で書く



【クライアントの実行】
・リモートから行う場合
/usr/local/bin/boinc_client -allow_remote_gui_rpc &

・ローカルのCUIで行う場合
/usr/local/etc/rc.d/boinc start



【クライアントの停止】
/usr/local/etc/rc.d/boinc stop



【プロジェクトのattach】
・GUI
 ウィザードに従い、メール/パスワードを登録する。


・CUI
 メール/パスワードではなく、キーで登録する。

cd /var/db/boinc
boinc_cmd --project_attach プロジェクトのURL キー(※)

※各プロジェクトのwebページでユーザー登録後、メールで送ってもらう。
http://setiathome.berkeley.edu/get_passwd.php
http://einstein.phys.uwm.edu/get_passwd.php
http://boinc.bakerlab.org/rosetta/get_passwd.php
などで取得する。


【boinc-setiathome-enhancedのインストールログ】
*****************************************************************************
ATTACHING PROJECT

Just run boinc_gui, choose Attach, and follow instructions.
Project URL is setiathome.berkeley.edu

MANUAL INSTALLATION
*) If this is your first time in any BOINC project, create a new account at
http://setiathome.berkeley.edu/create_account_form.php

*) Or get your account key at http://setiathome.berkeley.edu/get_passwd.php

*) Attach to the project:
cd /var/db/boinc
boinc_cmd --project_attach setiathome.berkeley.edu
*****************************************************************************
===> Registering installation for boinc-setiathome-enhanced-5.13_1


【参考:タスクの取得と実行のログ】
# /usr/local/bin/boinc_client -allow_remote_gui_rpc &
[1] 22241
# 2007-07-03 13:49:46 [---] Starting BOINC client version 5.8.17 for i386-portbld-freebsd
2007-07-03 13:49:46 [---] log flags: task, file_xfer, sched_ops
2007-07-03 13:49:46 [---] Libraries: libcurl/7.16.1 OpenSSL/0.9.7e zlib/1.2.3
2007-07-03 13:49:46 [---] Data directory: /var/db/boinc
2007-07-03 13:49:46 [---] Processor: 2 i386 Pentium III/Pentium III Xeon/Celeron [] [sse 3dnow mmx]
2007-07-03 13:49:46 [---] Memory: 503.45 MB physical, 0 bytes virtual
2007-07-03 13:49:46 [---] Disk: 1.44 GB total, 1.22 GB free
2007-07-03 13:49:46 [rosetta@home] URL: http://boinc.bakerlab.org/rosetta/; Computer ID: xxxxxx; location: (none); project prefs: default
2007-07-03 13:49:46 [---] No general preferences found - using BOINC defaults
2007-07-03 13:50:19 [---] Fetching configuration file from http://setiathome.berkeley.edu/get_project_config.php
2007-07-03 13:50:36 [SETI@home] Master file download succeeded
2007-07-03 13:50:36 [SETI@home] Sending scheduler request: Project initialization
2007-07-03 13:50:36 [SETI@home] Requesting 1 seconds of new work
2007-07-03 13:50:38 [SETI@home] Scheduler RPC succeeded [server version 509]
2007-07-03 13:50:38 [SETI@home] Deferring communication for 11 sec
2007-07-03 13:50:38 [SETI@home] Reason: requested by project
2007-07-03 13:50:38 [SETI@home] Successfully attached to SETI@home
2007-07-03 13:50:40 [SETI@home] [file_xfer] Started download of file 08fe00aa.2292.4690.461070.x.xxx
2007-07-03 13:50:40 [SETI@home] [file_xfer] Started download of file arecibo_181.png
2007-07-03 13:50:42 [SETI@home] [file_xfer] Finished download of file arecibo_181.png
2007-07-03 13:50:42 [SETI@home] [file_xfer] Throughput 54211 bytes/sec
2007-07-03 13:50:42 [SETI@home] [file_xfer] Started download of file sah_40.png
2007-07-03 13:50:43 [SETI@home] [file_xfer] Finished download of file sah_40.png
2007-07-03 13:50:43 [SETI@home] [file_xfer] Throughput 8857 bytes/sec
2007-07-03 13:50:43 [SETI@home] [file_xfer] Started download of file sah_banner_290.png
2007-07-03 13:50:44 [SETI@home] [file_xfer] Finished download of file 08fe00aa.2292.4690.461070.x.xxx
2007-07-03 13:50:44 [SETI@home] [file_xfer] Throughput 106857 bytes/sec
2007-07-03 13:50:44 [SETI@home] [file_xfer] Finished download of file sah_banner_290.png
2007-07-03 13:50:44 [SETI@home] [file_xfer] Throughput 36431 bytes/sec
2007-07-03 13:50:44 [SETI@home] [file_xfer] Started download of file sah_ss_290.png
2007-07-03 13:50:45 [SETI@home] Starting 08fe00aa.2292.4690.461070.x.xxx_1
2007-07-03 13:50:45 [SETI@home] Starting task 08fe00aa.2292.4690.461070.x.xxx_1 using setiathome_enhanced version 513
2007-07-03 13:50:46 [SETI@home] [file_xfer] Finished download of file sah_ss_290.png
2007-07-03 13:50:46 [SETI@home] [file_xfer] Throughput 50921 bytes/sec
2007-07-03 13:50:53 [SETI@home] Sending scheduler request: To fetch work
2007-07-03 13:50:53 [SETI@home] Requesting 8640 seconds of new work
2007-07-03 13:50:58 [SETI@home] Scheduler RPC succeeded [server version 509]
2007-07-03 13:50:58 [SETI@home] Deferring communication for 11 sec
2007-07-03 13:50:58 [SETI@home] Reason: requested by project
2007-07-03 13:51:00 [SETI@home] [file_xfer] Started download of file 26fe00aa.9890.15778.909672.x.xx
2007-07-03 13:51:03 [SETI@home] [file_xfer] Finished download of file 26fe00aa.9890.15778.909672.x.xx
2007-07-03 13:51:03 [SETI@home] [file_xfer] Throughput 216078 bytes/sec
2007-07-03 13:51:04 [SETI@home] Starting 26fe00aa.9890.15778.909672.x.xx_2
2007-07-03 13:51:04 [SETI@home] Starting task 26fe00aa.9890.15778.909672.x.xx_2 using setiathome_enhanced version 513