0

私はいくつかの大規模なバイオインフォマティクス プロジェクトを持っており、約 100 万個のマーカーに対して小さな関数を実行したいと考えています。これは小さなティブル (22 行、2 列) と整数を入力として受け取ります。返されるオブジェクトはそれぞれ約 80KB で、関数内で大量のデータは作成されず、書式設定と統計テストだけが行われます。私は182個のコアを搭載したマシンで、parallel、doParallel、およびdoMCパッケージを使用してさまざまなアプローチを試みました.

しかし、私が何をしても、メモリ要件はすぐに数テラバイトになり、マシンがクラッシュします。ただし、親プロセスはメモリ内に何ギガバイトものデータを保持しているため、疑わしいと思います。親プロセスのすべてのメモリ コンテンツは、必要がない場合でも、並列化されたプロセスにコピーされますか? もしそうなら、どうすればこれを防ぐことができますか?

注: 特定の問題の解決策に必ずしも関心があるわけではないため、コード例などはありません。R の並列化でメモリがどのように機能するかの詳細を理解するのに苦労しています。

4

0 に答える 0