1 未来应用和市场影响
超级计算应用、大数据分析和机器学习已经成为流行的工作负载。多样性增加和比以前更不可预测的访问模式看起来是符合预期的。超级计算模拟需要能够提供数万个节点的存储系统。更大规模的节点数量预计会导致更高的错误率而需要部署容错机制,这对存储系统造成压力。大规模的观测系统(例如天体物理学)以及小型的数据记录器(例如物联网)将需要能够以前所未有的规模消耗和存储数据的存储系统,最好具备传输数据处理能力。在许多情况下,科学工作负载缺乏市场相关性,因此对于许多供应商来说并不是优先考虑的对象。供应商提供的存储产品更有可能满足云服务提供商和以业务为驱动的大数据分析和机器学习的需求。同时,消费电子产品和云服务中使用的技术的商品化影响了下一代存储系统设计时将考虑使用的技术。
2 协同设计
对现有解决方案进行渐进式改进似乎无法满足未来面临的挑战,这就是为什么协同设计工作越来越包括所有利益相关方和技术层面。高性能计算创新的一个主要推动因素是能源部,其侧重于两种协同设计方法:1)以应用为中心的协同设计和2)以架构为中心的协同设计[1]。随着超大规模计算系统的逼近以及存储问题的加剧,许多工作(包括ECP [16]、FastForward [44]、ADIOS [72]、HDF VOL [29]、ESiWACE [20]、NEXTGenIO [69]和SAGE [78])正在致力于应用程序和库到存储硬件如何处理I/O的现代化。协同设计可以为特殊用例提供高度优化的解决方案,但对于HPC中的很多小社区来说是不可承受的。
3 技术
第1节着重介绍了已经广泛部署在数据中心的技术和产品。本节将总结一些即将到来的对现有技术的改变,以及需要研究才能应用于数据中心的更具前瞻性的技术所带来的预期影响。一个重要的趋势是通过NVMe和高带宽内存(HBM)的形式为数据传输增加更宽的总线和异步协议的支持。HBM需要进行架构改变,这与旧硬件不兼容,但对于带宽受限的应用程序将带来显著好处。借助3D NAND,SSD的容量将进一步提高,最终可能取代数据中心中的HDD。NVRAM很可能对存储格局产生重大影响,但大多数已知的候选技术尚未准备好进行批量生产,或者仍然过于昂贵以取代其他技术。许多数据转换,如压缩或加密,可以在GPU上或在传输过程中进行外部处理。
对于长期存储和冷数据,磁带似乎仍然具有竞争力。对于WORM数据,一种有希望的替代方案可能是全息存储,它具有较高的密度和比磁带稍微更有利的访问语义。DNA可能是一种有趣的数据存储介质,因为它耐久性强,并且具有非常高的体积密度。虽然已经探索了一些应用,但由于DNA合成和测序技术的现状,这种技术目前还不可行。
3.1 开放通道固态硬盘
近期引入了一种新型的固态硬盘,被称为开放通道固态硬盘[52],它可以改善和优化传统固态硬盘的性能。开放通道固态硬盘允许将硬盘的内部容量分割成多个I/O通道,以加快并行数据访问速度并最大化整体读写带宽。这是一种软件定义的硬件,因为开放通道固态硬盘中并行单元的管理被移动到主机文件系统中的嵌入式处理器。通过智能地控制I/O提交,可以减少和预测延迟。此外,数据存放和I/O调度可以通过NVM管理作为块设备来实现,可以在应用程序级别或主机文件系统级别进行。
4 存储和文件系统
存储和文件系统有着各种各样的新方法和即将到来的方法。由于I/O密集型应用程序产生的大量数据管理的挑战,对它们的优化和改进是非常必要的。HPC社区的目标是在不失去对传统应用程序的支持的情况下,放宽严格的POSIX语义。利用云计算的特性和优势是当前一个有希望的新趋势。在本节中,我们将概述一些最重要的方法并强调它们对应用程序和开发人员的影响。
DAOS. 快速转发存储和IO (FFSIO) 项目旨在提供一个能够满足高性能计算应用程序和大数据负载要求的异构存储系统。它旨在引入一个新的I/O堆栈,并支持更复杂的基本数据类型,如容器和键-数组。它的功能从顶层的通用I/O接口,通过I/O转发和I/O调度器层,到分布式应用对象存储 (DAOS) 层,该层提供持久性存储接口,并将用户可见的对象模型转换为底层基础设施的要求。
PPFS. 基于对象存储的Post-P级文件系统 (PPFS),使用OpenNVM并以融合HPC和云计算为目标。该系统使用键值存储来存储元数据,并使用非阻塞的分布式事务同时更新多个条目。通过这种方式,提供的平台实现了高性能,并避免了POSIX规范的限制。
SoMeta. 可扩展的面向对象的元数据管理系统 (SoMeta) 用于未来的面向对象的存储系统,提供相应的元数据基础设施。分布式哈希表被用于组织包含文件系统元数据的元数据对象。此外,开发人员还可以使用用户特定的标签(如有关应用程序的附加信息)来注释这些元数据。
EMPRESS. 用于极限规模科学模拟的可扩展元数据提供程序 (EMPRESS) 提供可自定义的元数据标记,以标记存储之前大规模模拟的感兴趣的数据。这简化了在后处理中定位相关数据,并可以帮助避免对整个数据进行搜索。
Týr. Týr是一个支持事务的blob存储系统,它提供blob存储功能和高访问并行性。测量结果显示,许多应用程序并不需要完整的完全文件系统提供的大多数功能,而只需要由blob或对象存储系统提供的子集。
5 接口和数据格式
DAOS。除了引入一种新颖的用户空间存储系统外,DAOS还支持以可扩展的方式执行I/O的新方法[6]。从应用程序开发者角度来看,DAOS将以键数组对象的形式提供丰富的I/O接口,支持结构化和非结构化数据。此外,还原生地支持已建立的I/O接口,如传统的POSIX接口和HDF5接口。与数据库类似,DAOS支持事务,即可以将多个操作批处理为单个事务,一旦提交为一个时代(epoch),则事务变为不可变、持久和一致的。一方面,这允许多个进程执行异步写操作而无需担心一致性问题。另一方面,读操作将始终具有一致的视图,因为它们基于已提交(因此不可变)的epoch。
结论
这项调查对当前存储领域进行了概述,并强调了需要在未来进行更多研究的领域。目前的协同设计工作确定了通向百亿亿次系统的可行路径,但从长远来看,计算和存储系统能力之间的差距越来越大,需要协调多个方面的努力。对软件和硬件存储技术进行基础研究并提供资金支持是必要的。在硬件方面,非易失性内存(NVRAM)存储有望改变我们建立存储系统的方式。一方面,NVRAM可以提高记录大量数据的能力,以满足后续分析任务所需的速度。另一方面,NVRAM可以极大简化存储系统,目前的存储系统在相对较小的性能改进上增加了复杂性。
单纯的硬件改进不能确保高性能的存储系统能够跟上日益增长的计算能力。应用程序和工作负载以及数据中心各不相同,但由于许多硬件组件经济上无法在五年以上运行,对应用程序中进行硬件特定的优化只能在有限的范围内进行。应用程序通常具有更长的生命周期,因此需要进行软件研究,以提供方便且可移植的接口。例如,DAOS等方法表明可以在不破坏现有应用程序向后兼容性的情况下提供先进且新颖的I/O接口。通过原生支持如HDF5等已有的高级接口,如果应用程序已经使用这种接口,就不需要对其进行移植。此外,高级接口提供的附加信息可以用于优化I/O和数据管理决策。
目前,由于不同领域的要求不同,使用了大量领域特定的解决方案。将精力集中在提供高效可扩展的解决方案,这些解决方案足够通用,可以在多个或所有领域中使用,将有助于减少目前观察到的碎片化。然而,这不仅仅是一个技术问题,需要在许多领域达成一致。更现实的目标是提供一个坚实的基础,可以通过对领域特定相对薄的封装进行扩展。对于接口和数据格式,一部分领域(包括高能物理和气候科学)已经在建立在已有的HDF5格式上的基础上开发自己的解决方案。