2017-08-28 114 views

回答

1

resources關鍵字均勻地應用於所有進程。 全部工人將獲得一個單一的HOST資源。一般來說,對於機構羣集上的成熟部署,我建議避免使用--nprocs關鍵字,而是分別創建每個dask工作進程;這更明確。

dask-worker scheduler-address:8786 --resources 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
dask-worker scheduler-address:8786 
+0

我明白了......所以在我的例子中,如何確保只有其中一名工作人員執行特定任務?如果我仍然使用nprocs並定義要求HOST:1,那麼所有進程將同時運行。另一方面,如果我需要HOST:8那麼......它們都不會運行? 對於沒有共同保姆的單獨過程,同樣的問題。 – evilkonrex

+0

資源不限制多次運行任務,它們限制哪些工作人員可以運行哪些任務。上面的示例避免了'--nprocs'應該完全顯式化。我建議避免使用'--nprocs'關鍵字。 – MRocklin

+0

我明白了,我們將從使用--nprocs轉移到使用我們自己的流程管理器並明確啓動多個流程。 讓我再解釋一下我的情況。這個想法是,單個主機上的工作進程仍然共享某些資源。因此,當我運行需要主機上所有資源的任務時,該主機上只有一個工作人員可以同時運行。我認爲多線程工作者很簡單,但是有一個支持多個工作進程的這種情況的功能嗎? PS - 我們可以在我們的工人代碼中實現一些資源同步,但它變得更復雜 – evilkonrex