ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

云服务让HPC死而复生

2021-03-16 22:51:39  阅读:243  来源: 互联网

标签:服务 Batch 应用程序 Azure 任务 死而复生 HPC 节点


HPC是高性能计算(High Performance Computing)机群的简称。指能够执行一般个人电脑无法处理的大资料量与高速运算的电脑,其基本组成组件与个人电脑的概念无太大差异,但规格与性能则强大许多。当前通常指使用了GPU/FPGA/RDMA/高性能CPU等。

HPC性能很高,但同时带来一个影响是,需要专门的软件,更高的成本,所以客户有绑定的风险,所以客户采购的意愿很底。云服务资源租凭的模式有点让HPC死而复生的感觉。

各大云服务厂商都提供了HPC服务:

阿里的HPC

云服务让HPC死而复生

腾讯的HPC

云服务让HPC死而复生

阿里腾讯只是提供了物理机资源租凭,Azure/AWS在上层提供一个Batch服务,解决HPC场景并行工作场景。下面以Azure为例:

https://docs.microsoft.com/zh-cn/azure/batch/batch-technical-overview

Azure 批处理是一项平台服务,适用于在云中有效运行大规模并行和高性能计算 (HPC) 应用程序。 Azure 批处理可以计划要在托管的虚拟机集合上运行的计算密集型工作,并且可以缩放计算资源,使之符合作业的需求。

使用 Azure 批处理时,可以轻松定义用于大规模并行执行应用程序的 Azure 计算资源。不需要手动创建、配置和管理 HPC 群集、各个虚拟机、虚拟网络或复杂的作业和任务计划基础结构。 Azure 批处理自动执行这些任务,或者为用户简化这些任务。

批处理是一种托管的 Azure 服务,可用于实现批处理或批量计算 -- 运行大量类似任务以获取所需的结果。定期处理、转换和分析大量数据的组织最常使用批量计算。

Batch 很适合处理本质并行(也称为“超简单并行”)的应用程序和工作负荷。本质并行的工作负荷是指容易拆分成多个任务,在多台计算机上同时执行的工作负荷。

云服务让HPC死而复生

常见使用此技术处理的一些工作负荷示例如下:

· 金融风险建模

· 气候和水文数据分析

· 图像渲染、分析和处理

· 媒体编码和转码

· 基因序列分析

· 工程压力分析

· 软件测试

用户还可以使用 Batch 执行并行计算(最后加上归纳步骤),以及其他更复杂的 HPC 工作负荷,例如 消息传递接口 (MPI) 应用程序。

使用 Batch API 来与 Batch 服务交互的一个常见方案涉及在计算节点池上放大本质并行任务,例如渲染 3D 场景的图像。例如,此计算节点池可能是“渲染场”,为渲染作业提供数十、数百甚至数千个核心。

下图显示一个常见的 Batch 工作流,其中有一个客户端应用程序或托管服务使用 Batch 运行并行工作负荷。

云服务让HPC死而复生

在此常见方案中,应用程序或服务执行以下步骤,在 Azure Batch 中处理计算工作负荷:

  1. 将输入文件和处理这些文件的应用程序上载到 Azure 存储帐户。输入文件可以是应用程序要处理的任何数据,例如金融建模数据或要转码的视频文件。应用程序文件可以是任何用于处理数据的应用程序,例如 3D 渲染应用程序或媒体转码器。

  2. 在 Batch 帐户中创建计算节点的 Batch 池 - 这些节点是将执行任务的虚拟机。需要指定属性,例如节点大小、其操作系统,以及节点加入池时要安装的应用程序在 Azure 存储中的位置(在步骤 1 中上载的应用程序)。用户还可以配置池,使之随任务生成的工作负荷自动缩放。自动缩放可动态调整池中的计算节点数。

  3. 创建 Batch 作业 ,在计算节点池上运行工作负荷。创建作业时,需要将它与 Batch 池关联。

  4. 将 任务 添加到作业。当你将任务添加到作业时,Batch 服务将自动计划任务在池中的计算节点上执行。每项任务使用上载的应用程序来处理输入文件。

· 4a. 任务执行之前,它可以将它要处理的数据(输入文件)下载到它被分配到的计算节点。如果应用程序未安装在节点上(请参阅步骤 2#),可以从此处下载。下载完成后,任务将在它被分配到的节点上执行。

  1. 任务执行时,你可以查询 Batch 来监视作业及其任务的进度。客户端应用程序或服务通过 HTTPS 与批处理服务通信。由于监视的任务可能成千上万,而这些任务又运行在成千上万的计算节点上,因此请确保高效查询批处理服务。

  2. 当任务完成时,它们可以将其输出数据上载到 Azure 存储空间。也可直接从计算节点上的文件系统检索文件。

  3. 当监视检测到作业中的任务已完成时,客户端应用程序或服务可以下载输出数据来进一步处理或评估。

畅想一下,除了Batch场景,AI里面深度学习用tensorflow做训练的。未来大数据的一些框架也可能会搬到HPC上,加速HPC的应用场景。

标签:服务,Batch,应用程序,Azure,任务,死而复生,HPC,节点
来源: https://blog.51cto.com/15127539/2662509

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有