beegfs當(dāng)中的一項burst buffer技術(shù)趾徽,發(fā)布于2015年3月。目的是利用計算節(jié)點上的SSD能力逗宜,加速IO訪問能力,為云計算場景提供更好的存儲能力。
burst buffer
burst buffer是超算領(lǐng)域內(nèi)的一個概念(類似于cache tire)汽馋,burst buffer是后端存儲和前端計算之間的夾心層侮东。旨在利用計算節(jié)點上的存儲能力,通常是SSD或者NVME等設(shè)備豹芯,在IO時提供比后端存儲更大的帶寬悄雅,從而避免后端存儲過度負(fù)載。burst buffer的出現(xiàn)主要來自超算場景中铁蹈,計算和存儲兩個階段存在明顯的分割宽闲,當(dāng)計算結(jié)束之后,數(shù)據(jù)需要寫入存儲握牧。如果存儲速度不理想容诬,則下一輪計算將會受到影響。
使用burst buffer IO路徑更短我碟,加速存儲的響應(yīng)能力放案。此外,burst buffer緩存的數(shù)據(jù)會異步的刷入到后端存儲矫俺,這個過程可以控制吱殉,可以利用這一點提高向后端進(jìn)行存儲效率,如將小IO合并成較大的IO厘托。
burst buffer存在兩種架構(gòu)一種是node-local友雳,另外一種是remote shared。node-local顧名思義即使用本地的存儲铅匹,其性能總體性能隨計算節(jié)點的增加而線性增長押赊。另外一種則需要通過網(wǎng)絡(luò)使用共享的存儲設(shè)備。
Beeond
回到beeond包斑,它帶來的便利有:和其他業(yè)務(wù)的隔離流礁,更好的IOPS、帶寬罗丰、更低的延遲神帅,充分利用已有的節(jié)點的存儲能力。beeond實際上并不關(guān)注后端的存儲一定是beegfs萌抵。
beeond的設(shè)計思路采用remote shared模式找御,計算節(jié)點啟動一個beegfs的實例。其中nodefile中記錄了實例相關(guān)的配置绍填。實例通過start和stop命令快速的啟動和停止霎桅。通過內(nèi)置的beeond-cp將文件系統(tǒng)實例中的數(shù)據(jù)存入/讀出(stageout/stagein)后端的持久化存儲(其他如rsync也可以完成類似的工作),其并發(fā)在指定的多個節(jié)點上同時執(zhí)行讨永。beeond-cp 使用的是GNU parallel組件滔驶,該組件可以并行執(zhí)行任務(wù)。
beeond-copy提供并行拷貝的能力住闯,最大速度在29小時內(nèi)傳輸了1PB的數(shù)據(jù)瓜浸。
參考:
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/