智东西(公众号:zhidxcom)
文 | 心缘

高性能计算集群(HPC)又被称为超级计算机,因为成本和编程的复杂性,它被长期用在高能物理研究、能源勘探、国民经济预测、核武器预测、卫星图像处理等高精尖领域,同时也成为一个国家科技综合实力的重要象征之一。

过去15年间,HPC成为成长速度最快的IT市场之一,而人工智能(AI)和物联网的到来,正开创大量数据连接的智能时代,为HPC注入新的活力。

天气预测、石油勘探、药物研发、电影特效、汽车模拟碰撞、金融防欺诈……各种与人们生活密切相关的计算密集型处理任务开始构建于HPC的基础之上。HPC逐渐从大型科研机构和企业才能承担的“阳春白雪”,变身为各行业应对快速变化的环境、从海量数据中获得洞察力的“下里巴人”。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲垂直行业的AI用例

HPC、AI和数据分析的融合已成大势所趋,但传统HPC集群在设计之初,通常并未考虑到AI的存在。它们难以应对快速扩散的AI算力需求,飙增的数据量带来更大存储压力,单一分布式文件系统无法满足多样化存储需求,这些应用变化都推动着HPC基础设施走向变化。

很多组织机构倾向于将HPC、数据分析和AI分别在相互独立的独立集群上运行,这意味着需要创建专用的新集群。这种方法会产生数据孤岛,影响整个流程的效率,而且数据的移动和操作成本昂贵,会造成资源浪费。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲工作负载分离在孤独集群(左)和统一集群架构(右)

这对硬件公司提出新要求,能不能在原有IT基础设施之上,打造出能运行HPC、AI、数据分析三者的统一集群架构?经过长期的研究和实践后,英特尔已经摸索出一系列成熟的解决方案。

一、基于HPCAI和数据分析市场快速增长

根据研究机构Hyperion Research报告,到2022年,HPC服务器市值预计将达到196亿美元,整个HPC生态系统的市场总值将超过380亿美元。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲全球HPC服务器市场增长情况(来源:Hyperion Research,2019)

每投资1美元,HPC可将增加463美元营收和44美元的利润。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲HPC在学术、金融等11个不同领域的相关投资回报(来源:Hyperion Research,2019)

HPC已逐步走向AI和深度学习的研发前线,为自动驾驶、精准医疗、智慧城市、物联网等新兴应用场景提供算力支撑。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲全球基于HPC的数据分析和AI服务器市场预测(来源:Hyperion Research,2019)

高性能数据分析、AI等新兴市场则表现出更快的增长速度。Hyperion Research预测,到2022年,基于高性能数据分析服务器市场的营收将达到46亿美元,年复合增长率达14.9%,占整个HPC服务器营收的将近1/4。基于HPC服务器的AI市场的将达到160美元,年复合增长率超过26.3%。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲到2021年,各示例HPC工作负载的投资水平和增长情况

二、三类工作负载融合的三大挑战

从资本支出的角度来看,HPC、AI和数据分析三者工作负载融合到单一集群基础设施,可以将现有和未来集群投资利益最大化,减少资本输出,同时降低运行和维护环境的成本。

要实现这些融合,必然要面临基础设施部署和硬件的优化迭代等难关。

由于三者采用的是不同逻辑,每类工作负载最初并未考虑过彼此间的互操作性。而实际基于HPC集群部署AI、数据分析能力时,需将多类型的工作负载聚集到单个集群基础设施上,这对资源管理、存储应用、网络使用等方面均造成了挑战。

1、硬件需求不同

从近期发布的超算TOP500榜可以看出,在HPC领域,“CPU+GPU”组合仍是HPC领域的算力标配。

AI加速硬件则在近年趋于多元化,CPU与协处理器打配合战成为常态,协处理器则以GPU、FPGA、ASIC为主,一些相对小众的CGRA、存算一体架构芯片也开始进入初步的商业化探索期。

然而多年来,HPC因其对计算的极致追求,逐渐偏离对处理器速度、内存容量和I/O速度的平衡,HPC系统变得越来越以计算为中心,内存墙问题愈发严重。

随着大数据和AI时代到来,数据密集型的高性能数据分析工作负载快速发展,对内存和I/O的需求增高,进一步暴露已建立的HPC架构设计的更多局限性。

由于HPC设计大量依赖GPU等特定处理器或其他自定义加速程序,它更适用于标准化、统一格式的数据集,而随着数据日趋多样化,HPC需支持结构化和非结构化的音频、视频、文本、设备输出等不同数据类型的混合。

另外,很多应用场景对实时分析的需求日益增长,需要更新的存储/内存方案来提高性能。

因此,HPC系统需考虑如何在现有的以计算为中心的架构基础上,处理整个系统中数据移动的速度和总拥有成本。

2、框架和软件堆栈需求不同

传统HPC应用是基于算法的数学模型,是经过人类严密的逻辑运算后,遵循已知的规则去训练和实现的。

而AI通常借助的机器学习方法,需要通过海量数据来训练模型,机器参与过程犹如一个黑匣子,人的参与度相对没那么高。

在实际情况中,许多HPC集群早期设计时是没有考虑到AI或数据分析应用的,但HPC、AI和数据分析,三者的软件堆栈和框架差异很大,每个工作负载必在集群上加载自己的软件堆栈,资源管理器也千差万别。

要实现HPC、AI和数据分析的融合,资源管理器需要考虑的因素很多。

硬件和环境不断变化,异构工作负载有浮点型、整数型,平均系统规模和组件数量在快速增长,异构环境有内部数据中心、公有云、私有云和混合云,对大规模扩展性、功效和网络安全管理能力的要求也越来越高。

这些不断变化的需求,使得HPC资源管理器需要构建更强大更复杂的管理体系。

3、文化和运营存在差异

HPC团队更关注裸机和本地集群,而很多AI和数据分析团队则更倾向云化,他们采用的具体开发、运维手段也存在差异。

在使用语言上同样存在差异,AI算法和数据分析工程师常用Python、Java、Scala等更高级别的高级语言,而传统HPC团队常用C/C++和Fortran等更基础的高级语言。

三、跨工作负载的统一架构成刚需

在同一公司或机构中,不同部门对数据处理任务的需求也日趋多样化。

比如研究人员可能会需要结合仿真/建模、AI和数据分析功能的新工作流程和工作负载,来解决某些具体的问题。

业务部门则需要参考数据分析,然后经过创新实践,再创造新的数据来源。而高层更多考虑地是如何利用数据和技术来提高组织效率和竞争优势。

要满足这些不同需求,使得多样化的工作负载和工作流程能作为一个整体实现高效部署和管理,多用途集群成为一种理想选择。

长期专注在HPC的英特尔也在这一方面也下足了功夫,打造了包括计算平台、存储抽象化、软件优化和常见资源管理器的跨工作负载统一架构。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲英特尔跨工作负载的统一架构

1、按需组合的软硬件构建模块

针对硬件堆栈的需求,英特尔的解法不是规定严格的解决方案,而是提供了至强、傲腾、固态盘和网络等各类构建模块,并配以庞大的软件生态系统,供用户按需自由定制。

其中至强平台不仅是英特尔全栈式解决方案的核心,也是许多现有HPC集群的“大脑”。例如,在最新的全球Top 500最新榜单的Top10中,第四到第九名均采用的是英特尔至强处理器。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲2019年全球超算TOP10

英特尔最新的第二代至强可扩展处理器,相比使用了三年的系统,在HPC CPU基准测试中平均性能提升3。7倍。第二代至强中还融入AI指令集,以满足严苛的AI推理需求,推理吞吐量较英特尔至强铂金8180处理器提升25倍。其性能表现和成本优势也已经得到了许多客户的认可。

考虑到数据移动中的损耗,英特尔提供傲腾数据中心级持久内存来加快大规模处理数据;并提供傲腾数据中心级固态盘,突破NAND固态盘的瓶颈,带来更低延迟、更高耐用性和更高的系统性能。

在网络方面,英特尔Omni-Path架构具有高带宽、低延迟的特点,可将HPC性能优化并简化部署,另外英特尔以太网可提供多种度、线缆介质和端口数量选择,两种技术都能在英特尔的InfiniBand等网络集群中运行。

除了英特尔直接提供的工具,许多开源和商业第三方软件包都针对英特尔架构做了优化。

2、高效资源管理层:抽象化存储和网络

资源管理层是融合平台的关键,英特尔通过打造统一的存储、网络机构,来解决HPC、AI和数据分析工作负载间的资源分配、作业调度、重叠和争用等问题。

英特尔将三类工作负载所获取的数据汇集在一起,创建了随时随地可用的单一数据池。其统一存储架构基于分布式对象存储,可提供多种存储抽象。其统一网络架构,可协调各类互连网络的行为。

集群操作员可根据实际需求,借助针对特定领域的插件,定制环境操作,使得平台能更好的去探索仿真和建模、AI以及数据分析的相关应用。

英特尔通过存储抽象化减少数据移动。采用Alluxio为各类持久存储上的数据创建单点访问,实现快速访问现有数据。

3、改造现有环境,增强灵活性

为适应不同现有HPC环境,英特尔同时开发多个解决方案。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲扩展HPC批量调度程序

一种方案是面向HPC批量调度程序的Magpie。

Magpie开源项目旨在支持HPC环境中运行TensorFlow,英特尔为其开发了一个架构,并制定了最佳实践来确保各类型工作负载的出色性能和稳定性,该方案允许Apache Spark在独立模式下作为HPC作业运行。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲Univa Universal Resource Broker和Grid Engine

另一种方案是是使用开源的Univa Universal Resource Broker,对数据中心资源抽象化处理,创建一个跨裸机服务器、混合云和容器运行的单一虚拟池。

该方案还可在调度和队列生产环境中使用Univa Grid Engine的组织扩展集群,以支持Apache Spark、TensorFlow等工作负载,同时仿真和建模工作负载使用现有API即可。

四、针对不同需求分而优化

另一方面,英特尔也分别优化针对HPC、AI和数据分析的工具。

1、仿真和建模工具优化

针对仿真和建模应用的关键工具和优化包括MPI库、GCC和英特尔编译器、数学核心函数库(MKL)、Torch。

英特尔MPI库是开源MPICH规范的一种实现,可创建、运行、测试、维护针对基于英特尔架构的集群优化的应用,支持多种网络选择。

GCC和英特尔编译器允许开发者在两者间轻松切换,提供灵活的优化功能,并支持与主流工具链相结合,进一步增强互操作性。

MKL是英特尔针对技术和科学计算打造的一套预优化函数库,方便用户快速调用以加速计算。

英特尔还提供一种叫Torch的开源科学计算框架,包含脚本语言LuaJIT和底层C/CUDA实施方案,英特尔已针对至强处理器对该框架进行优化。

2、数据分析工具优化

英特尔以数据分析为重心的工具和优化主要包括英特尔数据分析加速库(DAAL)和Apache Spark。

英特尔DAAL包含一系列数据分析优化例程,可以增强在Hadoop、Apache Spark、Matlab、R语言等主流数据平台上构建应用的性能,加快大数据分析。

另外,英特尔还专门重点对Apache Spark进行优化。英特尔正为Apache Spark开发功能,使其通过OpenFabrics接口提供消息传递的高性能架构。

3AI工具和优化

AI是英特尔以数据为中心战略转型中的重头戏,其以AI为重心的工具和优化包括面向深度神经网络的英特尔MKL(MKL-DNN)以及优化的深度学习框架。

MKL-DNN是英特尔专为深度学习应用准备的性能库,可提供高度矢量化和线程化的构建模块,推动这些框架在硬件上的横向扩展能力,从而优化其在HPC基础设施上的适用性。

英特尔也对TensorFlow、Caffe、BigDL等深度学习和大数据分析框架进行优化,使其在基于英特尔架构的服务器和集群上,能更快对深度神经网络进行训练,并简化应用开发。

五、推动存储技术转化创新

生态一直是英特尔战略中的一大核心支柱,英特尔也在积极地同生态合作伙伴携手,共同推动HPC集群的优化和升级,帮终端用户降低采用融合基础设施的复杂性和风险。

除了同一通用平台,英特尔提供的软硬件模块也可以根据企业实际需求进行拆分组合。

比如同样面向HPC转型机遇的百度智能云,需要对私有云存储解决方案做优化,英特尔主要在硬件设施上为其提供助力。

百度智能云发现AI训练、大数据处理和HPC等前沿技术领域,正成为私有云发展的重要方向,而海量非结构化小文件的高性能存储就成为了其存储技术转化创新的一个关键点。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲基于高性能对象存储解决方案的 AI 训练流程

一方面,百度智能云结合自己在公有云存储领域多年积累的技术和经验,探索更有效的私有云高性能存储方案。

另一方面,百度智能云导入全新英特尔傲腾固态盘和基于英特尔QLC 3D NAND的固态盘作为核心硬件基石。来自百度智能云的内部测算数据显示,新的高性能全闪解决方案可以让TCO降低60%。

在软硬件方案协同作用下,最终其ABC Storage私有云全闪对象存储解决方案同时在存储性能和规模上实现突破,从而为AI训练、数据分析和HPC等场景提供了强大的统一对象存储接口。

怎样深度融合AI和HPC?英特尔打造一套通用神器

▲新方案同时在存储性能和规模上实现突破

结语:同一通用平台将显著降本增效

HPC发展进入新计算时代,数据、场景、硬件趋于多样化,对机构原有IT基础设施提出新的要求,许多OEM厂商和半导体厂商都在积极应对这一挑战打造多集群方案。

针对多数企业及机构在任务需求、部署难度、成本等方面的多重考虑,如果能构建起一个将HPC、AI、数据分析有机整合,使其能高效协同的同一通用平台,将帮助更多企业实现多类工作任务的灵活且经济的融合。

这样一来,企业或机构无需专门为各类工作负载分别购买、配置和管理单独的资源,既降低了系统的复杂性,又提升资源利用率,能够在提高性能的同时,规避在构建更多集群时可能面临的风险。