RasPi-Taro

Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home

Apr 18th, 2020
945
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 『Raspberry Pi 3 Model BとRaspbian Buster LiteでRosetta@home』
  2.  
  3. ●前提
  4. メモリ節約のため、GUIは使いません。
  5. Raspbian Buster Liteをインストールしてraspi-configで諸々の設定は済ませておいてください。
  6.  
  7. ●Rosetta@home プレファレンス
  8. ウェブで設定を変更して、軽めの仕事も割り振られるようにしておきます。
  9.  
  10. 「あなたのアカウント」→「Rosetta@home についての好みの設定(プレファレンス)」→「プレファレンスを編集」
  11. →「Target CPU run time (not selected defaults to 8 hours)」を「2 hours」に変更。
  12. https://boinc.bakerlab.org/rosetta/prefs.php?subset=project
  13.  
  14. ●Raspbianの設定
  15. /boot/config.txtはお約束の64bitカーネルを使用するように編集します。
  16. ついでにGUIは使わないのでGPUのメモリを最小限にしておきます。
  17. arm_64bit=1
  18. gpu_mem=16
  19.  
  20. 再起動したあと、
  21. $ uname -a
  22. $ vcgencmd get_mem gpu
  23. でaarch64であることと、GPUのメモリが16MBであることを確認してください。
  24.  
  25. ●ログ/ジャーナル関係
  26. メモリを少しでも確保するのとディスクアクセスを減らすために止めることにします。
  27. $ sudo systemctl stop rsyslog.service
  28. $ sudo systemctl disable rsyslog.service
  29.  
  30. /etc/systemd/journald.confの最後に以下を追加:
  31. Storage=none
  32.  
  33. ●不要なサービスを停止
  34. 他にも使わないサービスがあれば停止しておきます。
  35. $ systemctl list-unit-files -t service
  36. で確認して、とりあえず私はBluetoothは使わないので止めておきました。
  37. $ sudo systemctl stop hciuart.service bluetooth.service
  38. $ sudo systemctl disable hciuart.service bluetooth.service
  39.  
  40. cronも停止。
  41. $ sudo systemctl stop cron.service
  42. $ sudo systemctl disable cron.service
  43.  
  44. ●スワップ領域
  45. デフォルトではスワップ領域は100MBです。
  46. 後述するCPUコア数=1の設定では変更不要だと思います。
  47. 必要であればサイズを変更してください。
  48.  
  49. /etc/dphys-swapfileを編集(2GBに変更する場合):
  50. #CONF_SWAPFILE=100
  51. CONF_SWAPFILE=2048
  52.  
  53. $ sudo systemctl restart dphys-swapfile
  54.  
  55. ●BOINCのインストール
  56. BOINC Managerは使わずに、boinccmdとboinctuiで操作します。
  57. $ sudo apt install boinc-client boinctui
  58.  
  59. ※別のマシンからBOINC Managerでリモートアクセスすることは可能です(boinctuiでも可能)。
  60.  
  61. ●BOINCの設定(/etc/boinc-client/)
  62. cc_config.xmlの</cc_config>の前に以下を追加。
  63. <options>
  64. <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
  65. <alt_platform>aarch64-unknown-linux-gnueabihf</alt_platform>
  66. <alt_platform>arm-unknown-linux-gnueabihf</alt_platform>
  67. <allow_remote_gui_rpc>1</allow_remote_gui_rpc>
  68. </options>
  69. ※aarch64-unknown-linux-gnueabihfは不要かも?
  70. ※arm-unknown-linux-gnueabihfはRaspbian (32bit)向けのプロジェクト用に。
  71.  →Universe@HomeとAsteroids@homeはOK、Einstein@Homeは開始直後に計算エラー。
  72. ※アクセス元を制限したい場合はallow_remote_gui_rpcは消して、remote_hosts.cfgを編集。
  73.  
  74. ・gui_rpc_auth.cfgにパスワードを設定。
  75.  
  76. ・global_prefs_override.xmlを編集。
  77. 改善の余地はあると思いますが、とりあえず方針はこんな感じで:
  78. - メモリはギリギリまで使う
  79. - 仕事をもらいすぎない
  80. <global_preferences>
  81. <work_buf_min_days>0.100000</work_buf_min_days>
  82. <work_buf_additional_days>0.300000</work_buf_additional_days>
  83. <max_ncpus_pct>25.000000</max_ncpus_pct>
  84. <cpu_usage_limit>100.000000</cpu_usage_limit>
  85. <cpu_scheduling_period_minutes>15.000000</cpu_scheduling_period_minutes>
  86. <suspend_cpu_usage>50.000000</suspend_cpu_usage>
  87. <vm_max_used_pct>75.000000</vm_max_used_pct>
  88. <ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
  89. <ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
  90. </global_preferences>
  91.  
  92. $ sudo boinccmd --read_global_prefs_override
  93. を実行すれば即反映されます。
  94. ※authentication errorが発生する場合は、cd /etc/boinc-client してから実行してみてください。
  95.  
  96. 試験的にmax_ncpus_pctで使用するCPUコア数を1にしています(4コアの25%)。
  97. 仕事の内容によっては50%や75%でもいいかもしれませんが、
  98. スワップの発生頻度は高くなると思いますので、様子を見ながら試してみてください。
  99.  
  100. ●関連/参考リンク
  101. rosetta@raspberrypi.linux.5ch
  102. https://boinc.bakerlab.org/rosetta/team_display.php?teamid=19963
  103. 【1ボードPC】分散コンピューティング【コロナ】
  104. https://mao.5ch.net/test/read.cgi/linux/1587146917/
  105.  
  106. Set your Processors to ANALYSE for the COVID-19 virus with Folding@Home or Rosetta@Home
  107. (Update: Rosetta@Home Now has ARM 64-bit Support)
  108. https://www.element14.com/community/thread/75254/l/set-your-processors-to-analyse-for-the-covid-19-virus
  109. Rosetta@home on Raspbian Pi 4
  110. https://www.element14.com/community/people/gam3t3ch/blog/2020/04/09/rosettahome-on-raspbian-pi-4
  111.  
  112. ●変更履歴
  113. 2020/04/18: 初版
  114. 2020/04/19: 「BOINCの設定(/etc/boinc-client/)」を更新(cc_config.xml注釈追加、global_prefs_override.xmlの値を微調整)、「関連/参考リンク」追加
  115. 2020/04:20: 「不要なサービスを停止」を追加
  116. [随時更新予定]
RAW Paste Data