高性能计算:百亿亿级计算系统的技术、解决方案以及应用

作者:

日期:2023-12-09

高性能计算:百亿亿级计算系统的技术、解决方案以及应用

profile-avatar
万物云联网2023-12-09 16:19

题记

全球高性能计算即服务市场预计在预测期内将以 13.3% 的复合年增长率增长。 预计到 2029 年,全球高性能计算即服务市场将达到 247.2 亿美元。

高性能计算(HPC)主要与每秒可执行千万亿次计算的超级计算机有关。 与复杂应用相关的计算包括完成多个任务,需要数千个计算节点并行工作。

高性能计算 (HPC) 的应用在各种科学、工业和社会进步中发挥了重要作用。 众所周知,HPC 在各种疫苗的开发中发挥了重要作用,并协助气候建模以帮助我们更好地了解气候变化。 它是利用市场创新和竞争的关键。

HPC 具有高速处理数据和执行复杂计算的能力,可以使新数据集更快、更实时地用于实际业务应用。 该技术以一种比典型台式计算机或工作站更高的性能方式聚合计算能力,以解决科学、工程或商业问题。

优质的学习资源中心cloudioe:关注我们,持久地阅读学习,投资您自己、提升您的能力和格局,改变您的生活!我们也能帮公司企业和研发人员吸收宇宙的力量,提高研发效率,降低研发投资,找到应用灵感!

市场对高性能计算的应用需求

高性能计算即服务(HPCaaS)的市场信息

高性能计算即服务(HPCaaS)将变得更加普遍,部分原因是新的按需分配的超级计算机服务产品,部分原因高性能计算是为工程师开发基于人工智能的工具。 因此,全球有高达 45.00% 的收入将直接归因于通过 HPCaaS 实现的基于云的业务模式,这使得高性能计算解决方案可供更广泛的垂直行业和公司使用,从而使计算服务能够解决更广泛的一系列应用问题。 3D 成像、人工智能、物联网等技术的发展以及组织分析的数据量的急剧增加推动了 HPCaaS 市场的增长。 此外,高性能计算即服务的采用正在增加,因为它能够实时处理数据以分析股票趋势和直播体育赛事。 云计算在新兴经济体的快速普及预计也将成为高性能计算即服务市场快速发展的主要机遇。然而,对这些数据的安全性和合法使用的日益担忧是高性能计算即服务(HPCaaS)的全球市场增长的主要挑战。

HPC 即服务市场的公共云部分预计将以超过10% 的最高复合年增长率增长。 对于用户来说,这些类型的云将提供最佳的规模经济,并且设置成本低廉,因为HPC 即服务提供商涵盖了硬件、应用程序和带宽成本。 这是一种按使用量付费的模式,产生的价格唯一取决于所使用的容量。

关键市场信息:

  • 2022 年亚太地区在全球高性能计算即服务市场中所占份额最高。
  • 2023-2029 年预测期间,全球高性能计算即服务市场的复合年增长率为 13.3%。
  • 全球高性能计算即服务市场的重要关键参与者是 – IBM、AWS、微软、PenguinComputing、SabalcoreComputing、AdaptiveComputing、Nimbix、Google、AdvancedMicroDevicesInc、Ubercloud、HPE、Dell、CrayInc、CiscoSystemsInc、Hitachi 有限公司、英特尔公司、富士通有限公司和甲骨文公司
  • 全球高性能计算即服务的市场规模:2022年103亿美元,2029年248亿美元;

大数据处理的5V特征

大数据的四个V特征

人类社会正处于数据爆炸时代,数据呈指数级增长。 这个时代被称为“大数据时代”,具有5V(volume, velocity, variety, veracity, value)特征,即容量、速度、多样性、准确性和价值。 为了应对“五个大V”的挑战,一个新的领域——高性能大数据计算——正在兴起,旨在将高性能计算(HPC)、大数据处理和深度学习带入“融合轨迹”。

在过去的十年中,大数据改变了人们在商业和研究领域理解和利用数据力量的方式。 大数据已成为业务分析中最重要的元素之一。 大数据、HPC 和深度学习/机器学习 (DL/ML) 正在融合,以应对大规模数据处理挑战。 在 HPC 和云计算环境中运行高性能数据分析工作负载越来越受欢迎。根据最近的 Hyperion 研究报告,高性能数据分析工作负载在过去几年中无论是在预算分配还是组织重点方面都出现了强劲增长。 这一趋势预计将在未来十年继续增长。 大数据领域正在扩展到“海量数据”。

在此背景下,以下四个主要方向出现了具有挑战性的问题:(1)理解大数据的特征和趋势; (2)了解大数据、HPC和深度学习/机器学习之间的相互作用; (3)了解HPC技术(处理、网络、存储)趋势,加速大数据处理; (4) 了解加速大数据处理的好处。

传统上,大数据问题和解决方案以 3V(容量、速度和多样性)为特征。 近年来,又增加了第四个V(真实性)。 数量反映了待处理的静态数据量。 速度是指移动中的数据。 多样性是指必须处理的数据类型的巨大多样性。 准确性是指有疑问的数据。

使用 4V 有效处理大数据对于当前的技术来说面临着许多重大挑战,尤其是在数据不断增长的情况下。 大量数据通常会导致核心外的数据处理和移动,以及严重的输入/输出 (I/O) 瓶颈。 另一方面,运动中的数据(俗称“大速度”)需要实时数据处理能力。 这对用于计算、通信和 I/O 的底层计算资源、网络和存储系统提出了高性能期望。

第三个V(多样性)导致大数据社区开发了多种数据处理框架; 例如,Hadoop、Spark、Flink、Storm、Kafka。然而,在不久的将来不太可能出现单一的标准化规范或实现,这使得高度优化的框架很难向前发展,因为每个框架的设计都不同。 目前文献和社区中提出的优化大多是根据具体情况进行的。 因此,为了应对大数据处理4V带来的挑战,迫切需要设计能够以高性能和可扩展的方式处理数据的下一代大数据软件堆栈,从而能够最佳地利用底层网络、计算和存储能力。 在此背景下,在大数据处理的背景下添加了第五个V(价值)。 某些数据以及从该数据导出的相关商业智能的价值可能因组织而异。

当前的数据管理和处理系统

数据永不眠

从广义上讲,现代数据中心的当前一代数据管理和处理系统主要在两个层上运行:前端层和后端层。 前端层软件组件通常部署用于服务数据访问查询和在线数据处理。 该层相应的数据管理和处理软件组件通常包括(1)Web服务器,例如Apache HTTP Server、NGINX、Tomcat等; (2)数据库,例如MySQL、PostgreSQL、Oracle数据库、Microsoft SQL Server等; (3)分布式缓存层,如Memcached、Redis等; (4)NoSQL(Not Only SQL)数据库,如HBase、MongoDB等。

从性能角度来看,在线应用需要数据中心的这些前端层软件系统以低延迟和高吞吐量的方式处理数据,以便数据中心能够提供良好的用户体验。 这就是为什么系统管理员通常选择在传统数据库系统之上部署分布式缓存层。 通过这样的缓存层,很多数据查询都可以直接用内存中缓存的数据副本来服务,这比从数据库系统加载数据的情况要快得多。

随着前端层软件系统处理和存储的数据量不断增加,数据将逐渐转移到后端层进行进一步处理,例如数据挖掘、数据清洗、机器学习、数据仓库等。 后端层软件组件的主要目标是通过数据分析和机器学习或深度学习作业,以离线方式从大量数据中挖掘价值。 该层相应的数据管理和处理软件组件通常包括(1)分布式存储系统,例如Hadoop分布式文件系统(HDFS)、Ceph、Swift等; (2)数据分析中间件,如Hadoop、Spark、Flink等; (3)机器学习或深度学习框架,如TensorFlow、PyTorch等; (4)不同类型的数据分析和机器学习工具或库,例如MLlib、Keras等。 从性能角度来看,高吞吐量和水平可扩展性是数据中心这些后端层软件系统所追求的最重要的属性。

传统上,大数据处理和管理中间件,如Hadoop、Spark、HBase、Memcached等,是在传统的通信和I/O协议之上设计的,如TCP/IP、远程过程调用(RPC)、文件 系统调用等。 这些协议是使用以操作系统为中心的概念和接口构建的,例如套接字、可移植操作系统接口 (POSIX) 等。由于用户空间和内核空间之间的上下文切换和缓冲区复制,这些编程模型通常具有较高的资源开销 。

大数据分析和处理的技术发展趋势

云服务模型: (a) 软件即服务 (SaaS);(b) 平台即服务 (PaaS); (c) 基础设施即服务 (SaaS); (d) HPC 即服务 (HPCaaS)

在过去几年中,大数据分析和管理软件堆栈的性能和可扩展性得到了显着增强。 在众多因素中,硬件演进是推动大数据分析和管理系统演进的关键因素之一。 过去几年,HPC 中心和数据中心基于集群的现代系统的处理器核心数量迅速增加,内存容量和网络带宽也同样令人印象深刻。 这种增长是由当前多核/众核架构趋势、新兴异构内存技术(例如 DRAM、非易失性内存或持久存储技术推动的) 内存 [PMEM]、高带宽内存、NVM Express 固态硬盘 [NVMeSSD])以及融合增强型以太网 (RoCE) 上的 InfiniBand、Omni-Path、RDMA(即远程直接内存访问)等之间的高速互连等等。

这些多核/众核架构、异构内存和高速互连目前正在为设计下一代 HPC 和云计算环境获得动力。这些具有更高性能和高级功能的新颖硬件架构为重新设计大数据分析和管理软件堆栈提供了许多机会,以实现前所未有的性能和可扩展性。

因此,大数据分析和管理软件堆栈的硬件意识或架构意识设计一直是一个卓有成效的研究领域。 我们已经看到了许多令人兴奋的研究成果,以及由架构感知优化、新兴内存技术(例如 NVM/PMEM)、高速互连(例如支持 RDMA 的网络)在简化 I/O 和通信方面带来的有希望的性能改进 瓶颈,到基于多核/众核架构的大数据分析和管理软件堆栈的并行处理。

这些具有更高性能和高级功能的新颖硬件架构为重新设计大数据分析和管理软件堆栈提供了许多机会,以实现前所未有的性能和可扩展性。

因此,大数据分析和管理软件堆栈的硬件意识或架构意识设计一直是一个卓有成效的研究领域。 我们已经看到了许多令人兴奋的研究成果,以及由架构感知优化、新兴内存技术(例如 NVM/PMEM)、高速互连(例如支持 RDMA 的网络)在简化 I/O 和通信方面带来的有希望的性能改进 瓶颈,到基于多核/众核架构的大数据分析和管理软件堆栈的并行处理。例如,最近的研究阐明了通过利用 InfiniBand 网络上的 RDMA、字节可寻址性和 NVM 持久性,不同大数据中间件可能实现的性能改进。

HPC、大数据和深度学习的融合

HPC、大数据和深度学习的融合

近年来,业界看到了高性能计算、大数据和深度学习三大领域的重要融合。 随着 HPC 环境不断提供越来越多的先进功能,大数据社区最近能够利用这些功能。 同时,我们也看到深度学习社区能够利用高性能计算和大数据领域的技术进步,形成两个关键支柱:前所未有的计算能力和用于模型训练的海量数据。 这种趋同循环多年来一直在持续。 我们相信这一趋势将使所有三个领域受益,并且我们将看到这些社区提出和开发出越来越好的解决方案,以实现最终应用程序的更高性能和可扩展性。

HPC、大数据和深度学习的融合正在成为下一个改变游戏规则的商业机会。 这一趋势催生了许多重要的研究和开发活动,将HPC、大数据处理和深度学习带入融合轨道。从用户的角度来看,我们必须回答许多关键问题和挑战才能实现这种融合。 一些示例问题可能包括以下内容:

• 当前大数据处理和深度学习中间件(例如Hadoop、Spark、TensorFlow、PyTorch)的主要瓶颈是什么?

• 能否通过利用 HPC 技术的新设计来缓解这些瓶颈?

• 通常部署在HPC 系统上的支持RDMA 的高性能互连能否使大数据处理和深度学习系统及其应用受益?

• 具有高性能存储系统(例如PMEM、NVMe-SSD、并行文件系统)的HPC 集群能否使大数据和深度学习应用受益?

• 通过增强设计或协同设计可以实现多少性能优势?

• 如何设计评估大数据和深度学习中间件在HPC集群上性能的基准?

作为探索这些研究机会的起点,我们可以尝试在现有的 HPC 基础设施上部署和运行当前一代的大数据和深度学习作业(例如 Hadoop 作业、Spark 作业、TensorFlow 作业)。 通过工作负载特征和性能分析,我们可以检查此执行模型和堆栈中的潜在效率和可扩展性瓶颈。

设计高性能和可扩展的通信和I/O层的主要挑战包括设计高效的点对点通信协议、线程模型和同步机制、具有接近本机性能的虚拟化支持、低延迟和高吞吐量I/O 文件系统或存储系统上的操作、服务质量和容错支持、性能调整等。 所有这些属性都是下一代高性能大数据计算堆栈中所需通信和 I/O 库的关键功能。 这种通信和 I/O 层的成功示例是 HPC 社区的 MPI (MPI)。 不幸的是,大数据社区还没有提出标准化的通信和 I/O 层,这可以被视为“MPI 之前”阶段。 历史经验告诉我们,高性能大数据计算需要标准、高效的通信和I/O基础设施。

HPC和大数据领域的主要玩家的技术策略

将 HPC、大数据处理和深度学习纳入融合轨道所面临的挑战

随着底层硬件层提供的越来越先进的技术,新的编程模型和接口正在变得可用,它们可以为应用程序提供纯用户空间和零拷贝通信和I/O协议。 例如,RDMA 就是一种很有前景的通信模型,它已在 HPC 社区中广泛使用了二十多年。 此外,基于 PMEM 和 NVMe-SSD 的 I/O 编程模型也在存储社区中兴起,与传统的基于 POSIX 的 I/O 方法相比,这些模型已被证明可为数据密集型应用程序带来高性能优势。 这些新的编程模型不仅显著提高了大数据处理和管理中间件的性能和可扩展性,而且还为上层系统和底层应用开辟了许多新的协同设计机会。

许多高科技公司(例如谷歌和亚马逊)并没有在研究界利用这些商用硬件平台和技术(例如,RDMA、NVMe、PMEM),而是制造自己的专有芯片、主板、网络等。 他们的网络、I/O 和软件堆栈可能经过优化,以利用其硬件设备提供的独特功能。 由于无法获得有关这些专有设计的技术细节,我们不会在此讨论它们。 然而,所有这些设计的主要目标都是相似的,都是试图显著提高当前一代大数据分析和管理系统的性能和可扩展性,以应对日益增长的海量数据或大数据的挑战。

与此同时,我们应该注意到,几家大型云提供商(例如 Microsoft Azure、AWS、Oracle Cloud 和阿里云)已在其最新的 HPC 实例中采用 HPC 网络技术(例如 InfiniBand 和 RoCE)。

许多大公司的设计也可以使它们的应用在云上的这些 HPC 实例上运行。 甚至Facebook、微软、阿里巴巴等许多社交网站数据中心也开始采用InfiniBand和RoCE HPC网络技术。 除了运行传统的大数据分析工作负载之外,这些数据中心目前还运行深度学习和人工智能工作负载。

未来应对HPC、大数据和深度学习领域新兴融合带来的机遇和挑战,技术领域的大玩家们正在重新设计和加速大数据和深度学习中间件/软件以利用 HPC 技术,从而使 HPC、大数据、 深度学习工作负载可以在同一 HPC 系统上运行。

HPC应用正在迁移到云端

高性能大数据计算的挑战。 HDD,硬盘驱动器; NIC、网络接口卡; QoS,服务质量; SR-IOV,单源输入/输出虚拟化

高性能计算系统的开发是由应用程序的需求驱动的,通常是从系统开发人员的角度来看待。 20 世纪 90 年代,用户的需求和愿望是通过内核或微内核级别所需的功能以及这些内核如何在 CPU 之外进行互操作(例如通过网络)以及输入/输出来实现的。然后,使用这些用户需求“模型”来设计和模拟系统,然后构建系统,并将其移交给软件团队来构建和移植软件组件,以使系统可用。当时这些系统无法再进行硬件更改,但可以更改软件,但实施起来困难且耗时。

这被认为是一个问题,并导致了协同设计的时代,特别是在百亿亿次系统的工作中,用户/应用程序开发人员、系统软件和库开发人员以及计算机架构师聚集在一起进行设计、模拟,并在某些方面进行设计。 根据应用场景构建各种软件和硬件组件的简化模型,以便执行分析和优化。 这使得少数用户(那些被视为代表重要应用的用户,主要是科学和工程模拟和建模)在 HPC 系统的开发中发挥更直接、更综合的作用。

与此同时,亚马逊和谷歌等大公司正在努力构建系统来支持他们的数据分析需求,他们的工作负载导致对处理器、连接、I/O 和其他组件的不同选择,并增加异构性来支持多个同时工作的负载。 此外,这些公司需要及时运行其基本和突发性操作,导致他们构建的系统在大型应用程序未运行时未得到充分利用。 这导致他们将这些未使用的容量出售给其他人,然后将其发展成为利润中心:云。

对于许多外部小规模用户来说,这种能力似乎是无限的并且可以按需使用。 许多科学家和工程师认为这非常有吸引力,特别是那些最初专注于数据分析,后来专注于深度学习的科学家和工程师,因为普遍认为云提供商选择的硬件和软件系统不支持 HPC 建模和仿真分析应用。 此外,用于访问这些云资源的易于使用的自动化模型对于研究人员来说非常有吸引力, 因为这是基于底层异构性并通过容器技术实现的易于移植资源的想法。

如今,很明显,有许多 HPC 应用程序在商业云和内部云上都能很好地运行,但也有一些应用程序由于各种原因而不能在商业云和内部云上良好运行,这些原因包括互连、虚拟化系统和最佳数值水平的变化。

HPC领域的业界主要玩家和它们的专利布局

HPC领域的全球主要玩家:

1. IBM

2. AWS

3. Microsoft

4. Penguin Computing

5. Sabalcore Computing

6. Adaptive Computing

7. Nimbix

8. Google

9. Advanced Micro Devices Inc

10. Ubercloud

11. HPE

12. Dell

13. Cray Inc

14. Cisco Systems Inc

15. Hitachi Ltd

16. Intel Corporation

17. Fujitsu Ltd

18. Oracle Corporation

HPC领域主要玩家的专利文档数目

HPC领域主要玩家的专利文档的公开时间

公司对HPC系统工程师的技能要求

HPC领域的职业发展经验和机会

HPC工程师的工作领域:

按照组件分类:

  • HPC的解决方案
  • HPC的服务

按照HPC的部署类型分类:

  • 私有云
  • 公有云
  • 混合云

按照HPC的垂直应用行业:

  • 制造业
  • BFSI(Banking, financial services and insurance (银行/金融服务和保险) )
  • 卫生保健
  • 政务
  • 媒体与娱乐
  • 其他的行业

相关领域公司的HPC系统工程师的职责范围:

  • 设计和架构最先进的人工智能超级计算机,为公司的云提供动力
  • 引入技术和软件来提高 HPC 存储和网络基础设施的性能、灵活性和服务质量
  • 与公司的 ML(机器学习)团队密切合作,对公司的虚拟机管理程序、网络和存储进行基准测试、调整和优化
  • 设置监控、日志记录和警报以确保高可用性和可观察性
  • 提供指导并代表 HPC 客户的利益

相关领域公司对HPC系统工程师的技能要求:

  • 拥有构建、操作和调试大型 HPC 网络和存储基础设施的专业知识,最好使用 MPI、NCCL、RDMA、Infiniband 和并行文件系统
  • 拥有使用 Python 构建复杂、高质量软件的经验
  • 深入了解 Linux 基础知识,尤其是其网络堆栈方面的知识
  • 有大型 GPU 集群经验者录用和发展优先
  • 拥有虚拟化和 kubernetes 经验
  • 强大的工程背景 - 计算机科学、电气工程、数学、物理方面的知识或者学位

《云中的高性能计算:将 HPC应用迁移到可扩展且经济高效的环境》的内容简介

《云中的高性能计算:将 HPC应用迁移到可扩展且经济高效的环境》

《云中的高性能计算:将 HPC应用迁移到可扩展且经济高效的环境(High Performance Computing in Clouds: Moving HPC Applications to a Scalable and Cost-Effective Environment)》

本书对使用云计算技术运行高性能计算(HPC)应用程序所需的路径进行了全面的解释。 除了介绍将 HPC 应用程序迁移到云背后的动机外,它还涵盖了该主题的基本问题和高级问题,例如部署 HPC 应用程序和基础设施、设计云友好的 HPC 应用程序以及优化预配置的云基础设施以运行此类应用程序。 此外,本书还介绍了通过采用容错技术和避免资源浪费来维护和保持在云中运行 HPC 应用程序的最佳实践。

为了使本书所涵盖的主题具有实际意义,书中还提供了一些案例研究,其中生物信息学以及石油和天然气行业等相关科学领域中使用的 HPC 应用已迁移到云端。 此外,它还讨论了如何在云中训练深度学习模型,阐明通过云提供商提供的不同类型的服务训练这些模型所需的关键组件和其它方面的知识。

尽管有关云计算和 HPC 的参考书目繁多,但缺乏涵盖这些主题、同时讨论在云中执行 HPC 应用程序的步骤、方法和策略的书籍。 因此,我们相信这本书对于对使用云技术运行 HPC 应用程序的尖端技术、概念和见解感兴趣的 IT 专业人员、学生和研究人员来说非常有用。

本书由四个部分和两个附录组成:

第一部分“基础”中包含两章: 什么是云计算? 以及 HPC 应用程序是什么样的? 他们分别介绍了云计算和高性能应用程序的基础知识和关键技术。

第二部分“在云中运行 HPC 应用程序”概述了 HPC 工作负载的关键云基础设施元素以及如何实例化和管理它们(部署基础设施和应用程序)。 它还介绍了在云中顺利执行 HPC 应用程序的策略和技术,此外还讨论了如何调整 HPC 工作负载以整合弹性等云优势并从中受益(在云中执行传统 HPC 应用程序代码)。 此外,本部分还概述了不同云提供商提供的云加速器,展示了如何对其进行编程和实例化,并讨论了部署工作流程(在云中利用硬件加速器)。

在第一部分和第二部分介绍基本概念以及如何使用云执行 HPC 应用程序之后,第三部分重点介绍成本和性能优化。 优化 MPI 应用程序的基础设施一章讨论了以消息传递接口 (MPI) 应用程序为代表的特定操作模式的云基础设施优化,考虑到大量计算节点必须与快速网络互连,并且多级云调度程序必须协调一致,以及将这些节点分配给已提交的 MPI 作业。

第四部分分三章描述应用案例研究。 第一个是基于云的 GPU 环境上的生物序列比较,探讨了云计算提供的并行性来执行生物序列比较应用程序以实现高性能。下一章“云中的石油和天然气储层模拟”向读者简要介绍了储层模拟器的各个方面的知识,并描述了巴西石油和天然气公司 Petrobras 在 HPC 云基础设施中使用该模拟器的经验。本部分的最后一章“云上具有成本效益的深度学习”解决了在云中训练深度学习模型的问题,阐明了通过云提供商提供的不同类型的服务训练这些模型所需的关键组件和技术。