BatchJobs を使用して最小限の例を実行していますが、結果は期待どおりではありません。debug=TRUE でglobal_config 設定を使用しています。HPC サーバーの R で次のコードを実行しています。
library(BatchJobs)
reg <- makeRegistry(id = "batchtest")
batchMap(reg, identity, 1)
submitJobs(reg)
showStatus(reg)
load("batchtest-files/jobs/01/1-result.RData")
1-result
[1] 0
batchMap(reg, identity, 2) を実行すると、結果は -1 になり、batchMap(reg, identity, 3) を実行すると、結果は -2 になります。なぜこれが起こっているのでしょうか?アイデンティティ関数は引数を返すだけです (したがって、上記のコードでは 1 である必要があります)。他の機能でも同じ問題が見つかりました。たとえば、batchMap に送信する関数に mean(rnorm(100, mean=100)) を使用すると、結果は -99 前後になります。これを複数のノードで実行すると、各ノードの結果は約 -100 + ノード番号になります (したがって、5 番目のノードの結果は約 -95 になります)。