持久內(nèi)存加持 參數(shù)服務(wù)器性能升級(jí)
時(shí)間:2022-03-19 12:51:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-03-19 12:51:01 來(lái)源:行業(yè)動(dòng)態(tài)
參數(shù)服務(wù)器通常將所有數(shù)據(jù)放在純內(nèi)存中處理,AI模型越大,分布式參數(shù)服務(wù)器的內(nèi)存需求越大。此外,純內(nèi)存雖然性能優(yōu)秀,但因其易失性(volatile)特性,一旦硬件或者軟件發(fā)生故障,內(nèi)存丟失的全部數(shù)據(jù)必須從持久性存儲(chǔ)設(shè)備(HDD/SSD)中讀取日志恢復(fù),恢復(fù)速度慢,嚴(yán)重影響線上性能服務(wù)質(zhì)量。
持久內(nèi)存的大容量、高性能、非易失性屬性,為其帶來(lái)了高安全性、低成本等優(yōu)勢(shì),改善了目前純內(nèi)存容量小、成本高、災(zāi)備恢復(fù)慢等問(wèn)題。針對(duì)持久內(nèi)存這些應(yīng)用優(yōu)點(diǎn),第四范式針對(duì)HyperPS參數(shù)服務(wù)器的底層系統(tǒng)架構(gòu)和存取性能等進(jìn)行了軟硬一體設(shè)計(jì)。首先,針對(duì)節(jié)點(diǎn)內(nèi)的shard重新設(shè)計(jì)了新的存儲(chǔ)引擎,采用持久化哈希表為底層數(shù)據(jù)結(jié)構(gòu)儲(chǔ)存特征,保證高并行度性能的同時(shí),對(duì)持久內(nèi)存數(shù)據(jù)組織格式進(jìn)行優(yōu)化,達(dá)到接近于純內(nèi)存哈希表的性能;其次,對(duì)參數(shù)服務(wù)器災(zāi)難恢復(fù)機(jī)制調(diào)優(yōu),使用持久化智能指針記錄哈希表的核心數(shù)據(jù)結(jié)構(gòu)和根指針,實(shí)現(xiàn)業(yè)界首創(chuàng)的參數(shù)服務(wù)器實(shí)時(shí)恢復(fù)能力;再次,利用PMDK的transaction機(jī)制,使用pmempool分配和管理持久內(nèi)存空間,確保持久內(nèi)存數(shù)據(jù)一致性;最后,針對(duì)影響性能的持久化操作進(jìn)行策略性的降低,進(jìn)一步提高性能。
在實(shí)際測(cè)試環(huán)境中,基于持久內(nèi)存的HyperPS表現(xiàn)出更低的擁有成本和巨大的實(shí)時(shí)恢復(fù)優(yōu)勢(shì),以及與純內(nèi)存近乎一致的性能表現(xiàn)。
關(guān)鍵詞:服務(wù),性能,升級(jí)