beegfs中的burst buffer技术

beegfs当中的一项burst buffer技术,发布于2015年3月。目的是利用计算节点上的SSD能力,加速IO访问能力,为云计算场景提供更好的存储能力。

burst buffer

burst buffer是超算领域内的一个概念(类似于cache tire),burst buffer是后端存储和前端计算之间的夹心层。旨在利用计算节点上的存储能力,通常是SSD或者NVME等设备,在IO时提供比后端存储更大的带宽,从而避免后端存储过度负载。burst buffer的出现主要来自超算场景中,计算和存储两个阶段存在明显的分割,当计算结束之后,数据需要写入存储。如果存储速度不理想,则下一轮计算将会受到影响。

使用burst buffer IO路径更短,加速存储的响应能力。此外,burst buffer缓存的数据会异步的刷入到后端存储,这个过程可以控制,可以利用这一点提高向后端进行存储效率,如将小IO合并成较大的IO。

burst buffer存在两种架构一种是node-local,另外一种是remote shared。node-local顾名思义即使用本地的存储,其性能总体性能随计算节点的增加而线性增长。另外一种则需要通过网络使用共享的存储设备。

Beeond

回到beeond,它带来的便利有:和其他业务的隔离,更好的IOPS、带宽、更低的延迟,充分利用已有的节点的存储能力。beeond实际上并不关注后端的存储一定是beegfs。


beeond的设计思路采用remote shared模式,计算节点启动一个beegfs的实例。其中nodefile中记录了实例相关的配置。实例通过start和stop命令快速的启动和停止。通过内置的beeond-cp将文件系统实例中的数据存入/读出(stageout/stagein)后端的持久化存储(其他如rsync也可以完成类似的工作),其并发在指定的多个节点上同时执行。beeond-cp 使用的是GNU parallel组件,该组件可以并行执行任务。

beeond-copy提供并行拷贝的能力,最大速度在29小时内传输了1PB的数据。

参考:

https://git.beegfs.io/pub/v7/tree/master/beeond

https://www.beegfs.io/docs/PressReleaseBurstBufferWorldRecord.pdf

https://www.nextplatform.com/2015/05/19/the-what-and-why-of-burst-buffers/

https://www.gnu.org/software/parallel/

你可能感兴趣的:(beegfs中的burst buffer技术)