[SoCC 14'] Tachyon: Reliable, Memory Speed Storage for Cluster Computing Frameworks
02-02
文章概況
這篇文章和之前介紹的OSDI 16 EC-cache都來自UC Berkeley的AMPLab.
1. motivation
內存緩存系統對工作負載的讀操作帶來了性能提升,但是出於容錯的目標,很多系統都使用了複製的方法來容錯。這時寫操作由於受到網路或者磁碟的限制,通常性能較差。
lineage機制能夠在不用複製的同時提供容錯功能。但是在連續運行的分散式存儲系統中使用lineage機制有兩個挑戰:
- 首先要保證數據重新計算的開銷。周期性的檢查點可以提供重算的上界,但是如果數據寫入速度大於可用磁碟帶寬,那麼數據恢復就是不可能完成的。
- 然後必須保證重算能夠得到足夠的資源的同時並不影響同時執行的其他更高優先順序的任務。
2. innovation
- 通過非同步的後台文件同步來做文件檢查點,保證數據重新計算的開銷是有限的。
- 使用Edge演算法, 能夠在不了解工作負載訪問模式的情況下控制重新計算的上界。
- 提供資源分配機制,支持兩種集群資源分配模型,嚴格優先順序模型和加權公平性共享模型(strict priority and weighted fair sharing)。
3. implementation
- 使用已有的存儲系統來做持久化層(支持HDFS, S3, GlusterFS, 以及NFS)
- 儘管Tachyon聲稱使用lineage機制來避免數據的複製,它還是使用了客戶端緩存機制來減輕讀熱點的出現。(其實就是也做了數據的複製,只不過只局限於緩存部分,為了性能而複製)
Refs
lineage
通過重新計算來進行數據恢復的機制。典型的應用如spark中的lineage機制。lineage非常類似於redo log機制,但是它是在全局層面上的重新計算,而不是在事務層面的重新執行日誌對應的操作。
推薦閱讀:
※什麼時候中國的手機晶元或系統能成為主流?
※機器學習領域是否已經達到飽和?
※如何用機器學習進行天氣預報?
※雲計算開發前期準備