當(dāng)前位置:首頁 > 芯聞號 > 充電吧
[導(dǎo)讀] 摘要 分布式緩存被廣泛應(yīng)用于以十億用戶規(guī)模服務(wù)于社交網(wǎng)絡(luò)和網(wǎng)絡(luò)應(yīng)用。然而,典型的工作負(fù)載偏差會導(dǎo)致緩存服務(wù)器之間的負(fù)載不平衡。這種負(fù)載不平衡降低了請求吞吐量,并增加了請求延遲,從而降低了緩存的


摘要

分布式緩存被廣泛應(yīng)用于以十億用戶規(guī)模服務(wù)于社交網(wǎng)絡(luò)和網(wǎng)絡(luò)應(yīng)用。然而,典型的工作負(fù)載偏差會導(dǎo)致緩存服務(wù)器之間的負(fù)載不平衡。這種負(fù)載不平衡降低了請求吞吐量,并增加了請求延遲,從而降低了緩存的好處。最近的研究從理論上表明,前端一個小的完美緩存對分布式緩存的負(fù)載平衡有很大的影響。然而,確定在前端服務(wù)器上實現(xiàn)近乎完美的緩存的緩存大小和替換策略是一項挑戰(zhàn),特別是對于動態(tài)變化和不斷變化的工作負(fù)載。這篇文章介紹了Cache on Track(CoT),這是一個用于云環(huán)境的分散、彈性和預(yù)測性的緩存框架。CoT是以下問題的答案:在緩存服務(wù)器端實現(xiàn)負(fù)載平衡所需的前端緩存大小是多少?CoT提出了一個新的緩存替換策略,專門為服務(wù)于傾斜工作負(fù)載的小型前端緩存量身定制。前端服務(wù)器使用重?fù)舾櫵惴▉磉B續(xù)跟蹤top-k熱鍵。CoT從跟蹤的密鑰中動態(tài)緩存最熱的C密鑰。此外,每個前端服務(wù)器獨立地監(jiān)視其對緩存服務(wù)器負(fù)載不平衡的影響,并相應(yīng)地調(diào)整其跟蹤器和緩存大小。我們的實驗表明,CoT的替換策略在不同的傾斜工作負(fù)載下,對于相同的緩存大小,始終超過LRU、LFU和ARC的命中率。此外,CoT的命中率略高于LRU-2當(dāng)兩個策略的跟蹤(歷史)大小相同時。CoT實現(xiàn)了服務(wù)器大小的負(fù)載平衡,與其他替換策略相比,前端緩存減少了50%到93.75%。最后,我們的實驗表明,CoT的大小調(diào)整算法成功地自動配置了跟蹤器和緩存大小,以在工作負(fù)載分布發(fā)生變化的情況下實現(xiàn)后端負(fù)載平衡。


介紹

社交網(wǎng)絡(luò)、網(wǎng)絡(luò)和移動應(yīng)用吸引了數(shù)億用戶[3,7]。這些用戶分享他們的關(guān)系,并在及時的個性化體驗中交換圖像和視頻[13]。為了實現(xiàn)這種實時體驗,底層存儲系統(tǒng)必須提供對大數(shù)據(jù)的高效、可擴展和高可用性訪問。社交網(wǎng)絡(luò)用戶消耗的數(shù)據(jù)比他們產(chǎn)生的數(shù)據(jù)多出幾個數(shù)量級[10]。此外,單頁加載需要數(shù)百個對象查找,這些對象查找需要在幾秒鐘內(nèi)完成[13]。因此,傳統(tǒng)的基于磁盤的存儲系統(tǒng)不適合處理這種規(guī)模的請求,因為磁盤的高訪問延遲和I/O吞吐量限制[50]。

為了克服這些限制,分布式緩存服務(wù)被廣泛地部署在每個客戶存儲的頂部,以便高效地為大規(guī)模的用戶請求提供服務(wù)[49]。Memcached[4]和Redis[5]等分布式緩存系統(tǒng)被Amazon Elasti Cache[1]和Azure Redis Cache[2]等云服務(wù)提供商廣泛采用。這些緩存服務(wù)為直接訪問每一個電阻存儲層的系統(tǒng)提供了顯著的延遲和吞吐量提升。Redis和Memcached使用con-sistent散列[35]在多個緩存服務(wù)器之間分發(fā)密鑰。盡管一致散列確保了分配給每個緩存碎片的密鑰數(shù)量的公平分布,但它不考慮分配過程中每個密鑰的工作負(fù)載?,F(xiàn)實世界的工作負(fù)載通常是傾斜的,很少有鍵比其他鍵更熱[30]。這種傾斜導(dǎo)致緩存服務(wù)器之間的負(fù)載不平衡。

緩存層中的負(fù)載不平衡可能會對整個應(yīng)用程序性能產(chǎn)生顯著影響。尤其是,它可能導(dǎo)致在接入頻率分布的尾部的操作延遲急劇增加[29]。此外,當(dāng)工作負(fù)載偏差增加時,平均吞吐量降低,平均延遲增加[15]。當(dāng)在依賴數(shù)據(jù)對象鏈中執(zhí)行操作時,實際工作負(fù)載的平均延遲和尾部延遲的這種增加是放大的[41]。一次Facebook頁面加載會在多輪數(shù)據(jù)獲取操作中檢索數(shù)百個對象[44,13]。最后,解決方案同樣會過度配置緩存層資源,以處理負(fù)載最重的緩存服務(wù)器所帶來的資源利用率最低的緩存服務(wù)器所帶來的影響。

為了解決負(fù)載不平衡問題,人們提出了多種方法,使用集中負(fù)載監(jiān)控[9,48]、服務(wù)器端負(fù)載監(jiān)控[29]或前端負(fù)載監(jiān)控[24]。Adya等人。[9] 提出將數(shù)據(jù)服務(wù)平面與控制平面分離的切片器。控制平面是一個集中化的系統(tǒng)組件,它收集有關(guān)碎片訪問和服務(wù)器工作負(fù)載的元數(shù)據(jù)。它定期運行一個優(yōu)化算法,該算法決定重新分配、重新分區(qū)或復(fù)制密鑰空間的片段,以實現(xiàn)更好的后端負(fù)載平衡。Hong等人。[29]使用分布式服務(wù)器端負(fù)載監(jiān)控來解決負(fù)載不平衡問題。每個后端服務(wù)器都獨立地跟蹤其熱鍵和取消決定,以便將其熱鍵的工作負(fù)載分配給其他后端服務(wù)器。[9,48]和[29]中的解決方案要求后端更改緩存的密鑰-服務(wù)器映射并將新映射公布到所有的前端服務(wù)器。Fan等人。[24]使用分布式前端負(fù)載監(jiān)控方法。這種方法表明,在前端服務(wù)器中添加一個小緩存對解決后端負(fù)載不平衡有很大的影響。在前端服務(wù)器上緩存重量級用戶可以減少緩存服務(wù)器提供的密鑰之間的偏差,從而實現(xiàn)更好的后端負(fù)載平衡。Fan等人。理論上通過分析和仿真表明,每個前端都有一個小的完美緩存,解決了后端負(fù)載不平衡的問題。然而,完美的緩存實際上很難實現(xiàn)。為了動態(tài)地改變和發(fā)展工作負(fù)載,確定緩存大小和在前端實現(xiàn)接近每影響緩存的替換策略是一項挑戰(zhàn)。

在這篇文章中,我們提出了Cache-on-Track(CoT),它是一種分散的、彈性的、預(yù)測性強的前端服務(wù)器緩存。CoT pro提出了一個新的緩存替換策略,專門針對服務(wù)于傾斜工作負(fù)載的小型前端緩存。CoT使用一個小的前端緩存來解決后端負(fù)載不平衡的問題,如[24]中介紹的。然而,CoT并不認(rèn)為前端有完美的緩存。CoT使用節(jié)省空間的算法[43]來跟蹤top-k重?fù)羰?。跟蹤信息允許CoT從top-k跟蹤的近似鍵中緩存出準(zhǔn)確的top-C最熱鍵,以防止長尾的冷鍵和噪聲鍵替換緩存中的熱鍵。CoT是分散的,因為每個前端獨立地根據(jù)在這個特定前端服務(wù)的密鑰訪問分配來確定其熱鍵集。這種低成本的CoT解決了后端負(fù)載不平衡的問題,沒有引入單一的故障點或瓶頸,這些通常都是集中解決方案帶來的。此外,這使得CoT可以擴展到數(shù)千個前端服務(wù)器,這是社交網(wǎng)絡(luò)和現(xiàn)代web應(yīng)用程序的共同要求。CoT是彈性的,因為每個前端使用其本地負(fù)載信息來監(jiān)視其對后端負(fù)載不平衡的貢獻。每個前端彈性地調(diào)整其跟蹤器和緩存大小,以減少由這個前端引起的負(fù)載不平衡。在工作負(fù)載發(fā)生變化的情況下,CoT除了動態(tài)調(diào)整跟蹤器和緩存大小之外,還動態(tài)調(diào)整前端跟蹤器與緩存的比率,以消除任何后端負(fù)載不平衡。

在傳統(tǒng)的架構(gòu)中,內(nèi)存大小是靜態(tài)的,緩存算法努力實現(xiàn)所有可用資源的最佳利用。然而,在云環(huán)境中,理論上存在有限的內(nèi)存和處理資源,而云站姿遷移是一種常態(tài),云最終用戶的目標(biāo)是實現(xiàn)其slo,同時減少所需的云資源,從而降低其貨幣部署成本。CoT的主要目標(biāo)是在每個前端減少必要的前端緩存大小,以消除服務(wù)器端負(fù)載不平衡。減少前端緩存大小對于以下方面至關(guān)重要:1)它降低了部署前端緩存的金錢成本。為此,我們引用大衛(wèi)•洛米特(David Lomet)最近的著作[40,39,38]中的話,他指出成本/性能通常比純粹的性能更重要:“這里的論點不是沒有足夠的主內(nèi)存來保存數(shù)據(jù),而是有一種成本更低的數(shù)據(jù)管理方法?!?。

2) 在數(shù)據(jù)更新的情況下,當(dāng)需要數(shù)據(jù)一致性時,增加前端緩存大小會顯著增加數(shù)據(jù)一致性管理技術(shù)的成本。請注意,社交網(wǎng)絡(luò)和現(xiàn)代web應(yīng)用程序運行在成千上萬的前端服務(wù)器上。增加前端緩存大小不僅會使部署更大緩存的成本乘以前端服務(wù)器的數(shù)量,但也增加了一致性管理管道中的一些成本,包括a)跟蹤不同前端服務(wù)器中的密鑰體現(xiàn)的成本,b)將更新傳播到前端服務(wù)器的網(wǎng)絡(luò)和處理成本。3) 由于工作負(fù)載是傾斜的,我們的經(jīng)驗清楚地表明,添加更多前端緩存線的相對成本(以每個緩存線的平均緩存命中率和后端負(fù)載不平衡減少來衡量)隨著前端緩存大小的增加而急劇減少。

CoT的調(diào)整大小算法根據(jù)動態(tài)工作負(fù)載的變化動態(tài)地增加或減少前端分配的內(nèi)存。CoT的動態(tài)調(diào)整大小算法在不同的云設(shè)置中很有價值

1) 所有前端服務(wù)器部署在同一個數(shù)據(jù)中心,并獲得相同的動態(tài)演進工作負(fù)載分布;2)所有前端服務(wù)器部署在同一個數(shù)據(jù)中心,但獲得不同的動態(tài)演進工作負(fù)載分布,
最終3)前端服務(wù)器部署在不同的邊緣數(shù)據(jù)中心,并獲得不同的動態(tài)變化的工作負(fù)載分布。特別是,CoT旨在從每個單獨的前端服務(wù)器的角度捕捉本地趨勢。在社交網(wǎng)絡(luò)應(yīng)用程序中,服務(wù)于不同地理區(qū)域的前端服務(wù)器可能會經(jīng)歷不同的密鑰訪問分布和不同的本地趨勢(例如,邁阿密與紐約)。類似地,在大型數(shù)據(jù)處理管道中,幾個應(yīng)用程序部署在共享緩存層的頂部。每個應(yīng)用程序可能對不同的數(shù)據(jù)分區(qū)感興趣,因此體驗不同的密鑰訪問分布和本地趨勢。CoT在前端服務(wù)器上運行的是細粒度密鑰級別,而Slicer[9]這樣的解決方案在緩存服務(wù)器上運行的是較粗的細粒度切片或碎片。服務(wù)器端解決方案是對CoT的補充。雖然捕獲本地趨勢可以減輕緩存服務(wù)器之間的負(fù)載并減少負(fù)載不平衡,但其他因素可能會導(dǎo)致負(fù)載不平衡,因此使用服務(wù)器端負(fù)載平衡(例如切片器)可能仍然是有益的。

我們在本文中的貢獻總結(jié)如下。

•緩存在軌(CoT)是一種分散的、有彈性的,

以及預(yù)測性的前端緩存框架

減少后端負(fù)載不平衡并改進

整體表現(xiàn)。

CoT動態(tài)地最小化所需的前端緩存大小,以實現(xiàn)后端負(fù)載平衡。與其他替代政策相比,CoT的內(nèi)置彈性是一個關(guān)鍵的新優(yōu)勢。

廣泛的實驗研究,將CoT的替代政策與傳統(tǒng)的以及最先進的替代政策,即LFU、LRU、ARC和LRU-2進行比較。實驗結(jié)果表明,與其他替換策略相比,CoT在不同工作負(fù)載下實現(xiàn)了服務(wù)器大小的負(fù)載平衡,前端緩存減少了50%到93.75%。

•實驗研究表明

成功地自動配置跟蹤程序和緩存

大小以實現(xiàn)后端負(fù)載平衡。

•在我們的實驗中,我們發(fā)現(xiàn)

YCSB的[19]加密工作負(fù)載發(fā)生器-

阿托爾。這個生成器生成的工作負(fù)載

明顯沒有承諾的那么偏斜

壓縮分布。

論文的其余部分安排如下。第二節(jié)介紹了系統(tǒng)和數(shù)據(jù)模型。在第3節(jié)中,我們通過介紹在前端使用LRU、LFU、ARC和LRU-k緩存的主要優(yōu)點和局限性來激勵CoT。我們在第四節(jié)介紹了嬰兒床的細節(jié)。第五節(jié)對膠輥的性能和運行費用進行了評估,第六節(jié)對相關(guān)工作進行了討論,第七節(jié)對論文進行了總結(jié)。

論文PDF版下載:https://arxiv.org/pdf/2006.08067

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉