今年,我们在家中舒适地参加了 2020 SciPy 大会。由于全球疫情,第 19 届 Python 科学计算年会改为在线举行。SciPy 年会汇聚了来自工业界、学术界和政府部门的 1500 多名参与者,他们展示了最新的项目,向经验丰富的用户和开发者学习,并协作进行代码开发。

作为维护者专题的一部分,我们介绍了 Dask 的最新进展。

视频

您可以在 SciPy 的 YouTube 频道找到视频。Dask 的更新部分从 0:00 持续到 19:30。

幻灯片

演讲摘要

以下是演讲涵盖的主要主题摘要。您也可以查看Twitter 上的原始帖子

社区概览

我们最近一直在尝试衡量社区的规模。目前最好的指标是每周访问 Dask 文档 的人数。目前大约有 10,000 人。

Dask documentation analytics showing growth to 10,000 weekly users over the last four years

Dask 也出现在 Jetbrains Python 开发者调查 中。我们很高兴看到所有填写调查问卷的 Python 开发者中,有 5% 表示他们使用 Dask。这表明 PyData 社区和 Dask 都很健康。

Jetbrains survey results showing Dask used by 5% of Python users, beaten only by the Spark/hadoop ecosystem

我们目前正在进行自己的调查。如果您是 Dask 用户,请花几分钟时间填写。我们将非常感激。

Link to the Dask survey

社区活动

今年 2 月,我们举办了线下的 Dask Summit,OSS 维护者和机构用户齐聚一堂。我们通过演讲和研讨会共同探讨挑战并确定发展方向。

A room of attendees at the Dask summit

Dask 社区还有每月例会!会议定于每月第一个周四美国中部时间 10:00 举行。如果您是 Dask 用户,欢迎前来听取维护者的更新并分享您的工作进展。

社区项目

许多项目都构建在 Dask 之上。从 2020 年 Dask 调查的初步结果来看,有一些项目特别受欢迎。

Graph showing the most popular projects built on Dask; Xarray, RAPIDS, XGBoost, Prefect and Iris

让我们来看看其中的每一个。

Xarray

Xarray 允许您以类似 Pandas 的方式处理具有辅助元数据数组的多维数据集。

Slide showing xarray code example

RAPIDS

RAPIDS 是一套开源的 GPU 加速 Python 库。使用这些工具,您可以在 GPU 上完全执行端到端的数据科学和分析流程。所有这些都使用熟悉的 PyData API。

Slide showing RAPIDS dataframe code example

BlazingSQL

BlazingSQL 构建在 RAPIDS 和 Dask 之上,提供了一个开源的分布式、GPU 加速的 SQL 引擎。

Slide showing BlazingSQL code example

XGBoost

虽然 XGBoost 已经存在很长时间了,但您现在可以在 Dask 集群上准备数据,然后在 Dask 之上引导 XGBoost 集群,并将分布式数据帧直接交给它处理。

Slide showing XGBoost code example

Prefect

Prefect 是一个工作流管理器,构建在 Dask 的调度引擎之上。“用户将任务(Tasks)组织成流程(Flows),剩下的由 Prefect 负责。”

Slide showing Prefect code example

Iris

IrisSciTools 工具套件的一部分,它使用 CF 数据模型,提供了一个与格式无关的接口来处理数据。它在处理多维地球科学数据时表现出色,尤其是在表格表示变得笨拙和低效的情况下。

Slide showing Iris code example

更多工具

这些是我们社区目前告诉我们他们喜欢的工具。但如果您使用的工具没有出现在列表中,请访问我们的调查并告诉我们!根据 PyPI 的数据,还有很多其他的工具。

Screenshot of PyPI showing 239 packages with Dask in their name

用户群体

有许多使用 Dask 的用户群体。从生命科学、地球物理科学、同步辐射装置到金融、零售和物流,无所不包。更多信息请查看 Matthew Rocklin 精彩的“谁在使用 Dask?”演讲

Screenshot 'Who uses Dask?' YouTube video

营利性公司

使用 Dask 构建工具的营利性公司有所增加。包括 Coiled ComputingPrefectSaturn Cloud

Slide describing the for-profit companies Coiled, Prefect and Saturn Cloud

我们也看到像微软的 Azure ML 团队这样的大公司为 Dask Cloudprovider 贡献了一个集群管理器。这有助于人们在 AzureML 上更快、更容易地启动和运行 Dask。

近期改进

通信

接下来是近期改进,在使 Open UCX 支持 Dask 中的协议方面做了大量工作。这使得支持 InfinibandNVLink 的硬件能够极大地加速 worker 之间的通信。

Slide showing worker communication comparison between UCX/Infiniband and TCP with UCX being much faster

NVIDIA 最近也有一些公告,他们在 TPCx-BB 基准测试中遥遥领先,表现比目前的领先者快 20 倍。这对所有参与其中的开源项目,包括 Dask,都是一个巨大的成功。

Slide showing TPCx-BB benchmark results

Dask Gateway

我们看到 Dask Gateway 的采用率有所提高。许多机构正将其作为一种方式,为其员工提供按需的 Dask 集群。

Slide showing Dask Gateway overview

集群映射图(又称“pew pew pew”)

SciPy 2020 与会者反馈最热烈的更新是集群映射图(维护者称之为“pew pew pew”图)。这张图高层次地展示了您的 Dask 集群调度器和 worker 及其之间的通信。

下一步计划

高级图优化

最后,我们来谈谈 Dask 接下来的工作方向,我们将继续致力于高级图优化。

Slide showing High Level Graph documentation page

调度器性能

根据社区的反馈,我们还将专注于提升 Dask 调度器性能。目前正在进行一些工作,包括调度器的 Rust 实现、动态任务创建以及持续的基准测试。

Scheduler performance tasks including a Rust implementation, benchmarking, dynamic tasks and Cython, PyPy and C experiments

Chan Zuckerberg Foundation 维护者职位

最后,我很激动地分享,在 Chan Zuckerberg Foundation 的资助下,Dask 将招聘一名维护者,专注于促进其在生物科学领域的应用。如果您对此感兴趣,请关注我们的 Twitter 账号以获取更多公告。


博客评论由 Disqus 提供支持