boinc_logo

Folding@home のポイントが切りよく(?)、 53 万になってたので、気分を変えて Rosetta@home も少しやってみました
Rosetta@home は Folding@home を久々にやるキッカケになった紹介記事で見て初めて知ったものです
(長いので r@h と f@h に略します)

r@h は f@h に似たもので、分散コンピューティングでユーザがプロジェクトに協力できるものです
プロジェクトがやってることは f@h と同じようなタンパク質の解析で医療に役立てるものです

違いは一応あるのですが専門的な話でイマイチよくわからなかったです
成果が相互に役立てたりするみたいですし、新コロの解析はどっちもやってますし、やるのはどっちでも良さそうです

実行するコンピュータの種類は r@h のほうが広くて、ラズパイやスマホでも大丈夫みたいです
また、 r@h は GPU を使わず CPU のみの対応です
グラボのない PC なら r@h でいいかもしれません
人によっては CPU は r@h で GPU は f@h と両方同時にやってる人もいるようです
f@h は CPU も対応していて Full 設定にすれば CPU を 100% 使ってくれるので f@h だけでも無駄なくリソースは使えます



f@h では f@h 専用のツールを使ってデータのダウンロード・解析・アップロードをやっていましたが、 r@h では BOINC というものを使います
BOINC は分散コンピューティングに使われる共通のツールです
いろいろなプロジェクトが対応していて、その中の一つが r@h です

医療関係に限らず、数学や天文学などのいろいろな分野のプロジェクトがあります
中には「宇宙人を見つける」とか怪しげなものもあったりします
しかもそれが BOINC の元になった SETI@home というプロジェクトなのが驚きです
そんな s@h も今年 3 月末で休止状態になったようです
20 年も続けてそれらしき信号を全く見つけられなかったようですしね
一応新しい研究が始まったら再開する予定だとか

話を戻して、 r@h は BOINC を使ってるので準備は f@h より少し複雑でした
インストールするのは BOINC で、インストール後にプロジェクトリストから r@h を選びます
私のときは、バグだったのかプロジェクトリストが真っ白で、自分でプロジェクト情報入れないといけないの?と思ったのですが、ウィンドウを開き直したら対応プロジェクトリストが見れました



デフォルト画面はこんなのです

boinc-01

背景が宇宙でキレイですね
きっと BOINC の元が s@h だからなんでしょう

詳細表示のほうが多くの情報が見れます

boinc-02

f@h と違って、いろいろなプロジェクトをまとめて管理するソフトというだけあって、 f@h よりしっかり作られて高機能な印象です



使い始めると、最初は結構待たされました
データベースファイルをダウンロードしてるとかで数百 MB のファイルが 2 つ
通信速度があんまり出ないので 1 時間 30 分くらい
ディスク使用量を見えるので動き始めてから見てみると、なんと数 GB もありました
ダウンロードした圧縮ファイルを展開すると結構増えるようです

実行が始まると f@h と違って複数のタスクが同時に実行されていました
CPU のコア数だけ並列で実行されるようです
コア 4 つの i5 CPU なので 4 つのタスクが同時に実行されました

f@h だと CPU と GPU それぞれ同時に処理するのは 1 つのタスクです
1 つのタスクを並列処理で計算してるみたいです
r@h の場合は別々のタスクなので、 CPU 以外にメモリ使用量もけっこう大きめでした

この違いのせいなのか r@h では Norton 先生の CPU 使用率も数秒おきに 20% くらいになってました
f@h のときは特に気になるほどじゃなかったのですけどね

1 つのタスクにかかる時間は 2, 3 時間のもあれば 7, 8 時間のもありました
どのタスクも想定計算量は 80,000 GFLOPS で一緒らしいんですけど・・・
f@h の CPU タスクよりは時間がかかるものもありますが、 4 並列と考えると時間辺りにこなせるタスク数は f@h より多いです
時間がかかるものでも、 f@h の GPU みたいに 12 時間以上かかるのはないので、まだ終わりたいタイミングで終わりやすいです

タスクには予想残り時間が見えるのですが、これが全然当てになりません
最初は 1 日って書いていて 50% になったら 12 時間でした
でも、開始してから 50% になるまで 2 時間もかかってないですけど?
タスクの情報には 「1 時間あたりの進行度」 があります
それを使ってくれればいいのに、なぜか予想時間に使ってくれないみたいです
関係しそうなものにベンチマークで GFLOPS を出す機能がありました
こっちを元に残り時間を決めてるのかなとベンチマークを実行してみたのに相変わらずでした
経過時間と進行度を見て自分で推測するしか無いです

進行度は終盤で急に 100% になることがありました
時間的にそろそろ 90 % くらいかなーと見てみたら 100% になってることが数回です
100% になる過程は見れてないのでジャンプというより最後だけ高速になったのかもです
90% くらいと 80% くらいのがあって、ちょっと目を離していたら 90% 台と 100% でした
それまで % の上昇は同じくらいのペースだったのに 80% のほうが先に 100% になってました
並び替わったの?と思ったほどです
エラーが起きて途中終了の心配もしましたが、結果は正常みたいでポイント加算されていました

期限はわりと長めで 3 日ほどあります
時間的に余裕があるからなのか、次のタスクを早いうちから自動で取得します
実行中が 4 つで待機中が 8 つくらいあったりします
取得するとそのタイミングでタスクが自分に割り当てられて期限も決まります
24 時間実行し続けるわけじゃないので、その前提でどんどん取ってこられると後半期限切れも出てきそう
最大でどこまで事前取得するのかわかりませんが、途中で自動取得を止めました
プロジェクト単位で自動取得のオン・オフを切り替えられます

f@h だと、終わった計算結果を元に次の計算を始めるので、時間を効率的に使うためか、もうすぐ終わりになるまで次のは取得できません
タイムアウトも基本 1 日です(一応ポイントが全くもらえなくなる期限切れは 1 週間くらいありますけど・・・)
そう考えると r@h のほうが長期的にゆるくやる方針なのかもしれません
r@h というより、 BOINC 全体に言えるのかもです



r@h でもタスクをこなすとポイントがもらえます
「功績値」と呼ばれてます
r@h プロジェクト内だけでなく、 BOINC 全体で合計の功績値も見れます

プロジェクトごとに功績値の量が違うみたいで r@h はあんまり多くないそうです
合計功績値でランキング上位に行きたいなら r@h はあんまり向いてなさそうです
とは言っても、このポイントが増えてもメリットはないです
興味のあるプロジェクトに参加するのが良いと思います
多くもらえるものだと稼ぎ目的で不正が出やすいから控えめのほうがよかったりするのかな?

r@h でもらえる功績値は最初のほうは、タスクあたり 20 ちょっとくらいでした
しかし、タスクをいくつかこなしてると 50 になって、 100 になって、 200 になって、・・・と増えていきました
もしかしてこの数字って合計値?と思うくらい
ですが、合計の画面ではそれらの合計が出ていたのでちゃんとタスクあたりの功績値でした
連続して早めに正しい情報を返していればボーナスがあるのかもしれないです
増加も途中で止まって、 1000 は超えずに最大 400 くらいでした
その後は 100~400 くらいのが続いています



r@h の功績値のランキングはここで見れます

チーム:
https://boinc.bakerlab.org/rosetta/top_teams.php

ユーザ:
https://boinc.bakerlab.org/rosetta/top_users.php

BOINC 全体だと別のサービスがあります
https://www.boincstats.com/stats/-1/user/list/

全体・プロジェクト単位・国・チームなど色々な統計情報が見れます

同じようなサービスは他にもあります

https://boinc.netsoft-online.com/index.php
https://stats.free-dc.org/index/

ゲームの実績の統計情報を見れるサイトを思い出しますね



ところで、やってみて最初にいきなりバグに出くわしました
100% になったのが「報告待機」のまま進みません
どうすればいいのかわからなくてログを見ると

『Task ****** exited with zero status but no 'finished' file』

ステータス 0 だから正常終了してるはずなのに、ファイルが見つからないようです
ログには、繰り返し起きるようならプロジェクトのリセットをしてみてください、ともあります
数時間かけて計算したのがいきなり無駄になったの?
とショックを受けてたのですが、ググってみると既知の問題で無視していいみたいです

BOINC のタスク画面では「報告待機」ですが、ウェブサイト側では功績値が増えていました
リストから消えるまでには時間がかかるみたいです
放置してたら無事消えました
実害のないバグでしたが、初回だとなんか怖いですね



r@h やってみましたが、 f@h とどっちがいいかは難しいです
今 f@h や r@h に使ってる PC はグラボがあるので、とりあえずは有効活用できる f@h でいいかなと思ってます
CPU は r@h で GPU は f@h でみたいな複雑なことしたくないですし

r@h に限らず BOINC にある他のプロジェクトもやりたいのであれば、 BOINC でまとめて管理できるので r@h のほうがいいかもです