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

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

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

低延遲SSD上的快速圖處理

SSDFans ? 來源:SSDFans ? 2023-10-12 09:12 ? 次閱讀

一、背景

圖處理在社交媒體、導(dǎo)航、推薦等領(lǐng)域應(yīng)用廣泛。很多場合下圖數(shù)據(jù)往往非常大以至于難以在單個機器的內(nèi)存中存儲。分布式圖處理選擇將圖數(shù)據(jù)存儲在分布式集群的內(nèi)存中;而與分布式圖處理不同,外部圖處理系統(tǒng)選擇在單臺機器上利用二級存儲來輔助存儲圖數(shù)據(jù),同時也能提供與分布式圖處理相近或更優(yōu)的性能。外部圖處理系統(tǒng)根據(jù)存儲方式可以進一步分為半外部系統(tǒng)和全外部系統(tǒng)。前者將圖數(shù)據(jù)中的頂點數(shù)據(jù)存儲在內(nèi)存、邊數(shù)據(jù)存儲在SSD中;后者則將兩者都存儲在SSD中。本文提出的Blaze就屬于半外部系統(tǒng)。

二、問題

8587359e-688f-11ee-939d-92fbcf53809c.png

盡管現(xiàn)在新興的快速NVMe SSD提供了比過去的SSD更高的帶寬,但是現(xiàn)有的半外部圖處理系統(tǒng)不能充分利用這些快速SSD帶來的性能提升。本文通過實驗(上圖)發(fā)現(xiàn)主要問題為IO利用率低下,可以看出在兩個代表性的半外部處理系統(tǒng)中除了BFS算法以外其他例程的執(zhí)行中IO帶寬(柱)都遠未達到快速SSD的最大帶寬(紅線)。

本文作者認為IO利用率低下的原因主要包含3個方面:計算傾斜、IO傾斜、IO快計算慢。

1. 計算傾斜

并行圖處理系統(tǒng)需要同步機制來避免并發(fā)更新算法相關(guān)的頂點數(shù)據(jù)時出現(xiàn)競爭?,F(xiàn)有的半外部圖處理系統(tǒng)FlashGraph采用消息機制來解決同步問題,它為每個頂點分配了一個消息隊列,并按照頂點ID將每個頂點分派給一個計算線程。圖算法迭代性地執(zhí)行,在執(zhí)行的每一個迭代中頂點間通過消息通信;在迭代結(jié)束的時候系統(tǒng)處理這些消息,并根據(jù)處理的結(jié)果更新頂點數(shù)據(jù)。

對于FlashGraph而言,由于圖結(jié)構(gòu)服從照冪律分布,一些線程需要比其他的處理更多消息,即計算傾斜。而(下一迭代的)IO必須得等待這種落伍線程完成處理才能開始??焖賁SD在本輪迭代中的IO操作很可能比這個落伍線程完成的早,導(dǎo)致其空閑。

下圖的實驗證明快速SSD(Optane SSD)相較于低速SSD(圖中NAND SSD)帶來的帶寬提升(紅線為磁盤最大讀取帶寬)確實造成了上述問題,造成了IO更多的空閑。

85a2838a-688f-11ee-939d-92fbcf53809c.png

2. IO傾斜

為了更大的容量和帶寬,一些半外部圖處理系統(tǒng)會將邊數(shù)據(jù)分布在多塊磁盤中。而當(dāng)IO負載不均的時候顯然會造成部分磁盤比其他磁盤完成IO更慢而造成其他磁盤的空閑。

另一個半外部圖處理系統(tǒng)Graphene采用了一種2D圖分區(qū)技術(shù)以將邊均勻地分配到每個分區(qū),并將這些分區(qū)均勻分布到多個磁盤上。盡管其分布均勻,但是Graphene在執(zhí)行采用了邊數(shù)據(jù)選擇性調(diào)度的算法的時候仍然受IO傾斜的影響。

下圖中的實驗證實了上述問題,圖中縱軸表示每輪迭代中各個磁盤間最大IO量減去最小IO量。盡管均勻分布的數(shù)據(jù)集可能有著低于1MB的傾斜,但對于其他冪律分布的圖則有著最大可達100MB的傾斜。

85b2ddc0-688f-11ee-939d-92fbcf53809c.png

3. IO快計算慢

Graphene為每個SSD分配了一個計算核心和一個IO核心,對于慢速SSD而言這樣的設(shè)計可以最大化IO帶寬;然而對于快速SSD而言這樣的設(shè)計導(dǎo)致計算速度比IO更慢,IO填滿緩沖區(qū)的速度比計算使用的速度更快,導(dǎo)致緩沖區(qū)填滿后IO必須等待新的緩沖區(qū)。

下圖中的實驗對比了計算的速度和存儲設(shè)備的讀取帶寬,可以看出計算的速度比快速SSD要慢得多,證明了上述問題。

85ce369c-688f-11ee-939d-92fbcf53809c.png

三、設(shè)計

1. Online binning

Blaze采用名為Online binning的機制應(yīng)對計算傾斜的問題。Bin是存儲在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu),存儲了多條bin record,而bin record則是包含頂點ID和一個數(shù)值。Blaze在算法執(zhí)行時根據(jù)目標(biāo)頂點ID和用戶定義的scatter函數(shù)的返回值創(chuàng)建bin record,然后對頂點ID取模計算出需要進入的bin ID。填滿的bin被推入名為full_bins的并發(fā)隊列,由gather線程取出處理。每個gather線程獨自處理一個填滿的bin,以避免同步開銷。

2. 頁面交織

為了應(yīng)對IO傾斜的問題,Blaze采用了頁面交織的存儲方式來存儲邊數(shù)據(jù)。頁面交織基本類似RAID 0的方式。Blaze將CSR格式存儲的邊數(shù)據(jù)以4KB粒度交織分布到多個SSD上。

3. Blaze整體執(zhí)行流程

85dbaf7a-688f-11ee-939d-92fbcf53809c.png

圖算法一般按迭代執(zhí)行,上圖提供了Blaze中每輪迭代中的處理流程。

作為輸入之一,算法程序會提供需要處理的頂點ID。為了接下來訪問各個頂點的邊列表,Blaze在第1步發(fā)動所有可用的線程將頂點ID集合轉(zhuǎn)換成其邊列表所在的磁盤頁面ID集合(即page frontier內(nèi)容)。轉(zhuǎn)換完成后根據(jù)其磁盤頁面ID從SSD中訪問數(shù)據(jù),寫入到空的IO buffer中,生成滿的IO buffer。Scatter線程取出填滿的IO buffer,計算并生成bin record裝入對應(yīng)的bin,并將用完的IO buffer還給空IO buffer池。Gather線程取出填滿的bin并處理,根據(jù)處理結(jié)果修改算法相關(guān)的頂點數(shù)據(jù)。最后返回下一個迭代所需要處理的頂點集合。

四、實驗評估

1. 實驗設(shè)置

實驗測試平臺是一臺單處理器Intel Xeon Gold 6230,20核心,禁用超線程),96GB內(nèi)存的機器,存儲配置了一塊960GB的快速SSD(Intel DC P4800X)。

對比的算法包含:BFS、PageRank、WCC、稀疏矩陣乘(SpMV)、BC。

數(shù)據(jù)集如下表所示:

85f980a4-688f-11ee-939d-92fbcf53809c.png

2. 系統(tǒng)對比

本文將Blaze與FlashGraph和Graphene分別作了對比計算了加速比,加速比如下圖所示(Graphene沒有實現(xiàn)BC算法所以沒做對比)。除了sk2005數(shù)據(jù)集中FlashGraph表現(xiàn)更優(yōu)以外總體都有一定提升。sk2005數(shù)據(jù)集上的處理有著更高的局部性,F(xiàn)lashGraph的LRU頁面緩存借此減少了存儲訪問,而Blaze并沒有針對頁面緩存做專門的優(yōu)化。

860d4210-688f-11ee-939d-92fbcf53809c.png

3. IO利用率

IO利用率的評估如下圖所示,可以看出Blaze的平均IO帶寬基本達到快速SSD的帶寬。

8618ede0-688f-11ee-939d-92fbcf53809c.png

4. 可擴展性

實驗表明Blaze的性能大致隨著核心數(shù)的增加而線性增長,除了少部分負載下(如sk2005上的BFS)較快地飽和了IO帶寬而不能擴張其性能。

862b70d2-688f-11ee-939d-92fbcf53809c.png

五、總結(jié)

本文提出了一個新的半外部圖處理系統(tǒng)Blaze。Blaze采用了全新的scatter-gather技術(shù),online binning,解決了現(xiàn)有半外部圖處理系統(tǒng)應(yīng)用快速SSD后不能充分利用其高帶寬的問題。






審核編輯:劉清

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

    關(guān)注

    68

    文章

    19382

    瀏覽量

    230461
  • CSR
    CSR
    +關(guān)注

    關(guān)注

    3

    文章

    118

    瀏覽量

    69672
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    21

    文章

    2870

    瀏覽量

    117580
  • BFS
    BFS
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2176

原文標(biāo)題:Blaze:低延遲SSD上的快速圖處理

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    EE-295:在SHARC處理實現(xiàn)延遲

    電子發(fā)燒友網(wǎng)站提供《EE-295:在SHARC處理實現(xiàn)延遲塊.pdf》資料免費下載
    發(fā)表于 01-06 14:34 ?0次下載
    EE-295:在SHARC<b class='flag-5'>處理</b>器<b class='flag-5'>上</b>實現(xiàn)<b class='flag-5'>延遲</b>塊

    PCIe延遲對系統(tǒng)性能的影響

    隨著技術(shù)的發(fā)展,計算機系統(tǒng)對性能的要求越來越高。PCIe作為連接處理器、內(nèi)存、存儲和其他外圍設(shè)備的關(guān)鍵接口,其性能直接影響到整個系統(tǒng)的表現(xiàn)。PCIe延遲,作為衡量數(shù)據(jù)傳輸效率的重要指標(biāo),對系統(tǒng)性
    的頭像 發(fā)表于 11-26 15:14 ?618次閱讀

    什么是SSD硬盤 SSD硬盤的優(yōu)勢和劣勢

    快速讀寫速度、低功耗、抗震動等優(yōu)點。 SSD硬盤的優(yōu)勢 快速讀寫速度 :SSD硬盤的讀寫速度遠高于傳統(tǒng)HDD,這得益于其內(nèi)部沒有機械部件,數(shù)據(jù)傳輸完全依賴于電子信號,因此可以實現(xiàn)幾乎即
    的頭像 發(fā)表于 11-23 09:34 ?457次閱讀

    邊緣計算對網(wǎng)絡(luò)延遲的影響

    延遲。而邊緣計算則將計算能力“邊緣化”,即將數(shù)據(jù)處理和分析的任務(wù)從云端遷移到網(wǎng)絡(luò)的邊緣,即用戶設(shè)備或靠近用戶的邊緣服務(wù)器。這樣,數(shù)據(jù)就可以在用戶端或附近的服務(wù)器上得到及時處理,從而
    的頭像 發(fā)表于 10-24 14:25 ?475次閱讀

    交互式延遲音頻解碼器

    普通音頻解碼器在處理音頻時可能會引入較高的延遲,通常適合于音樂播放或錄音等場景。而交互式延遲音頻解碼器則專為實時應(yīng)用設(shè)計,延遲通常在10毫
    的頭像 發(fā)表于 09-28 11:15 ?280次閱讀
    交互式<b class='flag-5'>低</b><b class='flag-5'>延遲</b>音頻解碼器

    TPS24711實現(xiàn)延遲插入和快速關(guān)斷的分立解決方案

    電子發(fā)燒友網(wǎng)站提供《TPS24711實現(xiàn)延遲插入和快速關(guān)斷的分立解決方案.pdf》資料免費下載
    發(fā)表于 09-25 09:44 ?4次下載
    TPS24711實現(xiàn)<b class='flag-5'>延遲</b>插入和<b class='flag-5'>快速</b>關(guān)斷的分立解決方案

    數(shù)字控制環(huán)路中測量單元的延遲信號鏈

    電子發(fā)燒友網(wǎng)站提供《數(shù)字控制環(huán)路中測量單元的延遲信號鏈.pdf》資料免費下載
    發(fā)表于 09-07 09:13 ?0次下載
    數(shù)字控制環(huán)路中測量單元的<b class='flag-5'>低</b><b class='flag-5'>延遲</b>信號鏈

    TLV3801有著非常延遲,輸入信號的電壓受限,如何處理這種情況?

    (LVDS,CMOS)。 看到TLV3801等芯片有著非常延遲,但是輸入信號的電壓受限。針對這種情況在比較器前端應(yīng)該如何調(diào)理
    發(fā)表于 08-02 06:24

    聊聊下一代企業(yè)級SSD外形EDSFF #EDSFF #SSD #硬盤抽取盒

    硬盤SSD
    ICY DOCK硬盤盒
    發(fā)布于 :2024年06月13日 17:15:19

    AI邊緣計算盒子優(yōu)勢有哪些?如何實現(xiàn)延遲處理?

    AI邊緣計算盒子作為一種集成人工智能技術(shù)的邊緣計算設(shè)備,其優(yōu)勢主要體現(xiàn)在以下幾個方面,萬物縱橫為您詳細介紹: 邊緣計算盒子 1. 延遲處理:AI邊緣計算盒子靠近數(shù)據(jù)產(chǎn)生源頭,能夠即時處理
    的頭像 發(fā)表于 05-09 16:07 ?716次閱讀
    AI邊緣計算盒子優(yōu)勢有哪些?如何實現(xiàn)<b class='flag-5'>低</b><b class='flag-5'>延遲</b><b class='flag-5'>處理</b>?

    晶體晶振在SSD的應(yīng)用

    晶體晶振在SSD的應(yīng)用SSD(SolidStateDisk)俗稱固態(tài)硬盤,是一種用于存儲數(shù)據(jù)的非易失性存儲設(shè)備,與傳統(tǒng)的機械硬盤(HDD)相比,具有更高的速度、更低的能耗和更好的可靠性。因此
    的頭像 發(fā)表于 04-30 16:03 ?536次閱讀
    晶體晶振在<b class='flag-5'>SSD</b><b class='flag-5'>上</b>的應(yīng)用

    靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-07 10:25 ?0次下載
    <b class='flag-5'>低</b>靜態(tài)電流、可編程<b class='flag-5'>延遲</b>監(jiān)控電路TPS3808數(shù)據(jù)表

    靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808E數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808E數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-01 10:36 ?0次下載
    <b class='flag-5'>低</b>靜態(tài)電流、可編程<b class='flag-5'>延遲</b>監(jiān)控電路TPS3808E數(shù)據(jù)表

    靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808-EP數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808-EP數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-14 10:07 ?0次下載
    <b class='flag-5'>低</b>靜態(tài)電流、可編程<b class='flag-5'>延遲</b>監(jiān)控電路TPS3808-EP數(shù)據(jù)表

    靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808E數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《靜態(tài)電流、可編程延遲監(jiān)控電路TPS3808E數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-14 10:06 ?0次下載
    <b class='flag-5'>低</b>靜態(tài)電流、可編程<b class='flag-5'>延遲</b>監(jiān)控電路TPS3808E數(shù)據(jù)表