【快手推薦系統(tǒng)采用計(jì)算和存儲分離的架構(gòu)】

2018年到2019年上半年,快手推薦架構(gòu)團(tuán)隊(duì)的主要工作集中在利用異構(gòu)混合計(jì)算的方式,提升推薦系統(tǒng)中模型預(yù)估和召回檢索等計(jì)算密集型業(yè)務(wù)的性能。通過利用異構(gòu)計(jì)算的改造,產(chǎn)生了數(shù)倍的性能提升,鼓舞了快手推薦架構(gòu)團(tuán)隊(duì)向異構(gòu)系統(tǒng)設(shè)計(jì)中更難的存儲問題進(jìn)發(fā)。

一直以來,快手推薦團(tuán)隊(duì)致力于推薦系統(tǒng)架構(gòu)調(diào)整,力求在日益增長的用戶量沖擊下,使推薦系統(tǒng)高可用的前提下,實(shí)時、高效、精準(zhǔn)地向用戶推薦優(yōu)質(zhì)內(nèi)容。

新機(jī)遇:軟硬結(jié)合極致優(yōu)化,探索異構(gòu)存儲

持久內(nèi)存是介于DRAM和SSD間的新存儲層級,不僅能提供接近DRAM的延遲,同時還提供持久化和更大容量的存儲空間,這為推薦系統(tǒng)中不同場景的可行性分析和架構(gòu)設(shè)計(jì)提供了思路。

相比于傳統(tǒng)的內(nèi)存加硬盤的兩級存儲,新存儲設(shè)備的推出,現(xiàn)代服務(wù)器可以利用的存儲層級越來越多,利用多層級存儲的軟件系統(tǒng)設(shè)計(jì)也變得越來越復(fù)雜。每種存儲設(shè)備有不同的性能特性和容量大小限制,越快的設(shè)備的單位容量成本越高。例如使用內(nèi)存插槽的英特爾? 傲騰? 數(shù)據(jù)中心級持久內(nèi)存,依據(jù)讀寫粒度的不同,讀寫帶寬雖小于傳統(tǒng)內(nèi)存,但寫入數(shù)據(jù)具有持久性,且容量遠(yuǎn)大于傳統(tǒng)內(nèi)存。如何結(jié)合不同層級的存儲設(shè)計(jì)在大規(guī)模推薦場景下性價比最優(yōu)的存儲系統(tǒng)成為一個巨大機(jī)遇和挑戰(zhàn)。

軟硬結(jié)合:快手推薦系統(tǒng)國內(nèi)率先基于持久內(nèi)存應(yīng)用異構(gòu)存儲
【新一代服務(wù)器的存儲層級結(jié)構(gòu)】

快手聯(lián)合英特爾,國內(nèi)業(yè)界率先落地采用英特爾? 傲騰 數(shù)據(jù)中心級持久內(nèi)存的異構(gòu)存儲到推薦系統(tǒng)

基于多層級異構(gòu)存儲設(shè)備,快手推薦團(tuán)隊(duì)聯(lián)合系統(tǒng)運(yùn)營部硬件選型研發(fā)團(tuán)隊(duì)針對推薦系統(tǒng)中的不同場景進(jìn)行了可行性分析和架構(gòu)設(shè)計(jì)的調(diào)研。針對持久內(nèi)存的特性,對分布式索引和參數(shù)服務(wù)器中的KV存儲進(jìn)行了重新設(shè)計(jì)。

軟硬結(jié)合:快手推薦系統(tǒng)國內(nèi)率先基于持久內(nèi)存應(yīng)用異構(gòu)存儲
基于持久性內(nèi)存的KV系統(tǒng)設(shè)計(jì)示意圖,注:AEP指代英特爾? 傲騰? 數(shù)據(jù)中心級持久內(nèi)存

該設(shè)計(jì)主要通過為KV存儲增加MemPool組件,針對不同訪問類型來決定系統(tǒng)是訪問DRAM緩存,還是直接讀取持久內(nèi)存。比如說,在推薦模型預(yù)估的參數(shù)服務(wù)器這個場景中,由于模型中神經(jīng)網(wǎng)絡(luò)大小與Embedding Table相比很小,所以神經(jīng)網(wǎng)絡(luò)也會被MemPool直接分配進(jìn)入DRAM來提高預(yù)估的性能。

除此之外,推薦團(tuán)隊(duì)還對KV系統(tǒng)進(jìn)行了調(diào)優(yōu):

·       對于數(shù)據(jù)讀取場景采用NUMA節(jié)點(diǎn)綁定的方式使得持久內(nèi)存訪問不跨NUMA節(jié)點(diǎn),從而獲得更好的讀寫性能;

·       采用ZeroCopy技術(shù)對內(nèi)存和持久內(nèi)存進(jìn)行訪問;

·       使用無鎖技術(shù),減少臨界區(qū)中對持久內(nèi)存的訪問來提高性能。

經(jīng)過上述的技術(shù)改進(jìn),我們將基于持久內(nèi)存的索引系統(tǒng)用真實(shí)的線上請求數(shù)據(jù)進(jìn)行模擬壓測。測試結(jié)果如下:

軟硬結(jié)合:快手推薦系統(tǒng)國內(nèi)率先基于持久內(nèi)存應(yīng)用異構(gòu)存儲
基于持久性內(nèi)存索引系統(tǒng)的壓力測試結(jié)果

基于異構(gòu)存儲的索引系統(tǒng)幾乎達(dá)到純DRAM的索引系統(tǒng)相同的性能指標(biāo),但總體擁有成本降低30%。同時異構(gòu)存儲的索引系統(tǒng)能夠提供分鐘級別的故障恢復(fù)速度,比之前小時級別的恢復(fù)提升了百倍恢復(fù)速度。英特爾專家介紹,快手是國內(nèi)率先在推薦系統(tǒng)領(lǐng)域中引入并使用基于持久內(nèi)存的異構(gòu)存儲的互聯(lián)網(wǎng)公司,這種創(chuàng)新實(shí)踐的技術(shù)能力讓我們側(cè)目。

分享到

zhupb

相關(guān)推薦