对于计算集群来说,通过是分为计算节点、管理节点、登录节点、存储节点、网络,这四部分:

文本主要对集群常用的计算集群互联网络进行了介绍:
计算节点是集群中的单个计算单元,通常是一台服务器或计算机,负责执行具体的计算任务,这样可以充分利用多个节点的计算能力,加快计算速度,提高效率。
存储以及文件系统是HPC中的难点也是重点。
在高性能计算中,提供可靠、高效和易于使用的存储和文件系统是一个主要问题,因为各种科学应用程序产生并分析大量数据。文件系统提供了与底层存储设备的接口,并将文件名等标识符链接到相应的存储硬件的物理地址。通过这种方式,可以实现对存储设备的更舒适和简化的使用。传统上,它们通过使用目录和文件来实现层次结构的概念。除了实际的文件内容之外,还管理元数据,比如文件大小和访问时间。多年来,已经提出和建立了几种文件系统,提供了各种功能。特别是在高性能计算系统中,部署了并行分布式文件系统,允许将数据分散在许多存储设备上,并结合特定功能以增加吞吐量和系统容量。然而,由于数据大小的快速增长,需要更复杂和专业的方法来处理庞大的信息量。与此同时,开发出了更强大的存储和网络技术,这对于利用相应的能力提出了挑战。除了旧的文件系统概念,其他方法也已经进入了高性能计算系统。图3概述了一个典型的高性能计算系统,其中包含许多不同的存储系统和技术。
下面对广泛使用的存储系统进行讨论,其中包括Lustre、Spectrum Scale、BeeGFS、OrangeFS、Ceph和GlusterFS。
Spectrum Scale是IBM开发的可扩展高性能数据管理解决方案,专为需要处理和存储大量非结构化数据的企业而设计;它是基于之前的General Parallel File System (GPFS) (这个古老的系统据说被浪潮信息买了)开发的。这个并行文件系统提供并发数据访问,能够在一个地方进行数据分析和归档。Spectrum Scale将SSD、HDD和磁带等不同存储层次以及分析功能统一到一个可扩展的解决方案中。这使得用户能够选择最适合其文件或对象数据的存储方式,并以最低的成本迅速移动数据。Spectrum Scale完全兼容POSIX,可以支持许多传统的高性能计算应用程序。
该文件系统通过配置专用服务器用于元数据更新,有助于避免元数据密集型应用程序的性能瓶颈。否则,数据和元数据会混在一起。Spectrum Scale还避免了单服务器性能方面的瓶颈,因为所有服务器和客户端都可以访问和共享数据而无需移动它。因此,甚至客户端也可以扮演服务器的角色。
尽管Spectrum Scale是一个非常强大的文件系统,并且通过IBM集成了各种有用的工具,但对于非盈利的研究目的的集群来说,仍然相当昂贵。
Lustre是一种并行分布式文件系统,广泛应用于超级计算机。它在GNU通用公共许可证(GPLv2)下获得许可,可以进行扩展和改进。由于其高性能,Lustre被应用于全球100台最快超级计算机的一半以上。
该文件系统的架构区分为客户端和服务器。客户端使用RPC消息与执行实际I/O操作的服务器进行通信。尽管所有客户端都是相同的,但服务器可以扮演不同的角色:对象存储服务器(OSS)以对象形式管理文件系统的数据;客户端可以访问对象内的字节范围。元数据服务器(MDS)管理文件系统的元数据;在检索到元数据后,客户端可以独立地联系适当的OSS。每个服务器连接到可能有多个目标(OST/MDT),分别存储实际文件数据或元数据。
Lustre在内核空间运行,也就是说,大部分功能已经以内核模块的形式实现,这既有优点也有缺点。一方面,通过使用内核的虚拟文件系统(VFS),Lustre可以提供与现有应用程序兼容的POSIX兼容文件系统。另一方面,每个文件系统操作都需要一个系统调用,在处理高性能网络和存储设备时会有一些开销。
按照其对Lustre开发的开放态度,英特尔资助了五个英特尔并行计算中心,将新特性集成到Lustre中。其中,这些中心正在致力于为I/O性能提供质量服务、文件系统压缩,以及更好地整合TSM存储后端和大数据工作流程等方面的改进。不过后面Intel已经把Lustre卖了给DDN,且前Lustre团队投入了DAOS系统的研发。
并行且与POSIX兼容的集群文件系统BeeGFS是为I/O密集型HPC应用程序而开发的[21]。它的架构采用客户端-服务器设计,由三个关键组件组成:客户端、元数据服务器和存储服务器。通过增加特定用户所需的服务器和磁盘数量,可以简单地实现BeeGFS的可扩展性和灵活性。所有数据透明地分布在多个服务器上,使用分层(根据给定大小的块)进行分块。除数据分布外,元数据也在目录级别上分布在多个元数据服务器上,每个服务器存储完整文件系统树的一部分。通过这种方式,提供了对数据的快速访问。BeeGFS还实现了对元数据的负载均衡。 BeeGFS系统的客户端内核模块是免费的,并且受GPL许可证保护,服务器受BeeGFS最终用户许可协议(EULA)保护。因此,商业支持是可选的。未来,BeeGFS的开发者打算改进监控和诊断工具,并扩展POSIX接口支持。
与Lustre等内核空间文件系统不同,用户态文件系统不需要任何内核模块来运行。这通常使得在超级计算机环境中使用此类文件系统更加容易,因为用户通常没有root权限。
OrangeFS是一个完全在用户空间运行的并行分布式文件系统。它是开源的,并在GNU Lesser General Public License (LGPL)下许可。它通过原生的ADIO后端提供出色的MPI-IO支持,并提供多种用户界面,包括几个直接接口库、一个FUSE文件系统和一个可选的内核模块[96]。与其他文件系统类似,OrangeFS有专用的数据和元数据存储服务器。OrangeFS使用任意本地POSIX文件系统进行数据存储,并可以使用Berkeley DB (BDB)或Lightning Memory-Mapped Database (LMDB)进行元数据存储。
IBIO是一个基于InfiniBand的用户级文件系统,旨在作为计算节点和并行文件系统之间的中间层[80]。它旨在提高检查点/重启用例的性能。它讨论了增加可靠性的冗余方案。使用SSD和FDR Infiniband,它在一个服务器上实现了每秒2GB的写入吞吐量和每秒3GB的读取吞吐量。
GlusterFS是另一个POSIX兼容的自由开源分布式文件系统。与其他传统存储解决方案一样,它具有客户端-服务器模型,但不需要专用的元数据服务器。所有数据和元数据存储在多个设备上(称为卷),这些设备专门为不同的服务器提供服务。GlusterFS使用弹性哈希算法来算法性地定位文件。这种无元数据服务器架构确保了更好的性能、线性可扩展性和可靠性。同时,GlusterFS是一个提供基于文件的存储的网络文件系统;块和对象接口必须在其之上构建。
在IO-500中,列出了不同文件系统的数据和元数据基准测试的性能行为。类似于计算架构的TOP500列表,IO-500旨在跟踪多年来的性能增长并分析存储领域的变化。IO-500不仅提供了预期性能的关键指标,还作为社区中培育和共享最佳实践的知识库。基准测试方法利用了MDTest和IOR基准测试。一系列具有预配置参数的严格测试被设计为显示未经优化应用的最坏情况。对于IOR,这意味着随机I/O的47,000个chunks,而对于MDTest,使用了具有3,901字节文件的单个共享目录。用户可以根据需要配置和优化一组简单测试,以展示所测试的存储系统的潜力。对于IOR,简单测试通常是大块的顺序I/O,而对于MDTest,则使用空文件。
图3显示了2017年11月份列表中的节选。它显示IME在IOR hard(随机)性能方面表现出色,但元数据性能比Lustre差。Shaheen上的Data Warp提高了顺序I/O的吞吐量,但随机I/O并没有太多受益。对于BeeGFS和Spectrum Scale的小型配置不足以得出有关吞吐量的结论。然而,对于元数据,与Lustre和IME相比,BeeGFS和最新版本的Spectrum Scale表现出色。 (数据比较老了~)
在1990年代初,能源部的国家实验室和IBM意识到管理数据的呈指数增长所面临的巨大挑战。他们开发了高性能存储系统(HPSS),以提供可扩展的分层存储系统,满足处理未来硬件发展的要求。该架构的主要关注点是分层存储管理(HSM)和数据归档。它是当今存储系统中广泛使用的解决方案,主要用于磁带存档的管理。仅科学数据的总管理数据量就达到2.2 EB 。(可见国外的技术研发早了20多年)
由欧洲中期天气预报中心(ECMWF)开发的其他专注于数据归档的存储系统是ECMWF的文件存储系统(ECFS)和气象存档和检索系统(MARS)。一个HPSS管理这两个系统的磁带存档,以及ECFS的磁盘缓存,文件可以使用唯一路径访问。MARS是一个提供类似数据库接口的对象存储。通过使用自定义语言中的查询,可以设置一系列相关字段,然后将其组合成一个包并存储在系统中。字段数据库(FDB)缓存经常访问的字段。ECFS只包含相对较少的并发使用的文件,主要进行写操作。然而,MARS中的文件同样重要,主要进行读操作。因此,这两个系统为对天气建模感兴趣的研究人员提供了强大的存储管理。MARS允许高性能计算(HPC)用户访问过去30年来只存储在GRIB和BUFR格式中的大量气象数据。更多关于ECFS的描述可以参考前面的文章分析。
Ceph是一个免费且开放源代码的平台,提供在单个分布式集群上进行文件、块和对象数据存储的功能。该系统在可靠自主分布式对象存储(RADOS)系统的基础上实现了分布式对象存储。它负责将数据迁移、复制、故障检测和故障恢复到集群中。Ceph还集成了符合近POSIX规范的CephFS文件系统,使许多应用程序能够利用可扩展环境的优势和功能。Ceph利用智能对象存储设备(OSD)。这些单元为与它们进行交互的所有客户端提供文件I/O(读取和写入)功能。数据和元数据是分离的,因为所有元数据修改操作都由元数据服务器(MDS)执行。Ceph动态地在数十个甚至数百个MDS之间分配元数据管理和文件系统目录层次结构的责任。 然而,Ceph仍然存在一些缺点。其中之一是在一个集群中只能部署一个CephFS的限制(比较老的结论了),以及可靠性在实际应用场景中的当前测试阶段。某些功能和实用工具仍处于实验阶段。例如,使用快照可能会导致客户端节点或MDS意外终止。此外,Ceph设计的基础是HDD,需要在将磁盘替换为SSD并且数据访问模式是随机时进行性能改进[71]。
网络互联是连接HPC系统中各个节点的关键部分。它提供高带宽、低延迟的数据传输通道,用于计算节点之间的通信和数据交换。常见的HPC网络互联技术包括InfiniBand、以太网和光纤通道等。
登录节点是用户访问到集群的节点,通过登录节点可操作集群或访问其他节点,用户可以在该节点上自定义软件编译安装,挂载共享存储,同时也是绑定公网 IP 的节点,用户可以通过此节点进行外网通信上传下载文件等。
管理节点用于管理和监控整个HPC系统的运行。它们负责集群管理、作业调度、资源分配、错误检测和系统监控等任务。管理节点通常运行管理软件(如LSF、Slurm等)和其他系统工具,用于管理和控制HPC系统的各个组件
计算节点是执行任务的节点,节点的能力和数量决定了集群的计算能力。计算节点可连接到共享存储,支持多个节点,挂载共享存储,计算节点又分为 CPU 计算、GPU 计算和裸金属计算类型,可以根据实际应用场景进行配置。
SLURM是一个开源的HPC调度器,广泛应用于高校、超算中心等HPC集群。它提供了丰富的功能,包括作业提交、资源分配、优先级管理、任务监控等。SLURM支持多种作业调度策略,如先进先出(FIFO)、公平共享(Fairshare)、优先级调度等。它还支持作业数组,可以一次性提交多个相似的任务。
PBS是另一个流行的HPC调度器,有商业版本PBS Professional和开源版本Open PBS。它具有强大的灵活性和可扩展性,适用于各种规模的HPC环境。PBS支持多种调度策略,如最短作业优先(SJF)、先来先服务(FCFS)、优先级调度等。PBS还可以根据用户和组织的需求进行自定义配置。
LSF是一种商业化的HPC调度器,由IBM开发。它在大规模集群中表现出色,支持多种调度算法,如公平调度、资源回收、优先级调度等。LSF还提供了高度可定制的作业调度规则和策略。
Torque是一个开源的HPC调度器,Torque源于PBS的分支版本,用于管理和调度计算资源。Maui是一个与Torque配套的作业调度器,它提供了更高/级的作业调度功能。Torque/Maui组合被广泛用于中小规模的HPC集群。
Grid Engine是一种开源的HPC调度器,可以在分布式计算环境中进行资源管理和作业调度。Grid Engine支持多种调度策略和作业优先级管理。Grid Engine调度器最早由SUN公司开发,Oracle将其收购后,出现了多个分支版本,如Univa Grid Engine、Oracle Grid Engine、Open Grid Schedule等。
风冷:利用风扇将冷空气吹过散热片或热管,将热量带走,是传统且基础的方案;液冷:冷板式液冷 (Direct-to-Chip / Cold Plate Cooling): 这是目前HPC中最常见的液冷方式之一。带有冷却液流道的冷板直接安装在发热量最大的组件(如CPU和GPU)顶部,热量通过冷板传递给冷却液,再由冷却液循环至冷却分配单元 (CDU) 或外部冷却系统进行热交换。浸没式液冷: (Immersion Cooling): 将整个服务器硬件(或关键部件)完全或部分浸入不导电的特制冷却液(如矿物油、氟碳类液体)中。背板热交换器 (Rear Door Heat Exchangers): 将热交换器安装在服务器机柜后门,利用冷水吸收服务器排出的热空气热量,在热空气进入数据中心环境前进行冷却。 参考文献:
本文作者:曹永皓
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!