2018 儲存技術熱點與趨勢總結

2021-08-20 16:34:50 字數 2979 閱讀 2763

中,就實現了將 leveldb 直接執行在 open-channel ssd 上。

應運而生。lightnvm 是在 linux kernel 中乙個針對 open-channel ssd 的 subsystem。lightnvm 提供了一套新的介面,用於管理 open-channel ssd,以及執行 io 操作。為了和 kernel 中現有的 io 子系統協同工作,還存在 pblk(physical block device)層。他在 lightnvm 的基礎上實現了 ftl 的功能,同時對上層暴露傳統的 block 層介面,使得現有的檔案系統可以通過 pblk 直接執行在 open-channel ssd 上。2017 年 fast 上的一篇 *****:『lightnvm: the linux open-channel ssd subsystem

』專門介紹了 lightnvm。

版本的標準。但無論是 open-channel ssd,還是 lightnvm 都還處於非常早期的階段,目前在市面上很難見到 open-channel ssd,不適合直接投入到生產中。儘管如此,open-channel ssd 和 host based ftl 帶來的好處是非常巨大的。對於追求極致儲存效能的場景,在未來很可能會採用 open-channel ssd + lightnvm 的實現方式。

將 nvm 當做磁碟使用,提供塊以及檔案的介面。例如在 linux 中引入的 direct access

(dax),可以將對現有的檔案系統進行擴充套件,使得其可以執行在 nvm 上,例如 ext4-dax。也有類似於 pmfs

,nova

等專門為 nvm 定製的檔案系統。

提供了乙個思路,通過 nvm + rdma 實現了分布式檔案系統,同時在自己實現一套基於 rdma 的 rpc 用於進行節點間的通訊。

也提供了乙個不錯的思路。

。可以說從這篇文章開始,系統領域展開了乙個新的方向,machine learning 與系統相結合。不得不讚嘆 jeff dean 對電腦科學的影響力。

,都釋放出了乙個很強的訊號,計算機系統中包含了大量的 heuristics 演算法,用於做各種各樣的決策,例如 tcp 視窗應該設定為多大,是否應該對資料進行快取,應該排程哪乙個任務等等。而每一種演算法都存在效能,資源消耗,錯誤率,以及其他方面的 tradeoff,需要大量的人工成本進行選擇和調優。而這些正是machine learning 可以發揮的地方。

文章中,作者提到了乙個典型的場景,資料庫的索引。傳統的索引通常採用 b 樹,或 b 樹的變種。然而這些資料結構通常是為了乙個通用的場景,以及最差的資料分布而進行設計的,並沒有考慮到實際應用中資料分布情況。對於很多特殊的資料分布場景,b 樹並不能夠達到最優的時間和空間複雜度。為了達到最佳效果,需要投入大量的人力進行資料結構的優化。同時,由於資料的分布在不斷的變化,調優的工作也是持續不斷的。作者提出的的 learned index,則是通過與 machine learning 技術結合,避免人工調優的開銷。

由於避免了樹遍歷引入的條件判斷,查詢速度更快

提出了將 key 與 value 分開存放的方法。傳統 lsm-tree 將 key 和 value 相鄰存放,保證 key 和 value 在磁碟上都是有序的。這提高了 range query 的效率。然而,當進行 compaction 時,由於需要同時操作 key 和 value,所以造成了較大讀寫比例放大。而在 wisckey 中,通過將 key 和 value 分開存放,key 保持 lsm-tree 結構,保證 key 在磁碟上的有序性,而 value 使用所謂 『value log』 結構,很像 log-structured file system 中的乙個 segment。通過在 key 中儲存 value 在磁碟上的位置,使得可以通過 key 讀取到 value。由於 lsm-tree 中只儲存 key,不儲存 value,且 key 的大小通常遠小於 value 的大小,所以 wisckey 中的 lsm-tree 的大小遠小於傳統 lsm-tree 的大小,因此 compaction 引入的讀寫放大可以控制在非常小的比例。wisckey 的缺點是犧牲了 range query 的效能。由於相鄰 key 的 value 在磁碟上並沒有存在相鄰的位置,wisckey 中對連續的 key 讀取被轉化成隨機磁碟讀取操作。而作者通過將預讀(prefetching)io 並行化的方式,盡可能降低對順序讀效能的影響。

提出了另外一種思路。在傳統 lsm-tree 中,每一層由多個 sstable 組成,每乙個 sstable 中儲存了一組排好序 key-value,相同層的 sstable 之間的 key 沒有重疊。當進行 compaction 時,上層的 sstable 需要與下層的 sstable 進行合併,也就是將上層的 sstable 和下層的 sstable 讀取到記憶體中,進行合併排序後,組成新的 sstable,並寫回到磁碟中。由於 compaction 的過程中需要讀取和寫入下層的 sstable,所以造成了讀寫放大,影響應能。

。fscq 通過 coq 作為輔助的形式化驗證工具,在 crash hoare logic 的基礎上,實現了乙個被證明過 crash safty 的檔案系統。

則基於 z3,將檔案系統證明過程自動化,也就是最近非常流行的『push-button verification』 的方法。

是基於 k8s 的編排工具。而 k8s 本身也發布了 container storage inte***ce

(csi),用於第三方儲存廠商更好的開發 k8s 的儲存外掛程式。未來也會看到越來越多的儲存廠商對 k8s 進行支援。

,block layer 錯誤處理改進

,基於 mq 的排程器 kyber

等等。然而比較悲傷的訊息是,為了修復 meltdown 和 spectrue 漏洞,kernel 引入了 kernel page table isolation

(kpti)技術,這導致系統呼叫和上下文切換的開銷變得更大。brendan gregg 在他的部落格

中詳細分析了 kpti 對效能產生的影響。對於系統呼叫與上下文切換越頻繁的應用,對效能的影響越大。也就是說,io 密集型的應用將受到比較大的影響,而計算密集型的應用則影響不大。

擁有國內最頂尖的分布式儲存和超融合架構研發團隊,是國內超融合領域的技術領導者。

2018 GitHub最火技術趨勢

github的高階技術副總裁jason warner在2018的技術趨勢中挑出了資料 工作流整合 workflow integration 以及開源工具,他認為這些是乙個公司在2018年能夠取得成功的關鍵。warner寫道,資料將成為2018年全球增長的最重要因素 現如今,所有的公司都是資料公司,不...

2023年十大熱點技術發展趨勢

1.3d列印 從平民化的3d電影到工業革命2.0的3d印表機,3d技術已經普及到個體並正在進一步發展。2012年是3d電影全面普及的一年,如果說3d電影帶給人們視覺的衝擊,那麼3d印表機帶給人們想象力的重新整理。吉他 牛排 機械臂 房子 飛機這些都已經是3d印表機的成果。3d列印技術將是美國振興製造...

2023年NLP技術學習總結

這是2018年的乙個快樂的一天,但發生了兩件事,這讓我在今年上半年完全失望,並認為2018年將是我職業生涯中最困難的一年。當然,這種困難並不意味著畢業時的經濟困難。nlp偽原創也一直在改進中,很累但很有成就感。在2018年上半年,做了兩件錯事。首先,他們與某位姐妹相遇,最後他們變成了陌生人。其次,他...