写点什么

Western Digital HDD 云级模拟

  • 2019-10-07
  • 本文字数:2398 字

    阅读完需:约 8 分钟

Western Digital HDD 云级模拟

本月早些时候,我的同事 Bala Thekkedath 发表了一篇关于超大规模 HPC 的文章,探讨了 AWS 客户 Western Digital 如何基于 AWS 构建云级 HPC 集群,并利用它来模拟其新一代硬盘驱动器 (HDD) 即将采用的磁头中的关键组成部分。


那篇文章中描述的模拟包含了超过 250 万个任务,而且在一个包含百万个 vCPU 的 Amazon EC2 集群上仅用 8 个小时就完成了运行。正如 Bala 在他的文章中分享的一样,Western Digital 的大部分模拟工作都围绕着评估构成 HDD 的技术和解决方案的不同组合的需求。工程师专注于将更多数据塞进同一空间,从而提高存储容量并在此过程中提高传输速度。通过模拟材料、能级和转速的数百万种组合,他们可实现最高的密度和最快的读写速度。更快获得结果的能力使他们能够制定出更好的决策,并让他们比以往更快地将新产品推向市场。


下图以直观的方式展示了 Western Digital 的能量辅助式记录过程。最上面的条纹代表磁力;中间一条代表增加的能量(热量);最下面一条代表借助磁力和热量的组合写入介质的实际数据:



我最近与我的同事以及 Western Digital 和 Univa 的团队进行了交流,正是这些团队的协作努力才让这次创纪录的运行成为现实。我的目标是详细了解他们如何为这次运行做好准备、他们总结出的经验教训,并与大家分享这些信息,以供您在准备好运行自己的大规模作业时借鉴。

提升

大约两年前,Western Digital 团队运行着多个包含多达 8 万个 vCPU 的大型集群,这些集群由 EC2 Spot 实例支持,以便尽可能节约成本。在使用 8000、1.6 万和 3.2 万个 vCPU 重复成功运行后,他们将 vCPU 数量增加到了 8 万个。取得这些早期成功之后,他们定下了远大目标,决定突破极限,努力实现 100 万个 vCPU 的成功运行。他们知道,这必然会给现有的工具带来沉重的压力和负担,于是决定采用一种更好的发现/修复/进一步扩展的方法。


Univa 的 Grid Engine 是一种批处理调度程序。它负责跟踪可用的计算资源(EC2 实例),并尽可能快速高效地为实例分派工作。目标是在最短的时间内以最低的成本完成作业。Univa 的 Navops Launch 支持基于容器的计算,并允许为 Grid Engine 和 AWS Batch 使用相同的容器,因此在此次运行中发挥了重要作用。


在 5 万台主机创建到 Grid Engine 调度程序的并发连接时,出现了一个值得关注的扩展难题。运行之后,该调度程序每秒最多可以调度 3000 个任务,但在实例意外终止并表明需要尽快重新安排 64 个或更多任务这种相对罕见的情况下,需要额外突发。该团队还发现,通过 IP 地址引用工作线程实例可让他们回避各弹性网络接口上有关 DNS 查找数量的某些内部 (AWS) 速率限制。


整个模拟过程均封装在 Docker 容器中,以方便使用。当新启动的实例联机时,它们会在 ElastiCache for Redis 集群中注册其规格(实例类型、IP 地址、vCPU 计数和内存等)。Grid Engine 使用此数据来查找和管理实例;这比持续调用 DescribeInstances 更高效,也更具可扩展性。


模拟任务从 Amazon Simple Storage Service (S3) 读取数据并向其中写入数据,利用 S3 存储海量数据以及处理任何可能出现的请求速率的能力。


模拟任务内幕

每种可行的磁头设计均由一组参数描述;整个模拟运行包括对此参数空间的探索。运行结果有助于设计人员找到可构建、可靠且可制造的设计。此次特定运行侧重于对写入操作进行建模。


每个模拟任务运行时间为 2 到 3 个小时,具体取决于 EC2 实例类型。为了避免在 Spot 实例即将终止时丢失工作,这些任务每 15 分钟会在 S3 中为自身设置一次检查点,并提供一些额外的逻辑,说明作业在终止信号之后、实际关闭之前完成的重要情况。

实际运行

经过仅仅 6 周的规划和准备(包括多次大规模 AWS Batch 运行以生成输入文件),Western Digital/Univa/AWS 联合团队就为全面运行做好了准备。他们使用 AWS CloudFormation 模板启动了 Grid Engine 和集群。得益于我先前描述的基于 Redis 的跟踪,他们能够在实例可用时立即开始将任务分派给实例。该集群在 1 小时 32 分钟内扩展到 100 万个 vCPU,并全速运行了 6 个小时:



当没有更多未分派的任务可用时,Grid Engine 开始关闭实例,在大约一小时内关闭所有实例。在运行期间,Grid Engine 能够保证实例在 99% 的时间内均能满负荷工作。该运行组合使用了 C3、C4、M4、R3、R4 和 M5 实例。下图显示了此次运行过程的详细情况:



该作业涉及到美国东部(弗吉尼亚北部)区域中的所有 6 个可用区。Spot 报价以按需价格为依据。在运行过程中,机组中大约 1.5% 的实例被终止并自动更换;绝大多数实例都全程保持正常运行。

就是如此轻松

这项作业运行了 8 小时,费用为 137307 USD(每小时 17164 USD)。根据与我交流过的人员预估,这样的费用是在内部集群上运行时费用的一半 – 前提是他们得有同等规模的内部集群!


在评估这次运行的成功情况时,Steve Phillpott(Western Digital 的 CIO)告诉我们:


“存储技术非常复杂,我们不断突破物理和工程的极限,以提供下一代产能和技术创新。与 AWS 的这次成功合作展示了基于云的 HPC 的超大规模、强大能力和高度敏捷性,可帮助我们运行复杂的模拟,为未来的存储架构分析和材料科学探索提供支持。通过使用 AWS 轻松将模拟时间从 20 天缩短到 8 小时,Western Digital 研发团队能以不久之前还不可想象的速度探索新的设计和创新。”

参与这次合作的 Western Digital

团队目前正在诚招研发工程技术专家,还有其他许多职位虚位以待!


我们也可为您安排运行


如果您想实现包含 10 万到 100 万个内核(或更多内核)的大规模运行,我们的 HPC 团队将竭诚相助,我们的合作伙伴 Univa 同样随时待命。若要开始体验,欢迎联系 HPC 销售部门!


作者介绍:


Jeff Barr


Jeff Barr 是 AWS 的首席宣传官。他于 2004 年创办本博客,此后几乎未间断地撰写文章。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/west-digital-hdd-simulation-cloud-2-5million-hpc-ec2-case/


2019-10-07 16:22533
用户头像

发布了 1835 篇内容, 共 92.3 次阅读, 收获喜欢 73 次。

关注

评论

发布
暂无评论
发现更多内容

我终于拥有自己的独立博客了。

彭宏豪95

GitHub 写作 博客 IT

再拔头筹,FusionInsight为华为云大数据打造硬实力

华为云开发者联盟

大数据 数据仓库 数据湖 FusionInsight 华为云

与第三方系统打通的N种进阶方式

棒锤🐮

架构

详解快速开发平台与工作流通用组件的设计规范

Marilyn

敏捷开发 企业应用

快速了解阿里微服务热门开源分布式事务框架——Seata

比伯

Java 架构 微服务 seata

十年资深架构师分享:如果这么做还收不到一线互联网大厂面试,请来找我。

Java架构师迁哥

堪称完美!11月华为官方首发Spring响应式微服务,Spring+SpringBoot+SpringCloud三管齐下

Java架构追梦

Java 架构 微服务 springboot SpringCloud

氪信团队再夺冠!易观数科第四届OLAP算法大赛前三甲诞生!

易观大数据

数据库 算法 OLAP

双十一背后的技术

anyRTC开发者

大数据 AI 音视频 WebRTC RTC

护航11.11,如何筑牢安全防御系统?

京东科技开发者

云计算 云安全 DDoS

2020双11:看阿里背后的黑科技!

人工智能 云计算 大数据 运维 黑科技

《分布式Java应用基础与实践》.pdf

田维常

分布式 电子书

第八周作业

Geek_4c1353

极客大学架构师训练营

奈学教育荣获“中关村高新技术企业”认证

奈学教育

奈学教育

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java~~~

MySQL 阿里 sql查询 SQL优化 SQL光标

当代程序员必备技能(算法)之:递归详解

Java架构师迁哥

堪称完美!11月华为首发Spring响应式微服务,三管齐下

小Q

Java spring 学习 架构 面试

Linux一切皆文件,如果你没做到这一步,那这就是句话而已

小Q

Java Linux 学习 架构 面试

CloudQuery v1.2.1 版本发布

BinTools图尔兹

数据库 开发者 运维 工具 开发工具

三部门联合发言不得虚报直播销售额业绩:双十一何以刺激了用户的购买欲

石头IT视角

携oneAPI Gold版本和服务器GPU 英特尔领先业界进入XPU时代

E科讯

【活动回顾】Flutter实时音视频应用场景实践

ZEGO即构

flutter RTC

深入解析 Flink 的算子链机制

Apache Flink

flink 流计算

实时音视频面视必备:快速掌握11个视频技术相关的基础概念

JackJiang

音视频 即时通讯 视频

从应用开发角度认识K8S

LorraineLiu

容器 云原生 k8s入门

深入浅出node中间件原理

徐小夕

Java node.js 大前端 中间件 数据可视化

JVM真香系列:堆内存详解

田维常

Java JVM 堆栈 虚拟机

apipost如何设置断言

测试人生路

接口测试

【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器

IoT云工坊

人工智能 云计算 物联网 API 红外遥控器

[译文]设计模式01 – 抽象工厂模式(附代码实例)

YoungZY

设计模式 译文

薇娅和李佳琦带货百亿奇迹背后是这些技术团队的努力

阿里云视频云

Western Digital HDD 云级模拟_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章