所有的這些現實工作負載,有的是合成的,也有從現實應用中獲取的,包括IO的數量、隨機和順序塊的大小等。

Eden為大家提供了三個真實業務場景。記錄24小時營業的零售業門戶網站工作負載以及兩個GPS衛星定位的門戶網站工作負載案例,你所有的IO流、程序、累計的工作負載每周每天24小時每個時間段的變化,以便我們能更好的了解它的運作情況,了解某個時間點有多少用戶在使用,通過分析測試實現更好的工作性能。

我們可以做兩種測試。一種是從需求強度來測試性能的飽和度,另外是要反復測試,通過IO看IOPS。這里邊是三塊盤,包括華為的NVMe盤和英特爾的傲騰SSD和DCPMM盤。以下是具體的三個不同產品的測試的數據,縱坐標是IOPS,橫坐標是響應時間。

這里邊有四個數據集,包括數據中心,還有零售業,還有虛擬桌面,以及GPS定位,可以看到傲騰各方面來講的性能都是很好的。

    這幅圖大家可以看到,工具開發完善,有很多的選項,我們可以用這些數據進行AI訓練,這也是我一會兒將要詳細介紹的部分。

 大普微CEO楊亞飛演講部分

接下來是我這一塊,感謝Eden提供了很多數據,我簡單介紹一下,大普惠電子在深圳,對標世界上兩個頭號玩家,英特爾和三星。實際上開發一款企業級SSD,難度系數非常高,它的難度不是一開始把它基本的性能跑通,那個可能很快就可以完成,后期難度在于調優。

我們可以看到,企業級SSD實際上是一個木桶效應,就是這個里面不能有短板,我們可以看到圖上有它的帶寬,IOPS,它可以分為深度隊列和淺度隊列,還有低延遲,要保護一致性和穩定性。

所有這些東西都會有自己的基準測試數據,然而這不代表盤送到客戶那會讓人滿意,因為客戶有自己的軌跡,一跑以后又會發現你的短板。

所以性能方面,大家宣傳自己的產品IOPS非常高,能量功耗也很不錯。但這里面有很多的延遲,一致性是不是能一致保持住,包括盤的生命周期等等,有很多的問題需要解決。更多的實際上是自己的BenchMark有很多的區別。

    我們的盤是一個系統,為了調優總要開發一些工具,要進行這些工作。我們從端到端對系統進行測試,需要來回調試看看到底是不是真的好用。

作為SSD盤的廠商,在盤出廠之前是非常難拿到用戶的真實場景,這也是Real World Workloads帶來的一個價值。

左下角的圖講的是我們自己的盤做的IO的統計,包括右下角的盤是我們自己開發的固件Profile的工具,它的測試隨著時間,我們可以看到FTL里邊的實時負載情況。實際我們自己做了很多的工具,但每一個廠商都會有這樣的內部開發工具。

實際開發這些工具以后,我們來調整性能,木桶效應是讓每一個板子都不能是一個短板,實際上SSD內部的結構復雜,首先就是你前端進來以后,涉及到Cache,我們有一個比較大的Read buffer(讀取緩沖),它要跟后端相連,整個最大的一塊是FTL這一塊工作的原理。

具體來講有幾塊非常重要,一個是Read buffer,一個是FTL,怎么樣減少DC,這是非常困難的一個問題。同時怎么樣去降低讀的延遲。

現在在具體到說是使用每一家不同的閃存顆粒,它有不同的命令,如果把這些命令使用得非常好,在后端也可以對性能有很大的幫助。我們進行真實測試的時候,截了一個圖,大家可以看到圖上隨著時間的推移,現實工作負載發生一個變化,它的隊列深度在發生很大的變化,這樣我們的IOPS本身要發生變化的。里面有很多的毛刺和抖動,這些是真實的,如果我們想要把這個性能一致性,包括穩定性要搞好,盡量消除這個毛刺和抖動。

另外這一幅圖,我選舉的這幅圖是想說明什么,在原來做企業級SSD開發的時候,實際上大家真正關注的是完全4K的內容,后來我箭頭指的是0.5K,就是512 bit的情況,它的數據寫入實際在這里面發揮了很多作用,不可忽視。如果你忽視了512 bit的寫,最后的性能不會達到最優。使用了真實數據,對產品進行反復的調優,就可以使其達到一個很好的性能。

這里面提到一個問題,我們的主機跟SSD之間實際上是非常標準的命令,大家彼此之間都是黑盒子,主機看SSD也是一個封閉式嵌入系統。

我們來看主機,也認為主機深不可測,它是不可預測的。這時候有沒有辦法我們進行一些訓練,我們拿這些現實工作負載訓練,發現一些規律,使得盤更好的了解主機。我們公司率先提出,把這些計算和智能放到企業級固態硬盤里邊,所以我們不光是開發企業級固態硬盤,還要開發高端的ETU芯片,數據存儲處理器。

我們通過各種各樣的深度學習和網絡模塊,最后發現LSTM這個網絡方式比較適合。大家都知道,LSTM可以廣泛用在對于氣象的預測,以及語音識別。這里實際上存儲的IO預測也可以用LSTM來進行。

具體來講,我們講一個相對比較簡單的模型,這個LSTM可以做到比較準確,但是它的最大缺點是什么?需要算力,而我們SSD作為一個盤,它要低功耗,它本身就缺乏算力,所以這里邊是一個矛盾體。

我們原來把它輸入有很多參數,輸出當時也要有很多的參數,這樣讓盤提前獲得我的主機,或者用戶端的需求后,我們來更好的在盤上進行調優和運行。我們最終選了幾個包括長度,還有讀和寫的比例,以及讀和寫之間的間隔。最后輸出的是什么?輸出主機端的盤給IO的強度。

我們拿了一些數據,包括真實的一些數據,訓練以后,這是一個真實的效果。大家可以看到,紅色的是真實的,它的IO強度。藍色是我們預測的一個強度。

在大多數的情況下,是比較吻合的,這其實證實用機器學習或是深度神經網絡在存儲方面來做這樣的一些對于IO的預測是可能的,而且這個結果在很大程度上是可靠的。

我這里邊想接著再延伸一下,我剛才提到因為實際上我們的主機和盤之間大家都是黑盒子,為了更好的相互了解,實質上我們可以用open channel等方式。

這也可以幫助我們解決一部分算力的問題,本身盤上的算力非常有限,有些工作可以接到放到主機上做。對于主機而言,主機希望盤上開放更多的接口命令,對于主機也更好地來掌握這個盤。此外,還有本身作為一個企業級的SSD,實際上有很多不同維度可以定制的做法,包括大家都知道的包括容量點,包括選用的介質,還有功耗,以及剛才演講嘉賓提到的安全方面功能的定制。

    總之,我們和Eden在一起合作了一段時間,我們發現這是一個合作共贏,而且實際上現實工作負載(Real World Workloads)給我們提供了很多的幫助和信息。在這里非常感謝Eden,感謝各位嘉賓和朋友,謝謝大家。

 觀眾提問環節:

    提問:應用實踐的算法大概消耗多少?

    楊亞飛:現在的問題是這樣,因為AI是分為訓練和推斷,目前AI訓練還不能放在盤里面做訓練,這個消耗比較大,所以我們是線下進行訓練,就是拿真正的Real World Workloads,線下用GPU來跑,這樣得到很多參數,把參數輸到里面去。盤上面現在只能做推斷,這是目前的問題。我們開發的第二代產品,自己做了一個12納米的芯片,這個芯片外面可以外接GPU或者FPGA,未來我們希望把所有的工作都可以實時進行處理。

    觀眾提問:對實際負載的預測率能夠達到多少?

    楊亞飛:IO強度的準確率,在80%,最好的情況下可以到90%以上。當盤提前獲取了強度以后,我們盤上對整個垃圾回收做一系列的規劃,接下來就體現在性能上的提升。還有是到了6個9狀態下的一個很好的數字,還有就是它的整個盤的一致性和穩定性。

    觀眾提問:對這種測試工具隨機測出來的數據,有沒有效果?

    楊亞飛:隨機測試不明顯,為什么說要使用Real World Workloads,是因為真正具體到零售業也好,或者說像一些GPS的數據等等,這些是有非常強的模式,因為有了這些模式,它的訓練才相對比較有意義。如果是純隨機生成,其實是比較難的。

未經允許不得轉載:存儲在線-存儲專業媒體 » SNIA Eden Kim&大普微CEO楊亞飛:如何利用實際工作負載與人工智能優化NVMe?
分享到

崔歡歡

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走