今天來簡單解讀榜首的含金量。
首先,SPC-1算是一個存儲系統(tǒng)“考試”,主要考察存儲設(shè)備在大量隨機數(shù)據(jù)請求下的性能,比如能處理多少數(shù)據(jù)(吞吐量),每秒能完成多少次讀寫(IOPS)。這些對企業(yè)級數(shù)據(jù)庫、郵件系統(tǒng)、在線交易等業(yè)務(wù)而言十分重要。
測試分三個階段,第一階段8小時的高強度耐力測試,F(xiàn)lashNexus要一直保持3000萬讀寫(IOPS)的高性能,不能掉速。
第二階段是坡度壓力測試,先從100%負(fù)載開始,逐步降低到10%負(fù)載,再逐漸升回100%負(fù)載。每個階段大概跑15分鐘。檢測系統(tǒng)在不同壓力下的穩(wěn)定性,看當(dāng)業(yè)務(wù)量突然減少或增加時,它還能不能穩(wěn)定運行,也就是看時延的穩(wěn)定性。
曙光存儲的集中式全閃FlashNexus是超低的0.202ms。毫秒概念我們普通人理解就是很快,快到什么程度估計也沒人想過。我給大家想過了,日常生活中我們應(yīng)該聽到過這樣幾個表示速度的名詞——剎那,瞬間,彈指。佛門用來劃分時間,其中二十剎那為一瞬,二十瞬為一彈指,一剎那是最短的時間,約為18毫秒,也就是說這個0.202毫秒延遲比“一剎那”還要快近90倍。
第三階段是可重復(fù)測試,就是讓存儲系統(tǒng)瞬間從休息狀態(tài)(10%負(fù)載),直接沖到極限(100%負(fù)載),再回到休息狀態(tài),多次反復(fù)。這個考驗系統(tǒng)在突發(fā)流量下的反應(yīng)速度,比如確保我們在雙11買買買的時候不會宕機。
除此之外,還有一個極端情況下的可靠性測試,突然插拔電源之后重新開機看數(shù)據(jù)有沒有損壞?,F(xiàn)實中,比如銀行交易系統(tǒng)如果突然停電,數(shù)據(jù)必須保證不丟失。
SPC-1測試第一,也就是說用于曙光存儲系統(tǒng)適用于銀行、航空、互聯(lián)網(wǎng)、醫(yī)療等關(guān)鍵業(yè)務(wù)場景。比如時延,銀行的實時交易數(shù)據(jù)庫(RTDB) 需要存儲系統(tǒng)能快速處理交易數(shù)據(jù),否則轉(zhuǎn)賬可能會變慢甚至失敗。還有聯(lián)機事務(wù)處理(OLTP) 業(yè)務(wù),比如電商、計費系統(tǒng),每天都有大量訂單數(shù)據(jù),存儲系統(tǒng)必須支持高并發(fā)訪問。
技術(shù)方面是怎么實現(xiàn)的?
簡單分享兩個我關(guān)注的FlashNexus采用的技術(shù)——NUMA(Non-Uniform Memory Access,非一致性內(nèi)存訪問)技術(shù),是一種多處理器系統(tǒng)的內(nèi)存組織方式。
基于NUMA技術(shù),單服務(wù)器的CPU核數(shù)、內(nèi)存容量、設(shè)備規(guī)模都有了大幅提升;但CPU核/硬件跨NUMA訪問內(nèi)存,帶寬低時延高,導(dǎo)致硬件性能不能隨規(guī)模而線性增長,甚至多NUMA總性能不及單NUMA性能。
NUMA親和,是實現(xiàn)硬件性能隨規(guī)模線性增長的基本方法,追求在本NUMA訪問內(nèi)存,避免跨NUMA訪問內(nèi)存。若CPU核、設(shè)備、內(nèi)存之間僅限于NUMA內(nèi)訪問,不同NUMA間分而自治,則硬件性能可線性增長。
FlashNexus中,物理上,將CPU核、內(nèi)存、設(shè)備按NUMA劃分微控制器;邏輯上,將數(shù)據(jù)空間劃分邏輯子空間,并將邏輯子空間映射到微控制器。私有多路徑實現(xiàn)始發(fā)選路,直達(dá)數(shù)據(jù)歸屬微控制器,實現(xiàn)系統(tǒng)性能隨規(guī)模線性增長。
它的優(yōu)勢是處理器訪問本地內(nèi)存的速度更快,擴展性更好,業(yè)務(wù)拓展之后直接加處理器和內(nèi)存就好了,還有就是資源分配上不會有偏向性,這樣整體性能也得到了提高。
應(yīng)用場景上,比如天氣預(yù)報,需要處理海量數(shù)據(jù),NUMA能讓數(shù)據(jù)處理更快。還可以提高數(shù)據(jù)庫查詢速度,讓數(shù)據(jù)讀取更高效。讓每個虛擬機都能高效運行,資源利用更合理,以此降低總功耗。當(dāng)然這么多處理器和內(nèi)存能管好也是技術(shù)活兒。
XIO是一種優(yōu)化數(shù)據(jù)傳輸技術(shù),能給數(shù)據(jù)開設(shè)“快速通道”,把數(shù)據(jù)分成很多小塊,每塊都在自己的“通道”里快速傳輸,避免數(shù)據(jù)在忙亂的時候形成“交通”擁堵。
還有就是用NVMe和RDMA協(xié)議簡化流程,減少數(shù)據(jù)傳輸?shù)摹笆掷m(xù)”。采用“QP+輪詢”的機制,定時檢查各個隊列的狀態(tài)看有沒有問題及時解決,減少開銷,這樣也能提高系統(tǒng)的IOPS性能。
簡單理解就是在馮諾依曼體系中,計算和存儲是分開的,想要輸出結(jié)果,就要三步走——存儲,計算,還有兩者之間的通信,也就是數(shù)據(jù)搬運。而計算本身使用的功耗實際并不高,基本都花在了讀取上,讓存儲離得更近,讓協(xié)議更薄就是提速基本法,足以看出曙光存儲在很多細(xì)節(jié)上都花了心思。
AI時代下對存儲需求的判斷
從前,業(yè)務(wù)工作負(fù)載主要分兩種:一種是穩(wěn)態(tài)業(yè)務(wù),就像跑馬拉松,數(shù)據(jù)量不大,變化慢,但需要快速響應(yīng);另一種是敏態(tài)業(yè)務(wù),比如互聯(lián)網(wǎng)業(yè)務(wù),就像短跑,數(shù)據(jù)量變化大,增長快,但對單次響應(yīng)的要求沒那么高。
過去穩(wěn)態(tài)業(yè)務(wù)用集中式存儲,穩(wěn)定、低延遲;敏態(tài)業(yè)務(wù)用分布式存儲或云存儲,擴展性強。
現(xiàn)在AI時代來了,AI業(yè)務(wù)的訓(xùn)練階段像敏態(tài)業(yè)務(wù),數(shù)據(jù)量大,需要高吞吐和高IOPS結(jié)合;推理階段則相反,數(shù)據(jù)量小,對響應(yīng)速度(IOPS)要求極高。這就要求一套存儲系統(tǒng)同時滿足穩(wěn)態(tài)和敏態(tài)的需求。
并且AI時代算力需求的暴增也得存儲設(shè)施做好配套工作,才能讓AI的投資回報更高。因此對性能的要求從“夠用就行”變成了“越快越好”。也是基于這樣的判斷,曙光存儲推出FlashNexus從極致性能和智能感知(AI性能調(diào)度和異常檢測的引擎)上適配AI時代。
當(dāng)然,曙光存儲提供的32控,能管理400塊硬盤還不是最高配,其擴展還可以是64和128個控制器,在這種擴展能力下,每個控制器平均管理的硬盤不到100塊,當(dāng)擴展到百控級別時,系統(tǒng)可實現(xiàn)億級IOPS的單集群性能輸出,能夠滿足人工智能、大數(shù)據(jù)分析和高性能計算等場景對海量數(shù)據(jù)處理和高并發(fā)I/O操作的需求。