• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法及裝置、介質(zhì)制造方法及圖紙

    技術(shù)編號:36696021 閱讀:27 留言:0更新日期:2023-02-27 20:08
    本發(fā)明專利技術(shù)公開了一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法及裝置、介質(zhì)。該方法依據(jù)輪次訓(xùn)練時預(yù)先生成的隨機(jī)序列,在一個訓(xùn)練步驟中需要跨節(jié)點(diǎn)訪問訓(xùn)練所需的樣本時,查看當(dāng)前步驟以及后續(xù)步驟所需的其他樣本是否也存在于目標(biāo)節(jié)點(diǎn)中,如果存在則將其一次性讀取過來。本發(fā)明專利技術(shù)減少了訓(xùn)練過程中跨節(jié)點(diǎn)訪問的次數(shù)帶來的性能開銷,有助于提升訓(xùn)練的總體性能。有助于提升訓(xùn)練的總體性能。有助于提升訓(xùn)練的總體性能。

    【技術(shù)實(shí)現(xiàn)步驟摘要】
    一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法及裝置、介質(zhì)


    [0001]本專利技術(shù)涉及人工智能領(lǐng)域,尤其涉及一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法及裝置、介質(zhì)。

    技術(shù)介紹

    [0002]深度學(xué)習(xí)訓(xùn)練使用隨機(jī)梯度下降算法,一般需要進(jìn)行若干個輪次。每個輪次依據(jù)一個預(yù)先生成的隨機(jī)序列遍歷整個數(shù)據(jù)集樣本,遍歷分為多個步驟,每個步驟遍歷一批樣本。在分布式訓(xùn)練中,使用多個計算節(jié)點(diǎn),對每一個步驟中的一批樣本,將其均分到各個計算節(jié)點(diǎn),各計算節(jié)點(diǎn)分配到的樣本稱為本地批,各計算節(jié)點(diǎn)對本地批樣本特征根據(jù)訓(xùn)練模型進(jìn)行計算并更新參數(shù),然后再互相進(jìn)行同步,完成一個訓(xùn)練步驟。計算節(jié)點(diǎn)共享一個基于并行文件系統(tǒng)的存儲系統(tǒng),稱為共享存儲,對分配的本地批樣本,各計算節(jié)點(diǎn)從共享存儲讀取樣本數(shù)據(jù)進(jìn)行訓(xùn)練。
    [0003]目前,深度學(xué)習(xí)訓(xùn)練需要的數(shù)據(jù)集越來越龐大,同時計算節(jié)點(diǎn)可以擴(kuò)展到幾百或幾千個。節(jié)點(diǎn)數(shù)增多有助于減少計算過程耗時,但是由于共享存儲帶寬有上限,當(dāng)節(jié)點(diǎn)數(shù)增多到一定數(shù)量時,從共享存儲讀取數(shù)據(jù)成為制約訓(xùn)練性能的瓶頸。為解決這個瓶頸問題,計算節(jié)點(diǎn)在本地配備了高速存儲器比如SSD,作為本地緩存,在訓(xùn)練時先將數(shù)據(jù)從共享存儲加載到本地緩存,后續(xù)的輪次訓(xùn)練均從本地緩存讀取數(shù)據(jù)。然而,由于單個節(jié)點(diǎn)緩存無法容納整個數(shù)據(jù)集,因此數(shù)據(jù)集以分片的方式分散存儲在各個節(jié)點(diǎn)的緩存,形成一個分布式緩存系統(tǒng),每個節(jié)點(diǎn)緩存保存整體數(shù)據(jù)集的一部分。在訓(xùn)練的時候,當(dāng)需要的數(shù)據(jù)不在本節(jié)點(diǎn)緩存時,就從其他節(jié)點(diǎn)獲取。然而,當(dāng)節(jié)點(diǎn)數(shù)增多時,頻繁的的跨節(jié)點(diǎn)訪問帶來的開銷又成為新的需要解決的問題。r/>[0004]當(dāng)前已有的對跨節(jié)點(diǎn)開銷的解決方案是根據(jù)本地緩存的內(nèi)容,對隨機(jī)序列進(jìn)行重排,以盡量使用本地緩存已有的數(shù)據(jù)進(jìn)行訓(xùn)練。這種有目的的重排提升了本地緩存命中率,減少了跨節(jié)點(diǎn)訪問,但是由于改變了訓(xùn)練序列的隨機(jī)性,會影響訓(xùn)練結(jié)果的準(zhǔn)確度。

    技術(shù)實(shí)現(xiàn)思路

    [0005]本專利技術(shù)的目的在于針對現(xiàn)有技術(shù)分布式緩存跨節(jié)點(diǎn)訪問開銷大的問題,提供一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法及裝置、介質(zhì)。
    [0006]本專利技術(shù)的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:本專利技術(shù)實(shí)施例第一方面提供了一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法,包括以下步驟:(1)將數(shù)據(jù)集從共享存儲系統(tǒng)加載到各計算節(jié)點(diǎn)的本地緩存,每個計算節(jié)點(diǎn)保存所述數(shù)據(jù)集的一部分,所有計算節(jié)點(diǎn)共同保存了所述數(shù)據(jù)集的全部數(shù)據(jù)樣本,將所述數(shù)據(jù)樣本按照順序進(jìn)行編號,將所述計算節(jié)點(diǎn)按照順序進(jìn)行編號;(2)根據(jù)隨機(jī)序列進(jìn)行輪次訓(xùn)練,一個輪次訓(xùn)練分為若干步驟,每個步驟訓(xùn)練一個批次的樣本,批次樣本會分發(fā)到各本地節(jié)點(diǎn),稱為本地批樣本;(3)計算節(jié)點(diǎn)A對分發(fā)到本節(jié)點(diǎn)的所述本地批樣本進(jìn)行訓(xùn)練,若所述本地批樣本中
    的數(shù)據(jù)未在本計算節(jié)點(diǎn)緩存,而在另一個計算節(jié)點(diǎn)B緩存,則所述計算節(jié)點(diǎn)A通過網(wǎng)絡(luò)從所述計算節(jié)點(diǎn)B中獲取目標(biāo)樣本;(4)所述計算節(jié)點(diǎn)A從所述計算節(jié)點(diǎn)B獲取所述本地批樣本的目標(biāo)樣本時,同時根據(jù)映射方法查看所述計算節(jié)點(diǎn)B中是否存在所述計算節(jié)點(diǎn)A在當(dāng)前步驟或后續(xù)步驟所需的樣本,若存在,將這些樣本與目標(biāo)樣本的編號組成一個請求發(fā)送給所述計算節(jié)點(diǎn)B,所述計算節(jié)點(diǎn)B收到請求后將對應(yīng)的數(shù)據(jù)組成一個結(jié)果返回給所述計算節(jié)點(diǎn)A,所述計算節(jié)點(diǎn)A將除當(dāng)前步驟所需樣本外的其他樣本數(shù)據(jù)暫存在本地的暫存區(qū);若不存在,則只獲取所述目標(biāo)樣本;(5)后續(xù)批次訓(xùn)練中,所述計算節(jié)點(diǎn)需要預(yù)取來的樣本時,通過索引表進(jìn)行訪問,直接從所述暫存區(qū)讀取,從所述暫存區(qū)讀取樣本后,將樣本從所述暫存區(qū)刪除,以將對應(yīng)的存儲空間釋放。
    [0007]進(jìn)一步地,所述映射方法具體為:根據(jù)所述數(shù)據(jù)樣本的編號映射到所述數(shù)據(jù)樣本所在的計算節(jié)點(diǎn)。
    [0008]進(jìn)一步地,所述索引表用于記錄預(yù)取來的樣本在所述暫存區(qū)中的位置,還用于指示樣本數(shù)據(jù)是否暫存在所述暫存區(qū)。
    [0009]進(jìn)一步地,所述計算節(jié)點(diǎn)A通過批量訪問接口將需要預(yù)取的樣本與目標(biāo)樣本的編號組成一個請求發(fā)送給所述計算節(jié)點(diǎn)B,所述批量訪問接口將多個訪問請求組成一個訪問請求。
    [0010]進(jìn)一步地,所述方法包括并行請求方法,具體為:所述計算節(jié)點(diǎn)對當(dāng)前步驟中需要預(yù)取的樣本按照所述計算節(jié)點(diǎn)進(jìn)行歸屬,對不同計算節(jié)點(diǎn)的樣本批量預(yù)取并行執(zhí)行。
    [0011]進(jìn)一步地,所述計算節(jié)點(diǎn)在跨節(jié)點(diǎn)訪問時根據(jù)系統(tǒng)資源情況決定讀取當(dāng)前或后續(xù)的步驟數(shù)量,將該數(shù)量稱為預(yù)取深度,所述預(yù)取深度大于等于0,小于等于輪次訓(xùn)練的總步驟數(shù)。
    [0012]進(jìn)一步地,所述預(yù)取深度根據(jù)訓(xùn)練環(huán)境情況配置,所述計算節(jié)點(diǎn)預(yù)取樣本時向前查看的步驟不超過所述預(yù)取深度。
    [0013]進(jìn)一步地,所述計算節(jié)點(diǎn)在批次訓(xùn)練的步驟中,根據(jù)所述計算節(jié)點(diǎn)本地的可用存儲空間及各個目標(biāo)節(jié)點(diǎn)上的最大樣本的尺寸,調(diào)整批量預(yù)取的數(shù)量。
    [0014]本專利技術(shù)實(shí)施例第二方面提供了一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的裝置,包括一個或多個處理器,用于實(shí)現(xiàn)上述的提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法。
    [0015]本專利技術(shù)實(shí)施例第三方面提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有程序,該程序被處理器執(zhí)行時,用于實(shí)現(xiàn)上述的提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法。
    [0016]本專利技術(shù)的有益效果是,本專利技術(shù)通過使用分布式緩存進(jìn)行深度學(xué)習(xí)訓(xùn)練,能夠?qū)⒍鄠€跨節(jié)點(diǎn)訪問通過一次跨節(jié)點(diǎn)訪問完成,減少跨節(jié)點(diǎn)訪問開銷對深度學(xué)習(xí)訓(xùn)練效率造成的影響;并且能夠通過訓(xùn)練環(huán)境情況配置預(yù)取深度,避免預(yù)取過深造成的副作用;同時能夠根據(jù)系統(tǒng)資源調(diào)節(jié)預(yù)取數(shù)量,避免預(yù)取過來的數(shù)據(jù)無處存放。另外,本專利技術(shù)提供的預(yù)取系統(tǒng),在一個訓(xùn)練步驟中需要對多個節(jié)點(diǎn)跨節(jié)點(diǎn)訪問時,能夠通過并行請求執(zhí)行多個跨節(jié)點(diǎn)訪問請求,進(jìn)一步減少跨節(jié)點(diǎn)訪問帶來的開銷,有助于提升跨節(jié)點(diǎn)訪問的性能。
    附圖說明
    [0017]圖1展示數(shù)據(jù)集從共享存儲加載到計算節(jié)點(diǎn)本地SSD緩存的示意圖,加載完成后各節(jié)點(diǎn)各自緩存了數(shù)據(jù)集的一部分;圖2展示了一個輪次的隨機(jī)序列分配到本地批后的命中狀態(tài),灰色背景代表在本地命中的樣本;圖3展示了對第一個批次進(jìn)行訓(xùn)練時跨節(jié)點(diǎn)訪問示例,以及跨節(jié)點(diǎn)時可進(jìn)行預(yù)取的數(shù)據(jù),其中,節(jié)點(diǎn)B和節(jié)點(diǎn)C處的粗線條表示一次讀取超過一個樣本;圖4展示了節(jié)點(diǎn)并行訪問的示例;圖5展示了跨節(jié)點(diǎn)批量訪問接口的實(shí)現(xiàn)形式;圖6展示了暫存區(qū)索引示意圖;圖7為本專利技術(shù)提升分布式緩存跨節(jié)點(diǎn)訪問性能的裝置的一種結(jié)構(gòu)示意圖。
    具體實(shí)施方式
    [0018]下面根據(jù)圖1
    ?
    圖7詳細(xì)說明本專利技術(shù)。
    [0019]本專利技術(shù)提出了一種提升深度學(xué)習(xí)訓(xùn)練分布式緩存跨節(jié)點(diǎn)訪問性能的方法,具體包括以下步驟:(1)將數(shù)據(jù)集從共享存儲系統(tǒng)加載到各計算節(jié)點(diǎn)的本地緩存,每個計算節(jié)點(diǎn)保存數(shù)據(jù)集的一部分,所有計算節(jié)點(diǎn)共同保存了數(shù)據(jù)集的全部數(shù)據(jù)樣本,將數(shù)據(jù)樣本按照順序進(jìn)行編號,將計算節(jié)點(diǎn)按照順序進(jìn)行編號。
    [0020]可選地,各計算節(jié)點(diǎn)基于MPI通信進(jìn)行分布式訓(xùn)練,可根據(jù)MPI分配的rank號作為各計算節(jié)點(diǎn)的編號。
    [0021]進(jìn)一步可選地,對數(shù)據(jù)樣本進(jìn)行編號,然后根據(jù)特定的哈希算法決定一個數(shù)據(jù)樣本應(yīng)該加載到哪個rank節(jié)點(diǎn)上,如此各計本文檔來自技高網(wǎng)...

    【技術(shù)保護(hù)點(diǎn)】

    【技術(shù)特征摘要】
    1.一種提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法,其特征在于,包括以下步驟:(1)將數(shù)據(jù)集從共享存儲系統(tǒng)加載到各計算節(jié)點(diǎn)的本地緩存,每個計算節(jié)點(diǎn)保存所述數(shù)據(jù)集的一部分,所有計算節(jié)點(diǎn)共同保存了所述數(shù)據(jù)集的全部數(shù)據(jù)樣本,將所述數(shù)據(jù)樣本按照順序進(jìn)行編號,將所述計算節(jié)點(diǎn)按照順序進(jìn)行編號;(2)根據(jù)隨機(jī)序列進(jìn)行輪次訓(xùn)練,一個輪次訓(xùn)練分為若干步驟,每個步驟訓(xùn)練一個批次的樣本,批次樣本會分發(fā)到各本地節(jié)點(diǎn),稱為本地批樣本;(3)計算節(jié)點(diǎn)A對分發(fā)到本節(jié)點(diǎn)的所述本地批樣本進(jìn)行訓(xùn)練,若所述本地批樣本中的數(shù)據(jù)未在本計算節(jié)點(diǎn)緩存,而在另一個計算節(jié)點(diǎn)B緩存,則所述計算節(jié)點(diǎn)A通過網(wǎng)絡(luò)從所述計算節(jié)點(diǎn)B中獲取目標(biāo)樣本;(4)所述計算節(jié)點(diǎn)A從所述計算節(jié)點(diǎn)B獲取所述本地批樣本的目標(biāo)樣本時,同時根據(jù)映射方法查看所述計算節(jié)點(diǎn)B中是否存在所述計算節(jié)點(diǎn)A在當(dāng)前步驟或后續(xù)步驟所需的樣本,若存在,將這些樣本與目標(biāo)樣本的編號組成一個請求發(fā)送給所述計算節(jié)點(diǎn)B,所述計算節(jié)點(diǎn)B收到請求后將對應(yīng)的數(shù)據(jù)組成一個結(jié)果返回給所述計算節(jié)點(diǎn)A,所述計算節(jié)點(diǎn)A將除當(dāng)前步驟所需樣本外的其他樣本數(shù)據(jù)暫存在本地的暫存區(qū);若不存在,則只獲取所述目標(biāo)樣本;(5)后續(xù)批次訓(xùn)練中,所述計算節(jié)點(diǎn)需要預(yù)取來的樣本時,通過索引表進(jìn)行訪問,直接從所述暫存區(qū)讀取,從所述暫存區(qū)讀取樣本后,將樣本從所述暫存區(qū)刪除,以將對應(yīng)的存儲空間釋放。2.根據(jù)權(quán)利要求1所述的提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法,其特征在于,所述映射方法具體為:根據(jù)所述數(shù)據(jù)樣本的編號映射到所述數(shù)據(jù)樣本所在的計算節(jié)點(diǎn)。3.根據(jù)權(quán)利要求1所述的提升分布式緩存跨節(jié)點(diǎn)訪問性能的方法,其特征在于,所述索引表用于記錄預(yù)取來的樣本在所述暫存區(qū)中的位置,...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:梅飛陳起劉鵬劉鑫
    申請(專利權(quán))人:無錫江南計算技術(shù)研究所
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 无码h黄动漫在线播放网站| 波多野结AV衣东京热无码专区| 国内精品人妻无码久久久影院导航 | 日韩AV无码一区二区三区不卡| 国产精品无码一二区免费| 中出人妻中文字幕无码| 一本久道综合在线无码人妻| 亚洲av无码天堂一区二区三区| 无码AV波多野结衣久久| 极品粉嫩嫩模大尺度无码视频 | 在线无码视频观看草草视频| 亚洲av无码无在线观看红杏| 无码国模国产在线观看| 无码区国产区在线播放| 亚洲AV无码专区日韩| 久久亚洲日韩看片无码| 亚洲中文字幕无码不卡电影 | 寂寞少妇做spa按摩无码| 人妻少妇精品无码专区漫画| 久久精品成人无码观看56 | 惠民福利中文字幕人妻无码乱精品 | 麻豆aⅴ精品无码一区二区| 国产啪亚洲国产精品无码| 人妻中文字幕AV无码专区| 亚洲成无码人在线观看| 国产AV无码专区亚汌A√| 久久久久亚洲?V成人无码| 国产成人无码精品久久久小说| 中文字幕无码亚洲欧洲日韩| 无码日韩精品一区二区免费暖暖 | 日韩精品无码区免费专区| 日韩乱码人妻无码系列中文字幕| 国产成人无码专区| 国产精品无码素人福利| 国产精品成人无码久久久久久| 无码日韩人妻AV一区二区三区| 一本大道久久东京热无码AV| 深夜a级毛片免费无码| 亚洲不卡无码av中文字幕| 亚洲精品一级无码鲁丝片| mm1313亚洲精品无码又大又粗|