Hercules:面向数据中心和高性能应用的可扩展且具备网络便携性的内存即席文件系统
立即解锁
发布时间: 2025-08-31 00:21:28 阅读量: 9 订阅数: 26 AIGC 

# Hercules:面向数据中心和高性能应用的可扩展且具备网络便携性的内存即席文件系统
## 1. 引言
如今运行在大型超级计算机上的科学与工程应用通常具有数据密集型的特点。单个应用工作流轻松就能生成数十TB的数据,这些数据大多由在线操作产生。从性能角度来看,当一组经过测试的应用在运行过程中,有很大一部分时间的内存带宽利用率超过60%甚至80%时,就可将其视为数据密集型应用。
由于这些对数据有高需求的高性能应用的出现,人们引入了多种软件解决方案来应对整个I/O软件栈中的挑战,例如高级I/O库、并行文件系统和I/O中间件等,其最终目标分别是减少文件系统调用次数和将I/O功能从计算节点卸载。对于由相互依赖的数据处理任务组成、通常以有向无环图(DAG)形式连接并通过中间存储抽象(通常是文件)进行通信的数据密集型工作流而言,这些优化尤为重要。
多年来,基于HPC的I/O密集型应用主要基于分布式对象文件系统,该系统将数据与元数据管理分离,并允许每个客户端直接与多个存储服务器并行通信。百亿亿次级I/O对吞吐量和存储容量的要求提高了几个数量级,因此,开发能够相应管理网络和存储资源的方法势在必行。
现在,许多新兴的数据工作负载由机器学习和其他数据分析技术驱动,这些技术依赖于工作流框架(如Apache Spark)、分析包(如Horovod和TensorFlow)以及特定领域的库,而这些传统上并未用于HPC。机器学习应用主要以大量小文件以及读取和查找POSIX操作为主,这些I/O模式在当前为主要顺序访问少量非常大文件的应用而设计的HPC I/O系统中表现不佳。
我们的假设是,通过减少文件系统引起的I/O瓶颈可以加速这些应用,并且在即席文件系统中方便地存储临时数据可以显著影响整体性能。本文介绍了一种分布式即席内存存储系统(Hercules)的设计、实现和评估,该系统旨在增强传统HPC和高性能数据分析(HPDA)系统中的I/O性能。其架构设计采用客户端 - 服务器模型,客户端负责服务器实体的部署。客户端层负责处理数据局部性利用,并实现多种I/O模式以提供不同的数据分布策略。
## 2. 相关工作
### 2.1 通用并行文件系统
通用并行文件系统如GPFS和Lustre长期以来为HPC系统的长期持久存储提供了知名的解决方案,但它们非常僵化,一旦部署就无法修改或适应特定应用。当前的HPC系统和应用并不适合这类系统和密集型工作负载。
### 2.2 低延迟存储系统
随着HPC I/O栈的复杂性增加,I/O操作的延迟也在增加,这影响了应用的性能。因此,使用本地或远程内存存储设备的低延迟存储系统应运而生,近年来,已经实现了多种解决方案,如内存关系数据库、内存NoSQL数据库、内存缓存系统和内存数据处理系统。
### 2.3 即席文件系统
即席文件系统为应用级提供了定制化的数据资源,利用内部存储设备,充当持久存储实体和应用之间的中间件。其主要特点包括:
- 部署开销可忽略不计,可在HPC集群上部署,生命周期可短至单个作业的运行时间。
- 为连接到同一即席文件系统的所有节点提供全局命名空间。
- 通过数据暂存与后端存储系统进行交互。
### 2.4 其他文件系统对比
- **GekkoFS**:是一种高性能、并行且分布式的文件系统,旨在处理HPC环境中的大规模数据密集型工作负载。它是基于分层的文件系统,可根据数据的使用情况(“热度”)在不同存储级别之间移动数据,以平衡性能和成本效益。它支持并行I/O操作,可同时从多个节点读写数据,提高了文件系统的整体性能。
- **BurstFS**:是一种突发缓冲区文件系统,为HPC环境提供I/O功能。它充当计算节点和存储系统之间的缓存,为正在生成的数据提供临时存储区域,使计算节点能够高速写入数据,提高了系统的整体性能。不过,BurstFS使用持久存储设备,而Hercules后端主要使用主内存资源,因此使用Hercules工具更容易实现数据局部性利用的好处。
### 2.5 通信框架
- **GASNet - EX**:是一种用于百亿亿次级计算的高性能通信框架,支持集体操作和许多网络设备(如Infiniband、Omni - path和以太网),还能通过其他知名框架(如MPI或UPC)进行通信,但它缺乏对节点内共享内存通信的支持,而这对于耦合部署很有用。
- **UCX**:是为HPC网络设计的框架,支持许多编程模型(如MPI、OpenSH - MEM、PGAS)、网络设备(Infinib
0
0
复制全文
相关推荐









