設定

NASを使って新型コロナウイルスの研究に貢献する

新型コロナウイルス COVID-19 が猛威を振るい、外出が厳しい状況にあります。新しい三脚を入手したので風景写真を取りに行きたいところですがいつになるのかわかりません。

パンデミックの終息を早めるために家にいることが今できる事の一つだと思いますが、その他にできることはないだろうか?と調べているとこんな記事を発見しました。

【やじうまPC Watch】 「Rosetta@home」ならラズパイでも新型コロナの解析に協力可能

 海外メディアのTom's Hardwareにて、Raspberry Piを使った新型コロナウイルスの解析プロジェクトRosetta@homeへの参加の仕方が紹介されている。

  

新型コロナウイルスの解析にPCやスマホのコンピューターリソースを活用するという内容です。

なるほど、そういった部分でパンデミック終息に貢献できるそうです。更に貢献できそうなコンピューターリソースは無いかと周囲を見渡してみるとNASがあることに気づきました。

私はQNAPのTS-453BeというNASを使用していますが、これはDockerを使えます。ここにRosetta@homeFolding@homeの環境を作ることができればもっと貢献できそうです。

調べてみると既にそれら向けのDockerイメージが作成されていました。今回は非力なリソースでも貢献できそうなQNAPのTS-453Be上でRosetta@homeの環境を構築してみたいと思います。

Rosetta@home環境の構築

Rosetta@homeとFolding@homeのDocker設定についてはリンク先に詳しく書いてあります。こちらを元にRosetta@home環境を作成してみます。

COVID-19: How it’s affected us, and how you can help.

It’s certainly no secret that the SARS-CoV-2 pandemic has changed everyone’s lives in recent weeks. European countries are effectively closed, and people are more than ever being advised to self-isolate or work from home. It has put a tremendous amount of pressure on everyone.

  

QNAP上でのDockerの操作などについては以前にWordPress環境を構築したときと同様に、docker-composeの設定をまるっとコピーして使用するのが手っ取り早いです。ということで、Docker-hubの設定を元にした下記のdocker-composeの設定を使うこととしました。

boinc:
  image: linuxserver/boinc
  container_name: boinc
  environment:
    - PUID=1000
    - PGID=1000
    - TZ=Asia/Tokyo # オリジナルよりタイムゾーンを変えてみました。変えなくても影響ないかもしれません。
  volumes:
    - /path/to/data:/config #optional
  ports:
    - 8089:8080 #ポート番号は他と重複しないように変更
  devices:
    - /dev/dri:/dev/dri #optional
  restart: unless-stopped

linuxserver/boinc

The LinuxServer.io team brings you another container release featuring: regular and timely application updates easy user mappings (PGID, PUID) custom base image with s6 overlay weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth regular security updates

  

volumesの設定はなくても大丈夫だと思います。タイムゾーンは日本に合わせましたがオリジナルのEurope/Londonでも問題ないかもしれません。portsはご自身の環境に合わせて変更してください。

コンテナの構築が終わるとこのような感じになります。Rosetta@homeに追加前なのでCPU使用率は低いです。

Rosetta@homeに参加する

Rosetta@homeに参加するにはリンクボタンをクリックしてクライアント画面を開きます。

クライアント画面から参加するプロジェクトを選びます。Rosetta@homeを選択してNextをクリック。

メールアドレスとパスワードを設定します。捨てアドでもいいと思います。パスワードは6文字以上です。

参加後は、このような画面になり準備中になります。

この状態だとプログレスがわからないのでView->Advanced Viewに変更をおすすめいたします。

View->Advanced ViewでTransfersを見ると準備段階としていくつかのファイルをダウンロードしている様子がわかります。混み合っているのか180kbpsほどしか速度が出ず、実際のタスク実行まで約3時間ほどかかりました。

CPU使用率を調整する

ダウンロードが終わって実際にタスクが実行されるとTS-453BeのCPU使用率が100%になってしまいました。

ファンが勢いよく回り、このまま放置しておくと危険なので設定変更して調整が必要です。まだタスク実行前であれば、ダウンロード中の空き時間に設定しておけば安心かもしれません。

設定変更はOption->Computing preferencesより行います。

デフォルトでは100%割り当てられております。”Use at most of the CPUs”, “Use at most of the CPU time”の2つのパラメータがあります。

“Use at most of the CPUs”はCPUコアをどの位の割合で使うか、の設定です。同時実行タスク数に影響するようで、例えば4つタスクがある場合、75%に設定すると3つ同時実行までに制限されました。お使いのNASによって動作は変わると思います。

“Use at most of the CPU time”はその名の通り、実行時間の調整になります。50%に設定するとBOINCアプリケーションのCPU使用率も約半分になります。

私の環境では、”Use at most 75% of the CPUs”, “Use at most 50% of the CPU time”に設定してみました。

設定変更前後のCPU使用率です。タスクの実行終了まで20時間はかかりそうです。

あとは、放置しておくと自動的に新規タスクを取り込んで実行していくようです。少しでも役に立てるといいのですが。

アカウントの編集、チームの参加など

メールアドレスやパスワードの変更、チームの参加などはWeb上から行うことができます。Rosetta@homeのホームページからログインすると変更可能です。日本語化されているのでBOINCクライアントの画面よりこちらのほうがわかりやすいと思います。これらの作業は必須ではないのでお好みで。

番外:QNAP CLUBのBOINCパッケージ

あまり詳しくないのですがQNAP CLUBという非公式なレポジトリがありQNAP向けアプリをインストールできるようなのですが、そこにBOINCアプリがあります。

試しにインストールしてみたのですがどのように使えばよいのかわからず。QNAPユーザはもしかしたらそちらのほうがリソース使用効率が良いのかもしれません。なにかわかったら追記するかもしれません。

追記

QNAP CLUBはなくなりMyQNAPというサイトができたようです。ですが残念ながらBOINCパッケージは無いようです。

管理人

Recent Posts

CanvaがSerif (Affinity) を買収

私は使ったことがないのですが名前はよく聞…

4週間 ago

Serifのスプリングセール – アドオンが50%オフ

Affinity Photoなどレタッチ…

2か月 ago

音声がロボットのようになるときの対処

リモート会議などでたまに相手の音声がおか…

3か月 ago

Serifのブラックフライデー – 全品40%オフ V1ユーザは更にお得!

恒例のブラックフライデーセールが始まりま…

5か月 ago

[rust] rayonで書き直してみました

前回のコードを元にrayonを使った処理…

6か月 ago

[rust] async-stdで書き直してみました

前回のコードをasync-stdで書き直…

6か月 ago