Burst Buffer技术是一种在高性能计算(HPC)领域广泛应用的技术,尤其在解决大规模科学计算中的I/O性能瓶颈问题上表现出色。Burst Buffer通过提供高速、低延迟的临时存储空间,显著提升了数据读写速度,从而优化了整体计算效率。
NERSC(国家能源研究科学计算中心)是美国的一家超算中心,它与Cray公司合作,采用Cray的DataWarp技术在Cori超级计算机上部署了Burst Buffer。DataWarp技术利用固态硬盘(SSD)或闪存来增强I/O性能,为科研工作负载提供更高效的存储解决方案。
Burst Buffer的引入主要为了解决两个关键问题:一是提高应用程序的总带宽,使得优化良好的应用程序能够更快地读取和写入大量数据;二是提升文件系统的IOPS(每秒输入/输出操作次数),对于执行大量小型I/O操作的应用程序,IOPS是性能的关键因素。此外,Burst Buffer还能提高应用程序的可靠性,通过更快的checkpoint-restart机制减少计算中断的影响,加速小块数据传输和分析,为外部应用程序提供快速临时存储空间,以及为大型文件输入和耦合模拟分析作业创建临时存储区域。
Burst Buffer的架构设计十分巧妙,它位于计算节点和存储节点之间,作为一层高速的Flash层。在Cray DataWarp实现中,它驻留在XC40计算节点上,通过Aries HPC互连网络与存储Fabric相连。SSD安装在Burst Buffer节点内,通过DataWarp软件栈和智能调度算法支持Lustre、GPFS和PanFS等并行文件系统,为文件系统提供全局的Flash缓存层。
每个Burst Buffer节点包含一个Xeon处理器、64 GB DDR3内存和两个3.2 TB NAND闪存SSD,通过PCIe接口与计算和存储网络相连。每个节点提供约6.4 TB的可用容量和高达5.7 GB/s的顺序读写带宽。DataWarp软件栈管理多个SSD设备,通过LVM创建卷,使用XFS文件系统,并通过DataWarp File System (DWFS)协调数据在Burst Buffer和计算节点间的交换,为用户呈现统一的命名空间。
Burst Buffer的特性包括与系统调度器的集成,使得资源分配更加灵活,可以按需分配给用户或作业。它还支持缓存模式,将闪存作为大型并行文件系统的缓存层,无须修改应用程序代码即可提升I/O性能。此外,Burst Buffer还提供了过滤分析功能,允许在Burst Buffer节点上进行初步的数据处理和分析,进一步减轻了主存储系统的压力。
Burst Buffer技术在HPC领域的盛行,是因为它有效解决了大数据时代下高性能计算面临的I/O挑战,通过提供高速、低延迟的临时存储,显著提高了科学计算的效率和可靠性,为各种复杂的科学问题提供了更强大的计算支持。