Meta 發布開放程式碼的快取引擎 CacheLib


CacheLib 是一個 C++ 函式庫,提供進程內高效能快取機制。CacheLib 提供線程安全的 API,用於建立高吞吐量、低開銷的快取服務,並內建了透明地利用 DRAM 和 SSD 快取的功能。

CacheLib 提供了一個獨立的執行程序 CacheBench,可用於評估啟發式演算法和快取硬體平台在生產工作負載下的效能。此外,CacheBench 它還支援對 CacheLib 的實作和設計變更進行壓力測試,以發現正確性和效能問題。

哪些人應該使用 CacheLib?

  • 零拷貝語義的並發存取。
  • 嚴格的記憶體限制-快取大小在設定的範圍內,永遠不會超出設定的範圍。
  • 支援多種快取演算法,如 LRU、TinyLFU、LRU2Q 以及 TTL。
  • 針對工作負載的動態變化,智慧自動調整快取(池重新平衡、類別重新平衡)。
  • 基於共享記憶體的快取持久化,可在進程重新啟動後保持快取狀態。
  • 透明地使用 DRAM 和 SSD 進行快取。

隨著傳統動態隨機存取記憶體 (DRAM) 快取成本日益高昂且擴展所需功耗不斷增加,CacheLib 的推出可以善用非揮發性記憶體 (NVM) 磁碟機等硬體方案來增強其快取系統,新版本為時隔兩年後發布。

https://github.com/facebook/CacheLib

Picture Source

Meta

留言