成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SCM: 顛覆存儲系統軟件架構

存儲 存儲軟件
SCM(Storage Class Memory)是一種新型的存儲介質,其特性與傳統的存儲介質有很大的不同。如何基于SCM介質的特性,在軟件層面做出相關的改變,充分發揮SCM的能力,是下一代超高性能存儲系統需要解決的至關重要的問題。
  • 背景

SCM(Storage Class Memory)是一種新型的存儲介質,其特性與傳統的存儲介質有很大的不同。如何基于SCM介質的特性,在軟件層面做出相關的改變,充分發揮SCM的能力,是下一代超高性能存儲系統需要解決的至關重要的問題。

  • SCM對存儲軟件的挑戰

SCM對存儲軟件的挑戰是多方面的,其中最關鍵的挑戰是軟件棧時延、網絡時延以及崩潰一致性,下面分別進行簡單的說明。

[[206182]]

  • 軟件棧時延

不同介質的時延如下圖所示,在沒有SCM出現以前,時延從低到高分別是SRAM、DRAM、NAND(SSD)、Magnetic Disk(HDD)??梢钥吹?,DRAM和NAND之間存在2-3個數量級的差異,這是一個明顯的性能鴻溝(Performance Gap)。SCM的時延在在DRAM和SSD之間,它的出現填補了這個性能鴻溝,這使得SCM既能夠被當作比較快的存儲設備來使用,又可以當作略慢一些的內存(同時有非易失特性)來使用,如下圖右側所示(在圖中標為NVM)。

SCM填補了DRAM和NAND之間的性能鴻溝(FromSNIA)

在現有AFA存儲系統中,為追求NVMe SSD的極致性能,軟件棧本身帶來的時延已經無法忽略 。相比SSD,SCM介質的訪問時延有幾個數量級的差異(從數百微秒級到數百納秒級),軟件棧時延的問題將更為凸顯。如傳統的從應用到內核的軟件棧對功能的分解層級清晰,對于慢速的存儲介質是合適的,但對于SCM這樣的超高速介質則成為了速度的瓶頸。

  • 網絡時延

基于同樣的原因,網絡時延在SCM系統中的占比也成為了影響系統時延的主要矛盾。如何構建高速、穩定的網絡,成為了能否在系統中充分利用SCM介質性能的關鍵因素。

  • 崩潰一致性(CrashConsistency)

相對于傳統內存,SCM可以提供相同的訪問接口(Byte Addressable SCM: Load/Store),同時提供了數據非易失能力。在基于內存的計算機系統中,不需要考慮系統崩潰后內存中數據的恢復問題(系統崩潰后內存數據全部丟失,需要從其他地方恢復數據),而在SCM系統中需要考慮這個問題(如何在系統恢復后直接從SCM中恢復數據?)。這個問題極大影響了軟件系統的設計理念,如在數據寫入SCM的過程中,由于CPU保存到介質的順序可能受到硬件的自動調整,需要根據數據在系統崩潰后被使用的順序來保證數據在存儲到SCM時的順序,或者能夠通過其他方式恢復數據的內在一致性,否則就會發生數據損壞。

一個簡單的示例如下圖所示。程序的意圖是先寫入數據data[0]和data[1],然后再設置valid標志位為1,表示數據是有效的。然而如果不通過store和fence指令配合指定數據寫入SCM的順序,數據寫入SCM就可以被硬件調整。調整后的順序可能是先寫入valid標志,再寫入data。如果在寫入valid標志后,但data尚未寫入之前發生了系統崩潰,則在SCM將會存在錯誤的信息。在系統恢復后,將會將SCM中的垃圾數據認為是有效數據,從而帶來數據一致性的問題:

訪存重排將會引入崩潰一致性問題

Data數據從Cache 到SCM介質的持久過程,通常需要增加新的commit CPU指令,保障數據真正持久化到了NVM 介質中。但是,在commit操作未執行之前,由于Cache空間不足,引起的不可控、隨機的Data數據從Cache到SCM的持久化,讓數據不一致問題更復雜了。Commit操作影響了未來存儲應用軟件設計,甚至成為軟件架構設計的關鍵要素。數據一致性與性能的矛盾仍然是永恒的架構課題。

  • 如何應對這些挑戰
  • 應對軟件棧時延的挑戰

應對軟件棧時延挑戰的主要方法,是采用新的軟件分層模式,打薄軟件棧深度,減少軟件消耗。如開源的libpmem(http://pmem.io/)為持久化內存提供了基礎的編程框架,在極致性能場景通過bypass傳統軟件棧的直通方式去除相應的時延消耗,如下圖最右側所示(引自http://pmem.io/2014/08/27/crawl-walk-run.html)。軟件可以從用戶態通過Load/Store直接訪問SCM,繞過內核軟件棧,就能夠最大程度地減少軟件棧的時延開銷。

用戶態Load/Store直通模式提供最優軟件棧時延

所以,軟件用戶態化,除了帶來維護性、App實例編排的好處外,性能優化是更重要的。上圖直接訪問新介質空間地址的信息,避免了內核過多的操作。 內核調度,系統調用的us級開銷,在us級的介質面前,已經過于重載,bypass 內核操作新介質成為必須的選擇。

  • 應對崩潰一致性的挑戰

保證崩潰一致性的最簡單方式是在寫入數據前先記錄日志(Log),并在故障恢復后通過日志回放來恢復數據(Redo)。這個方式只要保證日志在SCM上先持久化即可,其恢復過程相對簡單,不易出錯,但該方案的缺點是產生了兩倍的寫I/O,時延也增加了一倍,影響了SCM系統的可靠性和性能。

針對這一缺點,學術界提出了一些能夠避免寫日志,通過巧妙地組織數據結構的更新順序來在crash后恢復一致狀態的方法。例如Write Optimal Radix Tree(WORT),通過記錄節點的層次信息,使得crash后可以檢測出不一致的節點,并通過檢查其子節點將狀態恢復到一致。

下圖是在WORT上插入一個新的parent節點的示意圖,每個節點最左側的數字表示節點所在的層次,后面的一個數字標志其子節點共同的prefix長度,其后是子節點共同的prefix本身(這里可以先忽略prefix長度和prefix本身)。圖中也標出了插入新的parent節點的操作順序:

  • 先產生新的parent節點C4
  • 再更新原來葉子節點B4的層次信息(原來層次為1,現在為3,新的層次為3是因為C4節點進行了prefix壓縮)
  • 再將A4節點的指針指向C4節點

假定在第二步之后第三步之前發生了crash,那么從A4沿著父子節點的指針訪問到B4的時候,就會發現期待的層次應該是1,但B4上記錄的卻是3,這就說明有crash發生過并需要恢復B4。這時可以通過檢查B4的任意兩個childrenkey的共同prefix,恢復出B4原來記錄的prefix長度(2)和prefix值(2, 0),并把層次信息恢復為1。

可以看出,WORT解決了崩潰一致性的問題,但數據結構較復雜,同時其直接更新數據的方式有可能帶來介質寫入的不均衡,影響SCM壽命。這說明學界在SCM專用數據結構方面的研究,仍有很大的探索空間。

(關于WORT的更詳細介紹,請參考https://www.usenix.org/system/files/conference/fast17/fast17-lee.pdf)

  • 應對網絡時延的挑戰

隨著RDMA技術的不斷成熟,利用RDMA構建低時延網絡成為構建高性能存儲系統(包括使用SCM的系統)的主要解決方案。通過RDMA通信,可以同時降低網絡時延(特別是小數據的網絡傳輸時延)和CPU在網絡傳輸相關動作上的消耗。存儲軟件需要基于RDMA協議對原有I/O路徑進行優化,以獲得更高的性能。典型的方案包括使用RDMA實現數據鏡像,利用RDMA構造存儲節點間的高性能通信機制等。

  • 總結

如何利用好SCM特別是Byte Addressable SCM,對存儲系統的軟件架構設計提出了非常高的要求,這個命題的解法涉及了數據結構,算法,調度,協議,計算機體系架構等多個方面,具有顛覆性影響,也是未來很長一段時間內學界和業界的研究熱點。華為也在充分擁抱學界和業界的成果,同時積極追求創新,努力構建SCM介質應用的競爭力:

  • 在軟件時延上,進行Load/Store訪問方式的研究,打薄軟件棧。同時進行低時延調度框架的研究,保障SCM訪問時延不因為調度而發生大幅度波動,提高時延穩定性。
  • 在崩潰一致性方面,進行SCM專用創新性數據結構的研究。當前的成果已能夠在性能,磨損等方面進行均衡,相對業界其他數據結構有更好的表現。在今年的Flash Summit大會上,華為針對SCM數據結構的研究做了專題演講,把研究結果向業界共享:https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2017/20170808_FN11_Zha.pdf
  • 在網絡方面,結合華為自研網絡芯片進行軟件棧垂直優化,充分發揮RDMA的優勢。

在使用好SCM上,學界和業界都在探索中,華為也將以開放、合作的姿態,加入到這個進程,爭取在第一時間實現研究到產品的轉化,為客戶提供新一代的超高性能存儲而持續努力。

責任編輯:武曉燕 來源: 存儲與數據技術
相關推薦

2017-07-04 10:58:57

SAN存儲網絡存儲系統架構

2017-07-10 09:02:24

NAS存儲云存儲

2018-09-29 14:08:04

存儲系統分布式

2017-10-19 08:45:15

存儲系統HBase

2014-11-21 13:58:20

漢柏

2018-01-31 08:44:20

數據存儲存儲設備存儲系統

2018-01-19 08:35:47

存儲系統SAS

2017-11-08 11:22:46

存儲趨勢系統

2010-02-25 18:09:41

Linux系統軟件

2017-09-04 08:49:17

存儲原理架構

2022-08-30 07:39:37

GPFSSAN存儲

2020-03-04 17:37:09

存儲系統硬件層

2021-06-18 06:00:31

存儲系統

2017-04-14 09:48:25

分布式存儲系統

2018-01-22 09:08:14

存儲系統性能帶寬

2011-09-23 09:29:29

Hotmail

2010-01-14 15:56:29

2011-07-28 09:27:29

2009-12-29 17:52:40

Ubuntu serv
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区 | 日本人和亚洲人zjzjhd | 一级黄色录像片子 | 亚洲成人一区 | 国产午夜精品视频 | 国产在线视频一区二区董小宛性色 | 一区精品视频在线观看 | 久久一区视频 | 91在线精品秘密一区二区 | av在线天堂 | 一二区成人影院电影网 | 韩国成人在线视频 | 欧美国产亚洲一区二区 | 国产高清视频在线观看 | 成人精品视频在线观看 | 91久久国产精品 | 午夜精品久久久久久 | 亚洲九九色 | 欧美一级在线 | 一级黄在线观看 | 高清欧美性猛交 | 密乳av| 久草网址 | 成人精品一区二区三区中文字幕 | 亚洲综合在线播放 | 亚洲第一成人av | 亚洲精品一区av在线播放 | 一级毛片色一级 | 欧洲色 | 亚洲欧美中文字幕在线观看 | 9久9久 | 黑人中文字幕一区二区三区 | 免费观看黄 | 亚洲影音先锋 | 国产精品成人久久久久 | 一级黄色片美国 | 91av亚洲| 亚洲精品视频免费观看 | 国产激情免费视频 | 国产a视频| 久久精品免费一区二区 |