用法:
class distributed.deploy.Adaptive(cluster=None, interval=None, minimum=None, maximum=None, wait_count=None, target_duration=None, worker_key=None, **kwargs)
根據調度程序負載自適應地分配工作人員。一個超類。
包含根據當前使用動態調整 Dask 集群大小的邏輯。此類需要與可以使用集群資源管理器創建和銷毀 Dask 工作人員的係統配對。通常,它內置於現有的解決方案中,而不是由用戶直接使用。它最常用於各種 Dask 集群類的
.adapt(...)
方法。- cluster: object:
必須有規模和scale_down 方法/協程
- interval:timedelta 或 str,默認“1000 毫秒”
檢查之間的毫秒數
- wait_count: int, default 3:
在我們移除工人之前,應建議移除工人的連續次數。
- target_duration: timedelta or str, default “5s”:
我們希望計算花費的時間。這會影響我們擴大規模的積極程度。
- worker_key: Callable[WorkerState]:
縮小時將工作人員組合在一起的函數有關詳細信息,請參閱 Scheduler.workers_to_close
- minimum: int:
保留的最少工人數量
- maximum: int:
要保留的最大工人數量
- **kwargs:
傳遞給調度程序的額外參數。workers_to_close
參數:
注意:
子類可以覆蓋
Adaptive.target()
和Adaptive.workers_to_close()
以控製何時應調整集群大小。默認實現檢查每個工作人員是否有太多任務或可用內存太少(請參閱Scheduler.adaptive_target()
)。間隔、最小值、最大值、wait_count 和 target_duration 的值可以在 dask 配置中的 distributed.adaptive 鍵下指定。例子:
這通常用於現有的 Dask 類,例如 KubeCluster
>>> from dask_kubernetes import KubeCluster >>> cluster = KubeCluster() >>> cluster.adapt(minimum=10, maximum=100)
或者,您可以通過從 Dask 的 Cluster 超類繼承來從您自己的 Cluster 類中使用它
>>> from distributed.deploy import Cluster >>> class MyCluster(Cluster): ... def scale_up(self, n): ... """ Bring worker count up to n """ ... def scale_down(self, workers): ... """ Remove worker addresses from cluster """
>>> cluster = MyCluster() >>> cluster.adapt(minimum=10, maximum=100)
相關用法
- Python distributed.diagnostics.plugin.SchedulerPlugin用法及代碼示例
- Python distributed.diagnostics.progressbar.progress用法及代碼示例
- Python distributed.protocol.serialize.register_generic用法及代碼示例
- Python distributed.Client.gather用法及代碼示例
- Python distributed.recreate_tasks.ReplayTaskClient.recreate_task_locally用法及代碼示例
- Python distributed.Client.ncores用法及代碼示例
- Python distributed.Client.retire_workers用法及代碼示例
- Python distributed.Client.unregister_worker_plugin用法及代碼示例
- Python distributed.fire_and_forget用法及代碼示例
- Python distributed.Client.set_metadata用法及代碼示例
- Python distributed.Client.scheduler_info用法及代碼示例
- Python distributed.Client.submit用法及代碼示例
- Python distributed.Client.compute用法及代碼示例
- Python distributed.SpecCluster.scale用法及代碼示例
- Python distributed.get_worker用法及代碼示例
- Python distributed.SpecCluster.scale_up用法及代碼示例
- Python distributed.Client.nthreads用法及代碼示例
- Python distributed.comm.resolve_address用法及代碼示例
- Python distributed.Client.unpublish_dataset用法及代碼示例
- Python distributed.get_task_stream用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 distributed.deploy.Adaptive。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。