私は10,000のコアを持つコンピュータを使用していますが、一度に1,000のコアにしかアクセスできません。
いくつかの場所でGNU並列処理の利点を利用するスクリプトがあります。レベルAを並列化し、このスクリプト内で30倍以上の作業を行います。
--link
並列性と構文を使用するためにスクリプト全体を書き換えるには、多くの作業が必要です::: A B C ::: $(seq 30)
。
parallel
2つの独立した呼び出しが2つの間のジョブの総数を1000に制限するのに十分な通信を可能にする方法はありますか?
ベストアンサー1
私が正しく理解したら、あなたはGNU Parallelを2つ(またはそれ以上)インスタンスを実行し、総実行ジョブ数が1000未満であることを望んでいます。
したがって、ある時点では、そのうちの1つは300のジョブを実行し、もう1つは700のジョブに制限する必要があります。
--limit
この特別なケースのために設計されています。選択したスクリプトを実行し、終了値に基づいてジョブ数を制限します。
これで、実行中のジョブの総数を決定する方法が必要です。
たぶん何ですか[ $(ps aux | grep myprogram | wc -l) -gt 1000 ]
?
(どのモンスターが10,000個のコアを持っていますか?)