我目前正在編寫代碼,使用Unix集羣上的節點來運行一系列耗時的實驗。這些實驗中的每一個都需要在12芯機器上運行3天。當每個實驗完成後,我希望能夠將一些數據保存到一個通用文件中。如何讓MATLAB的多個實例同時保存同一個文件
我有一個小問題,因爲我將所有實驗同時提交給羣集,因此它們很可能會同時保存到同一個文件中。
我在想,當MATLAB的多個實例試圖同時保存同一個文件(錯誤/崩潰/無)時會發生什麼。無論結果如何,我可以解決它使用一個try/catch循環如下:
n_tries = 0;
while n_tries < 10
try
save('common_file',data)
n_tries = 10;
catch
wait_time = 60 * rand;
pause(wait_time);
n_tries = n_tries+1;
end
end
end
就我個人而言,我建議不要這樣做。讓每個節點寫入一個獨特的文件,然後再添加一個腳本,將它們合併成一個文件會更安全。可以根據當前系統時間或計算機名稱給出該唯一文件的名稱。 – Lazarus
** NOOOOOOOOOOO !!!! **不要這樣做! – Shai