所有的這些現(xiàn)實工作負載,有的是合成的,也有從現(xiàn)實應(yīng)用中獲取的,包括IO的數(shù)量、隨機和順序塊的大小等。

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

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

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

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

 大普微CEO楊亞飛演講部分

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

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

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

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

    我們的盤是一個系統(tǒng),為了調(diào)優(yōu)總要開發(fā)一些工具,要進行這些工作。我們從端到端對系統(tǒng)進行測試,需要來回調(diào)試看看到底是不是真的好用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  觀眾提問環(huán)節(jié):

    提問:應(yīng)用實踐的算法大概消耗多少?

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

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

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

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

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

分享到

崔歡歡

相關(guān)推薦