「RaspberryPiで新型コロナウイルスの解析」の版間の差分

提供: ディーズガレージ wiki
移動先: 案内検索
(Folding@home)
(下調べ)
32行目: 32行目:
 
=='''下調べ'''==
 
=='''下調べ'''==
 
==='''Folding@home'''===
 
==='''Folding@home'''===
開発中 (2020年7月22日更新)
+
開発中 (2020年8月6日更新)
 
* https://www.neocortix.com/coronablog
 
* https://www.neocortix.com/coronablog
  

2020年8月7日 (金) 08:23時点における版

COVID-19のBOINCプロジェクトに参加してみます。

Boinc manager covid-19.jpg

具合

  • 感覚的に延命対策は不完全
  • 約30%で計算中に異常発生

環境

モデル Raspberry Pi 3 Model B+
OS Raspbian Buster Lite 2020-02-13
ストレージ SanDisk microSDHC 16GB CLASS10
ネットワーク 標準搭載の有線LAN
リモート操作 Windows10

下調べ

Folding@home

開発中 (2020年8月6日更新)

Rosetta@home

Linux running on 64-bit ARM

64-bit ARM = ARMv8 (64bit)

物理メモリ不足をzramとswapで補ってる

その他

準備

リモート操作用にする

OSイメージ

Download Raspberry Pi OS for Raspberry Pi
balenaEtcher - Flash OS images to SD cards & USB drives

microSDHC、モニター、キーボード、有線LANを取り付け
電源ON

raspberrypi login: pi
Password: raspberry

拡張

$ sudo raspi-config
7.Advanced Options > A1 Expand Filesystem > <Ok> > tab > Finish > reboot<Yes>

キーボード

$ sudo raspi-config
4 Localisation Options > I3 Change Keyboard Layout > Generic 105-key PC (intl.) > Other > Japanese > Japanese > The default for the keyboard layout > No compose key > tab > Finish
$ sudo reboot

ファームウェア

$ sudo rpi-update
$ sudo reboot

カーネル

$ sudo nano /boot/config.txt

末尾に追記

arm_64bit=1
gpu_mem=16

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

ホスト名

$ sudo raspi-config
2 Network Options > N1 Hostname > <Ok>

変更

covid-19
tab > OK > tab > Finish > <Yes>

SSH有効

$ sudo raspi-config
5 Interfacing Options > P2 SSH > <Yes> > <Ok> > tab > Finish

電源OFF

$ sudo shutdown -h now

モニター、キーボードを取り外し
電源ON

リモート操作

Windows10のTera Term使用

SSH接続

ホスト: covid-19.local
ユーザ名: pi
パスフレーズ: raspberry

update

$ sudo apt update
$ sudo apt upgrade

zram

$ sudo nano /usr/bin/zram.sh

設定

#!/bin/bash
cores=$(nproc --all)
modprobe zram num_devices=$cores
swapoff -a
totalmem=`free | grep -e "^Mem:" | awk '{print $2}'`
mem=$(( ($totalmem * 2 / $cores)* 1024 ))
modprobe deflate
modprobe zlib
modprobe lz4hc_compress
core=0
while [ $core -lt $cores ]; do
  echo deflate > /sys/block/zram$core/comp_algorithm ||
   echo zlib > /sys/block/zram$core/comp_algorithm ||
   echo lz4hc > /sys/block/zram$core/comp_algorithm ||
   echo lz4 > /sys/block/zram$core/comp_algorithm
# not sure which one this kernel has
  echo $mem > /sys/block/zram$core/disksize
  mkswap /dev/zram$core
  swapon --discard -p 5 /dev/zram$core # reclaim memory better
  let core=core+1
done

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo chmod +x /usr/bin/zram.sh
$ sudo nano /etc/rc.local

末尾のexit 0手前に追記

/usr/bin/zram.sh &

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

確認

$ zramctl

swap

$ sudo nano /etc/dphys-swapfile

変更

CONF_SWAPSIZE=1024

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo systemctl restart dphys-swapfile
$ swapon

folder2ram

$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
$ sudo chmod +x /sbin/folder2ram
$ sudo folder2ram -configure
$ sudo nano /etc/folder2ram/folder2ram.conf

末尾に追記

tmpfs		/var/cache
tmpfs		/tmp
tmpfs		/var/tmp
tmpfs		/var/log
tmpfs		/var/spool

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo folder2ram -mountall
$ sudo folder2ram -enablesystemd
$ sudo reboot

確認

$ df -h

service

$ sudo systemctl stop rsyslog
$ sudo systemctl disable rsyslog
$ sudo systemctl stop hciuart bluetooth
$ sudo systemctl disable hciuart bluetooth
$ sudo systemctl stop systemd-timesyncd systemd-timesync
$ sudo systemctl disable systemd-timesyncd systemd-timesync
$ sudo systemctl stop cron.service
$ sudo systemctl disable cron.service

確認

$ sudo reboot
$ systemctl list-units --type=service

journal

$ sudo nano /etc/systemd/journald.conf

末尾に追記

Storage=none

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

boinc-client

インストール

$ sudo apt install boinc-client boinctui

コンフィグ

$ sudo nano /var/lib/boinc-client/cc_config.xml

設定

<!--
This is a minimal configuration file cc_config.xml of the BOINC core client.
For a complete list of all available options and logging flags and their
meaning see: https://boinc.berkeley.edu/wiki/client_configuration
-->
<cc_config>
  <log_flags>
    <task>1</task>
    <file_xfer>1</file_xfer>
    <sched_ops>1</sched_ops>
  </log_flags>
  <options>
    <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
    <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  </options>
</cc_config>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /var/lib/boinc-client/global_prefs_override.xml

設定

<!--
This configuration file global_prefs_override.xml for the BOINC core client
can be used to override global preferences locally. For a complete list of
all preferences which can be overridden see:
http://boinc.berkeley.edu/trac/wiki/PrefsOverride
-->
<global_preferences>
    <run_if_user_active>1</run_if_user_active>
    <suspend_cpu_usage>100.000000</suspend_cpu_usage>
    <leave_apps_in_memory>0</leave_apps_in_memory>
    <confirm_before_connecting>0</confirm_before_connecting>
    <hangup_if_dialed>0</hangup_if_dialed>
    <dont_verify_images>0</dont_verify_images>
    <work_buf_min_days>0.700000</work_buf_min_days>
    <work_buf_additional_days>0.300000</work_buf_additional_days>
    <max_ncpus_pct>75.000000</max_ncpus_pct>
    <cpu_scheduling_period_minutes>60.000000</cpu_scheduling_period_minutes>
    <disk_interval>300.000000</disk_interval>
    <disk_max_used_gb>100.000000</disk_max_used_gb>
    <disk_max_used_pct>100.000000</disk_max_used_pct>
    <disk_min_free_gb>0.100000</disk_min_free_gb>
    <vm_max_used_pct>300.000000</vm_max_used_pct>
    <ram_max_used_busy_pct>300.000000</ram_max_used_busy_pct>
    <ram_max_used_idle_pct>300.000000</ram_max_used_idle_pct>
    <cpu_usage_limit>100.000000</cpu_usage_limit>
</global_preferences>

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo nano /etc/boinc-client/gui_rpc_auth.cfg

適当なパスワードを平文で書く AAAAAAAAA
保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo reboot

Rosetta@home

http://boinc.bakerlab.org/rosetta/
Join Rosetta@home > Sign Up > アカウントを作成する
Eメール: BBB@BBB.BBB
パスワード: CCCCCCCCC

設定

$ boinccmd --passwd AAAAAAAAA --lookup_account https://boinc.bakerlab.org/rosetta/ BBB@BBB.BBB CCCCCCCCC
status: Success
poll status: operation in progress
poll status: operation in progress
account key: DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
$ boinccmd --passwd AAAAAAAAA --project_attach https://boinc.bakerlab.org/rosetta/ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
$ boinccmd --passwd AAAAAAAAA --project https://boinc.bakerlab.org/rosetta/ update
$ boinccmd --passwd AAAAAAAAA --get_state
$ boinccmd --passwd AAAAAAAAA --get_tasks

動作確認

$ boinctui
host 127.0.0.1
port 31416
pwd AAAAAAAAA
$ htop

BOINC Manager

Windows10使用

インストール

https://boinc.berkeley.edu/download.php
ファイル > コンピュータの選択
計算機名(ホスト名): covid-19
パスワード: AAAAAAAAA

プロパティ修正

BOINC Managerを終了
BOINC Managerのアイコンを右クリック > プロパティ
リンク先: "C:\Program Files\BOINC\boincmgr.exe" -n covid-19 -p AAAAAAAAA
BOINC Managerを起動

チームに参加

rosetta@raspberrypi.linux.5ch

ログ

プロジェクト・サーバからのメッセージ: Rosetta needs 1716.61 MB RAM but only 963.00 MB is available for use.
プロジェクト・サーバからのメッセージ: Rosetta needs 1907.35 MB RAM but only 963.00 MB is available for use.
プロジェクト・サーバからのメッセージ: Rosetta needs 3814.70 MB RAM but only 963.00 MB is available for use.

更新履歴

  • 2020.05.19 cc_config.xml BOINC Manager 設定見直し
  • 2020.05.03 書き直し
  • 2020.04.06 公開