• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于GPU 直訪存儲(chǔ)架構(gòu)的推薦模型預(yù)估系統(tǒng)

    2024-03-23 08:04:20謝旻暉陸游游馮楊洋舒繼武
    關(guān)鍵詞:預(yù)估內(nèi)存架構(gòu)

    謝旻暉 陸游游 馮楊洋 舒繼武

    (清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系 北京 100084)

    我們正身處一個(gè)信息過(guò)載的時(shí)代,全球內(nèi)容生產(chǎn)呈指數(shù)型增長(zhǎng):新浪微博每天產(chǎn)生1.17 億條微博[1],快手每天有千萬(wàn)條新發(fā)布的短視頻[2].在如此龐大的規(guī)模下,用戶很難從中找到自己可能感興趣的內(nèi)容.推薦系統(tǒng)負(fù)責(zé)從中篩選出可能感興趣的內(nèi)容個(gè)性化地推薦給每個(gè)用戶,被認(rèn)為是解決信息過(guò)載的有效手段.近年來(lái),隨著深度學(xué)習(xí)的快速發(fā)展,新型深度學(xué)習(xí)模型[3-6]已廣泛應(yīng)用至現(xiàn)代推薦系統(tǒng)之中,顯著提升了個(gè)性化推薦的準(zhǔn)確率.根據(jù)Meta 公司的統(tǒng)計(jì)[3],推薦模型預(yù)估(inference)耗時(shí)在其數(shù)據(jù)中心的人工智能服務(wù)總耗時(shí)的占比高達(dá)80%.因此,推薦模型預(yù)估系統(tǒng)設(shè)計(jì)已成為數(shù)據(jù)中心人工智能系統(tǒng)設(shè)計(jì)中的一個(gè)關(guān)鍵問(wèn)題.

    與計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理中的計(jì)算密集型深度學(xué)習(xí)模型不同,推薦模型包含一個(gè)巨大且訪存密集的嵌入層(embedding layer).該嵌入層用于映射對(duì)應(yīng)輸入的特征ID 至低維嵌入?yún)?shù)(embedding vector),由于推薦模型接受的輸入包含海量高維稀疏的特征ID(例如用戶ID、近期觀看過(guò)的視頻ID),而深度神經(jīng)網(wǎng)絡(luò)無(wú)法直接從高維稀疏特征中學(xué)習(xí).所有低維嵌入?yún)?shù)拼接后,一同輸入深度神經(jīng)網(wǎng)絡(luò)擬合樣本標(biāo)簽.由于特征交叉技術(shù)[5]的廣泛使用與每個(gè)特征本身的海量ID 空間,嵌入層中包含的參數(shù)可多達(dá)千億級(jí),占模型總體參數(shù)的99.99%以上[7].受限于GPU 的內(nèi)存大小,嵌入?yún)?shù)通常存儲(chǔ)在內(nèi)存(dynamic RAM,DRAM)與固態(tài)硬盤(solid state disk,SSD)等較為廉價(jià)的硬件資源上[8-10].

    現(xiàn)有推薦模型預(yù)估系統(tǒng)[11]依賴于CPU 對(duì)存儲(chǔ)資源上的嵌入?yún)?shù)進(jìn)行訪問(wèn)(后文稱為基于CPU 訪問(wèn)存儲(chǔ)架構(gòu)).具體地,由CPU 接收經(jīng)GPU 去重后的特征ID,訪問(wèn)相應(yīng)DRAM 或SSD 獲得嵌入?yún)?shù)后,再將所需嵌入?yún)?shù)額外聚集(gather)到一塊連續(xù)的內(nèi)存空間,通過(guò)直接存儲(chǔ)器訪問(wèn)(direct memory access,DMA)引擎?zhèn)鬏斨罣PU.GPU 收到嵌入?yún)?shù)后,完成后續(xù)的神經(jīng)網(wǎng)絡(luò)計(jì)算任務(wù).

    然而,我們發(fā)現(xiàn)該架構(gòu)存在2 個(gè)問(wèn)題:一方面,GPU 所需的任何數(shù)據(jù)均需交由CPU 訪問(wèn)再傳回GPU,CPU 和GPU 的頻繁交互帶來(lái)的通信開(kāi)銷增加了參數(shù)訪問(wèn)的時(shí)延;另一方面,聚集操作引入的額外內(nèi)存拷貝消耗了CPU 資源與內(nèi)存帶寬,為訪存密集的嵌入層帶來(lái)了嚴(yán)重的性能損失.

    針對(duì)上述問(wèn)題,本文提出一種基于GPU 直訪存儲(chǔ)架構(gòu)的推薦模型預(yù)估系統(tǒng)GDRec.GDRec 的核心思想是在嵌入?yún)?shù)的訪問(wèn)路徑上移除CPU 參與,由GPU 通過(guò)零拷貝的方式直接訪問(wèn)DRAM,SSD 等存儲(chǔ)資源,以減少主機(jī)端CPU 與DRAM 的開(kāi)銷.具體地,GDRec 包含2 個(gè)直訪存儲(chǔ)機(jī)制:內(nèi)存直訪機(jī)制(用于訪問(wèn)位于DRAM 上的參數(shù))與外存直訪機(jī)制(用于訪問(wèn)位于SSD 上的參數(shù)).

    內(nèi)存直訪機(jī)制利用設(shè)備商提供的統(tǒng)一虛擬地址(unified virtual address,UVA)特性[12],將嵌入?yún)?shù)所在的DRAM 內(nèi)存區(qū)域映射至GPU 內(nèi)存虛擬地址空間.由此,GPU 核心函數(shù)(kernel)可以繞過(guò)主機(jī)端CPU,直接通過(guò)load/store 指令以字節(jié)粒度直接訪問(wèn)DRAM.由于跨PCIe 總線訪問(wèn)主機(jī)DRAM 內(nèi)存有一定開(kāi)銷,GDRec 進(jìn)一步地提出訪問(wèn)合并與訪問(wèn)對(duì)齊2 個(gè)優(yōu)化,通過(guò)調(diào)度GPU 線程讀取嵌入?yún)?shù)的方式,盡可能減少GPU 發(fā)出的PCIe 事務(wù)數(shù)量.

    外存直訪機(jī)制在GPU上實(shí)現(xiàn)了一個(gè)類似于存儲(chǔ)性能開(kāi)發(fā)套件(storage performance development kit, SPDK)[13]的用戶態(tài)NVMe(non-volatile memory express)驅(qū)動(dòng)程序,允許GPU 線程直接向SSD 提交讀寫請(qǐng)求,同時(shí)也允許SSD 通過(guò)DMA 引擎將讀取到的硬盤數(shù)據(jù)直接寫入GPU 內(nèi)存.整個(gè)過(guò)程無(wú)需主機(jī)端的CPU 與內(nèi)存參與.

    在每次推薦模型的預(yù)估過(guò)程中,GDRec 首先利用GPU 高效地將特征ID 去重,然后根據(jù)對(duì)應(yīng)的嵌入?yún)?shù)所在的位置將請(qǐng)求分流至內(nèi)存直訪機(jī)制與外存直訪機(jī)制.待所有嵌入?yún)?shù)的讀取請(qǐng)求完成后,類似于傳統(tǒng)的預(yù)估系統(tǒng),GDRec 進(jìn)行后續(xù)的神經(jīng)網(wǎng)絡(luò)計(jì)算.

    我們?cè)? 個(gè)公開(kāi)的點(diǎn)擊率預(yù)估數(shù)據(jù)集上進(jìn)行了測(cè)試,實(shí)驗(yàn)表明:與NVIDIA 公司深度優(yōu)化的推薦模型預(yù)估系統(tǒng)HugeCTR[11](HugeCTR-Inference)相比,GDRec 可以提升超過(guò)1 個(gè)數(shù)量級(jí)的吞吐量;相比于使用SPDK 高度優(yōu)化后的HugeCTR,GDRec 仍有多達(dá)1.9 倍的吞吐量提升.

    綜上所述,本文的主要貢獻(xiàn)有3 個(gè)方面:

    1) 分析了現(xiàn)有推薦模型預(yù)估系統(tǒng)(基于CPU 訪問(wèn)存儲(chǔ)架構(gòu))的性能問(wèn)題;

    2) 提出了一種基于GPU 直訪存儲(chǔ)架構(gòu)的推薦模型預(yù)估系統(tǒng)GDRec,其包含內(nèi)存直訪與外存直訪2 個(gè)機(jī)制,分別使能GPU 直訪DRAM 與SSD 上的參數(shù);

    3) 使用實(shí)驗(yàn)說(shuō)明GDRec 設(shè)計(jì)的有效性,特別地,在3 個(gè)公開(kāi)的點(diǎn)擊率預(yù)估數(shù)據(jù)集上,GDRec 在性能上優(yōu)于高度優(yōu)化后的基于CPU 訪問(wèn)存儲(chǔ)的同類系統(tǒng),吞吐提升多達(dá)1.9 倍.

    1 背景介紹與研究動(dòng)機(jī)

    本節(jié)主要介紹深度學(xué)習(xí)推薦模型的基本結(jié)構(gòu)與現(xiàn)有預(yù)估系統(tǒng)的主要處理流程,同時(shí)分析現(xiàn)有系統(tǒng)使用CPU 訪問(wèn)存儲(chǔ)架構(gòu)導(dǎo)致的性能問(wèn)題.

    1.1 深度學(xué)習(xí)推薦模型結(jié)構(gòu)

    自微軟公司的Deep Cross[6]與谷歌公司的Wide&Deep 模型[5]發(fā)布以來(lái),推薦模型已全面步入深度學(xué)習(xí)時(shí)代.與傳統(tǒng)機(jī)器學(xué)習(xí)模型相比,深度學(xué)習(xí)推薦模型的表達(dá)能力更強(qiáng),可以挖掘出用戶(user)與物品(item)之間更深層次的聯(lián)系,從而更好地推測(cè)出用戶的喜好.

    深度學(xué)習(xí)推薦模型的輸入特征主要包含2 種類型:稠密特征和稀疏特征.稠密特征亦稱數(shù)值型特征、連續(xù)特征,指具有數(shù)值意義的特征,如用戶的年齡、商品被訪問(wèn)的次數(shù)等;稀疏特征亦稱類別型特征、ID 型特征,指如用戶ID、視頻ID 列表等以獨(dú)熱(onehot)或多熱(multi-hot)形式存在的高維特征.稀疏特征一般被編碼為ID 的列表,如某用戶近期觀看過(guò)的視頻為[視頻ID1, 視頻ID4, 視頻ID5].

    圖1 展示了典型的深度學(xué)習(xí)推薦模型結(jié)構(gòu),它由2 個(gè)部分組成:嵌入層(embedding)與多層感知機(jī)(multi-layer perceptrons,MLP).由于深度神經(jīng)網(wǎng)絡(luò)無(wú)法直接從高維稀疏特征中學(xué)習(xí)[14],嵌入層用于將稀疏特征映射至稠密的嵌入?yún)?shù).具體地,嵌入層由多個(gè)嵌入表(embedding table)組成,如用戶、視頻嵌入表.每個(gè)表用于映射對(duì)應(yīng)的輸入特征ID 至低維嵌入?yún)?shù),嵌入?yún)?shù)的維度稱為嵌入維度(embedding dimension),映射的過(guò)程類似于哈希表查詢.在嵌入層映射完稀疏特征后,所有嵌入?yún)?shù)會(huì)與樣本中的稠密特征拼接,得到包含樣本所有特征的特征向量.模型將特征向量輸入MLP,MLP 對(duì)特征向量各個(gè)維度進(jìn)行復(fù)雜的交叉組合,最后擬合樣本的標(biāo)簽(例如某用戶是否可能觀看某視頻).典型的工業(yè)級(jí)推薦模型神經(jīng)網(wǎng)絡(luò)包括:Wide&Deep[5],DeepFM[15],DCN[16],DIN[17],DIEN[18].各模型在具體模型結(jié)構(gòu)上有所不同,但模型主體結(jié)構(gòu)都符合embedding 和MLP 兩個(gè)部分的結(jié)構(gòu).

    圖1 深度學(xué)習(xí)推薦模型結(jié)構(gòu)Fig.1 Structure of deep learning recommendation model

    從圖1 還可以看到,深度學(xué)習(xí)推薦模型的參數(shù)可分為2 類:稀疏參數(shù)(由嵌入層組成,用于處理稀疏特征)與稠密參數(shù)(由MLP 層組成,用于處理稠密特征與稀疏特征經(jīng)嵌入表映射后的中間結(jié)果).這2 類參數(shù)在計(jì)算模式與存儲(chǔ)特征上有著本質(zhì)的區(qū)別.對(duì)于計(jì)算模式,只有樣本包含的特征ID 涉及到的一部分稀疏參數(shù)會(huì)參與計(jì)算,而全部的稠密參數(shù)都會(huì)參與計(jì)算;對(duì)于存儲(chǔ)特征,稠密參數(shù)通常只有百兆級(jí),而稀疏參數(shù)可多達(dá)千億級(jí),這一方面是由于每個(gè)稀疏特征ID 空間巨大,另一方面也由于廣泛使用的特征交叉技術(shù)[5]可以將多個(gè)特征做笛卡兒積(Cartesian product),從而形成ID 空間更大的新特征.

    許多公司報(bào)告(如阿里巴巴[19]、Meta[3]),在它們生產(chǎn)環(huán)境的模型中,嵌入層通常占據(jù)模型端到端預(yù)估的時(shí)延60%以上.其原因在于嵌入層引入了大量對(duì)存儲(chǔ)資源的隨機(jī)訪問(wèn).因此,針對(duì)嵌入層的系統(tǒng)設(shè)計(jì)與優(yōu)化是提升推薦模型預(yù)估系統(tǒng)性能的關(guān)鍵所在.

    1.2 傳統(tǒng)架構(gòu)及其問(wèn)題分析

    文獻(xiàn)[2,7,20]表明,更大的參數(shù)量往往能帶來(lái)更好的推薦質(zhì)量,在過(guò)去幾年中,推薦模型參數(shù)量級(jí)已從百億級(jí)迅速膨脹至千億級(jí),海量參數(shù)使得純內(nèi)存存儲(chǔ)方案成本過(guò)高.另一方面,隨著Optane 等高速存儲(chǔ)介質(zhì)的發(fā)展,現(xiàn)代高性能SSD 的平均延遲不斷降低.例如,Intel 公司在2018 年推出的905P SSD 的4 KB隨機(jī)讀延遲僅為10 μs.為了提高存儲(chǔ)性價(jià)比,學(xué)術(shù)界與工業(yè)界的許多工作[7-8,10,21-23]都已遷移至內(nèi)存外存混合存儲(chǔ)方案.針對(duì)1.1 節(jié)所述的推薦模型結(jié)構(gòu)與稠密、稀疏參數(shù)在計(jì)算、存儲(chǔ)上的特點(diǎn),現(xiàn)有推薦系統(tǒng)比較通用的做法是將稠密參數(shù)緩存在GPU 的內(nèi)存中,而將稀疏參數(shù)存儲(chǔ)在DRAM,SSD 等相對(duì)廉價(jià)存儲(chǔ)介質(zhì)中.

    如圖2 所示,現(xiàn)有系統(tǒng)采用基于CPU 訪問(wèn)存儲(chǔ)架構(gòu).一次典型的預(yù)估處理流程為:

    圖2 典型預(yù)估流程Fig.2 Typical inference process

    ①去重.一次預(yù)估輸入往往包含一批樣本,其中樣本包含大量重復(fù)的特征ID[11].CPU 會(huì)首先將所有特征ID 傳輸給GPU,由GPU 將特征ID 去重.得益于GPU 的高并行性,GPU 去重可以獲得比CPU 去重更好的性能.

    ②查詢.GPU 將去重后的特征ID 傳輸回CPU,CPU 根據(jù)去重后的特征ID,查取DRAM 以及SSD 上的嵌入表,得到特征ID 對(duì)應(yīng)的嵌入?yún)?shù).

    ③聚集.CPU 將上一步查詢得到的嵌入?yún)?shù)聚集至DRAM 內(nèi)存上一塊連續(xù)的區(qū)域,再傳輸給GPU.

    ④神經(jīng)網(wǎng)絡(luò)計(jì)算.GPU 將嵌入?yún)?shù)與樣本中的稠密特征拼接,輸入MLP 計(jì)算,得到最后的預(yù)估結(jié)果.

    然而,我們發(fā)現(xiàn)該架構(gòu)存在2 個(gè)問(wèn)題:

    1) CPU 與GPU 之間的通信開(kāi)銷大.如圖2 所示,GPU 需要將訪問(wèn)相關(guān)的元數(shù)據(jù)(即去重后的ID)傳輸至CPU,CPU 訪問(wèn)存儲(chǔ)資源得到數(shù)據(jù)后,再傳輸回GPU.2 次通信交互均涉及到GPU 上DMA 引擎的啟動(dòng)、同步,以及包含數(shù)次用戶態(tài)-內(nèi)核態(tài)切換,這些開(kāi)銷增加了嵌入層參數(shù)訪問(wèn)的時(shí)延.

    2) 聚集操作引入的額外拷貝,消耗了CPU 資源與內(nèi)存帶寬,同時(shí)增加了嵌入層的時(shí)延.為了便于GPU 上的DMA 引擎拷貝,CPU 需將訪問(wèn)得到的嵌入?yún)?shù)額外聚集至一塊連續(xù)的內(nèi)存空間,再由DMA 引擎?zhèn)鬏斀oGPU.這一步額外的拷貝帶來(lái)了3 方面弊端.首先,浪費(fèi)寶貴的CPU 資源,除處理嵌入層外,CPU 還需服務(wù)于網(wǎng)絡(luò)棧、模型預(yù)處理等過(guò)程.CPU 訪問(wèn)存儲(chǔ)架構(gòu)浪費(fèi)了一部分CPU 資源用于訪問(wèn)存儲(chǔ)、嵌入?yún)?shù)聚集.在面對(duì)包含復(fù)雜預(yù)處理的模型或單機(jī)多GPU 卡等場(chǎng)景下,CPU 可能成為瓶頸而影響全局性能[24].其次,消耗了內(nèi)存帶寬,給訪存密集的嵌入層帶來(lái)了嚴(yán)重的性能損失.最后,CPU 單線程逐參數(shù)拷貝性能低下,這增加了端到端預(yù)估時(shí)延.

    2 GDRec 架構(gòu)

    本文提出一種基于GPU 直訪存儲(chǔ)架構(gòu)的推薦模型預(yù)估系統(tǒng)GDRec.GDRec 同時(shí)使用GPU 顯存、DRAM內(nèi)存與SSD 外存 3 個(gè)層級(jí)的存儲(chǔ)資源,參數(shù)存儲(chǔ)方式與現(xiàn)有系統(tǒng)類似:GPU 顯存中存儲(chǔ)稠密參數(shù),DRAM 與SSD 分層存儲(chǔ)稀疏參數(shù).具體地,在加載模型時(shí),類似于現(xiàn)有工作[25],GDRec 根據(jù)參數(shù)訪問(wèn)熱度對(duì)稀疏參數(shù)進(jìn)行降序排序,并對(duì)參數(shù)ID 重編號(hào).GDRec 將最熱的一部分參數(shù)緩存于DRAM,剩余部分存儲(chǔ)于SSD.

    圖3 描述了GDRec 的總體結(jié)構(gòu)與一次預(yù)估過(guò)程.CPU 上的特征ID 會(huì)首先傳輸至GPU 進(jìn)行去重;GPU根據(jù)去重后的特征ID,分別通過(guò)內(nèi)存直訪機(jī)制與外存直訪機(jī)制,以零拷貝的方式直接訪問(wèn)主機(jī)端DRAM和SSD 上對(duì)應(yīng)的嵌入?yún)?shù);參數(shù)聚集操作直接在GPU 上完成;最后,模型正常進(jìn)行神經(jīng)網(wǎng)絡(luò)計(jì)算.

    圖3 GDRec 架構(gòu)Fig.3 Architecture of GDRec

    相比于傳統(tǒng)CPU訪存的架構(gòu),GDRec這種基于GPU直訪存儲(chǔ)的架構(gòu)帶來(lái)了3 點(diǎn)優(yōu)勢(shì):1)GPU 訪存可以享受GPU 高并行性帶來(lái)的高性能,GPU 在并行訪問(wèn)DRAM、并行提交SSD 請(qǐng)求等方面可以獲得比CPU更好的性能;2)在訪存時(shí)僅涉及1 次CPU 與GPU 之間的通信,即去重前的ID 從CPU 傳入GPU,之后所有過(guò)程均由GPU 單獨(dú)完成;3)GPU 直訪機(jī)制節(jié)省了聚集過(guò)程中的額外拷貝,參數(shù)可直接被讀取到位于GPU 內(nèi)存的目的地址,無(wú)需經(jīng)由DRAM 緩存,這節(jié)省了CPU 資源、DRAM 內(nèi)存帶寬,同時(shí)降低了端到端延遲.

    需要說(shuō)明的是,GDRec 的實(shí)現(xiàn)基于NVIDIA 公司推出的GPU,同時(shí)本文主要關(guān)注于CUDA(compute unified device architecture)編程模型;對(duì)其他廠商的GPU 以及編程模型(如AMD 與ROCm)的支持將是我們的未來(lái)工作.

    3 關(guān)鍵技術(shù)設(shè)計(jì)與實(shí)現(xiàn)

    本節(jié)將逐一介紹GDRec 的2 個(gè)關(guān)鍵技術(shù),包括內(nèi)存直訪機(jī)制與外存直訪機(jī)制.

    3.1 內(nèi)存直訪機(jī)制

    根據(jù)1.2 節(jié)的問(wèn)題分析,GDRec 內(nèi)存直訪機(jī)制的核心思想是讓GPU 以零拷貝的方式從DRAM 中讀取數(shù)據(jù),避免已有系統(tǒng)中CPU 額外的聚集操作與DMA 引擎啟動(dòng)的開(kāi)銷.為了達(dá)到這個(gè)目標(biāo),GDRec的內(nèi)存直訪機(jī)制利用了CUDA 提供的UVA 特性[12].該特性可以將一塊DRAM 內(nèi)存地址空間映射至GPU內(nèi)存虛擬地址空間,GPU kernel 以讀寫指令(load/store)直接對(duì)DRAM 進(jìn)行訪問(wèn).整個(gè)過(guò)程無(wú)需主機(jī)端CPU的參與.

    GDRec 精心挑選了內(nèi)存直訪機(jī)制的實(shí)現(xiàn)方式.CUDA 提供了下面2 種方式使一段內(nèi)存可供GPU 直訪.1)如果內(nèi)存尚未分配,可以通過(guò)cudaMallocHost函數(shù)同時(shí)實(shí)現(xiàn)內(nèi)存的分配與地址空間的映射,該函數(shù)返回的指針可同時(shí)被CPU 與GPU 兩種處理器讀寫;2)如果內(nèi)存已經(jīng)分配,使用函數(shù)cudaHostRegister首先將該段內(nèi)存區(qū)域鎖頁(yè),再使用函數(shù)cudaGet-DevicePointer 獲得該區(qū)域在GPU 虛擬地址空間的指針.GDRec 使用方式2,原因是我們發(fā)現(xiàn)其可以使用大頁(yè)(huge page)分配內(nèi)存,而方式1 不可以.大頁(yè)的使用可以減少轉(zhuǎn)換檢測(cè)緩沖區(qū)(translation lookaside buffer,TLB)缺失,從而提升嵌入層訪存時(shí)的性能.在系統(tǒng)初始化分配DRAM 上的嵌入表后,GDRec 將對(duì)應(yīng)的UVA 虛擬地址指針傳入GPU.

    內(nèi)存直訪機(jī)制使得GPU 細(xì)粒度地訪問(wèn)DRAM上的稀疏參數(shù)成為可能,但細(xì)粒度的訪問(wèn)同時(shí)也可能帶來(lái)PCIe 開(kāi)銷大的問(wèn)題.一般來(lái)說(shuō),對(duì)于傳輸同樣大小的數(shù)據(jù),越多的PCIe 事務(wù)意味著傳輸所需的元數(shù)據(jù)也越多,相應(yīng)地訪存的有效吞吐量也會(huì)降低.例如,對(duì)于PCIe 4.0 標(biāo)準(zhǔn),每個(gè)事務(wù)層數(shù)據(jù)包(transaction layer packet,TLP)包含12 B 或16 B 的包頭,如果數(shù)據(jù)包僅攜帶32 B 有效數(shù)據(jù),直訪內(nèi)存機(jī)制將遭受27%~36%的PCIe 開(kāi)銷.由于PCIe 帶寬是有限的,這導(dǎo)致GPU 直訪內(nèi)存的有效帶寬受限.為了解決該問(wèn)題,GDRec 通過(guò)調(diào)整GPU 線程讀取嵌入?yún)?shù)的方式,盡可能地減少GPU 發(fā)出的PCIe 數(shù)據(jù)包數(shù)量,調(diào)整方式具體包括2 個(gè)部分:訪問(wèn)合并與訪問(wèn)對(duì)齊.對(duì)于訪問(wèn)合并,現(xiàn)代GPU 支持以最大128 B 的內(nèi)存事務(wù)訪問(wèn)主機(jī)端的內(nèi)存.GDRec 令GPU 線程束(warp,32 個(gè)線程為1 束)讀取連續(xù)的內(nèi)存區(qū)域,每個(gè)線程讀取4 B.這樣,當(dāng)該內(nèi)存區(qū)域首地址是128 B 對(duì)齊時(shí),這個(gè)線程束的內(nèi)存訪問(wèn)將被硬件合并為1 個(gè)PCIe 事務(wù).對(duì)于訪問(wèn)對(duì)齊,其處理的情況是當(dāng)訪問(wèn)的參數(shù)首地址非128 B 對(duì)齊時(shí),例如參數(shù)尺寸非128 B 的整數(shù)倍.一種簡(jiǎn)單的方法是位移參數(shù),將每個(gè)嵌入?yún)?shù)的首地址對(duì)齊至128 B 的倍數(shù),但這會(huì)引入額外的內(nèi)存空間開(kāi)銷.相對(duì)地,GDRec 沒(méi)有改變參數(shù)在內(nèi)存中的布局,而是調(diào)整了GPU 線程讀取嵌入?yún)?shù)的方式.具體而言,如圖4 所示,當(dāng)訪問(wèn)的內(nèi)存區(qū)域非128 B 對(duì)齊時(shí),GDRec 所有線程束向高地址方向讀取對(duì)齊的1 個(gè)128 B,并額外分配1 個(gè)線程束讀取頭部剩余的字節(jié).這樣,假設(shè)要訪問(wèn)的內(nèi)存區(qū)域大小為X(單位為B),我們只需發(fā)出「X/(128B)■個(gè)PCIe 事務(wù),就可達(dá)到最優(yōu)情況.

    圖4 訪問(wèn)對(duì)齊Fig.4 Aligned access

    3.2 外存直訪機(jī)制

    現(xiàn)有推薦模型預(yù)估系統(tǒng)在訪問(wèn)外存時(shí)并不高效,它們將嵌入?yún)?shù)視為鍵值,并依賴于已有的SSD 鍵值存儲(chǔ)系統(tǒng).例如NVIDIA 公司的HugeCTR 使用RocksDB系統(tǒng)[26]讀寫SSD.這種做法不僅面臨著大量?jī)?nèi)核存儲(chǔ)I/O 棧的開(kāi)銷,其以CPU 為中心的訪存架構(gòu)同樣存在著如1.2 節(jié)中所述的CPU-GPU 通信開(kāi)銷大、額外拷貝引起的內(nèi)存帶寬消耗與CPU 資源浪費(fèi)這2 個(gè)問(wèn)題.

    對(duì)此,GDRec 提供了GPU 上的NVMe 驅(qū)動(dòng)以實(shí)現(xiàn)GPU 外存直訪機(jī)制,進(jìn)而優(yōu)化推薦模型預(yù)估系統(tǒng)的外存訪問(wèn)路徑.GDRec 的外存直訪機(jī)制具有3 個(gè)特點(diǎn):1)純用戶態(tài).類似于SPDK 繞過(guò)Linux 內(nèi)核I/O 棧,允許在用戶態(tài)直接訪問(wèn)SSD.2)GPU 直訪.GDRec 使得GPU kernel 可以直接向SSD 發(fā)起讀取請(qǐng)求,讀取到的數(shù)據(jù)直接寫入GPU 內(nèi)存,控制路徑與數(shù)據(jù)路徑皆無(wú)需途經(jīng)CPU,這減少了CPU-GPU 通信開(kāi)銷、主機(jī)端CPU 和DRAM 的使用;3)GPU 并行快速提交I/O 請(qǐng)求,GDRec 充分利用GPU 并行性,允許大量線程并行提交一次預(yù)估過(guò)程中所需參數(shù)對(duì)應(yīng)的I/O 請(qǐng)求至NVMe 提交隊(duì)列(submission queue, SQ),以進(jìn)一步縮短控制路徑上的時(shí)延.

    我們?cè)贕PU 內(nèi)存上分配NVMe SSD 的提交隊(duì)列、完成隊(duì)列等空間,并將這些隊(duì)列注冊(cè)給SSD,同時(shí)分配可供SSD DMA 傳輸參數(shù)的數(shù)據(jù)緩存區(qū),基于GPUDirect RDMA 機(jī)制,這些空間可以被暴露給SSD 讀寫訪問(wèn);然后將SSD 的門鈴寄存器(doorbell register),包括提交門鈴寄存器與完成門鈴寄存器,映射至GPU 內(nèi)存虛擬地址空間,此操作需要2 步:首先使用函數(shù)mmap 將SSD 的門鈴寄存器所在地址映射至用戶進(jìn)程地址空間,再使用函數(shù)cudaHostRegister 將其進(jìn)一步注冊(cè)至GPU 內(nèi)存虛擬地址空間.

    GDRec 的每次預(yù)估過(guò)程涉及一批位于SSD 上的嵌入?yún)?shù)的查詢(假設(shè)有N個(gè)),直訪外存的具體流程如下.首先,GPU 接收到一批已經(jīng)去過(guò)重后的特征ID,計(jì)算出對(duì)應(yīng)的嵌入?yún)?shù)所在的邏輯塊號(hào);其次,GDRec 為每個(gè)計(jì)算單元SM 分配了單獨(dú)的SSD,請(qǐng)求提交隊(duì)列與完成隊(duì)列,并充分利用GPU 并行性將I/O 命令批量寫入提交隊(duì)列;同一批次的讀請(qǐng)求中如果有多個(gè)參數(shù)在同一個(gè)邏輯塊中,GDRec 會(huì)將對(duì)應(yīng)的I/O 命令合并以減少SSD 讀取的數(shù)據(jù)量.然后,GDRec 單獨(dú)分配1 個(gè)線程用于更新提交門鈴寄存器以通知SSD,利用門鈴批處理(doorbell batching)機(jī)制,提交讀請(qǐng)求時(shí)GPU 產(chǎn)生的跨PCIe 總線寫次數(shù)可以從N次降低至1 次;SSD 在收到提交門鈴寄存器的更新后,拉取位于GPU 內(nèi)存上的提交隊(duì)列,處理其中的NVMe 命令;SSD 在完成I/O 命令后,會(huì)向位于GPU內(nèi)存上的完成隊(duì)列寫入完成項(xiàng),并更新完成門鈴寄存器.GPU 通過(guò)輪詢完成隊(duì)列得知SSD 讀取的完成情況.

    GDRec 還采用2 個(gè)優(yōu)化進(jìn)一步提升外存直訪性能:

    1)由于嵌入?yún)?shù)的尺寸通常在128~512 B,GDRec通過(guò)NVMe format 命令調(diào)整SSD 的邏輯塊大小,其優(yōu)勢(shì)在于對(duì)于大小恰為邏輯塊的嵌入?yún)?shù),GDRec可以將目的地址直接填入NVMe 讀命令,并加入提交隊(duì)列,以減少1 次從I/O 緩存區(qū)到目的地址的拷貝,并實(shí)現(xiàn)零拷貝.

    2)GDRec 盡可能地將所有嵌入?yún)?shù)均勻地分布在SSD 整個(gè)空間上,如圖5(b)所示.相比于簡(jiǎn)單的連續(xù)存放,如圖5(a)所示,這種方式可以更充分地綜合利用SSD 內(nèi)部不同存儲(chǔ)芯片資源.當(dāng)多個(gè)模型需要共享1 塊SSD 的存儲(chǔ)空間時(shí),GDRec 將各個(gè)模型的參數(shù)交錯(cuò)存儲(chǔ),如圖5(c)所示.

    圖5 SSD 嵌入?yún)?shù)放置策略Fig.5 Embedding placement strategy in SSD

    3.3 局限性

    GDRec 目前的實(shí)現(xiàn)有2 方面的局限性:

    1)GDRec 僅支持靜態(tài)模型的預(yù)估,無(wú)法支持增量更新[2]的動(dòng)態(tài)模型.其原因是GDRec 的直訪機(jī)制要求在GPU 內(nèi)完成每個(gè)嵌入?yún)?shù)地址的定位,動(dòng)態(tài)模型需要額外維護(hù)從特征ID 到嵌入?yún)?shù)地址的索引,而這通常會(huì)超過(guò)GPU 顯存容量.也因?yàn)橥瑯拥脑颍珿DRec 目前不支持冷熱數(shù)據(jù)在SSD 和DRAM間的遷移.

    2)GDRec 僅支持部分型號(hào)的GPU.由于GDRec外存直訪機(jī)制需要GPU 支持GPUDirect RDMA 機(jī)制.因此,對(duì)于NVIDIA 公司推出的GPU,GDRec 的外存直訪機(jī)制可以在NVIDIA Tesla 與Quadro 系列的GPU上運(yùn)行,但無(wú)法在NVIDIA GeForce 系列GPU 上運(yùn)行.

    4 實(shí) 驗(yàn)

    本節(jié)將通過(guò)實(shí)驗(yàn)對(duì)比和分析GDRec 與現(xiàn)有系統(tǒng)的性能差異.首先,使用微觀基準(zhǔn)測(cè)試說(shuō)明GDRec的GPU 直訪架構(gòu)相比于傳統(tǒng)CPU 訪存架構(gòu)在性能上的優(yōu)越性;其次,使用真實(shí)世界的推薦模型與數(shù)據(jù)集對(duì)比測(cè)試所有系統(tǒng)的端到端吞吐量、延遲-吞吐曲線;最后,對(duì)比測(cè)試純內(nèi)存場(chǎng)景下,小型推薦模型預(yù)估時(shí)所有系統(tǒng)的性能.

    4.1 實(shí)驗(yàn)平臺(tái)與測(cè)試數(shù)據(jù)集

    1)實(shí)驗(yàn)平臺(tái).本文實(shí)驗(yàn)使用的實(shí)驗(yàn)平臺(tái)配置信息如表1 所示.本文實(shí)驗(yàn)使用的GPU 為NVIDIA Tesla A30,其包含24 GB 顯存,使用的SSD 為Intel Optane P5800X,其4 KB 隨機(jī)讀延遲為5 μs.實(shí)驗(yàn)機(jī)器擁有2 個(gè)非統(tǒng)一內(nèi)存訪問(wèn)(non uniform memory access, NUMA)架構(gòu)節(jié)點(diǎn),為避免跨NUMA 訪問(wèn)帶來(lái)的性能下降,本文實(shí)驗(yàn)只使用同一NUMA 下的CPU,GPU,DRAM,SSD.

    Table 1 Configuration Information of Experiment Platform表1 實(shí)驗(yàn)平臺(tái)配置信息

    2)數(shù)據(jù)集.本文實(shí)驗(yàn)共選用3 個(gè)數(shù)據(jù)集,具體信息如表2 所示.數(shù)據(jù)集來(lái)自Avazu 與Criteo 這2 家公司對(duì)真實(shí)世界點(diǎn)擊率(click-through rate, CTR)負(fù)載的采樣.在所有數(shù)據(jù)集上,我們訓(xùn)練一個(gè)深度交叉網(wǎng)絡(luò)(deep cross network,DCN)作為推薦模型負(fù)載,該模型包含6 個(gè)交叉層與形狀為(1 024, 1 024)的MLP 層.對(duì)于Avazu 與Criteo-Kaggle 數(shù)據(jù)集,嵌入?yún)?shù)的維度被設(shè)為32;對(duì)于Criteo-TB 數(shù)據(jù)集,維度被設(shè)為128.

    Table 2 Datasets for Test表2 測(cè)試用數(shù)據(jù)集

    3)對(duì)比系統(tǒng).本文實(shí)驗(yàn)將GDRec 與HugeCTR 進(jìn)行性能對(duì)比.HugeCTR 是NVIDIA 公司推出的針對(duì)推薦模型負(fù)載特別優(yōu)化的預(yù)估系統(tǒng).HugeCTR 使用RocksDB系統(tǒng)存儲(chǔ)SSD 上的參數(shù),其會(huì)導(dǎo)致嚴(yán)重的內(nèi)核I/O 棧開(kāi)銷,同時(shí)其采用的LSM-Tree(log-structured merge-tree)數(shù)據(jù)結(jié)構(gòu)對(duì)推薦模型點(diǎn)查詢的負(fù)載并不友好.為了公平對(duì)比與充分展現(xiàn)基于GPU 直訪架構(gòu)的優(yōu)勢(shì),我們基于SPDK 重新實(shí)現(xiàn)了SSD 參數(shù)存儲(chǔ)模塊,并替換RocksDB,后文簡(jiǎn)稱該系統(tǒng)為HugeCTR-OPT.HugeCTROPT 可被視為極致優(yōu)化的基于CPU 訪存架構(gòu)的系統(tǒng),其與GDRec 僅在I/O 提交方式上有區(qū)別.

    在系統(tǒng)配置方面,如不作特殊說(shuō)明,我們默認(rèn)設(shè)置DRAM 大小為5%的模型,模型剩余部分存儲(chǔ)于SSD中.對(duì)于HugeCTR,我們使用NVIDIA 提供的原生配置(RocksDB 開(kāi)啟10 b 布隆過(guò)濾器, 8 MB 塊緩存大?。?HugeCTR 與GDRec 均使用單個(gè)CPU 線程處理預(yù)估請(qǐng)求.

    所有代碼使用GCC 9.3 與NVCC 11.3 編譯,優(yōu)化選項(xiàng)為-O2.對(duì)于GPU,我們使用的CUDA 版本為11.3,cuDNN 版本為8.2.

    4.2 微觀基準(zhǔn)測(cè)試

    本節(jié)測(cè)試對(duì)比基于CPU 訪存與GPU 直訪的2 種架構(gòu)在訪問(wèn)DRAM 與SSD 時(shí)的基準(zhǔn)性能.測(cè)試過(guò)程為:在GPU 中以均勻分布隨機(jī)生成一定數(shù)量的特征ID,由2 種架構(gòu)分別訪問(wèn)DRAM 和SSD 得到對(duì)應(yīng)參數(shù),并將參數(shù)拷貝至GPU 中.該測(cè)試過(guò)程對(duì)應(yīng)于推薦模型訪問(wèn)嵌入?yún)?shù)時(shí)的過(guò)程,我們分別選擇HugeCTROPT 與GDRec 系統(tǒng)的對(duì)應(yīng)功能實(shí)現(xiàn)用作本節(jié)的測(cè)試.

    圖6 展示了當(dāng)參數(shù)完全位于DRAM 上時(shí)2 種架構(gòu)的性能.對(duì)于同樣數(shù)量的特征ID,GDRec 的完成時(shí)延要比HugeCTR-OPT 低1.5~3.6 倍.這一方面由于GDRec 無(wú)需CPU-GPU 之間多次通信,另一方面得益于GDRec 避免了聚集時(shí)CPU 額外拷貝造成的時(shí)延.

    圖6 內(nèi)存嵌入?yún)?shù)訪問(wèn)性能Fig.6 Performance of accessing in-memory embeddings

    此外,當(dāng)查詢的特征數(shù)目較少時(shí),例如100,Huge-CTR-OPT 單就CPU-GPU 通信時(shí)延(包括將ID 從GPU傳至CPU、將參數(shù)從CPU 傳至GPU),已與GDRec 完成的總體時(shí)延相近,這充分說(shuō)明了GDRec 內(nèi)存直訪機(jī)制設(shè)計(jì)的優(yōu)越性.

    圖7 則展示了當(dāng)參數(shù)完全位于SSD 上時(shí)2 種架構(gòu)的性能.GDRec 相比于HugeCTR-OPT 性能有1.2~2.0 倍的提升.其原因一方面類似于內(nèi)存直訪機(jī)制,外存直訪機(jī)制同樣節(jié)省了CPU-GPU 通信開(kāi)銷與聚集步驟的額外拷貝;另一方面,外存直訪機(jī)制在提交SSD 的I/O 請(qǐng)求時(shí)可以充分利用GPU 的高并行性并行提交,減少了參數(shù)讀取時(shí)延.

    圖7 外存嵌入?yún)?shù)訪問(wèn)性能Fig.7 Performance of accessing in-SSD embeddings

    對(duì)比圖6 和圖7,我們發(fā)現(xiàn)相比于在DRAM 上,GDRec 在SSD 上獲得的性能提升更少.其原因是SSD有著比DRAM 更高的硬件讀取延遲,這導(dǎo)致GDRec可優(yōu)化的軟件部分時(shí)延占端到端的比例減少,進(jìn)而在SSD 上性能提升更少.

    4.3 端到端吞吐量對(duì)比測(cè)試

    圖8(a)展示了在不同批處理大小下,GDRec 與對(duì)比系統(tǒng)的預(yù)估樣本吞吐量情況.從圖8(a)中可知:

    圖8 系統(tǒng)吞吐量對(duì)比Fig.8 System throughput comparison

    1) 當(dāng)批處理變大時(shí),所有系統(tǒng)的吞吐量都隨之上升,這是由于大的批處理可以更充分地利用GPU的并行性;

    2) HugeCTR 系統(tǒng)吞吐最低,且與另外2 個(gè)系統(tǒng)有著數(shù)量級(jí)上的差距,其原因是RocksDB 適合范圍查詢、寫密集場(chǎng)景,并未針對(duì)推薦模型的點(diǎn)查詢、讀密集場(chǎng)景做定制優(yōu)化;

    3) HugeCTR-OPT 使用SPDK 定制了點(diǎn)查詢友好的SSD 參數(shù)存儲(chǔ)模塊,相比于HugeCTR 獲得了性能提升,但其CPU 訪存的架構(gòu)仍然面臨1.2 節(jié)所述的2個(gè)問(wèn)題;

    4) 相比于HugeCTR-OPT,GDRec 在Avazu,Criteo-Kaggle,Criteo-TB 這3 個(gè)數(shù)據(jù)集上分別獲得1.1~1.4 倍、1.1~1.9 倍與1.3~1.9 倍的性能提升,性能提升來(lái)自于GDRec 的GPU 直訪存儲(chǔ)設(shè)計(jì),內(nèi)存直訪機(jī)制與外存直訪機(jī)制將CPU 與GPU 的通信次數(shù)均降低為1,同時(shí)零拷貝的設(shè)計(jì)消除了額外的拷貝開(kāi)銷,而GPU 并行提交I/O 命令縮短了讀取SSD 時(shí)控制路徑的時(shí)間;

    5)隨著批處理變大,GDRec 相對(duì)于HugeCTROPT 提升的性能更多,這是由于大批次樣本情況下查詢SSD 的時(shí)間占比更多,此時(shí)GDRec 的GPU 外存直訪機(jī)制的優(yōu)勢(shì)更得以充分體現(xiàn).

    進(jìn)一步地,由于GDRec 的所有設(shè)計(jì)僅針對(duì)于嵌入層,我們?cè)趫D8(b)單獨(dú)展示不同系統(tǒng)在模型嵌入層的吞吐量.可以看到,在Avazu,Criteo-Kaggle,Criteo-TB 這3 個(gè)數(shù)據(jù)集上,相比于HugeCTR-OPT,GDRec分別可以獲得1.1~2.1 倍、1.4~2.4 倍與1.4~2.7 倍的性能提升.此測(cè)試排除了GDRec 未優(yōu)化的模型MLP 層,因此,相比于端到端預(yù)估,GDRec 可以獲得更多的性能提升.

    4.4 延遲-吞吐量曲線測(cè)試

    圖9 展示了HugeCTR-OPT 與GDRec 在3 個(gè)數(shù)據(jù)集上的端到端預(yù)估中位數(shù)延遲-樣本吞吐曲線.由于HugeCTR 的性能與它們有數(shù)量級(jí)的差異,因此省去其測(cè)試結(jié)果.

    圖9 端到端中位數(shù)延遲-吞吐量曲線Fig.9 Curves of throughput vs.end-to-end median latency

    從圖9 發(fā)現(xiàn),相比于HugeCTR-OPT,GDRec 可以達(dá)到更高的樣本吞吐量與更低的預(yù)估時(shí)延.在Criteo-TB 數(shù)據(jù)集上,給定中位數(shù)延遲為2 ms 的情況下,GDRec提升樣本吞吐量1.9 倍,這主要是由于GDRec 充分利用GPU 并行性對(duì)內(nèi)存與外存進(jìn)行直訪,可以達(dá)到更高的嵌入層吞吐量,同時(shí)避免CPU 訪存架構(gòu)在嵌入層的瓶頸現(xiàn)象;給定樣本吞吐量為15 萬(wàn)樣本/s,GDRec 可以降低74%的中位數(shù)延遲,這一方面由于在數(shù)據(jù)路徑上GPU 直訪省去了CPU 聚集時(shí)在內(nèi)存上的額外拷貝與大部分CPU-GPU 通信開(kāi)銷,另一方面,GPU 可以并行提交DRAM 的訪存指令和SSD 的I/O 命令,在控制路徑上具有更低的時(shí)延.

    4.5 小模型性能對(duì)比測(cè)試

    本節(jié)實(shí)驗(yàn)考慮小模型預(yù)估場(chǎng)景,即當(dāng)模型可以完全存儲(chǔ)在DRAM 中時(shí)的情況.

    圖10 展示了GDRec 和HugeCTR-OPT 在不同批處理大小下的樣本吞吐量.因?yàn)镃riteo-TB 數(shù)據(jù)集對(duì)應(yīng)的模型容量已遠(yuǎn)超過(guò)CPU 的DRAM 內(nèi)存大小,本節(jié)測(cè)試用的數(shù)據(jù)集選擇了Avazu 與Criteo-Kaggle.從圖10 可知:

    圖10 小模型端到端吞吐量Fig.10 End-to-end throughput when models fit in DRAM

    1) GDRec 可以在純內(nèi)存場(chǎng)景下在Avazu 與Criteo-Kaggle 上分別獲得1.1~1.3 倍、1.2~1.3 倍的吞吐性能提升,這完全得益于GDRec 的內(nèi)存直訪機(jī)制;

    2) GDRec 的相對(duì)性能提升在較大的批處理大小情況下更少,其原因是此時(shí)GPU 去重、CPU-GPU 通信等操作的時(shí)延增加,導(dǎo)致訪問(wèn)內(nèi)存時(shí)延占比變少,因此內(nèi)存直訪機(jī)制可以提升的部分有限.

    5 相關(guān)工作

    本節(jié)從推薦模型預(yù)估系統(tǒng)與基于GPU 直訪存儲(chǔ)架構(gòu)的系統(tǒng)2 方面介紹相關(guān)工作.

    1)推薦模型預(yù)估系統(tǒng).由于推薦模型獨(dú)特的訪存特性,大量工作對(duì)此設(shè)計(jì)定制化的預(yù)估系統(tǒng).我們根據(jù)使用的硬件將它們分為兩類.

    一類工作僅使用CPU,GPU 等通用硬件.HugeCTRInference[11]是NVIDIA 公司推出的高度優(yōu)化的預(yù)估系統(tǒng),其構(gòu)建GPU 顯存、DRAM、SSD 多層級(jí)參數(shù)服務(wù)器存儲(chǔ)模型參數(shù).Fleche[27]在HugeCTR-Inference 的基礎(chǔ)上優(yōu)化了嵌入?yún)?shù)顯存緩存的組織形式與查詢方式,以減少緩存缺失率并提升預(yù)估性能.MERCI[25]基于物化視圖的思想緩存同時(shí)出現(xiàn)的嵌入?yún)?shù)經(jīng)池化后的結(jié)果,以減少內(nèi)存訪問(wèn)量,提升性能.Bandana[10]系統(tǒng)利用NVMe SSD 存儲(chǔ)模型以降低DRAM 成本,其使用超圖劃分算法將可能同時(shí)出現(xiàn)的參數(shù)放置于同一個(gè)數(shù)據(jù)塊中,以減少塊設(shè)備的讀寫放大現(xiàn)象.EVSTORE[8]為SSD 參數(shù)存儲(chǔ)設(shè)計(jì)了混合型DRAM緩存,混合使用了組緩存、混合精度緩存和近似緩存,可以在幾乎不影響模型準(zhǔn)確率的情況下充分降低DRAM 的使用量.文獻(xiàn)[11, 27]工作雖然在不同場(chǎng)景下緩解了嵌入層訪存瓶頸問(wèn)題,但它們?cè)诒举|(zhì)上仍屬于傳統(tǒng)CPU 訪存架構(gòu),并未解決CPU-GPU 通信開(kāi)銷高、內(nèi)存上的額外拷貝等問(wèn)題.

    另一類工作使用FPGA、近內(nèi)存計(jì)算(near memory processing, NMP)等定制硬件加速嵌入層的處理.MicroRec[28]與FleetRec[19]利用帶有高帶寬內(nèi)存的FPGA 加速嵌入層的訪存操作.RecNMP[29],Tensor-DIMM[30],F(xiàn)AFNIR[31]使用近內(nèi)存計(jì)算的方式,將池化操作卸載至內(nèi)存; 類似地,F(xiàn)lashEmbedding[22]與RecSSD[23]將嵌入層的訪存與計(jì)算操作卸載至SSD控制器.在數(shù)據(jù)中心中部署這些工作需要付出額外的硬件開(kāi)銷,而GDRec 則可以完全使用現(xiàn)有服務(wù)器硬件部署.

    2) 基于GPU 直訪存儲(chǔ)架構(gòu)的系統(tǒng).圖計(jì)算、圖神經(jīng)網(wǎng)絡(luò)、推薦系統(tǒng)等新興應(yīng)用催生了GPU 對(duì)存儲(chǔ)資源進(jìn)行大量隨機(jī)、細(xì)粒度的訪問(wèn)需求.傳統(tǒng)架構(gòu)依賴CPU 對(duì)存儲(chǔ)資源進(jìn)行訪問(wèn),但造成CPU-GPU 通信開(kāi)銷大、CPU 處理時(shí)延高等問(wèn)題,嚴(yán)重影響GPU 計(jì)算效率.在此背景下,一些工作繞開(kāi)CPU,使GPU 直訪存儲(chǔ)并加速各類應(yīng)用.EMOGI[32]針對(duì)GPU 上的圖遍歷負(fù)載,利用細(xì)粒度主機(jī)內(nèi)存直訪加速圖數(shù)據(jù)結(jié)構(gòu)的訪問(wèn).伊利諾伊大學(xué)厄巴納-香檳分校、IBM、NVIDIA 等單位合作于2021 年提出的圖卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練系統(tǒng)[33],使用少量GPU 線程以零拷貝的方式從主機(jī)內(nèi)存預(yù)取圖節(jié)點(diǎn)特征至GPU 內(nèi)存,重疊計(jì)算與訪存,獲得了多達(dá)92%的訓(xùn)練吞吐量提升.BaM[34]將SSD 抽象成可供GPU 直訪的大數(shù)組,并在其之上運(yùn)行圖分析與數(shù)據(jù)分析應(yīng)用.文獻(xiàn)[32–34]的工作僅面向單一的內(nèi)存或外存GPU 直訪,且尚無(wú)現(xiàn)有工作針對(duì)推薦模型預(yù)估的獨(dú)特訪存流程與混合存儲(chǔ)場(chǎng)景做定制設(shè)計(jì).

    6 結(jié) 論

    推薦模型的參數(shù)訪存已成為模型預(yù)估的性能瓶頸.現(xiàn)有基于CPU 訪存架構(gòu)的預(yù)估系統(tǒng)存在著CPUGPU 同步開(kāi)銷大和額外內(nèi)存拷貝2 個(gè)問(wèn)題,其性能已無(wú)法滿足模型高速增長(zhǎng)的訪存需求.本文提出一種基于GPU 直訪存儲(chǔ)架構(gòu)的推薦模型預(yù)估系統(tǒng)GDRec,通過(guò)在參數(shù)訪存路徑上移除CPU 參與,由GPU 以零拷貝的方式高效直訪內(nèi)存、外存資源.實(shí)驗(yàn)顯示,相比于現(xiàn)有預(yù)估系統(tǒng),GDRec 可以大幅度提升模型預(yù)估的吞吐量,同時(shí)降低預(yù)估延遲.

    作者貢獻(xiàn)聲明:謝旻暉參與論文設(shè)計(jì)、代碼實(shí)現(xiàn)測(cè)試,撰寫論文;陸游游參與研究思路討論,修改論文;馮楊洋參與前期實(shí)驗(yàn)方案的討論設(shè)計(jì)與論文修改;舒繼武參與研究思路討論.

    猜你喜歡
    預(yù)估內(nèi)存架構(gòu)
    美國(guó)銀行下調(diào)今明兩年基本金屬價(jià)格預(yù)估
    基于FPGA的RNN硬件加速架構(gòu)
    功能架構(gòu)在電子電氣架構(gòu)開(kāi)發(fā)中的應(yīng)用和實(shí)踐
    汽車工程(2021年12期)2021-03-08 02:34:30
    “春夏秋冬”的內(nèi)存
    LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實(shí)現(xiàn)
    史密斯預(yù)估控制在排焦控制中的應(yīng)用
    一種基于FPGA+ARM架構(gòu)的μPMU實(shí)現(xiàn)
    基于內(nèi)存的地理信息訪問(wèn)技術(shù)
    上網(wǎng)本為什么只有1GB?
    夜夜躁狠狠躁天天躁| 真人一进一出gif抽搐免费| 午夜福利高清视频| 久久久久久九九精品二区国产| 每晚都被弄得嗷嗷叫到高潮| 又黄又爽又免费观看的视频| 国产精品1区2区在线观看.| 国产 一区 欧美 日韩| 午夜久久久久精精品| 日日摸夜夜添夜夜添小说| 日本在线视频免费播放| www.www免费av| 一夜夜www| 舔av片在线| 男女之事视频高清在线观看| 欧美黑人巨大hd| www.www免费av| 精品欧美国产一区二区三| 色视频www国产| 精品人妻一区二区三区麻豆 | 深爱激情五月婷婷| 中文字幕免费在线视频6| 搡女人真爽免费视频火全软件 | 老司机午夜十八禁免费视频| 午夜福利成人在线免费观看| 男插女下体视频免费在线播放| 欧美黑人欧美精品刺激| 一本久久中文字幕| 三级毛片av免费| 淫妇啪啪啪对白视频| 亚洲国产精品合色在线| 国产av在哪里看| 精品午夜福利在线看| 国产一区二区激情短视频| 99riav亚洲国产免费| 老司机午夜福利在线观看视频| 日本一本二区三区精品| 亚洲人成网站在线播放欧美日韩| 久久精品夜夜夜夜夜久久蜜豆| 国产黄a三级三级三级人| 欧美一区二区亚洲| 亚洲成人中文字幕在线播放| av中文乱码字幕在线| 麻豆成人av在线观看| 少妇的逼水好多| 99在线人妻在线中文字幕| 欧美bdsm另类| 久久国产精品人妻蜜桃| 午夜影院日韩av| 欧美丝袜亚洲另类 | 久久午夜福利片| 日本a在线网址| 听说在线观看完整版免费高清| 嫩草影院精品99| 听说在线观看完整版免费高清| 免费看美女性在线毛片视频| 国产精品爽爽va在线观看网站| 99国产综合亚洲精品| 国产黄色小视频在线观看| 天天躁日日操中文字幕| 国产私拍福利视频在线观看| 成人av一区二区三区在线看| 12—13女人毛片做爰片一| 日韩免费av在线播放| 91午夜精品亚洲一区二区三区 | 国产探花极品一区二区| 欧美激情久久久久久爽电影| 三级男女做爰猛烈吃奶摸视频| 国产私拍福利视频在线观看| 麻豆成人av在线观看| 免费在线观看日本一区| 在线国产一区二区在线| 两性午夜刺激爽爽歪歪视频在线观看| 国产伦在线观看视频一区| 全区人妻精品视频| 亚洲欧美日韩无卡精品| АⅤ资源中文在线天堂| 天美传媒精品一区二区| 国产精品爽爽va在线观看网站| 中亚洲国语对白在线视频| 男女视频在线观看网站免费| 国产精品嫩草影院av在线观看 | 国产精品嫩草影院av在线观看 | a在线观看视频网站| 欧美丝袜亚洲另类 | 99热这里只有精品一区| 真人一进一出gif抽搐免费| 亚洲av美国av| 在线观看一区二区三区| 精品国产三级普通话版| 国产免费av片在线观看野外av| 热99在线观看视频| 国产真实伦视频高清在线观看 | 国产精品精品国产色婷婷| 琪琪午夜伦伦电影理论片6080| 日韩欧美免费精品| 一本久久中文字幕| 午夜精品在线福利| 久久精品影院6| 国产精品av视频在线免费观看| 国产精品影院久久| 最新中文字幕久久久久| 亚洲av一区综合| 亚洲第一欧美日韩一区二区三区| 免费av不卡在线播放| 日韩欧美一区二区三区在线观看| 午夜精品在线福利| 搡老熟女国产l中国老女人| 日本与韩国留学比较| 最近视频中文字幕2019在线8| 99热6这里只有精品| netflix在线观看网站| 自拍偷自拍亚洲精品老妇| 久久久久久大精品| 中文字幕免费在线视频6| 变态另类成人亚洲欧美熟女| 国产三级黄色录像| 亚洲欧美精品综合久久99| 国产精品乱码一区二三区的特点| 他把我摸到了高潮在线观看| 18禁黄网站禁片午夜丰满| 色综合婷婷激情| 欧美日本亚洲视频在线播放| 最近最新免费中文字幕在线| 99精品在免费线老司机午夜| 亚洲欧美日韩无卡精品| 高清毛片免费观看视频网站| 国产在线男女| www日本黄色视频网| 免费搜索国产男女视频| 国产色婷婷99| 精品久久久久久,| 丝袜美腿在线中文| 高潮久久久久久久久久久不卡| 精品一区二区三区人妻视频| 欧美性猛交黑人性爽| 免费在线观看亚洲国产| 亚洲av五月六月丁香网| 变态另类丝袜制服| 国产日本99.免费观看| 国产精品一区二区免费欧美| 日本五十路高清| 亚洲av熟女| 亚洲第一电影网av| 每晚都被弄得嗷嗷叫到高潮| 日韩欧美免费精品| 亚洲天堂国产精品一区在线| 国产三级中文精品| 男女视频在线观看网站免费| 国产激情偷乱视频一区二区| 自拍偷自拍亚洲精品老妇| 我要搜黄色片| 久久国产精品人妻蜜桃| 无遮挡黄片免费观看| 欧美性猛交╳xxx乱大交人| 日日干狠狠操夜夜爽| 人妻丰满熟妇av一区二区三区| 精品午夜福利视频在线观看一区| 尤物成人国产欧美一区二区三区| 日韩国内少妇激情av| 一个人看的www免费观看视频| 午夜福利18| 国产一区二区亚洲精品在线观看| 欧美+日韩+精品| 日韩精品青青久久久久久| 国产三级中文精品| 丰满乱子伦码专区| 桃红色精品国产亚洲av| 久久午夜亚洲精品久久| 国产美女午夜福利| 级片在线观看| 波多野结衣巨乳人妻| 亚洲中文字幕一区二区三区有码在线看| 精品久久久久久久久亚洲 | 国产高清激情床上av| 亚洲国产精品成人综合色| 欧洲精品卡2卡3卡4卡5卡区| 又黄又爽又免费观看的视频| 少妇被粗大猛烈的视频| 美女xxoo啪啪120秒动态图 | 老熟妇仑乱视频hdxx| 国产精品一区二区三区四区久久| 简卡轻食公司| 精品久久久久久久人妻蜜臀av| 久久久久久九九精品二区国产| 国产成年人精品一区二区| 性色av乱码一区二区三区2| 午夜激情欧美在线| 搡老熟女国产l中国老女人| 少妇人妻一区二区三区视频| 狠狠狠狠99中文字幕| 首页视频小说图片口味搜索| 国产伦一二天堂av在线观看| 18禁黄网站禁片免费观看直播| av视频在线观看入口| 欧美中文日本在线观看视频| 国产精品亚洲美女久久久| 亚洲国产精品sss在线观看| 一个人免费在线观看的高清视频| 桃色一区二区三区在线观看| 色5月婷婷丁香| 丁香欧美五月| 成人无遮挡网站| 乱码一卡2卡4卡精品| 日韩中文字幕欧美一区二区| 日韩欧美一区二区三区在线观看| 久久久久久久午夜电影| 嫩草影院新地址| 国产69精品久久久久777片| 亚洲中文日韩欧美视频| 国产精品1区2区在线观看.| 一级a爱片免费观看的视频| 亚洲国产欧美人成| 熟女人妻精品中文字幕| 成人一区二区视频在线观看| 精品福利观看| 欧美成狂野欧美在线观看| 很黄的视频免费| 欧美不卡视频在线免费观看| 久久精品久久久久久噜噜老黄 | 亚洲欧美清纯卡通| 亚洲一区高清亚洲精品| 欧美激情国产日韩精品一区| 亚洲精品一区av在线观看| 亚洲av一区综合| 国产成人欧美在线观看| 国产免费男女视频| 男女床上黄色一级片免费看| 直男gayav资源| 国产精品久久久久久亚洲av鲁大| 精品久久久久久久末码| 亚洲,欧美,日韩| 十八禁网站免费在线| 亚洲第一欧美日韩一区二区三区| 国产av在哪里看| 国产亚洲精品久久久com| 国产成+人综合+亚洲专区| 波多野结衣高清作品| 中出人妻视频一区二区| 亚洲精品亚洲一区二区| 亚洲最大成人手机在线| 亚洲经典国产精华液单 | 少妇熟女aⅴ在线视频| 精品久久国产蜜桃| 真实男女啪啪啪动态图| 久久精品夜夜夜夜夜久久蜜豆| 亚洲成人久久爱视频| 久久国产精品影院| 亚洲av一区综合| 国产精品电影一区二区三区| 精品乱码久久久久久99久播| 亚洲人成网站在线播| 日韩欧美国产一区二区入口| 简卡轻食公司| 亚洲一区二区三区色噜噜| 国产精品久久久久久人妻精品电影| 啦啦啦观看免费观看视频高清| 少妇被粗大猛烈的视频| 久久久国产成人精品二区| 三级国产精品欧美在线观看| 最近最新免费中文字幕在线| 激情在线观看视频在线高清| 丰满乱子伦码专区| av专区在线播放| 色综合亚洲欧美另类图片| 首页视频小说图片口味搜索| av在线观看视频网站免费| 久久性视频一级片| 国产视频一区二区在线看| 国产高清有码在线观看视频| 少妇的逼水好多| 亚洲国产精品sss在线观看| 18美女黄网站色大片免费观看| 日韩成人在线观看一区二区三区| 床上黄色一级片| 成人鲁丝片一二三区免费| 国产精品亚洲美女久久久| 日韩欧美国产一区二区入口| 国产伦人伦偷精品视频| 欧美极品一区二区三区四区| av福利片在线观看| 欧美bdsm另类| 久久九九热精品免费| 国内精品久久久久精免费| 免费看a级黄色片| 在现免费观看毛片| 国产精品98久久久久久宅男小说| 黄色视频,在线免费观看| 天堂网av新在线| 一区福利在线观看| 婷婷丁香在线五月| 亚洲精品成人久久久久久| 国产成人av教育| 亚洲成人久久性| 女生性感内裤真人,穿戴方法视频| 国产大屁股一区二区在线视频| 国产不卡一卡二| 可以在线观看的亚洲视频| 久久精品91蜜桃| 久久6这里有精品| a级一级毛片免费在线观看| 国产91精品成人一区二区三区| 亚洲第一欧美日韩一区二区三区| 少妇人妻一区二区三区视频| 欧美中文日本在线观看视频| 日韩欧美精品v在线| 非洲黑人性xxxx精品又粗又长| 精品国产亚洲在线| 国产亚洲av嫩草精品影院| 在线观看66精品国产| 欧美激情在线99| 欧美+日韩+精品| 亚洲狠狠婷婷综合久久图片| 中文字幕高清在线视频| 午夜福利免费观看在线| 成人欧美大片| 亚洲熟妇中文字幕五十中出| 亚洲人成网站高清观看| 亚洲18禁久久av| 国产在视频线在精品| 久久亚洲精品不卡| 亚洲av不卡在线观看| 国产精品影院久久| 三级毛片av免费| 欧美一区二区精品小视频在线| 国产亚洲av嫩草精品影院| 小说图片视频综合网站| 欧美黑人巨大hd| 国产毛片a区久久久久| 国产黄色小视频在线观看| 国产亚洲精品综合一区在线观看| 亚洲无线在线观看| 午夜免费男女啪啪视频观看 | 一进一出抽搐gif免费好疼| 男人的好看免费观看在线视频| 在线观看66精品国产| 欧美成人a在线观看| 国产精品乱码一区二三区的特点| 女人十人毛片免费观看3o分钟| 亚洲一区二区三区不卡视频| 少妇裸体淫交视频免费看高清| 少妇的逼水好多| 成年女人永久免费观看视频| 色综合婷婷激情| 亚洲av日韩精品久久久久久密| 国产欧美日韩精品一区二区| 成人特级av手机在线观看| 免费观看精品视频网站| 长腿黑丝高跟| 日日摸夜夜添夜夜添小说| 变态另类丝袜制服| 欧美最黄视频在线播放免费| 久久久久久国产a免费观看| 成人欧美大片| 露出奶头的视频| 99久久精品一区二区三区| 亚洲av成人av| 午夜视频国产福利| 乱人视频在线观看| 久久精品国产亚洲av涩爱 | 精品国产亚洲在线| 国产欧美日韩一区二区精品| 日韩免费av在线播放| 日韩有码中文字幕| 又粗又爽又猛毛片免费看| 午夜精品久久久久久毛片777| 免费在线观看影片大全网站| 99精品久久久久人妻精品| 国内精品美女久久久久久| 一本一本综合久久| 日韩人妻高清精品专区| 亚洲人成伊人成综合网2020| 人人妻人人澡欧美一区二区| 国产69精品久久久久777片| 亚洲美女黄片视频| 老司机福利观看| 在线观看一区二区三区| 99久久成人亚洲精品观看| 久久精品国产亚洲av香蕉五月| 久久伊人香网站| 亚洲片人在线观看| 国产av一区在线观看免费| 亚洲av.av天堂| 尤物成人国产欧美一区二区三区| 88av欧美| a级一级毛片免费在线观看| 欧美一区二区国产精品久久精品| 亚洲中文日韩欧美视频| 少妇裸体淫交视频免费看高清| 一个人看视频在线观看www免费| 超碰av人人做人人爽久久| 一本综合久久免费| 亚洲黑人精品在线| 亚洲经典国产精华液单 | 嫩草影视91久久| 亚洲人成电影免费在线| 神马国产精品三级电影在线观看| 97超级碰碰碰精品色视频在线观看| 国产av在哪里看| 女人被狂操c到高潮| 18禁黄网站禁片免费观看直播| 色av中文字幕| 一进一出好大好爽视频| 亚洲三级黄色毛片| 欧美日韩中文字幕国产精品一区二区三区| 一本综合久久免费| 一个人观看的视频www高清免费观看| 国产精品国产高清国产av| 日韩av在线大香蕉| 成人特级黄色片久久久久久久| 俺也久久电影网| 不卡一级毛片| 亚洲人成电影免费在线| 村上凉子中文字幕在线| 麻豆av噜噜一区二区三区| av国产免费在线观看| 国产精品久久电影中文字幕| 久久中文看片网| 别揉我奶头 嗯啊视频| 国内揄拍国产精品人妻在线| 免费黄网站久久成人精品 | 国产精品电影一区二区三区| 听说在线观看完整版免费高清| 一个人看视频在线观看www免费| 免费人成视频x8x8入口观看| 白带黄色成豆腐渣| 嫁个100分男人电影在线观看| 动漫黄色视频在线观看| 国产精华一区二区三区| ponron亚洲| 99热6这里只有精品| 国产真实伦视频高清在线观看 | 免费av不卡在线播放| 美女cb高潮喷水在线观看| 成人av一区二区三区在线看| 桃色一区二区三区在线观看| 日本 av在线| 一级av片app| 黄色女人牲交| 免费人成在线观看视频色| or卡值多少钱| 亚洲av五月六月丁香网| 久久午夜亚洲精品久久| 神马国产精品三级电影在线观看| 人妻久久中文字幕网| 91九色精品人成在线观看| 51午夜福利影视在线观看| 麻豆一二三区av精品| 美女黄网站色视频| 男人狂女人下面高潮的视频| 国产精品综合久久久久久久免费| 一本久久中文字幕| 国产精品1区2区在线观看.| 一区二区三区四区激情视频 | 嫩草影院入口| 国产熟女xx| 女生性感内裤真人,穿戴方法视频| 又黄又爽又刺激的免费视频.| 男女下面进入的视频免费午夜| 性欧美人与动物交配| 国产av在哪里看| 在线免费观看不下载黄p国产 | 美女免费视频网站| 午夜激情福利司机影院| 夜夜看夜夜爽夜夜摸| 一区二区三区四区激情视频 | 婷婷六月久久综合丁香| 色综合欧美亚洲国产小说| 精品人妻1区二区| 在线免费观看不下载黄p国产 | 久久99热这里只有精品18| 日本三级黄在线观看| 男人舔奶头视频| 99在线视频只有这里精品首页| 久久精品91蜜桃| 男人的好看免费观看在线视频| 在线观看66精品国产| 欧美成人a在线观看| 白带黄色成豆腐渣| 91久久精品国产一区二区成人| 成人高潮视频无遮挡免费网站| 国产一区二区三区在线臀色熟女| 小蜜桃在线观看免费完整版高清| 色哟哟·www| 内射极品少妇av片p| 国产精品女同一区二区软件 | 国产精品98久久久久久宅男小说| 欧美zozozo另类| 成人国产综合亚洲| 欧美zozozo另类| 99久久九九国产精品国产免费| 欧美zozozo另类| 成人国产综合亚洲| 久久久久久久精品吃奶| 国产毛片a区久久久久| 成人午夜高清在线视频| 特级一级黄色大片| 性色av乱码一区二区三区2| 欧美乱色亚洲激情| 性色av乱码一区二区三区2| 99国产精品一区二区三区| 日韩欧美免费精品| 国产精品99久久久久久久久| 乱人视频在线观看| 一本综合久久免费| 性色av乱码一区二区三区2| 伊人久久精品亚洲午夜| 免费大片18禁| 成人欧美大片| 九九热线精品视视频播放| 免费av观看视频| 深爱激情五月婷婷| 午夜日韩欧美国产| 国产亚洲欧美在线一区二区| 欧美最黄视频在线播放免费| 亚洲精品粉嫩美女一区| 麻豆一二三区av精品| or卡值多少钱| 一本综合久久免费| а√天堂www在线а√下载| 国产精品99久久久久久久久| а√天堂www在线а√下载| 欧美激情久久久久久爽电影| 久久亚洲真实| 九九在线视频观看精品| 给我免费播放毛片高清在线观看| 亚洲中文字幕一区二区三区有码在线看| 精品欧美国产一区二区三| 悠悠久久av| 51国产日韩欧美| av天堂在线播放| www.www免费av| 欧美最新免费一区二区三区 | 一级av片app| 色噜噜av男人的天堂激情| 亚洲不卡免费看| 一a级毛片在线观看| 高清在线国产一区| 精品国产三级普通话版| 国产精品永久免费网站| 亚洲精品色激情综合| 免费在线观看日本一区| 一个人免费在线观看的高清视频| 欧美+日韩+精品| 丝袜美腿在线中文| 中文字幕高清在线视频| 午夜亚洲福利在线播放| 亚洲国产精品合色在线| 岛国在线免费视频观看| 婷婷亚洲欧美| 免费人成视频x8x8入口观看| 亚洲av二区三区四区| 成人无遮挡网站| 在线a可以看的网站| 性插视频无遮挡在线免费观看| 亚洲色图av天堂| 免费看美女性在线毛片视频| 在线十欧美十亚洲十日本专区| 噜噜噜噜噜久久久久久91| 色5月婷婷丁香| 99国产精品一区二区蜜桃av| 国产精品国产高清国产av| 中国美女看黄片| 亚洲专区国产一区二区| 毛片女人毛片| 嫩草影视91久久| 国产精品亚洲av一区麻豆| 最新中文字幕久久久久| 一本精品99久久精品77| 变态另类丝袜制服| 好看av亚洲va欧美ⅴa在| 亚洲国产精品成人综合色| 亚洲国产高清在线一区二区三| 亚洲国产色片| 中文字幕av成人在线电影| 男人狂女人下面高潮的视频| 久久精品国产亚洲av香蕉五月| 夜夜躁狠狠躁天天躁| 淫秽高清视频在线观看| 欧美精品啪啪一区二区三区| 久久久久久久精品吃奶| 国产老妇女一区| 国产人妻一区二区三区在| 国产三级在线视频| 欧美国产日韩亚洲一区| 亚洲av.av天堂| 亚洲av中文字字幕乱码综合| av在线天堂中文字幕| 亚洲中文字幕日韩| 精品日产1卡2卡| 淫秽高清视频在线观看| 亚洲第一区二区三区不卡| 欧美极品一区二区三区四区| 综合色av麻豆| 国产午夜福利久久久久久| 精品99又大又爽又粗少妇毛片 | 国产成人aa在线观看| 久久久久久久久大av| 熟妇人妻久久中文字幕3abv| 最近在线观看免费完整版| 少妇丰满av| 91九色精品人成在线观看| 久9热在线精品视频| 男人舔女人下体高潮全视频| netflix在线观看网站| 午夜精品在线福利| 村上凉子中文字幕在线| 天堂影院成人在线观看| 欧美一区二区国产精品久久精品| 日本熟妇午夜| 97超视频在线观看视频| 欧美色欧美亚洲另类二区| 午夜影院日韩av| 亚洲人与动物交配视频| 波多野结衣高清无吗|