2012-10-05 40 views
3

我擁有通常較大的依賴作業集並希望在PBS集羣環境中有效地運行它們。我一直在使用Ruffus,並且非常滿意,但我也想用其他方法嘗試一下。用於集羣環境中具有異構任務的令人尷尬的並行作業的Python jug(或其他)

在python中看起來很有趣的一個是jug。但是,看起來水罐認爲這些工作在他們的要求上是一致的。我有一些需要8GB RAM的作業,而另一些只需要100MB;有些可能會消耗所有處理器,有些則是單線程的。我的目標是能夠快速組裝一個管道,運行它並根據依賴性進行「更新」,併合理記錄日誌,以便我可以看到還需要運行哪些作業。有人使用壺或其他類似的系統滿足這些類型的要求嗎?

回答

3

壺的作者在這裏。

Jug很好地處理依賴關係。如果更改任何輸入或中間步驟,則運行jug status將會告訴您計算的狀態。

目前沒有辦法指定某些任務(哪些jug調用作業)應該有多個進程分配給它們。在過去,無論何時我都有要在多個線程中運行的任務,我都被迫採取最壞情況的方法,並將所有進程分配給jug execute進程。

這意味着,當然,單線程任務將佔用所有進程。由於大部分計算都在多線程任務中,因此可以接受。