堺風の頭部

徘徊、カメラ、PC、その他。

Androidでdistributed.netのOGR探索

mubouan.hatenablog.com

 昨年末にこんな、書きたいこと全部書いたら恐ろしく長くなってた記事をアップしたとおり、私もずいぶん長らく、distributed.netの分散コンピューティングプロジェクトへの参加者だ。
 今年もまた涼しくなって、PCのCPUをぶん回してもさほどヤバいことにならなくなってきた。科学への貢献をする時期がきたといえよう。

 さて、物理ボタンが壊れたスマホなんて扱いづらいものが浮いてしまったので、こやつをdistributed.netの演算処理に回してみたい。
 この記事では、その手順を示す。

 PC版でのdistributed.net参加方法については、おそらく今でもネット上でdistributed.netの情報を公開している数少ない人物であろうさおやぎ氏が、わかりやすい解説を書いているのでそちらを。

qiita.com

 

AndroidBOINCのインストール

play.google.com

 さて、Androidでdistributed.netの公式クライアントはない。(あれこれいじったらARM版クライアントが動くかもしれないが、少なくともストアから落とせるようなものはない)

 代わりに、分散コンピューティングのプラットフォームであるBOINCを使う。
 2017年10月現在では、Android 4.1以降に対応。

 これをインストールしてから、distributed.netのOGRを処理するプロジェクトを選択して実行する。

 

BOINCクライアントの設定

 インストールしたら起動して、設定していく。

f:id:mubouan:20171002131505j:plain

 まず、参加プロジェクトの選択画面が出る。
 distributed.netに参加する場合、OGRならYoyo@homeを選ぶ。RC5-72に参加するなら、Moo! Wrapperで。

 

f:id:mubouan:20171002131850j:plain

 続いて、アカウント作成・ログイン画面。

 Yoyo@homeに未使用のメールアドレスを使えば、入力した名前・パスワードでアカウントが作成される。
 すでに他の端末でアカウントを作ってある場合は、メールアドレスとパスワードが一致すれば、そのアカウントでの参加になる。

 

f:id:mubouan:20171002132036j:plain

 こんな画面になるので、これで端末を充電しながら画面をオフにすれば、演算開始。
 初期設定ではかなり安全側に振ってあるので、普段使うような端末でやるならその設定でいいかと思う。

 私のZTE Blade L3は、余生をせめて有意義に過ごさせるのが目的なので、もっと全力で仕事する設定にする。

 

BOINCクライアントの詳細設定

f:id:mubouan:20171002132417j:plain

 ハンバーガーメニューを出して、「プレファレンス(好みの設定)」を開く。

 

f:id:mubouan:20171002132510j:plain

 まずは、「詳細なプレファレンスとコントロールを表示」にチェック。

 「自動起動」は、普段使いの端末なら外しておいていいかも。外しておけば、明示的に起動したときだけ実行のはず。
 「画面の電源が入っているときは計算を一時停止」も、普段使いの端末ならチェックしておく。専用化するなら外す。

 通知関係は、私はうるさいからオフにする。

 「WiFiでのみタスクを転送する」は、Yoyo@homeでdistributed.netのOGRをやる分にはさほど転送量大きくないはずなので、別に4Gで転送されてもいい気がする。

f:id:mubouan:20171002132959j:plain

 「計算のための電源供給減」は、コンセント・USB接続・ワイヤレス充電器・バッテリーの4つをそれぞれオン・オフできる。
 デフォルトでは、バッテリーのみオフ。それが無難と思う。

 「最少バッテリー残量」は、デフォルトで90%。
 BOINCが走っていると充電が遅くなってしまうが、この設定値以下ならBOINCが止まる。普段使いの端末だったら、90%や100%の高い数値に設定。
 専用機だったら低くしちゃえばいいと思う。

 「最高バッテリー温度」は、文字通りで温度リミッター。
 どうしてもBOINCが走ると端末の温度が上がるが、その熱でバッテリーにダメージがいかないようにセイフティがかけられている。
 これはたとえ専用機でも、触らずデフォルトがいい。危険なので。

 「使用されるCPUコア数」は、手元の4コア端末だとデフォルトが2になった。発熱のからみもあるが、まあ4コア使う設定にするほうが速度は出る。

 「CPUの制限」は、文字通りリミッター。発熱など気にする事情があれば適度に。

 「超過により休止するCPU使用率」は、他のアプリでの使用率が上がるとBOINCを止める設定。

f:id:mubouan:20171002134040j:plain

 ストレージやメモリは、多分BOINCがそこまで大量に使いまくることもないと思うので、問題が出たら上限値を減らしていけばいいと思う。

 

Yoyo@homeの詳細設定

yoyo@home

 さらに、Yoyo@homeのウェブサイト側から、さらに詳しい設定がある。

 トップページ左手の「Returning Participants」にある「Your Account」のリンクをクリックすると、個人のアカウントページに行ける。
 先ほどのメールアドレスとパスワードでログイン。

 アカウントページに入ったら、いくつも設定できる項目がある。
 まずは「Preferences」の「yoyo@home preferences / control resource share and customize graphics」の「View or edit」へ。

 Edit yoyo@home preferencesのリンクから、設定画面へ入る。

 Graphicsとか色々あるけれども、「Run only the selected applications」のところに注目。Yoyo@homeは、distributed.netのOGRプロジェクト以外にも、複数のプロジェクトが含まれている。
 なので、特にOGRだけやりたい場合、「Cruncher - optimal golumb ruler」以外のチェックは外してしまおう。

 最後に「Update preferences」をクリックして設定保存。

 

処理スタート&Statsの確認

 ここまでくれば、端末をWiFiの使える場所で充電器につなぎ、画面をオフにしておけば、あとは放置しておくだけ。ぼちぼち進んでいく。

 

 Yoyo@homeのサイトから、左手の「Community」の「Search Profile」のリンクから、アカウント検索ページへ行ける。
 自分のユーザー名で検索すればヒットする。上手く行かない場合は、自分のアカウントページでユーザー名を設定したりとかしてみよう。

Account data for mubouan

 私のStatsはこれ。

 

 また、distributed.net側のstatsにも登録される。
 開始直後にはすぐ出てこないので、数日経過してからチェック。

stats.distributed.net - OGR-28 Participant Summary for u_mubouan@yoyo.rechenkraft.net

 u_[ユーザー名]@yoyo.rechenkraft.net というアカウント名で登録されちゃうので、適宜検索しよう。

 これ、今まで使ってたd.netのStatsと統合したいんだけど、やり方わからないな。