臉書對外開源內部已經大量使用的快取引擎CacheLib,CacheLib是一個可插拔的程序內快取引擎,可用來建構和擴展高效能服務。臉書目前有70個大型系統,都已經使用CacheLib作為程序內快取,包括社交圖(Social Graph)、內容交付網路、儲存和後備鍵值快取等。除此之外,臉書還開源了基準測試工具CacheBench,供使用者評估不同生產工作負載的快取效能。

快取在存取資訊上扮演重要的角色,像是當電子郵件載入時,便需要快取訊息,當用戶在刷新頁面的時候,應用程式便無需重新存取相同的資料。但是臉書提到,大規模的快取,到目前為止仍是一個複雜的工程挑戰。企業必須平衡用戶期望從快取獲得的體驗,以及系統的高效能和成本效益。

臉書指出,過去每個快取實作都由不同的功能團隊獨立創建和維護,這種效率不高的原因,是因為忽略了不同快取系統,從部署到維護皆存在相同挑戰。再加上傳統的DRAM快取不只昂貴,擴展也需要更多的電力,因此臉書便開始探索另外的選擇,使用NVM驅動器來強化快取系統。

雖然DRAM和NVM混合模型存在快取發展潛力,但是要能完全發揮混合模型快取的優勢,需要有新的快取設計,這包括新的啟發式快取研究,能夠透過辨識相關內容,在正確的時間中快取,來突破傳統系統的界線,而臉書現在要藉由開源和產業合作,來推進快取的發展。

臉書開發並開源程序內快取引擎CacheLib,CacheLib提供C++函式庫,讓開發人員能夠利用簡單的API,建構並且自定義可擴展的並行快取,同時提供CacheBench,使其成為評估各種快取應用程式的有效基準工具。

臉書表示,CacheLib和CacheBench作為開源平臺,有望成為快取創新和基準測試的產業標準。目前臉書開始與研究型大學、硬體製造商和軟體公司合作,推動快取創新。臉書正與推特合作,將CacheLib整合到快取框架Pelikan中,使推特在基礎設施中能以SSD來快取物件,而Pinterest也計畫在機器學習基礎設施中,採用CacheLib來提高預測效能和系統穩定度。不只如此,臉書也和英特爾、Kioxia、三星與WD等硬體製造商合作,共同標準化和強化SSD技術,以改進快取解決方案。

熱門新聞

Advertisement