1
在分佈式多處理工作人員中定義工作人員資源(http://distributed.readthedocs.io/en/latest/resources.html)時,是否爲所有進程定義了資源池?分佈式工作人員的Dask工作人員資源
例如,工人主機上我運行:
dask-worker --nprocs 8 --resources HOST=1
現在,如果我認爲需要resources={"HOST":1}
任務(s)沒有這樣的保證,只有那些機器上的過程中的一個將執行這一任務在特定時刻?
我明白了......所以在我的例子中,如何確保只有其中一名工作人員執行特定任務?如果我仍然使用nprocs並定義要求HOST:1,那麼所有進程將同時運行。另一方面,如果我需要HOST:8那麼......它們都不會運行? 對於沒有共同保姆的單獨過程,同樣的問題。 – evilkonrex
資源不限制多次運行任務,它們限制哪些工作人員可以運行哪些任務。上面的示例避免了'--nprocs'應該完全顯式化。我建議避免使用'--nprocs'關鍵字。 – MRocklin
我明白了,我們將從使用--nprocs轉移到使用我們自己的流程管理器並明確啓動多個流程。 讓我再解釋一下我的情況。這個想法是,單個主機上的工作進程仍然共享某些資源。因此,當我運行需要主機上所有資源的任務時,該主機上只有一個工作人員可以同時運行。我認爲多線程工作者很簡單,但是有一個支持多個工作進程的這種情況的功能嗎? PS - 我們可以在我們的工人代碼中實現一些資源同步,但它變得更復雜 – evilkonrex