Dask系统概念与可扩展DataFrame工具解析
1. Dask关键系统概念
1.1 资源竞争与隔离
在集群环境中,资源竞争是常见问题。例如,同一节点上的两个机器学习任务可能都试图使用全部CPU资源。许多集群管理器无法提供完全隔离,这意味着任务若被调度到不合适的节点,性能可能不佳。常见的解决办法是按完整节点请求资源量,避免其他作业与自身作业同时调度。不过,严格隔离也有弊端,特别是当隔离框架不支持突发时,可能导致资源浪费,但对于关键任务工作流,这往往是一种权衡。
1.2 机器容错性
在分布式计算中,容错性是关键概念。随着计算机数量增加,任何一台计算机出现故障的概率也会提高。在一些小型Dask部署中,机器容错性可能没那么重要。Dask的核心容错方法是重新计算丢失的数据,这也是许多现代数据并行系统采用的方法。但在考虑Dask的容错性时,需要考虑Dask所连接组件的故障情况。对于分布式存储,有不同的权衡。Dask在故障时重新计算意味着用于计算的数据在需要时仍可重新加载,但在一些流系统中,可能需要配置更长的TTL或设置缓冲区以提供Dask所需的可靠性。此外,Dask的容错性不涵盖领导节点,部分解决方案是采用高可用性,即由Dask外部的系统监控并重启Dask领导节点。容错技术在缩容时也常被使用,因为容错和缩容都涉及节点的丢失。
1.3 可扩展性(上下伸缩)
可扩展性指分布式系统处理更大问题的能力,以及在需求减少时收缩的能力。在计算机科学中,可扩展性通常分为水平扩展和垂直扩展。水平扩展是添加更多计算机,垂直扩展是使用更强大的计算机。另一个重要考虑因素是自动伸缩与手动伸缩。Dask的自动伸缩器可在需要时水平扩展添加工作节点
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



