用法:
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。