根据需要利用仓库规模(warehouse-scale)计算
具有自定义扩展的处理器核心和共享的内存互联网络的外来 HPC 架构正迅速被按需集群所取代,这些集群利用了现成的一般用途向量协同处理器、融合的以太网(每个链路 40 Gbit/s 或更高速度)和多核无头(headless )服务器。这些新的按需云 HPC 资源类似于所谓的仓库规模计算(warehouse-scale computing),其中每个节点都是同类和无头的,关注的是总体拥有成本和总体电源使用效率。但是,HPC 拥有解决超出类似社交网络、Web 搜索和其他典型的仓库规模计算解决方案所需要的处理能力。本文将重点介绍系统构建者和 HPC 应用程序开发人员如何最高效地扩展您的系统和应用程序。
迁移到高性能计算
自 1994 年以来,TOP500 和 Green500 超级计算机通常不是定制设计的,而是使用现成的无头服务器、融合的以太网(或 InfiniBand 集群)和通用的图形处理单元 (GP-GPU) 协处理器来设计和集成,这些 GPU 不是用于图形处理,而是用于单程序、多数据 (SPMD) 工作负载。高性能计算 (HPC) 偏离了外来定制处理器和内存互联设计方向,有朝着利用现有设备(仓库规模计算)发展的趋势(基于控制总体拥有成本,提高功率效率,以及平衡新建和既定 HPC 操作的操作开支 (OpEx) 和资本开支 (CapEx) 的需求)。这意味着,您可以使用类似的方法构建自己的小型集群,在需要 HPC 仓库规模资源时根据需要使用它们。
Cray 等计算机使用的著名的 3D 环形互联从未完全消失(如今,TOP500 中 1/3 采用大规模并行处理器 [MPP],2/3 的高性能机器采用集群架构),但对效率和新 OpEx 指标(比如 Green500 Floating Point Operation (FLOP)/Watt)的关注正在推动 HPC 的发展和保持架构持续关注集群计算架构。而且,如今许多有趣的应用程序都是数据驱动的(例如数字视频分析),所以许多系统不仅需要对 HPC 检查点(长期运行的作业的保存状态)使用传统的顺序高性能存储,还需要随机访问结构化(数据库)和非结构化(文件)的大型数据集。大数据访问是用于云服务的传统仓库规模计算以及当前和新兴的 HPC 工作负载的一种常见需求。所以,仓库规模计算不是 HPC,但 HPC 应用程序可利用受数据中心启发的技术来实现按需云 HPC,前提是它从一开始就是这么设计的。
计算功率
计算功率可采用标准的每瓦特性能形式来度量 — 例如,FLOPS/Watt 或分别用于计算和 I/O 的每秒/瓦特输入/输出。而且,任何计算设备都可视为一个将瓦特转换为计算结果的工厂,对优秀的工厂设计的总测量用的是功率使用效率 (PUE),简言之,就是总能耗中提供给计算设备的比率。如今,该值不超过 1.2 就很不错了。导致 PUE 较高的一个原因是:低效的制冷方法,管理开销,以及与云数据中心相比缺乏定制的设备。
可扩展计算架构的关注点总在不断变化,这些变化包括:
早期注重使用一种快速单处理器,将存储程序算术逻辑的单元中央处理器提高到最高的时钟速率和指令吞吐量:
John von Neumann、Alan Turing、Robert Noyce(Intel 的创始人)、Ted Hoff(Intel 通用处理器拥护者)和 Gordon Moore,将最初的扩展视为尽可能块地扩展数字逻辑和处理器时钟的一大挑战。
至少直到 1984 年(可能更晚),人们通常认为 “处理器造就了计算机”。
Cray Computer 设计了矢量计算机(X-MP 和 Y-MP)和分布式内存多处理器,这些多处理器由一个用于定制的 MPP 机器的 6 向互联 3D 环来建立互联。但这是超级计算领域中独特的设计。
IBM 早期的关注点是可扩展大型机和快速的单处理器,直到 1999 年发布了多核 IBM POWER 架构板载系统设计和一种 3D 环形互联的 IBM Blue Gene 架构。当前的 TOP500 包含许多 Blue Gene 系统,这些系统常常在 LINPACK 度量的 TOP500 中拔得头筹。
从 1994 年直至最近,HPC 不断演化,发展成为一些定制的 MPP 和通常现成的集群,使用定制的互联(比如 Blue Gene 和 Cray)以及现成的融合以太网(10G、40G)和 InfiniBand:
TOP500 已被集群统治,这包括如今的大多数顶级性能的 HPC 解决方案(2/3)。
如 1994 年以来的架构 TOP500 图表中所示,集群和 MPP 如今占据着统治地位(相对于单指令、多数据 [SIMD] 矢量;快速单处理器;对称多处理 [SMP] 共享内存;以及其他不太清晰的架构)。
Sun Microsystems(现在为 Oracle)中的 John Gage 表明 “网络就是计算机”,它指的是分布式系统和互联网,但同样地,集群中的低延迟网络正变成扩展的核心。
通过内存映射 I/O 连接到集群节点的协处理器,包括 GP-GPU 以及混合现场可编程门阵列 (FPGA) 处理器,被用于加速每个集群节点上特定的计算工作负载。
仓库规模计算和云开始出现,它们关注的是 MapReduce 和 HPC 所称的高度并行的应用程序 (embarrassingly parallel applications):
TOP500 使用 LINPACK 和 FLOP 来度量,所以不关注操作成本(例如 FLOP/Watt)或数据访问。内存访问非常重要,而存储访问没有这么重要,除了对于作业检查点(所以如果需要,可重新启动一个作业)。
在新的世纪中出现了许多数据驱动查询应用,包括社交网络、互联网搜索、全球地理信息系统,以及与多于 10 个互联网用户相关联的分析。这不是传统意义上的 HPC,而是大规模的仓库计算操作。
Luiz André Barroso 表明 “数据中心就是计算机”,这是第二次远离注重处理器。数据中心高度关注 OpEx 和 CapEx,所以更适合 FLOP/Watt 和数据访问至关重要的 HPC。Google 数据中心拥有低于 1.2 的 PUE,PUE 是一种将消耗的总能耗除以用于计算的功率的度量指标。(大部分计算性企业都拥有 2.0 或更高的 PUE,所以 1.2 确实非常低。)
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Servers/cloud-computing/