0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何設計并實現(xiàn)面向非易失內(nèi)存的MPI-IO接口優(yōu)化

智能計算芯世界 ? 來源:智能計算芯世界 ? 作者:智能計算芯世界 ? 2022-10-09 10:53 ? 次閱讀

摘要:在高性能計算環(huán)境中,MPI應用多個計算節(jié)點同時訪問底層存儲系統(tǒng)文件時,其I/O開銷受到訪問模式和外存設備性能的影響。針對MPI應用訪問文件的特征,利用非易失內(nèi)存高帶寬、低時延、可字節(jié)尋址、數(shù)據(jù)可持久化等優(yōu)勢,提出面向非易失內(nèi)存的MPI-IO接口優(yōu)化方案;對文件數(shù)據(jù)建立分布式的緩存并維護持久性的元數(shù)據(jù)、對進程間數(shù)據(jù)傳輸策略進行優(yōu)化,使應用可以有效管理、利用非易失內(nèi)存設備,保持緩存數(shù)據(jù)一致有效。

為了實現(xiàn) 對非易失內(nèi)存的管理與利用、對文件數(shù)據(jù)緩存的管理與訪問,本文設計并實現(xiàn)了面向非易失內(nèi)存的MPI-IO接口優(yōu)化(NVMPI-IO)。本文的工作主要包括:

● 修改MPI-IO接口,截取應用對底層共享文件系統(tǒng)的訪問,并將其轉(zhuǎn)化為對計算節(jié)點內(nèi)或計算節(jié)點之間的非易失緩存的訪問;

● 在非易失內(nèi)存中建立并維護緩存數(shù)據(jù),使計算節(jié)點之間的緩存一致且有效,使應用失效重啟后可以快速地從非易失內(nèi)存中恢復有效數(shù)據(jù);

● 通過多種優(yōu)化,降低維護、訪問緩存的開銷;

● 最后給出一個原型系統(tǒng),并對其進行實驗,實驗表明,此系統(tǒng)可以有效地管理、應用非易失內(nèi)存,并使MPI應用獲得性能提升。

使用NVMPI-IO,MPI應用無須進行修改,即可通過MPI-IO中間件將非易失內(nèi)存作為數(shù)據(jù)緩存,實現(xiàn)對文件緩存的分布式訪問,從而減少I/O開銷,并減輕共享文件系統(tǒng)的負載;同時,在非易失內(nèi)存中維護元數(shù)據(jù),使程序在崩潰重啟后可以快速恢復數(shù)據(jù),并繼續(xù)運行。

MPI應用的文件訪問模式

MPI是基于消息傳遞的并行編程模型,可使多個節(jié)點中的多個進程合作完成同一個計算任務,達到并行加速的目的。

MPI被廣泛地應用在科學研究與工程仿真中,常見的MPI實現(xiàn)包括Intel MPI、OpenMPI、MPICH等。使用MPI的應用在訪問文件時顯示出以下訪問特征。

● 多個進程同時訪問同一文件的不同部分。研究物理模型或工程結(jié)構(gòu)的MPI應用在進行計算前,首先需要準備模型文件,多個進程將同時利用模型文件上的數(shù)據(jù)進行計算,如每個進程讀取多維矩陣的不同部分;進程間按需通信,并將計算結(jié)果寫回文件的相應位置。

● MPI-IO使用聚合I/O與數(shù)據(jù)篩選技術,將多個進程需要的大量小粒度數(shù)據(jù)聚合成少量的大粒度數(shù)據(jù),避免了小粒度的文件數(shù)據(jù)訪問。

● MPI標準不對文件數(shù)據(jù)進行緩存。MPI應用在訪問文件時可能對同一文件進行多次讀寫,且每次讀寫的位置可能不一致;同時,多個進程對文件的并行訪問容易使節(jié)點內(nèi)緩存失效;內(nèi)存的空間有限,而工程模型的數(shù)據(jù)量可根據(jù)工程的精度呈指數(shù)型增大,將大量的文件數(shù)據(jù)緩存到內(nèi)存可能影響計算效率;在允許直接輸入輸出(direct I/O)的文件系統(tǒng)(如XFS、Lustre)中,MPI建議使用直接輸入輸出,以避免操作系統(tǒng)的緩存。

● MPI應用應周期性地寫出檢查點(checkpoint)文件。大型工程仿真項目可能需要多個節(jié)點同時長時間運行,若其中某個節(jié)點出現(xiàn)故障導致作業(yè)失敗,仿真項目需要重新進行;為了避免過多的重復工作,MPI應用應周期性地輸出檢查點文件,若作業(yè)失敗,則從最近的有效檢查點開始繼續(xù)計算。同時,檢查點文件可用于仿真的可視化輸出。寫檢查點文件時,進程需要暫停計算任務,或?qū)⑽募?shù)據(jù)復制一份,以避免數(shù)據(jù)不一致。

● MPI應用多進程對文件進行訪問有顯著的同步特性。數(shù)據(jù)庫、文件系統(tǒng)等會在任何時間點接收來自多個客戶端的數(shù)據(jù)請求,若有分布式的緩存,則需要隨時保證數(shù)據(jù)的一致性;MPI應用的多個進程在訪問同一文件時,多個進程同時訪問數(shù)據(jù),當這一階段完成后,進程之間需同步進度后再進行下一階段的訪問。MPI應用多進程的同步避免了寫后讀等數(shù)據(jù)不一致的問題,可用于簡化緩存的設計。

基于上 述的MPI應用的 數(shù) 據(jù) 訪問特征,在計算節(jié)點上部署非易失緩存有利于MPI應用的性能提升。利用非易失內(nèi)存容量大、帶寬高、可按字節(jié)尋址等特點,在非易失內(nèi)存上部署緩存層不占用高效的DRAM空間,并將緩慢的文件訪問轉(zhuǎn)變?yōu)楦咚俚姆且资?nèi)存訪問,可提高MPI應用的性能,同時可減少底層文件系統(tǒng)的負載。

面向非易失內(nèi)存的MPI-IO接口優(yōu)化被應用在HPC系統(tǒng)中,其修改MPI-IO模塊接口以管理非易失內(nèi)存的空間及訪問形式。NVMPI-IO在MPI運行時初始化,并向操作系統(tǒng)申請NVM空間,當作業(yè)結(jié)束后釋放NVM資源,使NVM資源可供其他應用使用。NVMPI-IO采用簡單而有效的方法獲得了以下優(yōu)點。

● NVM設備的非獨占使用:NVMPI-IO在運行時,只按需占用NVM的部分空間,其他應用仍可以使用該設備進行其他作業(yè)。作業(yè) 結(jié) 束后,NVMPI-IO立即釋放NVM資源,使其可以被更高效地利用。

● 數(shù)據(jù)一致性:NVMPI-IO隨MPI程序的運行而運行,每個MPI進程維護文件的部分緩存數(shù)據(jù)及相應的元數(shù)據(jù);通過維護元數(shù)據(jù)保證緩存數(shù)據(jù)的一致性。

● 后臺寫回:MPI應用周期性地寫出checkpoint文件,引起大量的數(shù)據(jù)寫回。NVMPI-IO允許數(shù)據(jù)的后臺寫回,可在寫回過程同時進行計算任務。

● MPI應用的快速重啟:若MPI應用中某個進程失效引起整個程序的崩潰,在NVM設備上仍然存在有效的數(shù)據(jù);使用NVMPI-IO,MPI應用重啟后,可以在NVM中快速恢復數(shù)據(jù),實現(xiàn)快速的重啟。

● 高可移植性:MPI可以在不同計算機架構(gòu)、操作系統(tǒng)上正常工作;NVMPI-IO繼承了MPI的高可移植性。同時,NVMPI-IO不修改提供給上層應用的應用程序接口(application programming interface,API),現(xiàn)有的MPI應用不需要做任何修改即可在此系統(tǒng)上運行。

NVMPI-IO部署在HPC系統(tǒng)中,需對HPC系統(tǒng)的軟硬件做相應的調(diào)整。

NVMPI-IO在傳統(tǒng)HPC集群組織中引入NVM設備。在傳統(tǒng)HPC集群中,計算節(jié)點通過網(wǎng)絡與共享的存儲系統(tǒng)相連,計算節(jié)點從存儲系統(tǒng)中獲得數(shù)據(jù),并對數(shù)據(jù)進行加工處理;同時,計算節(jié)點之間通 過TCP/IP網(wǎng)絡或RDMA技術進行通信。如圖所示,NVMPI-IO在每個計算節(jié)點中部署NVM設備,同時保持共享存儲系統(tǒng)的設計不變;節(jié)點間通信沿用傳統(tǒng)HPC系統(tǒng)中的網(wǎng)絡傳輸,若配備了RDMA網(wǎng)絡,則可以使用RDMA直接訪問其他節(jié)點的非易失內(nèi)存。

adff44fa-40d9-11ed-96c9-dac502259ad0.png

NVMPI-IO為MPI應用服務,同時也利用了MPI定義的通信過程。一個典型的HPC應用包含多個MPI進程,其中每個進程使用MPI定義的接口與其他進程進行消息傳遞,使用MPI-IO模塊對底層存儲系統(tǒng)進行數(shù)據(jù)訪問。本系統(tǒng)保留MPI-IO的聚合I/O與數(shù)據(jù)篩選優(yōu)化,這些優(yōu)化將上層應用需要的小粒度I/O整合成大粒度的I/O,避免了數(shù)據(jù)的小粒度隨機訪問。如圖所 示,本系統(tǒng)部署在MPI-IO中間件中,截取MPI-IO對文件的系統(tǒng)調(diào)用,并 按 需 轉(zhuǎn)發(fā)為非易失內(nèi)存的數(shù)據(jù)維護、訪問。

NVMPI-IO在部署時,首先需要在NVM設備上掛載可以直接訪問(direct access,DAX)的文件系統(tǒng)。在NVM設備上掛載DAX文件系統(tǒng)可使應用直接通過指針 訪問NVM上的數(shù)據(jù)。具體地,進程使用內(nèi)存映射(memory map)技術將文件系統(tǒng)中的文件映射到應用的進程空間中,進程可以通 過 指針直接 修改NVM,而不是修改操作系統(tǒng)的內(nèi)核緩存(kernel cache)。

此外,NVMPI-IO使用MPI定義的消息傳遞API與其他節(jié)點進行通信,使用POSIX API與底層文件系統(tǒng)進行數(shù)據(jù)的維護和訪問。

審核編輯:彭靜

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8254

    瀏覽量

    149943
  • 內(nèi)存
    +關注

    關注

    8

    文章

    2902

    瀏覽量

    73534
  • 數(shù)據(jù)緩存

    關注

    0

    文章

    23

    瀏覽量

    7017

原文標題:面向非易失內(nèi)存的MPI-IO接口優(yōu)化

文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    真正性FPGA的優(yōu)勢

    并非所有性或閃存 FPGA 器件都是一樣的。本文探討了真正的性FPGA的優(yōu)勢 - 包
    的頭像 發(fā)表于 11-14 15:34 ?1570次閱讀
    真正<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>性FPGA的優(yōu)勢

    Cypress性SRAM技術

    SRAM的性單元基于SONOS技術。他們利用Fowler-Nordheim隧穿(FN隧穿)的優(yōu)勢通過將電荷捕獲在夾層氮化物層中來存儲數(shù)據(jù)。FN隧道技術的主要優(yōu)勢在于,它可以大大提高NV耐久性,
    發(fā)表于 04-08 14:58

    內(nèi)存有寫入限制嗎?

    我們正在構(gòu)建一個設備來測量消耗。電路 ACS712 讀取那一刻的消耗量,所以,我需要做一個每秒累加的方法。問題:內(nèi)存有寫入限制,所以我需要使用
    發(fā)表于 05-30 08:48

    采用55納米內(nèi)存的Qorivva MCU

      這款新Qorivva微控制器(MCU)系列基于Power Architecture ·技術,采用獨特的55納米(nm)內(nèi)存(NVM)構(gòu)建而成,旨在
    發(fā)表于 11-11 18:05 ?1028次閱讀

    DS1250 4096k、SRAM

      DS1250 4096k、SRAM為4,194,304位、全靜態(tài)SRAM,按照8
    發(fā)表于 12-07 10:18 ?1504次閱讀
    DS1250 4096k、<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>SRAM

    DS1243Y 64KSRAM

    DS1243Y 64KSRAM,帶有隱含時鐘是一個內(nèi)置的實時時鐘(8192字由8位)是由完全靜態(tài)
    發(fā)表于 01-04 10:53 ?1312次閱讀
    DS1243Y 64K<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>SRAM

    自旋晶體管:使晶體管實現(xiàn)

    自旋晶體管不僅可使晶體管實現(xiàn)化,還可以削減開關能量。估計2020年以后會實用化。
    發(fā)表于 01-05 09:59 ?1583次閱讀
    自旋晶體管:使晶體管<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>化

    使用賽道存儲單元的近閾值SRAM

    使用賽道存儲單元的近閾值SRAM_孫憶南
    發(fā)表于 01-07 21:45 ?1次下載

    一文知道新興性存儲(NVM)市場及技術趨勢

    大型廠商的產(chǎn)品導入、存儲級內(nèi)存(SCM)的新興應用以及五大邏輯代工廠的涉足將推動性存儲市場的增長。 新興
    的頭像 發(fā)表于 07-04 11:55 ?6997次閱讀
    一文知道新興<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>性存儲(NVM)市場及技術趨勢

    新型存儲MVM數(shù)據(jù)管理

    影響,相關的存儲與事務處理技術是其中值得關注的重要環(huán)節(jié).首先,概述了事務型數(shù)據(jù)庫系統(tǒng)隨存儲環(huán)境發(fā)展的歷史與趨勢;然后,對影響上層數(shù)據(jù)管理系統(tǒng)設計的性存儲技術以及面向大數(shù)據(jù)應用領域
    發(fā)表于 01-02 19:04 ?0次下載
    新型<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>存儲MVM數(shù)據(jù)管理

    可重復編程FPGA解決方案的應用

    事實上,除了這些傳統(tǒng)要求,在前兩代FPGA產(chǎn)品的經(jīng)驗基礎上,萊迪思半導體(Lattice Semiconductor)公司還認識到需要靈活的片上
    發(fā)表于 06-16 09:48 ?1486次閱讀

    NVDIMM-P內(nèi)存標準公布:斷電不丟數(shù)據(jù)、兼容DDR4

    我們知道,傳統(tǒng)的DDR DIMM內(nèi)存性的,也就是必須維持通電才能保持數(shù)據(jù),一旦斷電就都沒了。 Intel創(chuàng)造了Optane傲騰持久內(nèi)存,做到了
    的頭像 發(fā)表于 02-19 10:04 ?1714次閱讀

    NVDIMM-P內(nèi)存標準正式公布

    我們知道,傳統(tǒng)的DDR DIMM內(nèi)存性的,也就是必須維持通電才能保持數(shù)據(jù),一旦斷電就都沒了。
    的頭像 發(fā)表于 02-19 10:18 ?1652次閱讀
    NVDIMM-P<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b><b class='flag-5'>內(nèi)存</b>標準正式公布

    面向內(nèi)存文件的NVM模擬與驗證

    NVM物理設備上的寫性能以及對NVM造成的磨損情況?,F(xiàn)有NVM模擬器準確度不高,且仿真接口不完備,無法滿足內(nèi)存文件系統(tǒng)對NVM的仿真需求。對此,提出一種面向
    發(fā)表于 05-07 11:05 ?13次下載

    簡單的性門控

    作為使用PAL、GAL或CPLD器件實現(xiàn)性門控功能的替代方案,這些電路使用串行接口控制的數(shù)字電位器(MAX5427或MAX5527)存
    的頭像 發(fā)表于 01-12 11:30 ?870次閱讀
    簡單的<b class='flag-5'>非</b><b class='flag-5'>易</b><b class='flag-5'>失</b>性門控