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

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

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

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

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

 大普微CEO楊亞飛演講部分

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

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

所有這些東西都會(huì)有自己的基準(zhǔn)測試數(shù)據(jù),然而這不代表盤送到客戶那會(huì)讓人滿意,因?yàn)榭蛻粲凶约旱能壽E,一跑以后又會(huì)發(fā)現(xiàn)你的短板。

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

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

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

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

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

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

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

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

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

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

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

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

我們?cè)瓉戆阉斎胗泻芏鄥?shù),輸出當(dāng)時(shí)也要有很多的參數(shù),這樣讓盤提前獲得我的主機(jī),或者用戶端的需求后,我們來更好的在盤上進(jìn)行調(diào)優(yōu)和運(yùn)行。我們最終選了幾個(gè)包括長度,還有讀和寫的比例,以及讀和寫之間的間隔。最后輸出的是什么?輸出主機(jī)端的盤給IO的強(qiáng)度。

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

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

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

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

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

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

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

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

    觀眾提問:對(duì)實(shí)際負(fù)載的預(yù)測率能夠達(dá)到多少?

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

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

    楊亞飛:隨機(jī)測試不明顯,為什么說要使用Real World Workloads,是因?yàn)檎嬲唧w到零售業(yè)也好,或者說像一些GPS的數(shù)據(jù)等等,這些是有非常強(qiáng)的模式,因?yàn)橛辛诉@些模式,它的訓(xùn)練才相對(duì)比較有意義。如果是純隨機(jī)生成,其實(shí)是比較難的。

分享到

崔歡歡

相關(guān)推薦