查看原文
其他

NERSC:超级计算存储未来的展望

常华Andy Andy730
2025-01-01

Source:National Energy Research Scientific Computing Center, Lawrence Berkeley National Laboratory, Storage 2020: A Vision for the Future of HPC Storage, November 2017

目录
1. 引言
2. NERSC存储层次结构
2.1 NERSC当前的存储基础设施
2.2 基于工作流的存储模型
3. 需求
3.1 当前I/O模式
3.2 NERSC-9需求
3.3 美国能源部Exascale计划需求审查
3.4 新兴应用和用例
3.5 运营需求
3.5.1 可靠性、耐久性、长期可用性和灾难恢复
3.5.2 存储空间管理和维护功能
3.5.3 存储系统可用性
3.6 差距与挑战
3.6.1 存储层次结构
3.6.2 数据迁移
3.6.3 数据养护
3.6.4 工作负载多样性
3.6.5 存储系统软件
3.6.6 硬件问题
3.6.7 POSIX和中间件
4. 技术现状和趋势
4.1 硬件
4.1.1 磁盘
4.1.2 固态存储
4.1.3 存储级内存和非易失性RAM
4.1.4 磁带
4.1.5 存储系统设计
4.2 软件
4.2.1 非POSIX存储系统软件
4.2.2 应用接口和中间件
5. 下一步
5.1 未来的展望
5.2 战略
5.2.1 近期规划(2017年–2020年)
5.2.2 长期规划(2020年–2025年)
5.2.3 创新与贡献机会
6. 结论

摘要

未来五年内,随着百亿亿级(Exascale)模拟和新型实验探测器的出现,数据将爆炸性增长,几乎所有领域都将迎来数据驱动的科学研究时代。与此同时,新的非易失性存储技术将迅速进入市场,颠覆了长期以来用于设计存储层次结构的原则。这些趋势将在高性能计算(HPC)领域引发重大变革,创造出许多创新机会,加速科学探索的进程。为了充分利用这些机会,我们制定了未来HPC存储的综合愿景,并确定了短期和长期的战略目标,以实现这一愿景。本报告介绍了这一努力的成果,并提供了支持HPC存储基础设施设计的蓝图,旨在满足未来到2025年及以后的需求。

在更高的层次上,通过对科学工作流程和用户需求的广泛调查,我们确定了四个逻辑数据存储层次,具有不同的性能、容量、共享性和可管理性要求:

  • 临时存储(Temporary Storage):包含被模拟和数据分析应用频繁使用的数据,其持续时间通常为几小时到几天。

  • 项目存储(Campaign Storage):包含在数周到数月内由大规模工作流程和科学项目大量使用的数据。

  • 社区存储(Community Storage):包含在科学社区内不同项目之间共享的大规模数据集,其持续时间通常为数年。

  • 永久存储(Forever Storage):包含高价值或不可替代的数据,其持续时间无限。


尽管这四个层次并不完全对应于NERSC当前部署的物理存储层次结构,但在未来几年内,NERSC将采取战术性的部署,以使存储资源与这些需求紧密契合。到2020年,我们的目标是将临时存储数据和大部分项目存储数据合并到与当年部署的NERSC-9计算平台紧密集成的基于闪存的存储系统上。与此同时,基于磁盘的社区存储和基于磁带的永久存储层次将更紧密地协同工作,并提供一个单一无缝的用户界面,以简化用户和中心工作人员的长期数据管理。这些层次将在平台之外实施,以便能够根据用户需求进行扩展,并在NERSC-9计算系统寿命结束后继续存在。

到2025年,支持合并的临时/项目存储层的非易失性介质将通过高性能对象界面提供极端性能和可扩展性。希望使用熟悉的POSIX文件系统界面访问该系统上的数据的用户将使用提供兼容性但性能成本较高的POSIX中间件。同样,社区/永久存储层次将在2025年融合为一个单一的大规模存储系统,数据访问将通过符合行之有效的长期数据使用模式的行业标准对象存储接口进行。今天的文件系统界面和定制HPSS客户端软件将是备用访问方式,但底层存储系统将无缝地将磁带的经济性和磁盘的可访问性合并为一个无缝的数据存储库。

随着2025年百亿亿级计算变得普及,从文件系统到对象存储的过渡将要求用户修改他们的应用程序或采用抽象界面变化的I/O中间件。确保用户、应用程序和工作流程准备好迎接这一转变将需要立即投资于测试平台,其中包括新的非易失性存储技术和高级对象存储软件系统,以有效地利用它们。这些测试平台还将为建立一种新类别的数据管理工具提供基础,以利用用户定义的对象级元数据的灵活性。

作为美国能源部科学办公室的使命计算设施,NERSC将遵循这一路线图,并部署这些新的存储技术,以继续提供满足其广泛用户社区需求的存储资源。NERSC的工作流程的多样性涵盖了大量的开放科学工作负载,本报告中呈现的发现也旨在成为如何最好地利用不断发展的存储格局的蓝图,以满足更广泛的HPC社区的需求。执行这里提出的策略将确保新兴的I/O技术将适用于并有效地支持未来十年内的极端规模模拟和数据分析,从而促进科学发现。

1. 引言

美国能源部(DOE)辖下的劳伦斯伯克利国家实验室国家能源研究科学计算中心(NERSC)作为美国能源部科学办公室(SC)的使命科学计算设施,扮演着全球领先角色,为基础科学研究提供计算资源和专业知识。NERSC通过高性能计算(HPC)和数据分析驱动科学发现,是全球最大的设施之一。其存储系统支持NERSC的使命,用以保留和传播在中心使用和产生的科学数据。在过去的十年中,NERSC存储的数据总量从3.5PiB增加到146PiB,年均增长率达30%,这主要归因于系统性能提升1000倍和系统内存增加100倍。此外,实验和观测数据也呈现出显著增长,实验设施如大型光学巡天望远镜(LSST)和Linac相干光源(LCLS)等,越来越多地将数据分析和存储需求转向NERSC。

然而,随着数据需求的急剧增长,支持传统HPC存储的技术正经历快速变革。固态硬盘现在正在被引入HPC系统作为高性能存储的新层次,从而改变了磁盘介质的性能优势。同时,磁带介质的使用逐渐下降,这也是由于云计算和大规模数据中心提供商的经济因素正在迅速改变大规模存储的生态系统。这些因素推动了基于对象的存储系统成为新兴技术,正在取代基于POSIX的并行文件系统。此外,非易失性存储级内存(SCM)作为高性能、低延迟的存储介质引发了广泛关注,其在存储层次结构中的角色仍在积极研究中。这些变化和趋势扩大了未来存储系统设计的空间,创造了新的创新机会,同时也引入了新的不确定性。

为了更清晰地理解未来十年内NERSC用户社区的存储需求以及相关硬件、中间件和软件技术和趋势如何最好地满足这一存储技术格局,我们提供了对NERSC用户数据需求的详细分析,同时也考虑了相关的硬件、中间件和软件技术和趋势。基于这些分析,我们提出了一个参考存储架构,旨在满足外部实验设施、数据科学和其他新兴工作负载对不断增长的数据需求的同时,继续支持传统HPC用户的需求。我们还列出了支持出版、合作和多年存储资源的长期需求。

为实现这一愿景,我们制定了一项路线图,以确保中心在2020年部署最适合NERSC用户的存储资源,并明确了实施这一战略所需的行动。此外,我们还描述了2020年后存储系统的演变以及DOE内部和行业内存储硬件创新将如何影响我们的长期存储战略,直至2025年。通过这个路线图和长期战略,我们确定了NERSC在未来十年内在存储领域提供领导地位的领域,以确保我们的用户能够最充分地利用所有相关的存储技术。考虑到NERSC工作负载的广泛性,这一分析和参考存储架构也应与NERSC和DOE之外的HPC存储规划相关。

2. NERSC存储层次结构

美国能源部(DOE)下属的劳伦斯伯克利国家实验室国家能源研究科学计算中心(NERSC)拥有超过6,000名活跃用户和700多个活跃项目,涵盖广泛的科学领域,包括材料科学、天体物理学、生物信息学和气候科学等。NERSC的工作流程多样性导致了各种不同的I/O模式、数据量和数据保留需求。例如,许多项目需要在其工作流程中使用实验和观测设施的数据,并需要在NERSC进行高容量的存储以接收通过广域网传输的观测数据。越来越多的项目将建模和模拟与实验或观测数据相结合,这增加了工作流程的复杂性,并对来自极端规模计算系统和广域网的存储资源提出了需求。为了满足这些多样化的需求,NERSC维护了不同层次的存储,每个层次都针对不同的性能、容量和可管理性平衡进行了优化。

2.1. NERSC当前的存储基础设施

截至2017年,美国能源部科学办公室国家能源研究科学计算中心(NERSC)的存储层次结构由以下组成:1.6PiB的基于闪存的Burst Buffer区、使用硬盘驱动器(HDD)构建的27PiB的 Lustre 临时文件系统、提供中期存储的10.7PiB基于磁盘的项目文件系统以及130PiB的企业级基于磁带的存档。这些存储层次结构在图1中以形象的方式呈现,根据容量、性能、可靠性和数据管理策略各自具有不同的特点。

图1. 2017年NERSC存储层次结构

前两个层次(Burst Buffer区和临时文件系统)经过了性能优化,提供足够的容量来支持系统中的典型活跃工作负载。这些存储系统要么定期清理,要么要求用户在其工作的一部分中请求资源。它们被宣传为临时空间,并被视为更易失性和不太稳健的资源,并鼓励用户将关键数据和结果保存到其他层次。目前,基于磁盘的临时文件系统使用Lustre并行文件系统实现,而Burst Buffer区目前使用Cray的DataWarp文件系统和基础设施。

项目和归档层次经过容量和耐久性的优化,但仍然提供足够的性能,以使用户能够有效地移动数据。这些层次不会主动清理,而是通过配额进行管理。项目层次是基于磁盘的,并运行IBM的Spectrum Scale并行文件系统(以前称为GPFS),而归档层次使用由DOE实验室和IBM合作开发的HPSS软件来管理磁盘和磁带的组合。可靠性和可管理性对于项目和归档层次来说是一个主要关切,因为它们通常是用户最关键数据的存储库。存储在这些系统中的数据对于支持科学过程本身至关重要,因为科学结果必须在长时间内保留,并且通常通过与这些存储系统相关的数据门户与社区共享。因此,用于这些层次的存储软件技术必须非常稳健。这些层次还必须能够随着时间的推移而增长,以允许外部项目赞助额外的空间来满足任务或科学需求。例如,各种实验项目,如STAR和ALICE,以及实验设施,如ALS和JGI,都已扩展了NERSC的项目文件系统以存储其数据。这与Burst Buffer区和临时文件系统形成了鲜明对比,后者通常是专门设计来满足其采购的计算平台的需求。

2.2. 基于工作流程的存储模型

为了迎合2020年部署的NERSC下一代主要系统以及作为极限规模应用性能联盟(APEX)的一部分,劳伦斯伯克利国家实验室(NERSC)与洛斯阿拉莫斯国家实验室(LANL)和桑迪亚国家实验室(SNL)共同对其用户的科学工作流程进行了深入研究,以确定采购NERSC-9和Crossroads系统所需的技术要求。这项分析的结果总结在APEX工作流程白皮书中,展示了工作流程各个阶段之间的数据流动情况,以帮助理解系统架构,其中一个示例如图2所示。纵轴表示数据输入和输出所需的保留时间,这是存储系统容量需求的主要因素。纵轴还反映了每个层次的性能要求,因为生成(和删除)频率较高的数据需要比生成频率较低的数据产品更高的性能。

图2. 原型仿真科学流程中的数据传输和保留。来源:《APEX工作流白皮书》。

总体而言,这项研究发现,DOE在计算和存储需求方面存在共同之处,并以三个逻辑存储层次的形式呈现了工作流程的存储需求分类:临时、项目和永久:

  • 临时存储,用于单个工作流程实例的持续时间,用于存储和提供工作集、检查点和作业输出。它是性能最高的存储资源,通常与计算系统紧密耦合。

  • 项目存储,用于项目或分配的持续时间,可在研究人员组内促进协作,提供后期处理和后续运行的输入集,以及促进数据策划以供稍后发布或移动到长期存储。它需要更大的容量,但性能要求较低于临时存储层。

  • 永久存储,用于长期存储,作为不可替代或难以重现的高价值数据的存储库。它将包含原始数据集,通常太大以至于无法存储在其他资源中,并且可能还会存储对科学社区具有更广泛价值的黄金数据集。其性能要求低于项目存储,但必须能够可靠地保存多年甚至几十年的数据。


除了在APEX工作流程文档中形式化的这三个层次外,还有其他对NERSC用户至关重要的设计标准:能够摄取和存储来自远程仪器的数据、发布和共享的访问控制的可用性,以及高效索引、搜索和描述数据的能力。因此,我们还确定了第四个社区存储资源,该资源经过优化,可用于摄取来自实验和观测设施的数据,与其他中心的研究人员共享数据,并促进数据的策划。

图3. 存储层次结构的功能视图

图3总结了这四个逻辑层次在容量和性能平衡方面的功能,以及在使其内容可搜索、可共享和易于策划方面所投入的优化程度。

图4. 功能模型与NERSC可用实际存储资源之间的映射

尽管图3描绘了存储的功能视图,但图4显示了功能模型如何映射到图1中显示的NERSC资源。如图中所示,NERSC目前提供的存储资源与我们所确定的四个逻辑层次并不完全对应。然而,理解到四个逻辑层次不一定需要映射到四个物理存储资源,这为定义未来物理存储资源的设计最优点和目标提供了坚实的方法。

3. 需求

正如前文所述,由于各种科学和技术的变革,NERSC的工作负载正在不断演变。为了确保未来的计算和存储资源能够满足这些不断变化的需求,我们依赖于各种需求研究,包括当前工作负载、APEX工作流程白皮书、DOE Exascale需求审查以及NERSC员工的经验。

3.1. 当前I/O模式

根据对NERSC目前用户和应用程序对临时存储层进行的I/O行为分析,显示从这些暂存文件系统读取和写入的数据量大致相等,如图5所示。这可能是由于检查点密集的工作负载(每个读密集型重启操作有许多写密集型检查点操作)、常见的实验和模拟数据集被多次重新读取,以及科学工作流程生成的一次性中间文件(如图2所示)之间的平衡所致。

图5. NERSCEdison的SCRATCH1和SCRATCH2 Lustre文件系统的每周I/O读写数据量。整体年均读写比例为11/9。

这项分析表明,临时存储需要提供平衡的读写能力,强调一种而不是另一种的存储介质、API或访问语义对NERSC的工作负载来说都不合适。此外,临时和项目存储层应该紧密耦合,以简化热数据集在工作空间和便于在更大范围的科学研究过程中进行数据管理的存储资源之间的数据传输。

图6. 从2016年6月至2017年6月,NERSC Edison的SCRATCH1和SCRATCH2 Lustre文件系统上的元数据操作计数分布。

如图6所示,NERSC应用程序还在临时和项目存储系统中使用各种POSIX元数据调用,其中绝大多数是打开、关闭和统计。因此,临时存储资源的系统软件必须以高度可扩展的方式实现这些调用;例如,计算跨数百个存储服务器分布的文件大小必须高效,允许用户通过文件句柄访问其存储的数据必须产生最小的延迟。

直观来看,对永久存储的访问应该更偏向写入,但在NERSC并不明显;存档的24%数据在某个时候被检索。事实上,一些归档数据显示出较高的读取偏差,因为科学社区不断访问大型数据集。最终结果是NERSC的存档读写比例非常平衡,读取占系统I/O的40%。鉴于NERSC的永久层是磁带,而磁带读取更难以管理且较慢,因为它在线性访问介质上的卷装和寻道延迟,我们认为这是一种出于必要性而不是系统最佳用法或用户需求的结果。如果容量允许,重复读取最好从廉价的临时或社区存储层获得。

随着科学团队从研究中使用少量应用程序转向在许多应用程序之间进行更复杂的交互,科学工作流程预计将成为NERSC主要的操作模式。这些工作流程的计算并发性多样化,对于图像或其他仪器分析工作流程,可以非常低。到2020年,这些面向数据的工作流程预计将更多地以吞吐量为导向,而不是问题规模,并且由于许多组成应用程序的规模不强,因此NERSC未来系统的并发性增加将通过将多个工作流程管道捆绑到单个作业中来实现。与传统的模拟科学应用程序的扩展行为不同,这将要求存储系统提供可扩展的元数据性能,因为每个节点同时处理更多的文件。

图7. NERSC工作流生成的数据中将保留在永久存储中的比率

APEX工作流程研究的一个关键发现是NERSC用户希望长期保存其工作流程使用和生成的数据文件的相当一部分,甚至可能是永久保存。图7显示了受调查的NERSC工作流程生成的I/O的百分比,这些I/O将永久保存。即使用户能够利用原位或在传输过程中的分析来减少工作流程执行期间的数据迁移,仍有相当一部分生成的数据是不可减少的,必须长期保存。

因此,即使在工作流程执行期间用户能够利用原位或在传输过程中的分析来减少数据迁移的情况下,仍然需要大量的容量存储,否则将需要O(百亿字节)的容量存储,除非NERSC用户重新构建其工作流程以保存更少的数据。根据NERSC当前存档系统年度增长率达45%的历史数据,仅考虑这一部分,预计到2022年将有1百亿字节的用户数据。鉴于前述观察到NERSC用户目前将存档用作社区和永久存储,有效平衡社区存储与永久存储的容量表明,到2023年社区存储层需要数百PB的容量。

上述调查结果表明两个推论:
  • 项目存储在某种程度上可被视为“冷”临时存储,而社区存储则可以看作是“热”永久存储。
  • 存储在临时/项目存储中的数据服务于个体研究项目及其用户的目标,而社区/永久存储中的数据可能对更广泛的科学社区和多个研究项目感兴趣。


这些观点在数据保留时间和服务的用户范围方面在临时/项目存储和社区/永久存储之间产生了广泛的差异。因此,临时/项目存储应该实现在靠近特定计算系统以强调高性能分析和由小型用户群体访问的位置。相反,社区/永久存储应该更接近广域网,并在设施内更为中心,以强调更广泛的用户社区的共享和广泛访问。

从这些用户需求中,出现了几个关键的设计标准。临时和项目层应该紧密耦合,并提供平衡的读/写性能和可扩展的元数据,以支持NERSC的工作负载。社区和永久层不需要如此紧密的耦合,但它们的容量应该足够大,以便大多数读取活动瞄准存储在社区层中而不是永久存储中的数据。这将允许社区存储利用适用于WORM工作负载的最佳技术,将永久存储用于高价值但冷数据。

3.2. NERSC-9需求

在2020年,NERSC计划部署其NERSC-9系统,该系统旨在将中心的处理能力提高4-5倍,超过NERSC-8系统Cori。随着数据科学新兴领域的成熟,数据增长的潜力巨大,预计这种计算能力的增加将至少伴随着NERSC内部数据生成的速率和数量的成比例增加。NERSC-9系统将包括专门设计用于以下目的的平台存储:

"[保留] 所有应用程序的输入、输出和工作数据,保留12周(84天),估计至少为基线系统内存的36%[3PiB]每天。"

以及提供足够的性能来吸收检查点。NERSC-9系统的技术要求是这样规定的,平台集成存储将履行临时存储和部分项目存储的角色。

尽管在2020年的时间框架内,此平台存储的效用和性能将得到明确定义,但它仅设计用于保留84天的数据。因此,希望长期保留数据的用户和项目必须将其存储在NERSC-9采购之外的备选长期存储资源上。然而,在NERSC-9存储技术要求中,供应商被赋予了灵活性,以提供创新解决方案,围绕更适用于长期数据管理的特性,包括后台数据完整性验证、存储性能和利用率的详细监视、快速元数据遍历以及与外部文件系统和其他数据源的连接。因此,NERSC-9采购也可以用作采购和满足项目、社区和永久存储层的要求的工具。

3.3. 美国能源部Exascale计划需求审查

美国能源部高级科学计算研究(ASCR)计划已经进行了一系列需求收集工作,与其他美国能源部科学计算(SC)计划合作,以确保在2021年至2023年部署的百亿亿次系统与每个美国能源部科学计划办公室的任务需求保持一致。这些工作基于长期与科学界合作的历史,帮助推动未来系统需求和架构,从2002年NERSC的《绿皮书》审查一直延续到最近的美国能源部百亿亿次计划需求审查。这些工作的输出指导了NERSC、领导计算设施和ESnet的规划和采购战略。

这些综合报告涵盖了广泛的领域,包括计算需求、软件和中间件需求、网络、数据管理和数据分析。从这些工作中涌现出的一些通用数据和存储需求,与NERSC的存储策略相关如下:

  1. 许多计划办公室预计在未来十年内将需要百亿字节级别的存储,许多项目今天产生和处理数百TB的数据,预计在未来十年内增长1050倍。多个项目预测到2025年将具有100PB或更大的数据集。这些用例强调了需要成本效益、容量优化的社区和永久存储。

  2. 越来越多需要在需要数据共同定位以进行有效分析的工作流程中集成观测和模拟数据。部分原因是典型的观测和模拟结果现在已经超过了用户所在机构计算系统的分析能力。这将推动需要改进数据迁移工具、增加存储容量并提供高带宽、广域网连接。这强调了所有存储层之间有效集成的需求,以最小化工作流程中的数据迁移复杂性。

  3. 数据管理需要扩展到NERSC之外的广域网,因为其他计算和实验设施与NERSC集成得越来越紧密。外部连接需求也受到与更广泛社区分享常规策划数据的不断增长需求的推动,从而需要一个强大的社区存储资源。

  4. 用户强烈需要在存储系统内部进行集成数据跟踪和来源追溯。这包括围绕元数据存储、搜索和查询以及事件触发的扩展功能。这些功能是项目和社区存储层的主要特点。

  5. 正在从个别大规模模拟向集合、不确定性量化和更复杂的工作流程过渡,必须连接和整合模拟和分析。这种转向集合工作流程将要求项目存储简化大型项目的数据管理和其他层次之间的数据管理。

  6. 数据存储需求的急剧增长伴随着对新形式的数据分析和分析的愿望,包括机器学习等,以有效处理实验来源、百亿亿次模拟和不确定性量化产生的大量数据。这与NERSC的观察相吻合,即临时存储提供平衡的读写性能。


美国能源部科学计划的各个部门都预计,他们计算需求的急剧增加将推动类似规模的数据存储和管理需求的同样急剧增加。仅仅提供高容量、高带宽的存储将不再满足从工作流程导向处理和实验分析所产生的广泛需求。未来的存储系统将需要提供低延迟(高IOPs)、丰富的元数据功能和外部连接,以及高并行I/O带宽。这些用户需求强调了将存储基础设施设计视为多维问题并支持第2.2节所述方法的必要性。

3.4. 新兴应用和用例

不断增加的领域科学需求倚赖超级计算系统的能力,但这些需求与传统的超级计算工作负载有所不同。这些新兴数据工作负载主要受到机器学习和其他数据分析技术的驱动,这些技术依赖于工作流框架(如Apache Spark)、分析包(如Caffe和TensorFlow)以及领域特定库。这些工具通常在云环境中生成,因此对于HPC系统性能较差的I/O模式表现不佳。尽管可以对某些分析工具进行重新设计以在HPC系统上运行,但数据科学领域在独立于HPC社区的情况下迅猛发展。因此,下一代流行工具可能会表现出相同的不良I/O行为和性能问题,它们需要在HPC环境中进行适应,以满足生产力要求,并获得更大的数据分析社区的认可。

许多这些新兴应用领域与已经产生大量数据的观测和实验设施相关。正如第3.3节所强调的,这些领域的数据增长速度令人震惊。例如,NERSC正在与线性相干光源(LCLS)合作,以实现高速、高分辨率仪器实时生成数据的分析。目前,这些仪器每秒产生数百兆字节的数据,但未来的升级预计每秒将生成数十至数百GB的数据。国家电子显微镜中心、先进光子源、碎裂中子源等设施也预计会面临类似的数据增长。这些设施通常连续运行数月,因此对支持这些工作流程的计算、存储和网络资源的可用性和可靠性至关重要。鉴于研究人员通常只被分配了非常有限的仪器使用时间,因此即使在系统维护期间,提供存储和计算资源的连续性也至关重要。

NERSC工作人员通过直接与来自多个实验设施和项目的工作人员和用户进行互动,已经识别出一些关键的存储需求。将每秒数百GB的数据以可靠的方式从广域网传输到持久存储资源,如项目或永久存储,这将需要高可用性和在这些层次上的数据可访问性,即使在维护、软件升级和存储扩展期间也是如此。此外,对于数据和元数据访问的可预测I/O性能对于协调实验和计算资源的工作流程至关重要,因此在所有存储层面提供服务质量控制是非常重要的。

3.5. 运营需求

用户需求审查和其他调研已经明确定义了存储系统架构的多个设计标准,例如I/O性能和数据可管理性,但运营考虑和数据生命周期管理需求引发了一些额外的非直接用户面向的要求。对于社区和永久存储资源,这些运营要求尤为关键,因为它们将持续保留数据。这些资源上的数据将经常存活超过单个计算平台的四到五年寿命,并且必须在中心的所有计算系统和相关的边缘服务中保持可用。

正如在第2.1节中所讨论的,NERSC目前通过已存在超过10年的项目文件系统来实现社区存储的角色。永久存储则通过基于HPSS的存档满足,已经管理了超过20年。数十名NERSC员工已经积累了数百年的直接经验,管理着长期存储的HPC系统,为社区最佳实践做出了贡献,并与其他DOE HPC设施的同行合作。他们已经确定了维护和有效运行这些系统所需的关键属性。这些运营需求可以分为三个一般类别,分别在3.5.1-3.5.3节中描述。

3.5.1. 可靠性、耐久性、长期可用性和灾难恢复

由于社区和永久存储的明确目标是长期保存有价值的数据,因此确保数据高度耐用、即使在组件故障情况下也能够可用,并且在发生灾难时能够迅速恢复,这具有至关重要的意义。尽管几乎所有大规模存储系统都对这些功能提供了保证,但重要的是要注意,存储系统操作人员在实践中执行这些功能所需的工作。这项工作直接影响了维护存储系统所需的人员水平,因为它涉及增加容量,并可能对在第3.4节中讨论的新兴应用程序和用例所需的停机时间产生关键影响。

所需功能包括:
  • 高度耐用的硬件和软件:对于存档系统而言,磁带介质不仅提供了经济高效的容量,还提供了额外的耐用性保证,因为数据处于离线状态。这使其不太容易受到由于软件错误导致的数据损坏的影响,这一点可以从2011年领先的大规模提供商在2011年因软件引发的灾难中得到证实。
  • 对于静态和流动数据的高度可靠性和完整性:这可以通过采用诸如T10 DIF和数据校验等机制来解决,并且对于防止静默数据损坏至关重要,正如Internet2在2013年发生的与硬件相关的数据损坏问题所证明的那样。

  • 能够"在线"地缩小、增加和迁移数据:这是将旧数据重新装入新的、更高容量介质中的基本功能。它还使NERSC能够允许大型实验和其他数据密集型用户购买额外的存储,以与其计算资源共存。

  • 能够在不同的计算和登录系统以及数以万计的客户节点上挂载存储资源:这对于所有层次都很重要,但对于项目和社区存储层尤为关键,因为它们必须与各种环境进行接口,以摄取实验数据并共享数据。

  • 具备灵活支持各种高性能网络:这允许存储系统在中心的网络和计算技术随着用户需求和新兴技术的变化而演进的同时保持兼容性。


3.5.2. 存储空间管理和维护功能

有效地管理存储资源的利用率可以降低存储成本并提高服务质量。虽然几乎所有存储系统都支持用户和组级别的配额等管理功能,但如果用户无法确定他们拥有哪些数据,这可能是一种不够灵活和不够透明的方法。使用户和管理员能够确定哪些数据集占用了最多的空间以及这些大型数据集位于何处,可以简化他们的数据管理开销。所需的存储空间管理和维护功能包括:
  • 灵活的使用跟踪和限制分配方法(例如用户配额、目录配额等):这使用户和操作员能够更明智地决定哪些数据可以或应该删除,以确保存储资源的公平共享。
  • 快速遍历存储资源命名空间的方法:除了有助于空间管理决策外,了解文件或对象的大小、访问频率和其他元数据的分布还有助于政策决策和系统性能优化。
  • 能够管理具有不同特性(带宽、容量、IOPs)的硬件:这使存储系统能够在不同维度(如性能和容量)上独立扩展,并且随着新兴的NAND和SCM介质的出现,这一点变得越来越重要。


3.5.3. 存储系统可用性

在运营超级计算中心时,维护存储资源的最高可能可用性至关重要;如果存储系统离线,整个中心可能会陷入离线状态。此外,随着实验设施与HPC设施的更紧密结合,保持极高的可用性并减小维护停机时间的需求变得更加重要;正如3.4节所述,存储系统的停机时间可能会严重影响实验设施用户进行研究的能力。因此,我们已经确定了以下运营要求,以确保最大的可用性:
  • 强化支持实时更新、滚动升级、实时配置更改等功能:这最小化了需要将系统脱机的需求,特别是在较长时间内,直接关系到在维护期间保持高可用性的要求。
  • 支持集中式管理和监控:这通过减少存储工程师管理高度分布式存储的多个层次所需的工作量,提高了运营效率,并减少了停机时间。

  • 能够在最小的清理和手动干预的情况下从故障或失败中恢复:与以前的运营要求一样,这直接与减少停机时间和人员需求相关。


3.6. 差距与挑战

尽管我们在第2节中描述的当前存储层次结构在NERSC中发挥了良好的作用,但与本节中的需求进行对比揭示了其整体架构、已部署技术和易用性方面存在一些不足之处。如果不解决这些差距,它们将被技术趋势和新兴用户需求进一步恶化。

3.6.1. 存储层次结构

层次结构中层数的增加是由成本优化驱动的,以提供快速、高性能的存储来支持运行模拟和分析(临时存储);提供高容量来支持长期项目(项目/社区存储);以及归档数据以支持科学过程(社区/永久存储)。分层存储为用户和工作人员增加了复杂性,层间缺乏自动数据迁移对NERSC用户来说是一个重大负担。存储层次结构的每一层都是一个复杂的、独立的系统,需要专业知识来管理,而合并各层将简化NERSC的存储管理并减少用户的数据管理复杂性。

3.6.2. 数据迁移

目前,在NERSC的临时存储和项目/社区存储层之间移动数据相对无阻力,因为它们都提供了POSIX文件系统接口。与永久存储层的数据迁移更具挑战性,因为它需要用户与类似FTP或UNIX tar的自定义客户端软件进行交互。数据驻留在磁带上,这引入了可能跨越几分钟的音量挂载延迟和线性读取或写入访问限制,此外,数据可能分散在许多不同的磁带盒上,这增加了困难。为所有层次提供一个共同的接口,无论是基于文件还是基于对象,都将简化数据迁移,并简化构建更高效的用户界面来管理数据迁移的任务。

3.6.3. 数据养护

目前,在存储层次的所有级别上都缺乏集成的搜索和发现工具。这对于社区和永久存储来说更为棘手,因为大量的数据会在多年甚至几十年的时间内存在。这些层次通常作为多个项目的共享数据存储库,在项目的过程中,数据集的单个所有者或管理者可能会发生变化。

为了解决这些问题,大型项目已经建立了与NERSC存储资源完全独立的数据目录。一些项目,如JAMO,专注于目录和数据迁移;而其他一些项目,包括大型强子对撞机的ATLAS实验和伯克利实验室的先进光源,包括Web演示和工作流功能。尽管我们不打算为所有NERSC用户定义元数据模式,但在用户社区可以构建其领域特定的目录系统的所有层次上拥有一组共同的元数据功能将简化随着NERSC的存储层次在未来10年继续发展。

3.6.4. 工作负载多样性

NERSC用户的工作负载涵盖了广泛的领域,因此文件特性和I/O模式的规模和分布存在巨大差异。正如3.1节所讨论的,大规模运行的模拟通常会生成非常大的检查点,强调了从互连到介质的整个数据路径。另一方面,许多由实验驱动的项目在大量较小文件的大集合上运行许多低并发作业。这可能对元数据服务和存储系统有效处理大量小型I/O操作的能力产生压力,从而对文件系统的其他用户产生连锁效应。分布元数据到多个存储服务器上的方法是一项基本要求,允许更智能地根据用户、项目或任意数据属性对元数据进行分区的功能将有助于提高服务质量。

3.6.5. 存储系统软件

NERSC当前存储层次使用的存储系统软件在可用性和可管理性方面存在差距。例如,作为Cori系统临时存储层文件系统的一部分部署的基于Lustre的临时文件系统没有直接的方法来增加额外的存储容量或重新平衡数据到Lustre对象存储目标。此外,Lustre的管理工具也相对不成熟;除了英特尔不再支持的英特尔Lustre管理器软件之外,Lustre没有单一的文件系统管理界面,大多数可用工具都是社区提供的临时脚本。

NERSC的基于Spectrum Scale的项目文件系统也存在一些挑战。维护操作,比如需要使文件系统脱机一段时间的文件系统完整性检查,直接违反了3.4节中确定的高可用性要求。此外,Spectrum Scale是一个专有的、闭源的系统,具有年度许可成本,IBM最近的开发工作主要是支持企业需求,而不是HPC需求。

使用HPSS实现的永久层在几乎所有用例中都足够,只需提供一个简单的put/get接口即可。然而,这种POSIX兼容性会给软件带来相当大的复杂性,然而,用户界面到这个层次是通过自定义客户端软件完成的。通过与Spectrum Scale或FUSE集成,可以实现与存档的文件系统接口,但底层磁带存储可能会使在磁盘文件系统中无足轻重的操作变得极其低效和耗时,除非经过仔细规划。

3.6.6. 硬件问题

尽管所有基于磁盘的存储系统都经过了企业级RAID和冗余的可靠性架构设计,但现在对存储容量的需求正在通过更多而不仅仅是更大的磁盘来满足。这对存储系统的整体可靠性和平均数据丢失时间产生了重大影响,而极端规模的存储行业正在从每个故障域内(例如,RAID6)的块级奇偶校验转向跨架子、机架甚至数据中心的高度分布式对象级抹除编码。基于块的存储构建的文件系统无法利用这些抹除编码方面的进步,尽管磁盘的性质要求在未来具有韧性,因此将项目和社区存储层转向更有效地平衡奇偶校验和韧性的技术至关重要。

3.6.7. POSIX和中间件

在过去的50年中,POSIX I/O标准一直是访问存储设备的权威方式,并经受住了时间的考验。然而,随着软件可伸缩性和硬件性能的进步,现有标准及其语义的适用性受到了挑战。对标准进行修订或制定全新的性能优化标准对于未来应用程序有效地利用新兴高性能存储技术至关重要。

此外,许多I/O中间件,如HDF5、PnetCDF和ADIOS,已经针对传统内存到磁盘I/O端点的操作进行了调整。这些中间件通过隔离用户免受底层存储系统中提取最大性能的不稳定性的影响,为应用程序开发人员提供了很大的价值,但它们需要进行更新,以适应向多层I/O配置的过渡。需要预取数据到临时或项目中,并对支持新技术的需要继续支持用户需求进行其他改进。

4. 技术现状和趋势

在确定NERSC未来存储基础设施的功能要求以及来自用户、实验设施和运营商的需求之后,现在让我们介绍硬件和软件技术,这些技术已经或将在未来十年内用于实现临时、项目、社区和永久层。

4.1. 硬件

尽管超级计算行业在历史上一直是大规模存储硬件的重要推动者,但云计算和其他超大规模服务提供商的出现对存储行业及其存储介质路线图产生了重大影响。这些经济力量,加上一些物理介质的扩展极限即将到来以及完全新形式介质的出现,正在迅速而重大地改变存储硬件未来的格局。

4.1.1. 磁盘

磁盘正经历从兼顾容量和带宽的介质向仅关注容量的介质的过渡,这主要有以下两个原因:
  • 磁存储介质已经接近了物理极限,限制了在磁盘表面上单个磁性领域可以达到的最小尺寸。
  • 高性能 NAND 存储正大规模扩展,满足了存储性能要求,而不鼓励对磁盘性能的进一步创新。


此外,考虑到磁盘的I/O性能与其位密度的开平方根有关,预计磁盘容量与性能之间的差距将进一步扩大。

图8. 磁盘存储技术的预期面积密度改进。基于Seagate和ATSC的预测,当前标准技术为并行磁记录(PMR)。

然而,尽管如此,供应商和行业联盟的磁盘路线图中仍然有许多关注容量的改进计划。正如图8所示,技术改进预计将在未来10年内实现10倍的位密度增长。

10%的位密度改进,如二维磁记录(TDMR)和开平方根的I/O性能扩展(AD),可能会在短期内进入企业市场。而热辅助磁记录(HAMR)和位图磁记录(BPM)则承诺在较长时间内提供更激进的位密度增长。但需要注意的是,HAMR和BPM代表了主要的新型记录技术,而不仅仅是对现有方法的小规模改进,因此存在HAMR在2020年之前难以成为商业或经济可行选择的重要风险。

因此,更有可能的情况是,供应商将继续通过依赖于某些技术的改进,例如覆盖磁记录(例如TDMR)和增加磁盘数量,来增加每个驱动器的存储容量。这两种方法将导致高容量驱动器,它们具有较低的写性能、稳定的读性能和稍微增加的功耗。尽管这对于在企业应用程序和内容分发网络中广泛存在的WORM工作负载可能是合适的,但旋转磁盘介质的发展趋势正在远离对于科学计算广泛适用的平衡的读写工作负载(如第3.1节所述)。

4.1.2. 固态存储

基于NAND的固态存储设备(闪存)已成为HPC领域持续增长的元素,以节点本地的临时存储和中央Burst Buffer存储的形式存在,其目标是提供比磁盘介质更出色的性能和容量。随着对闪存介质的需求不断增长,受到移动电子设备和超大规模市场的推动,闪存因其低功耗和高性能而被视为将继续取代磁盘介质,使其在性能和容量方面保持领先地位。

闪存的低功耗和高位密度使其成为一种具有吸引力的归档介质。尽管每比特的闪存成本仍然明显高于磁盘和磁带,但通过降低性能和耐久性,闪存存储的每比特成本可以降低。大规模消费者,例如Facebook,正在推动四级单元电池(QLC)闪存的发展,作为一种低功耗、高密度的WORM(只写读取多次)和归档存储介质,并且一些制造商,包括三星和东芝,最近宣布推出首批QLC NAND产品。到2020年,可以预见QLC闪存可能会在分层、全闪存存储系统中与性能更高、耐久性更高的MLC和TLC NAND并用。

预计在2020年之前,随着全球NAND制造业完成从2D(平面)NAND制造工厂向3D NAND的转变,闪存的每比特成本也将急剧下降。这可能会将性能闪存的价格降至每GB低于0.10美元,侵入了传统由磁盘介质垄断的市场。健康的市场竞争将推动3D NAND制造技术的进步,预计将允许3D NAND的位密度在2020年后继续扩展,采用串堆叠等方法,有望将闪存的位密度提高至今天技术水平的5-10倍。

NVMe over Fabrics(NVMeoF)协议是一个快速发展的标准,可在支持远程直接内存访问(RDMA)的任何网络基础设施上实现对NVMe设备的块级访问,包括InfiniBand和Intel OmniPath等。结合RDMA基础设施的高带宽和性能,与NAND性能相匹配,NVMeoF有望将附加到网络基础设施的NVMe设备变成可行的高性能分离存储架构。

此外,技术上,NVMeoF可以在不需要CPU干预或数据通过主机内存复制的情况下,将块级数据传输到远程目标。尽管这种功能需要广泛的硬件支持和NVMe设备与支持RDMA的网络接口的驱动程序兼容性,但它有潜力实现HPC的超融合节点设计,不会受到I/O引起的抖动的影响。尽管这种零抖动架构包括在主要供应商的路线图中,但重要的是要强调这些解决方案在生产环境中仍未经证明。此外,块级数据传输仍需要在NVMeoF之上运行的存储系统软件,这不是无抖动的。

存储性能开发工具套件(SPDK)是一组新兴的库,为应用程序提供了在用户空间完全执行与NVMe和NVMeoF设备交互的机制。通过完全消除数据通过系统内核传输的需求,SPDK显著降低了与闪存介质交互的I/O延迟。这是提供一个全新的存储介质接口的几个努力之一,该接口可以充分展示硬件的全部功能。尽管SPDK目前在生产存储系统中的使用尚不广泛,但它将成为未来产品的重要组成部分,包括DAOS等项目。

4.1.3. 存储级内存和非易失性RAM

存储级内存(SCM)技术,如英特尔/美光的3D XPoint,即将面世,并承诺提供介于今天的DRAM和NAND之间的性能,同时具备非易失性和字节可寻址的存储特性。虽然这些技术提供了比NAND更高的性能和耐久性,但由于更高的每比特成本(因此容量较低),SCM更多地被视为一种高性能技术,可能会集成到更大的基于闪存的存储系统中,以弥补由数据日志等过程引起的软件开销。虽然SCM无疑将在2020年的存储系统中发挥作用,但它可能首先以高度集成的组件的形式出现在更大的存储系统中,这类似于闪存首次被集成到企业存储中,作为传统基于RAM的缓存层的扩展,例如在ZFS的ZIL/L2ARC中。

SCM有机会以字节可寻址的非易失性存储形式直接由用户和应用程序使用,具有极低的延迟,但从具有负载/存储接口的全局存储资源读取和写入数据的一致性语义提出了许多新的挑战,这仍然是一个激烈研究的课题。值得注意的是,NVM Library是一种用于持久内存的新兴接口,通过键值、块等语义,保留了SCM和闪存的低延迟优势,使用户空间可以直接进行I/O操作。尽管NVM Library目前正在用于开发SCM上的实验性存储服务,但能够直接利用SCM字节寻址性的库和应用程序可能在2020年之前不太可能达到生产就绪。

4.1.4. 磁带

线性磁带开发(LTO)和企业级磁带介质,借助不断增长的磁盘介质投资,拥有广泛的技术演进前景。此外,先进的磁带技术通常需要五年或更长时间才能进入市场,与同类技术进入磁盘市场的时间相比,磁带行业具有较长的引领时间。

图9. LTO磁带介质的年度收入和发货的EB数据量。数据来源:Fontana和DECAD。

然而,由于磁带技术滞后于磁盘技术,磁带的发展受到经济而不是技术的驱动。以占据磁带市场绝大多数份额的LTO磁带为例,尽管容量不断增加,但磁带收入持续下降,如图9所示。

此外,过去十年中磁带制造市场的多样性已大幅减少:截至2014年,只有索尼和富士胶片继续制造磁带介质,截至2017年,IBM仍然是开发磁带驱动器和磁带盒的唯一供应商。由于磁带收入不断下降和市场竞争,磁带的创新速度可能相对于磁盘减速。然而,这种下降的可察觉影响不太确定,而且不清楚磁带作为归档存储的成本优势是否会在未来五到十年内被其他介质超越。

图10. 存储介质年度出货的EB数据量。数据来源:Fontana和DECAD。

如果假设数据生成率最终受到正在生产的可用容量的限制,而存储容量的大部分由磁盘提供,如图10所示,与磁盘相比,磁带容量的减速相对于磁盘呈现出较大的风险,因为根据这一规律,对磁盘存储的不断投资将需要对磁带存储的不断投资,以维持磁盘和磁带之间的固定比例。因此,尽管磁带在短期内仍然具有成本效益的归档存储技术,但它不太可能是长期的最佳解决方案。然而,交叉点并不会立即到来,而且不清楚这一点是否会在2025年之前出现。

磁带的每比特成本低,再加上作为离线存储介质的极低功耗,使其在短期内仍然是一种有吸引力的归档存储技术。然而,鉴于上述不确定因素,跟踪磁带市场的经济状况并关注供应商的路线图对于长期规划至关重要。

4.1.5. 存储系统设计

2020年的存储系统架构将在本节中概述的技术发展的几个关键方面发生变化:
  • NAND设备将分为面向性能的高耐久性MLC/TLC和低性能、高容量的QLC,二者都比磁盘消耗更少的功耗并具有更高的位密度。
  • 磁盘介质将从性能关键的数据路径中淡出,仅作为容量的媒介存在。
  • 磁带,历来是仅作为容量媒介,前景尚不明朗,但在2020-2025年之前,磁带经济发生重大变化的可能性不大。


基于这些技术和经济趋势,不同介质的作用也将发生变化:
  • MLC/TLC NAND将取代所有性能关键的磁盘应用程序,而QLC NAND将开始替代许多WORM应用领域的磁盘。
  • 磁盘将开始侵占磁带的性能敏感型应用程序,包括热归档和复制磁带。

  • 随着QLC NAND和磁盘在成本上逼近磁带,磁带在数据中心中的作用将继续朝着深度归档应用领域缩小。


4.2. 软件

除了硬件领域即将发生的变化之外,极端规模存储和I/O软件还需要许多改进和增强。将基于POSIX的并行文件系统扩展到极端规模正变得成为一个重要的挑战,正如在第4.1.3节中所讨论的,新的软件接口是充分利用新兴低延迟存储硬件的最佳途径。然而,由于这些新的非POSIX接口更注重性能而不是易用性,因此I/O中间件将变得更加关键,以弥合科学应用程序需要的I/O操作与底层存储系统支持的I/O操作之间的语义差距。

4.2.1. 非POSIX存储系统软件

POSIX I/O的有状态文件本质,再加上其规范化的元数据模式和强一致性语义,使得将基于POSIX的文件系统扩展到预期的百亿亿次规模系统所需的极端并行性变得困难。对象存储最初是由云提供商对极端规模I/O需求的推动而出现的,它们摒弃了POSIX I/O语义,支持无状态的放置/获取操作和不可变数据对象。通过直接将这些I/O原语提供给应用程序,它们提供了一个更具可扩展性的基础,可以构建更丰富功能的存储服务和系统。

因此,我们预计在不久的将来,可扩展的基于对象的存储系统,如DAOS或Ceph,将在HPC系统中扮演更为重要的角色。POSIX基于文件的交互仍然是用户源代码、配置文件和输入文件的选择,但这个POSIX接口将被实现为位于本机对象接口之上的中间件,而不是存储的最底层用户界面。随着POSIX从本机接口转变为中间件层,我们预计第4.1节描述的硬件进步将逐渐取代并行文件系统,同时提供性能和容量,而无需立即进行破坏性的用户应用程序更改。

4.2.2. 应用程序接口和中间件

随着POSIX逐渐演进为中间件,我们还观察到越来越多的应用程序社区采用其他I/O中间件包,如HDF5和ADIOS。这种转变允许应用程序团队使用更具有语义意义的API(例如,存储整个数组而不是手动序列化数据结构),并从中间件包开发人员的经验和努力中受益。对I/O中间件包的采用还将使应用程序免受当前POSIX一致性语义的底层变化的影响,使它们能够自动获得新硬件的好处,而不必直接与存储系统的本机API进行交互。

为了应对对观测数据存储的增加以及提高科学研究可重复性的需求,需要在所有数据上存储有关数据来源的信息,正如第3.3节所述。增强I/O中间件以自动向应用程序的数据添加来源信息将有助于改善当前数据管理混乱的状态,提供始终可用且可查询的存储系统信息。这些数据管理的改进将增加对长期社区/永久存储的支持,不仅局限于临时/社区存储。

5. 下一步

正如前面章节所讨论的,NERSC工作负载的多样性将继续在多个不同的方面推动NERSC的存储需求。文件系统性能的评估必须不仅涵盖带宽,还要考虑元数据性能、延迟和变异性。与实验设施的合作以及数据科学工作负载的持续增长也将在耐久性和可管理性方面引入新的数据保留需求。此外,NERSC-9的规模将需要新的可伸缩性和弹性水平。这些要求将推动我们对未来愿景和实施策略的思考。

5.1. 未来的展望

尽管每个HPC用户都希望拥有单一、高性能、高容量和高度耐用的存储系统,但成本问题将继续迫使HPC中心采用分层存储策略。与过去两十年一样,HPC将继续使用基于企业组件构建的存储系统,其经济模型现在在很大程度上受到消费者和云市场的影响。在2020-2025年期间,最显著的变化将是平台存储从HDD向性能更高但经济实惠的非易失性内存技术转变。

过去二十多年来一直为HPC社区提供服务的大规模基于磁盘的并行文件系统将逐渐减小其作用。它将不再是高带宽资源,用于所有作业I/O,因为专为NVM构建的新兴存储技术,如Intel DAOS、IBM的burst buffer和Cray DataWarp,将成为平台存储的主要接口。对于平台外的存储,具有成本效益和可伸缩性的解决方案,如对象存储,将开始取代它。平台上的临时/活动存储几乎肯定会完全由性能型NAND和SCM构建,而平台外的社区/永久存储将由QLC NAND、磁盘和磁带的组合组成,组合方式由成本、技术演进和性能/容量平衡决定。

越来越多的科学应用程序将通过I/O中间件层与存储交互,允许高度可伸缩的存储(提供POSIX兼容性作为一个选项,而不是默认选项)作为后备存储器。非易失性内存将在整个存储层次结构中占据一席之地,随着这一进展,存储软件将被重新设计,以消除当延迟不再由磁盘驱动的物理特性时出现的性能瓶颈。我们已经开始看到这种形式的低延迟、用户空间I/O库,如Mercury和NVM Library,这种优化软件以降低延迟的趋势将成为匹配新型非易失性内存技术低延迟的要求。

作为HPC的最后一个特定系统软件遗留,归档存储软件将受到来自云提供商的软件创新的根本性影响。用于在云服务(如Amazon S3)中存储数据的相同放置/获取接口也适用于现场存档中的存储,存档将通过这些标准对象API(包括S3和Swift)提供访问。对于长期存储,位于本地设施内的数据和位于商业云或其他开放科学中心的数据之间的界限可能会变得模糊。商业对象存储和云提供商目前提供的数据复制,包括确保地理分隔的属性,将成为存档软件套件的一部分。

在HPC存储堆栈的各个层面上,将强调在存储层之间进行轻松移动的重要性。一组新的基于标准的API,用于与性能、容量和归档层进行交互,将有助于采用和可移植性,DOE和供应商之间已经在开发这些API方面采取了行动。作业调度软件将能够在运行的一部分中在所有层之间移动数据,资源管理器,包括Slurm、Torque和PBSpro,已经开始支持这一功能。标准API和调度程序调节的数据传输将使用户能够更有表现力地引导作业并在不同的工作流阶段以不同的方式摄取、操作和存储数据。这个丰富的程序界面将确保数据处于正确的位置,因为不同的工作流阶段以不同的方式摄取、操作和存储数据。

今天的分层文件系统只会成为用户与其数据进行交互的众多视图之一。数据的备选视图,可根据与数据相关的用户定义的属性进行搜索,是当今云存储的特点,将逐渐进入HPC领域。有一些努力在现有的并行文件系统之上提供丰富的元数据功能,但它们被实现为外部软件层,并在生产HPC中受到了有限的采用。我们预计基于用户定义的元数据进行搜索和发现将直接整合到存储系统中,这将催化更广泛的用户采用,并为领域特定的元数据目录的开发提供更稳定的基础。

尽管高带宽的临时存储层将继续与超级计算机一起购买,但社区和永久存储将因其存储数据的持久性而最好单独管理。通过将这些更长期的存储层的刷新周期与计算系统的采购周期分离,我们将能够部署市场提供的最丰富的存储资源,随着时间的推移集成新技术,并实现只在需要部署存储时才购买存储的成本效益。

5.2. 战略

要实现HPC存储未来愿景所需的变革,需要涉及硬件供应商、软件和中间件开发者以及更大的研究社区的创新。以下战略分为近期(即从现在到2020年)和长期(2020-2025年)目标,旨在确保NERSC用户的平稳过渡,并确定NERSC领导和社区参与将最有益的领域。在此期间存储层次结构的演变总结如图11所示。

图11. NERSC存储层次结构在当前和2025年之间的演变。

在接下来的章节中,我们将详细说明实现这一演变所需的行动。

5.2.1. 近期规划(2017年–2020年)

在2020年之前的时间框架内,存储层次结构将发生显著的变化,其中最重要的是将Burst Buffer区和基于磁盘的临时文件系统合并为单一的、高性能、适度容量的层次结构。通过NERSC的Burst Buffer Early User Program以及Cori上的Burst Buffer区的持续生产使用,固态介质已经证明了它在临时存储方面的可行性,而单一的全闪存平台存储系统将简化用户的数据管理,而不会牺牲实质性的功能。考虑到第4.1节讨论的NAND行业趋势,这也应该在经济上是可行的。

除了这个全闪存平台集成层,还需要在此期间存在一个基于磁盘的、兼容POSIX的存储系统,以满足项目层的较冷部分和社区层的较热部分的需求。然而,与今天的NERSC项目文件系统不同,这个层次将被优化为容量和可管理性,而不是性能。它将满足需要保留超出NERSC-9临时层设计的数据的需求,例如高价值的实验观测、社区策划的数据集和第3.3和3.4节中概述的其他新兴用例。这个容量优化的层次将提供熟悉的文件系统接口,以支持现有的数据管理和传输工具,但它也将通过更具前瞻性的基于对象的API提供访问,允许用户开始将应用程序转向放置/获取语义。

2020年的项目/社区存储也将满足第3.5节中讨论的许多运营需求。NERSC目前依赖于关键的存储可管理性功能,包括元数据复制、动态存储调整、快照和强制基于项目的配额。2020年的项目/社区存储系统将在这些可管理性功能的基础上进一步发展,并为未来开发附加的系统监控和管理工具提供基础。它还将作为未来数据管理工具和用户提供的接口的基础,以促进对象或文件元数据搜索和查询的功能。

由于2020年的项目/社区层次的性能、容量和功能要求不同,因此在2020年的时间框架内,它将作为与系统平台存储独立的资源进行获取和管理。与计算不同,存储不是一种一到达就完全利用的资源,而根据用户需求和中心政策的引导,可以充分利用每年预期的每位比特成本降低10%-30%,并允许将额外的存储以经济的方式重新销售给需要的项目。这种有计划的增长使我们能够逐步采用新的存储和网络技术,更早地部署新颖的解决方案,并提高NERSC在第4节中描述的存储中的新技术和技术上创新的敏捷性。

2020年的永久存储仍将主要基于磁带,因为磁带具有经济优势。通过2020年,磁带技术将继续比磁盘更具成本效益,将超过1艾字节(或更多)的数据转移到新的存储介质将需要大量的资本投资和时间。也许有机会探索替代存档介质,但在近期没有真正引人注目的选择。其他可能在存档中成为技术可行的关键技术,如低耐久性NAND或超大规模的基于磁盘的对象存储,在2020年之前仍无法与磁带竞争成本。

NERSC将无疑会在2020年之后继续部署基于磁带的存储,但磁带的经济可扩展性不太可能持续下去。虽然NERSC的永久存储在过去被视为用户的无限数据存储,但磁带市场的经济状况正在使其成为一种不可持续的政策。我们已经采取了措施来调整NERSC存档的焦点,导致存档规模减小了10%,并将根据对磁带市场的密切监控进行进一步的完善。

这些发现的总和将推动我们朝着2020年NERSC存储层次结构的目标迈进,如图12所示。

图12. 2020年NERSC的目标三层存储层次结构。

为了满足这些近期需求并将存储层次结构演变为这一设计,必须在2020年之前采取以下关键行动:
  1. 目前的NERSC项目文件系统必须大幅扩展,以反映其相对于Cori和NERSC-9平台集成的临时/项目层次结构的作用。由于这个存储系统针对可管理性、可访问性和可用性进行了优化,因此其容量应反映用户希望在其上存储大部分工作数据的愿望,目标容量是性能层的2-3倍。这与今天的层次结构形成对比,今天的层次结构中,用户会在性能层上存储数据,尽可能长时间(在数据被清除之前),然后将数据迁移到永久层次。
  2. 必须投资于充分利用NERSC项目文件系统和存档中存在的数据管理功能。建立新的数据管理工具,统一这些层次将是至关重要的;这包括通过新的接口(如行业标准的对象API)来提高可访问性和内省(通过扩展的索引、监控和特性化功能)。

  3. 鉴于项目文件系统将容纳社区层,我们预计磁带存档的增长速度将减缓。为确保维持永久存储在经济上可持续,可能需要制定政策和更严格的配额。


这些努力的结果将是一个单一的、高性能的、平台集成的存储系统,满足了临时存储和一些非常热门的项目存储的作用;一个高容量但可扩展和可管理的存储系统,满足了项目和社区存储的作用;以及一个紧密集成的、高容量、高耐久性的存储系统,满足了非常冷的社区存储和永久存储的作用。

5.2.2. 长期规划(2020年–2025年)

在2020年之后,存储架构的下一步演进将旨在将紧密集成的社区和永久存储系统转变为一个用于长期数据保留、策划和共享的单一社区/永久层。这将导致一个两层存储层次结构,如图13所示。

图13. 2025年NERSC的目标双层存储层次结构。

与2020年存储基础设施一样,平台集成层次将首先强调性能。它将提供一个本地接口,通过异步I/O、弛缓的一致性语义和用户空间客户端实现来提供极致性能。用户仍然可以通过熟悉的POSIX接口(以中间件形式实现)访问此层次,但这个基于文件的API将无法提供底层NAND和SCM硬件的全部性能。相反,需要极致性能的应用程序将不得不使用支持本地接口的I/O中间件或重构其I/O以直接使用本地接口。考虑到这种变革的颠覆性质,到2020年,这个新API的语义应该已经被明确定义,并且必须提供实验性系统,以允许用户开始测试和现代化其应用程序的I/O。

在社区和永久层次,为了从基于磁带的存储和HPSS等已建立解决方案过渡到由切片磁盘或归档NAND支持的对象存储解决方案,需要仔细评估潜在的替代技术和生产强化。作为参考,DOE已经投资了数十年的时间来开发HPSS以满足其任务需求,但采用现成的技术(如开源或商业的对象存储解决方案)将通过将我们的存储方法与云和超大规模社区的方法相一致,为我们未来的存储提供未来回报。将用户迁移到存档的基于对象的接口将使我们能够在磁带持续下降的情况下,透明地迁移到不同的介质。然而,建立这些桥梁需要将用户与这些技术连接起来,确保它们符合用户和运营要求将需要NERSC和HPC社区的投资。

通过在未来五年内采取以下额外行动,可以准备好NERSC存储层次结构,以在2025年之前实现这一长期愿景:
  1. 必须重新定义NERSC数据存档的使命,以使其增长轨迹与长期目标的容量和投资相一致,以便2025年的过渡是无缝的。这将涉及到与那些数据需求将超出存储容量预测的用户进行用户参与,并涉及开发软件和基础设施,以帮助用户管理和迁移其数据。
  2. 必须投入测试平台来探索新的I/O范例,包括性能导向的对象存储和能够有效利用下一代非易失性存储技术的软件系统。这将使NERSC能够建立对这些系统未来过渡对用户的困难程度的可信了解,还将使我们能够开发解决这些困难的工具。这样的系统还将为用户从这一努力中可以期望获得的回报提供信息,并保持我们对这些技术成熟度的了解。
  3. 我们必须开发工具和基础设施,允许性能/项目层和项目/存档层次结构合并。例如,DAOS的许多组成部分将通过将DAOS的异步对象接口的性能方面与性能较低但更持久的快闪层集成在一起。类似地,IBM的GHI等软件技术必须经过验证,以将基于GPFS的项目层与基于HPSS的存档层集成在一起。


5.2.3. 创新和贡献的机会

由于NERSC拥有广泛的用户群体、深入了解用户需求以及与应用程序开发者在代码现代化方面的合作能力,因此NERSC在引领存储架构过渡方面具有独特的优势。因此,我们在未来存储技术过渡中的角色主要集中在以下两个关键领域:

  1. 驱动需求,引导新兴的软件、中间件和硬件技术朝着在HPC和科学计算市场的各个领域广泛可访问和有用的方向发展。

  2. 在涵盖传统的高性能模拟、高吞吐量实验数据处理、综合、大规模机器学习驱动的数据分析等高度多样化的工作负载环境中展示和加强新兴的软件、中间件和硬件技术。


最终,领导从头设计新型存储系统或在计算科学的前沿定义新的存储范式并不是NERSC的使命。相反,我们的专长在于理解这些根本性变化将如何影响各个科学领域在各个规模上的工作流程,这正是NERSC的领导作用将是至关重要的,以确保新兴的I/O技术在成熟到更广泛的HPC生态系统时是可行且可持续的。通过扩大用户采用来帮助新的存储系统和API充分发挥其潜力,这一贡献至关重要。推动需求的机会是多方面的,我们将这些机会归为软件、中间件和硬件三个类别。

在软件层面,NERSC的广泛用户群体为新兴的I/O API和软件技术提供了独特的评估平台。NERSCBurst Buffer Early User Program是一个示范,展示了NERSC非常适合验证新的存储系统、用户定义配置模式以及数据访问新机制。该计划为供应商提供了不同用户社区与闪存存储互动的持续反馈,推动了其设计并证明了它对更广泛的HPC社区的可行性。这项工作不仅增强了Burst Buffer区软件(使用户社区和供应商都受益),还证明了软件定义存储和基于闪存的文件系统是未来可行的技术。现在,这一工作得到了Tiered Storage Working Group的支持,这是美国能源部实验室和Burst Buffer区供应商的合作伙伴关系,旨在定义与未来多层存储平台交互的基于标准的API。

NERSC继续与存储软件提供商合作以确保我们的用户需求在设计中得到充分体现至关重要。这的战略重要性无法被过分强调,因为HPC行业开始探索与传统并行文件系统完全不同的根本性新替代方案,企业行业也将面向HPC领域推动基于对象的归档解决方案。如果不与软件供应商和用户一起探索新的存储范式,将存在一个重大风险,即这些存储解决方案将朝着不适合广泛用户社区的方向发展,计算和数据密集型计算将在存储层面分化。

中间件层面是NERSC应该在快速变化的存储硬件和变化较慢的用户应用程序之间架起桥梁的理想领域。一个例子是最近的一个演示,使用HDF5中间件直接与DAOS进行接口交互;因为相当多的NERSC数据存储为HDF5,将应用程序移植到全新的I/O API和范式所需的工作在中间件层面可以完成,有效地实现了广泛采用,仅需要NERSC的适度投资。考虑到HPC中越来越广泛的I/O中间件使用,这项投资对更广泛的HPC社区也将产生重大好处。

因此,我们必须继续与广大用户社区合作,适时将应用程序过渡到使用I/O中间件。此外,我们必须继续与中间件开发人员保持密切联系,以确保用户的关键功能,包括元数据、溯源跟踪和易用性,指导这些中间件的开发。如果不进行投资,将存在一个差距,即今天的应用程序和非POSIX存储系统的本机接口之间的差距,从而减少了新的非易失性硬件提供的性能和可扩展性优势。

在硬件层面,NERSC已经开始将存储层次的监控整合到对新兴I/O需求的整体理解中,继续进行这项工作将为供应商提供关键反馈。例如,监控Cori Burst Buffer区的工作负载和磨损速度已经确定,HPC工作负载将从SSD固件的多流支持中受益,持续的供应商参与和耐久数据共享发现,HPC工作负载将通过在企业SSD上交换高写入耐用性来更好地服务。此外,这些监控工作正在通过建立详细的基线行为并与供应商保持关系来提高NERSC存储系统的性能、可靠性和可用性,从而在出现异常时实现快速诊断、解决和改进。

跟踪NERSC生产工作负载的遥测数据,策划和提供背景信息,并积极与供应商和研究人员保持积极的互动,为NERSC和更大的HPC社区带来了显著的回报。如果没有NERSC的投资,新存储技术的发展可能会受到精品工作负载和企业市场的影响。这将导致未来NVM、网络技术和SCM的丧失价值。

6. 结论

随着实验设施不断产生更多数据,以及它们与像NERSC这样的中心之间高速网络连接的普及,计算站点存储的实验数据量正呈爆炸性增长趋势。再加上由百亿亿次计算所产生的大规模数据,这要求重新思考HPC存储层次结构,以维持合理的性能和成本。我们已经建立了四个逻辑数据存储层次,基于性能需求、容量、共享性和管理性,并将这些逻辑层次映射到物理存储系统,以适应主要存储技术的趋势。

在短期内,将高性能、基于闪存的平台集成存储系统合并成一个层次,以满足临时和热门活动存储的需求是可行的,也是可取的,可以简化科学工作流程和数据管理中的I/O。将较冷的基于磁盘的项目/社区存储和基于磁带的永久存储移动到更紧密集成的系统也是可行的,到2020年,NERSC将为2025年的双层存储层次做好准备。

这个2025年的双层存储系统将整合临时/项目存储系统和社区/永久存储系统,允许NERSC分别优化极限I/O性能和长期存储、高价值社区数据集的不同需求。这一转变对于满足NERSC用户在2020年和2025年使用最佳可用存储技术的需求至关重要,需要立即投资于软件、中间件和硬件技术,以实现这一预见到的好处。

作为美国能源部科学办公室提供HPC服务的主要提供商,NERSC将部署这些新的存储技术,同时继续提供快速可靠的存储资源,以满足广泛的用户需求。NERSC依赖于多样化的工作流和独特的数据集,这使得NERSC在了解不断变化的存储格局如何影响各个科学领域的工作流程方面处于有利地位。执行本文提出的战略将确保新兴的I/O技术成为满足美国能源部科学办公室和更广泛的HPC社区需求的可行和可持续解决方案。


---【本文完】---

近期受欢迎的文章:


我们正处于数十年未见之大机遇中

新技术爆发式发展,催生新产品

然而,颠覆式创新并非简单的技术堆叠

而是异常复杂的系统工程

需要深度洞察

欢迎一起分享思考和见解

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存