AMD HEROES

twitter
facebook
line

Ryzen Threadripper 3990Xで新型コロナウィルス解析の分散コンピューティングに参加するとどうなる?(4/4)

加藤勝明(KTU) 編集● ASCII

※この記事はASCII.jpからの転載です(文中リンクはASCII.jpの記事に飛ぶことがあります)

Rosetta@Homeの計算量はCPU/メモリー/ストレージ資源をどこまで使うかで決まる。今回筆者がRosetta@Homeの計算を始めた当初は、CPUは30コア前後しか使われていなかったが、これはメモリーが32GB構成だったため。BOINCの場合1プロセスが多数のスレッドで動くのではなく、並列化する分だけプロセスが起動する。

128コア使えるRyzen Threadripper 3990XでRosetta@Homeを使おうとすると、メモリー不足で処理を止めてしまうプロセスが多発する。そこでさらに64GB(G.Skill F4-3200C16D-32GTZRX×2)を追加し合計96GB構成とし、メモリーの使用上限を全体の90%まで許可したところ、メモリー不足で停止するプロセスは消滅した。

ただその場合でもCPU占有率は80%前後にとどまるので、128コア全て使い切るのは割り当てられるワークユニット次第といったところか。

Rosetta@HomeをBOINC標準の設定で動かしてみたが、CPU占有率が30%程度。プロセッサーグループの壁は越えているようだが、コアに仕事が割り振られていないのだ……

Rosetta@Homeの場合、細かいプロセスが並列に立ち上がる。1プロセス=1スレッド=1コアと考えてよいだろう

BOINCマネージャーの詳細画面を開き「タスク」を確認してみると、メモリー不足のため処理が止まっているという表記がズラリ。コアを多数使おうとすれば、メモリーもそれなりに必要なのだ

慌ててメモリーを96GBに設定するとコア使用率は2倍程度に増えたが、まだメモリー不足を訴えるプロセスが残った

BOINCの「計算に関するプリファレンス」→「計算」へと進む。CPUはコア数100%、CPU時間も100%使うのがデフォルトの設定。計算量を絞りたい時は上の数値2つを小さくしよう

今回筆者が遭遇した問題は「ディスクとメモリ」に解決法があった。「コンピュータを使用中、最大使用時でも50%」となっていたが、これを90%に引き上げた

メモリー使用量の上限を上げた結果、全プロセスが稼働するように。ただし128コア全てが埋まる訳ではないようだ

Windowsから見たメモリーの使用量はかなり変動する。図は48GBで安定していたが、64GBキッチリ使う時もあった

地味に驚いたのがローカルに保存されるデータファイルの容量。BOINCマネージャーで見ると約120GB消費していることが判明

まとめ:超メニーコアCPUの力を活かす一つのソリューション

今回試した2つの分散コンピューティングプロジェクトの中では、Folding@Homeはお手軽かつシステムへの負担も少なく、常時動かしても軽い感じだった。それこそ、Ryzen Threadripper 3990Xのスレッド数ならば余裕だっため、通常作業の裏で動作させて貢献できそうだ。

一方、Rosetta@HomeはFolding@HomeよりもRyzen Threadripper 3990Xを活用できるが、CPU占有率が80%近くなるだけあって消費電力は445Wと高くなり、電気代は1ヶ月あたり8600円まで上昇した。

Ryzen Threadripper 3990Xの性能を十全に引きだそうとすればメモリーも多量に載せる必要があるので、本気で人類に貢献しようとするなら、かなり覚悟がいるだろう。

だが分散コンピューティングプロジェクトに参加するのは個人の自由だし、Ryzen Threadripperを持っているなら参加すべきだ、なんて事を言うつもりもない。だが今時のAMD製CPUを少し回すだけで、COVID-19に勝つための何かに近づけていると考えれば、この閉塞感も幾分和らぐのではないだろうか。


関連サイト

この記事もおすすめ

PAGE TOP