欢迎来到数据时代。 每天捕获的数据量持续增长,需要不断发展的平台和解决方案。 服务如 亚马逊简单存储服务 (Amazon S3) 提供了一个可扩展的解决方案,可以适应不断增长的数据集,但仍然具有成本效益。 这 亚马逊可持续发展数据计划 (ASDI) 使用 Amazon S3 的功能为您提供免费解决方案,以在全球范围内存储和共享气候科学工作负载。 Amazon 的开放数据赞助计划允许组织在 AWS 上免费托管。
在过去的十年中,我们看到数据科学框架的激增正在取得成果,同时数据科学界也大量采用了这种框架。 一个这样的框架是 达斯克,其功能强大,因为它能够提供工作计算节点的编排,从而加速对大型数据集的复杂分析。
在这篇文章中,我们将向您展示如何部署自定义 AWS云开发套件 (AWS CDK) 解决方案,可扩展 Dask 的功能以跨 Amazon 的全球网络跨区域工作。 AWS CDK 解决方案跨两个 AWS 区域部署了一个 Dask worker 网络,连接到一个客户端区域。 有关详细信息,请参阅 使用 AWS 上的跨区域 Dask 进行分布式计算的指南 和 GitHub回购 对于开源代码。
部署后,用户将有权访问 Jupyter notebook,他们可以在其中与 AWS 上 ASDI 的两个数据集进行交互: 耦合模型比对项目 6 (CMIP6) 和 ECMWF ERA5 再分析. CMIP6重点关注第六阶段全球耦合海气大气环流模式集合; ERA5 是 ECMWF 第五代全球气候大气再分析,也是第一个作为业务服务产生的再分析。
该解决方案的灵感来自于与一位重要 AWS 客户的合作,即 英国气象局. 英国气象局成立于 1854 年,是英国的国家气象部门。 他们提供天气和气候预测,帮助您做出更好的决定,以保持安全和繁荣。 英国气象局和 EUMETSAT 之间的合作,详见 分布在数据中心之间的 Dask Cluster 上的数据近似计算,突出了开发可持续、高效和可扩展的数据科学解决方案的日益增长的需求。 该解决方案通过使计算更接近数据来实现这一点,而不是迫使数据更接近计算资源,这会增加成本、延迟和能源。
解决方案概述
英国气象局每天生成多达 300 TB 的天气和气候数据,其中一部分会发布给 ASDI。 这些数据集分布在世界各地并托管供公众使用。 英国气象局希望消费者能够利用他们的更多数据来帮助做出关键决策,以解决诸如更好地应对气候变化引发的野火和洪水等问题,以及通过更好的作物产量分析来减少粮食不安全。
当今使用的传统解决方案,尤其是气候数据,非常耗时且不可持续,需要跨区域复制数据集。 PB 级不必要的数据传输成本高、速度慢且耗能。
我们估计,如果英国气象局的用户采用这种做法,每天可以节省相当于 40 个家庭的日常用电量,还可以减少区域之间的数据传输。
下图说明了解决方案体系结构。
该解决方案可以分为三个主要部分:客户端、工作人员和网络。 让我们深入研究每一个,看看它们是如何组合在一起的。
客户
客户端代表数据科学家连接的源区域。 该区域(图中的区域 A)包含一个 亚马逊SageMaker笔记本,一个 亚马逊开放搜索服务 域和一个 任务调度器 作为关键部件。 系统管理员可以访问通过 弹性负载均衡器.
数据科学家可以访问托管在 SageMaker 上的 Jupyter notebook。 该笔记本能够连接并在 Dask 调度程序上运行工作负载。 OpenSearch 服务域将元数据存储在区域连接的数据集上。 Notebook 用户可以查询此服务以检索详细信息,例如 Dask worker 的正确区域,而无需事先知道数据的区域位置。
工人
每个工作区域(图中的区域 B 和 C)都由一个 亚马逊弹性容器服务 (Amazon ECS)集群 临时工,一个 适用于Lustre的Amazon FSx 文件系统和一个独立的 亚马逊弹性计算云 (亚马逊 EC2)实例。 FSx for Lustre 允许 Dask 工作人员通过将您的文件系统链接到 S3 存储桶来访问和处理来自高性能文件系统的 Amazon S3 数据。 它提供亚毫秒延迟、高达数百 GB/s 的吞吐量和数百万 IOPS。 Lustre 的一个关键特性是只同步文件系统的元数据。 Lustre 根据需要管理要加载和保持温暖的文件的平衡。
工作集群根据 CPU 使用率进行扩展,在长时间的需求期间提供额外的工作人员,并在资源空闲时缩减规模。
每天晚上 0:00 UTC,数据同步作业会提示 Lustre 文件系统与附加的 S3 存储桶重新同步,并提取存储桶的最新元数据目录。 随后,独立 EC2 实例将这些更新推送到对应于该区域索引的 OpenSearch 服务中。 OpenSearch 服务向客户提供必要的信息,说明应该为特定数据集调用哪个工作人员池。
商业网络
利用亚马逊的内部主干网络,网络构成了该解决方案的关键。 通过使用 AWS 中转网关,我们能够将每个区域相互连接起来,而无需遍历公共互联网。 每个工作人员都能够动态连接到 Dask 调度程序,从而允许数据科学家通过 Dask 运行区域间查询。
先决条件
AWS CDK 包使用 TypeScript 编程语言。 按照中的步骤操作 AWS CDK 入门 设置您的本地环境并启动您的开发帐户(您需要启动在 GitHub回购).
要成功部署,您需要 安装了Docker 并在您的本地计算机上运行。
部署 AWS CDK 包
部署 AWS CDK 包非常简单。 安装先决条件并引导您的帐户后,您可以继续下载代码库。
- 下载 GitHub存储库:
- 安装节点模块:
- 部署 AWS CDK:
堆栈可能需要一个半小时以上的时间来部署。
代码演练
在本节中,我们将检查代码库的一些关键特性。 如果您想检查完整的代码库,请参阅 GitHub存储库.
配置和自定义您的堆栈
在文件中 bin/变量.ts,您会发现两个变量声明:一个用于客户端,一个用于工作人员。 客户端声明是一个字典,其中包含对区域和 CIDR 范围的引用。 自定义这些变量将更改客户端资源将部署到的区域和 CIDR 范围。
worker 变量复制相同的功能; 但是,它是一个字典列表,用于添加或减去用户希望包含的数据集。 此外,每个字典都包含添加的字段 dataset
和 lustreFileSystemPath
. 数据集用于指定 Lustre 连接到的连接 S3 URI。 这 lustreFileSystemPath
变量用作用户希望该数据集如何在工作文件系统上本地映射的映射。 请参见以下代码:
动态发布调度器IP
该项目的跨区域性质所固有的挑战是在 Dask 工作人员和调度程序之间保持动态连接。 我们如何跨 AWS 区域发布一个可以更改的 IP 地址? 我们能够通过使用 AWS 云地图 和 关联-vpc-with-hosted-zone. 该服务抽象化允许 AWS 私下管理此 DNS 命名空间。 请参见以下代码:
Jupyter 笔记本用户界面
托管在 SageMaker 上的 Jupyter notebook 为科学家们提供了一个现成的部署环境,可以轻松连接并在加载的数据集上进行实验。 我们用了一个 生命周期配置脚本 为笔记本提供预配置的开发人员环境和示例代码库。 请参见以下代码:
任务工作者节点
当涉及到 Dask worker 时,提供了更大的可定制性,更具体地说是在实例类型、每个容器的线程和缩放警报方面。 默认情况下,worker 在实例类型 m5d.4xlarge 上提供,在启动时安装到 Lustre 文件系统,并将其 worker 和线程动态细分到端口。 所有这些都是可选的可定制的。 请参见以下代码:
性能
为了评估性能,我们根据一个月的 CMIP2 预测与 6 年的 ERA5 平均气温之间的差异,使用样本计算和绘制 10 米处的气温。 我们在每个地区设定了两名工人的基准,并评估了随着额外工人的增加而减少的时间差异。 从理论上讲,随着解决方案的扩展,在减少总时间方面应该会有生产性的实质性差异。
下表总结了我们的数据集详细信息。
数据集 | 变量 | 磁盘大小 | Xarray 数据集大小 | 区域 |
时代5 | 2011–2020(120 个 netcdf 文件) | 53.5GB | 364.1 GB | 我们-东-1 |
CMIP6 | 1.13GB | 0.11 GB | 美国西部2 |
下表显示了收集的结果,展示了在计算 CMIP6 预测、ERA5 和差分的三个阶段中每个计算和预测的时间(以秒为单位)。
. | . | 工人人数 | |||
计算 | 区域 | 2(CMIP)+ 2(ERA) | 2(CMIP)+ 4(ERA) | 2(CMIP)+ 8(ERA) |
2(CMIP) + 12(时代) |
CMIP6(predicted_tas_regridded ) |
美国西部2 | 11.8 | 11.5 | 11.2 | 11.6 |
时代5 (historic_temp_regridded ) |
我们-东-1 | 1512 | 711 | 427 | 202 |
区别 (propogated pool ) |
us-west-2 和 us-east-1 | 1527 | 906 | 469 | 251 |
下图可视化了性能和规模。
从我们的实验中,我们观察到随着工作人员数量的增加,ERA5 数据集的计算量呈线性改进。 随着工人数量的增加,计算时间有时会减半。
Jupyter笔记本
作为解决方案发布的一部分,我们部署了一个预配置的 Jupyter notebook 来帮助测试跨区域 Dask 解决方案。 该笔记本展示了无需知道数据集的区域位置的担忧,而是通过在后台运行的一系列 Jupyter 笔记本查询目录。
要开始,请按照本节中的说明进行操作。
笔记本的代码可以在 lib/SagemakerCode
主笔记本是 ux_notebook.ipynb
. 此笔记本调用其他笔记本,触发帮助脚本。 ux_notebook
旨在成为科学家的切入点,而无需去其他地方。
要开始使用,请在部署 AWS CDK 后在 SageMaker 中打开此笔记本。 AWS CDK 创建一个笔记本实例,其中加载了存储库中的所有文件并将其备份到 AWS 代码提交 库。
要运行该应用程序,请打开并运行 ux_notebook
. 这个细胞运行 get_variables
notebook 在后台,它会提示您输入要选择的数据。 我们包括一个例子; 但是请注意,只有在选择了上一个选项后才会出现问题。 这是有意限制下拉选项的,并且可以通过编辑 get_variables
笔记本电脑。
前面的代码全局存储变量,以便其他笔记本可以检索和加载您选择的选项。 为了演示,下一个单元格应该输出之前的保存变量。
接下来,出现进一步数据规范的提示。 该单元格通过以人类可读的格式显示表的 ID 来优化您需要的数据。 用户选择它就好像它是一个表单,但标题映射到后台的表格,帮助系统检索适当的数据集。
存储所有选择和选择单元格后,通过运行单元格将数据加载到区域中 获取数据 集 部分。 %%capture 命令将抑制不必要的输出 get_data
笔记本。 请注意,您可以删除它以检查其他笔记本的输出。 然后在后端检索数据。
当其他笔记本在后台运行时,用户唯一的接触点是 ux_notebook
. 这是为了将繁琐的数据导入过程抽象为任何用户都能轻松遵循的格式。
现在加载数据后,我们可以开始与它交互。 以下单元格是您可以对天气数据运行的计算示例。 使用 x数组,我们导入、计算并绘制这些数据集。
我们的示例展示了一个预测数据图,它可以在 7.5 秒内检索数据、运行计算和绘制结果——比典型方法快几个数量级。
在引擎盖下
笔记本 get_catalog_input
和 get_variables
使用图书馆 ipywidgets 显示小部件,例如下拉菜单和多框选择。 这些选项使用 %%store 命令全局保存,以便可以从 ux_notebook
. 其中一个选项会提示您是否需要历史数据、预测数据或两者。 这个变量传递给 get_data
notebook 以确定要运行的后续笔记本。
get_data
笔记本首先检索保存到的共享 OpenSearch 服务域 AWS Systems Manager参数存储. 该域允许我们的笔记本运行查询以收集信息,这些信息将指示所选数据集在区域上的存储位置。 对于位于区域的这些数据集,notebook 将尝试连接到 Dask 调度程序,传递从 OpenSearch 服务收集的信息。 Dask 调度程序反过来将能够调用正确区域中的工作程序。
如何定制和继续开发
这些笔记本旨在成为您如何为用户创建一种方式来与数据交互的示例。 这篇文章中的笔记本作为可能性的例证,我们邀请您继续构建解决方案以进一步提高用户参与度。 该解决方案的核心部分是后端技术,但如果没有某种与该后端交互的机制,用户将无法充分发挥该解决方案的潜力。
为避免产生未来费用,请删除资源。 让我们使用以下命令销毁已部署的解决方案:
结论
这篇文章展示了 Dask 在 AWS 上的区域间扩展,以及与 AWS 上公共数据集的可能集成。 该解决方案构建为通用模式,可以加载更多数据集以加速对复杂数据的高 I/O 分析。
数据正在改变每个领域和每个企业。 然而,随着数据增长速度超过大多数公司可以跟踪的速度,收集数据并从数据中获取价值具有挑战性。 现代数据策略可以帮助您利用数据创造更好的业务成果。 AWS 为端到端数据之旅提供最完整的服务集,帮助您释放数据的价值并将其转化为洞察力。
要了解有关在云上使用数据的各种方式的更多信息,请访问 AWS 大数据博客. 我们进一步邀请您评论您对这篇文章的想法,以及这是否是您计划尝试的解决方案。
作者简介
帕特里克·奥康纳 是驻伦敦的 WWSO 原型工程师。 他是一个创造性的问题解决者,能够适应广泛的技术,例如 IoT、无服务器技术、3D 空间技术和 ML/AI,以及对技术如何继续发展日常方法的不懈好奇。
脉轮纳加拉詹 是 Principal Machine Learning Prototyping SA,在机器学习、大数据和高性能计算方面拥有 21 年的经验。 在目前的职位上,他通过在云和边缘设备中使用端到端 AI/ML 解决方案构建原型,帮助客户解决现实世界中的复杂业务问题。 他的 ML 专长包括计算机视觉、自然语言处理、时间序列预测和个性化。
瓦尔科恩 是驻伦敦的高级 WWSO 原型工程师。 作为一名天生的问题解决者,Val 喜欢编写代码来实现流程自动化,构建客户痴迷的工具,并为她的全球客户群的各种应用程序创建基础设施。 Val 拥有广泛的技术经验,例如前端 Web 开发、后端工作和 AI/ML。
尼尔罗宾逊 是英国气象局产品期货主管。 他和他的团队探索英国气象局通过产品创新和战略合作伙伴关系提供价值的新方式。 他的职业生涯多种多样,领导着一个多学科信息学研发团队、数据科学学术研究、现场科学家以及气候建模专家。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图爱流。 Web3 数据智能。 知识放大。 访问这里。
- 与 Adryenn Ashley 一起铸造未来。 访问这里。
- 使用 PREIPO® 买卖 PRE-IPO 公司的股票。 访问这里。
- Sumber: https://aws.amazon.com/blogs/big-data/build-efficient-cross-regional-i-o-intensive-workloads-with-dask-on-aws/
- :具有
- :是
- :在哪里
- $UP
- 1
- 10
- 100
- 11
- 12
- 20
- 24
- 3d
- 40
- 50
- 7
- 9
- a
- 对,能力--
- Able
- 关于
- 以上
- 摘要
- 摘要
- 学者
- 学术研究
- 加快
- 加速
- ACCESS
- 访问
- 容纳
- 完成
- 账号管理
- 实现
- 横过
- 适应
- 添加
- 添加
- 额外
- 另外
- 地址
- 解决
- 添加
- 管理员
- 采用
- 采用
- 后
- AI / ML
- 加拿大航空
- 所有类型
- 允许
- 允许
- 沿
- 还
- Amazon
- Amazon EC2
- an
- 分析
- 和
- 任何
- 出现
- 应用领域
- 应用领域
- 的途径
- 方法
- 适当
- 架构
- 保健
- AS
- At
- 气氛
- 大气的
- 自动化
- 避免
- AWS
- AWS 客户
- 骨干
- 已备份
- 后端
- 背景
- 当前余额
- 基地
- 基于
- BE
- 成为
- 很
- before
- 作为
- 如下。
- 基准
- 更好
- 之间
- 大
- 大数据运用
- 引导
- 都
- 瞻
- 破
- 建立
- 建筑物
- 建
- 内建的
- 商业
- 但是
- by
- 计算
- 呼叫
- 被称为
- 调用
- 呼叫
- CAN
- 能力
- 能力
- 寻找工作
- 检索目录
- CD
- 细胞
- 挑战
- 挑战
- 更改
- 改变
- 充
- 收费
- 选择
- 循环
- 客户
- 气候
- 接近
- 云端技术
- 簇
- CO
- 码
- 代码库
- 合作
- 收藏
- 如何
- 购买的订单均
- 未来
- 评论
- 社体的一部分
- 公司
- 完成
- 复杂
- 组件
- 包含
- 计算
- 计算
- 一台
- 计算机视觉
- 计算
- 配置
- 分享链接
- 已联繫
- 连接
- 地都
- 消费者
- 消费
- 容器
- 包含
- 继续
- 继续
- 副本
- 核心
- 正确
- 价格
- 经济有效
- 可以
- 再加
- 中央处理器
- 创建信息图
- 创建
- 创意奖学金
- 危急
- 作物
- USB和Thunderbolt Cross
- 好奇心
- 电流
- 习俗
- 顾客
- 合作伙伴
- 定制
- 定制
- 每天
- XNUMX月XNUMX日
- data
- 数据科学
- 数据策略
- 数据集
- 天
- 十
- 决定
- 默认
- 需求
- 演示
- 部署
- 部署
- 部署
- 部署
- 设计
- 摧毁
- 详细
- 详情
- 确定
- 开发
- 开发商
- 研发支持
- 设备
- 差异
- 禁用
- 发现
- 屏 显:
- 分布
- 分布式计算
- DNS
- 码头工人
- 域
- 向下
- 动态
- 动态
- 每
- 缓解
- 容易
- 边缘
- 编辑
- 高效
- 别处
- enable
- 端至端
- 能源
- 订婚
- 工程师
- 条目
- 环境
- 时代
- 估计
- 醚(ETH)
- 所有的
- 每天
- 日常
- 发展
- 例子
- 例子
- 体验
- 实验
- 专门知识
- 探索
- 出口
- 裸露
- 延期
- 快
- 专栏
- 特征
- 部分
- 字段
- 文件
- 档
- 找到最适合您的地方
- (名字)
- 重点
- 遵循
- 以下
- 食品
- 针对
- 申请
- 格式
- 形式
- 发现
- 公司成立
- 骨架
- 框架
- 自由的
- 止
- 成果
- ,
- 功能
- 进一步
- 未来
- 期货
- 其他咨询
- 代
- 得到
- 越来越
- 混帐
- 全球
- 全球网络
- 在全球范围内
- 地球
- 去
- 图形
- 更大的
- 格
- 增长
- 成长
- 民政事务总署
- 半
- 减半
- 有
- he
- 头
- 帮助
- 帮助
- 这里
- 高
- 高性能
- 亮点
- 他的
- 历史的
- 主持人
- 托管
- 小时
- 创新中心
- How To
- 但是
- HTML
- HTTPS
- 人类可读
- 数百
- 空闲
- IDS
- if
- 说明
- 进口
- 输入
- 改善
- 改进
- in
- 包括
- 包括
- 增加
- 指数
- 表明
- 通知
- 信息
- 基础设施
- 固有
- 創新
- 输入
- 不安全
- 洞察
- 灵感
- 安装
- 例
- 代替
- 说明
- 积分
- 故意
- 相互作用
- 互动
- 接口
- 内部
- 网络
- 成
- 邀请
- 物联网
- IP
- IP地址
- 问题
- IT
- 它的
- 工作
- 旅程
- JPG
- Jupyter笔记本
- 保持
- 键
- 知道
- 语言
- 大
- (姓氏)
- 潜伏
- 发射
- 领导
- 学习用品
- 学习
- 自学资料库
- 生命周期
- 喜欢
- 链接
- 清单
- 加载
- 本地
- 当地
- 位于
- 圖書分館的位置
- 伦敦
- 机
- 机器学习
- 主要
- 使
- 管理
- 经理
- 管理
- 地图
- 制图
- 质量
- 大规模采用
- 材料
- 可能..
- 意味着
- 机制
- 元数据
- 百万
- ML
- 模型
- 现代
- 模块
- 月
- 每月一次
- 每月数据
- 更多
- 最先进的
- 安装
- 多学科
- 姓名
- National
- 自然
- 自然语言
- 自然语言处理
- 自然
- 必要
- 需求
- 需要
- 网络
- 全新
- 下页
- 夜
- 节点
- 节点
- 笔记本
- 笔记本电脑
- 现在
- 数
- 数字
- of
- 提供
- 办公
- on
- 一
- 仅由
- 打开
- 开放的数据
- 开放源码
- 开源代码
- 操作
- 附加选项
- 附加选项
- or
- 管弦乐编曲
- 组织
- 其他名称
- 我们的
- 输出
- 结果
- 产量
- 超过
- 最划算
- 包
- 参数
- 部分
- 特别
- 尤其
- 合作伙伴关系
- 通过
- 通过
- 模式
- 性能
- 期
- 个性化
- 拍字节
- 相
- 计划
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 点
- 池
- 港口
- 可能
- 帖子
- 潜力
- 功率
- 强大
- 在练习上
- 预测
- 预测
- 先决条件
- 以前
- 小学
- 校长
- 私立
- 市场问题
- 问题
- 过程
- 过程
- 处理
- 生成
- 产品
- 产品创新
- 生产力
- 曲目
- 代码编程
- 项目
- 原型
- 原型
- 提供
- 提供
- 提供
- 规定
- 国家
- 发布
- 出版
- 拉
- 查询
- 有疑问吗?
- 研发
- 范围
- 宁
- 现成
- 真实的世界
- 实现
- 减少
- 减少
- 减少
- 地区
- 区域性
- 地区
- 狠
- 遗迹
- 去掉
- 去除
- 知识库
- 代表
- 研究
- 资源
- 那些
- 成果
- 角色
- 运行
- 运行
- SA
- 安全
- sagemaker
- 同
- 保存
- 可扩展性
- 鳞片
- 秤
- 缩放
- 科学
- 科学家
- 科学家
- 脚本
- 秒
- 部分
- 看到
- 看到
- 中模板
- 选
- 选择
- 前辈
- 系列
- 无服务器
- 服务
- 服务
- 特色服务
- 集
- Share
- 共用的,
- 应该
- 显示
- 陈列宣传
- 作品
- 简易
- 只是
- 第六
- 放慢
- So
- 方案,
- 解决方案
- 解决
- 一些
- 来源
- 空间的
- 特别是
- 规格
- 指定
- 赞助
- 堆
- 实习
- 独立
- 开始
- 开始
- 留
- 步骤
- 存储
- 商店
- 存储
- 商店
- 简单的
- 善用
- 战略合作伙伴
- 策略
- 随后
- 后来
- 成功
- 这样
- 磁化面
- 浪涌
- 永续发展
- 可持续发展
- 系统
- 产品
- 表
- 采取
- 团队
- 科技
- 技术
- 专业技术
- test
- 比
- 这
- 信息
- 英国
- 世界
- 其
- 然后
- 那里。
- 从而
- 博曼
- 他们
- Free Introduction
- 那些
- 三
- 兴旺
- 通过
- 吞吐量
- 次
- 时间序列
- 时
- 标题
- 至
- 今晚
- 一起
- 工具
- 跟踪时
- 跟踪
- 转让
- 转型
- 过境
- 触发
- 转
- 二
- 类型
- 打字稿
- 普遍
- Uk
- 下
- 开锁
- 不可持续的
- 跟上时代的
- 最新动态
- 上
- 的URI
- 用法
- 使用
- 用过的
- 用户
- 用户
- 运用
- UTC
- 利用
- VAL
- 折扣值
- 各种
- 各个
- 通过
- 愿景
- 参观
- 体积
- 想
- 希望
- 温暖
- 是
- 方法..
- 方法
- we
- 天气
- 卷筒纸
- Web开发
- 为
- 是否
- 这
- 宽
- 大范围
- 将
- 祝愿
- 也完全不需要
- 工作
- 工人
- 工人
- 世界
- 担心
- 将
- 写作
- 年
- 但
- 产量
- 您
- 您一站式解决方案
- 和风网