如今,ARM服務(wù)器芯片受到資本的青睞,不斷有新玩家加入,2017年1月群蜂成立,其創(chuàng)新性地實現(xiàn)了基于ARM微服務(wù)器架構(gòu)的分布式存儲服務(wù)器平臺,雖是初創(chuàng)公司,但該團(tuán)隊成員大部分都在ARM SoC芯片領(lǐng)域摸爬滾打多年,可以說是積淀深厚的一家存儲企業(yè),其主打產(chǎn)品Apoidea Honeycomb ADS2242,一款基于ARM微服務(wù)器構(gòu)架的企業(yè)級分布式存儲服務(wù)器以其低功耗、高密度及高可靠等優(yōu)勢入選百易存儲風(fēng)云榜,并榮獲2018年度軟件定義存儲產(chǎn)品創(chuàng)新金獎。

以下為演講實錄:

關(guān)于ARM存儲,或者基于ARM來做服務(wù)器,最近一兩個月的消息很多,華芯通發(fā)布了新的服務(wù)器芯片,Ampere也發(fā)布了ARM服務(wù)器芯片產(chǎn)品,包括華為年底也會發(fā)布新的多核的ARM服務(wù)器芯片產(chǎn)品;AWS也宣布推基于ARM服務(wù)器芯片架構(gòu)的云服務(wù)器,包括相應(yīng)的計算服務(wù)。AWS他們做的ARM服務(wù)器是基于以前他們收購的一家叫Annapurna Labs的芯片公司,這家公司以前主要做ARM服務(wù)器芯片,后來被收購以后,為AWS生產(chǎn)一些自己用的服務(wù)器芯片。Annapurna Labs這個團(tuán)隊跟我們團(tuán)隊以前都在同一家芯片公司,我們都是比較早期做ARM服務(wù)器的團(tuán)隊。我們覺得目前這些公司做的這些ARM多核服務(wù)器其實更多是在跟Intel做完全的頭對頭的競爭,他們其實更看重的市場是計算服務(wù)器這個市場。而我們目前做的基于ARM微服務(wù)器架構(gòu)的分布式存儲系統(tǒng)更集中在存儲這個領(lǐng)域。

看一下究竟什么是基于ARM微服務(wù)器架構(gòu)的分布式存儲;其實左邊這個大家都已經(jīng)很熟悉了,是一個典型的Intel架構(gòu)的存儲。右邊是我們基于ARM微服務(wù)器分布式存儲系統(tǒng),ARM微服務(wù)器我們用的是兩核/四核的ARM CPU,有內(nèi)存有Flash,這就是一個準(zhǔn)系統(tǒng);原生出SATA接口,帶一個盤、兩個盤甚至四個盤,在整個服務(wù)器中有多個ARM微服務(wù)器準(zhǔn)系統(tǒng),12個或24個等,后面通過以太網(wǎng)的連接把所有的節(jié)點都連接起來。因為這個ARM微服務(wù)器的系統(tǒng),不光會跑一些存儲軟件,另外也把硬盤的SATA接口變成了網(wǎng)絡(luò)接口,每個ARM微服務(wù)器模塊有兩個以太網(wǎng)接口,整個服務(wù)器也有兩個交換機(jī)模塊, ARM微服務(wù)器的兩個網(wǎng)口,其中一個連接到左邊的交換機(jī),另外一個連接到右邊的交換機(jī)。這就是整個架構(gòu)。

我們從這個架構(gòu)來看,我們看這樣的集中式的服務(wù)器架構(gòu)和我們基于ARM微服務(wù)器架構(gòu)的存儲服務(wù)器的差別。第一點,相當(dāng)于我們用多個小的ARM CPU跟一個或兩個集中式的Intel CPU進(jìn)行競爭;另外一點,集中式架構(gòu)中,用到的是SAS Expander,而ARM微服務(wù)器架構(gòu)中用到的是Ethernet Switch。其實,現(xiàn)在在數(shù)據(jù)中心的網(wǎng)絡(luò)中,服務(wù)器與服務(wù)器的連接絕大多數(shù)都是通過TOR以太網(wǎng)交換機(jī)進(jìn)行連接,所以我們通過內(nèi)置以太網(wǎng)交換機(jī),內(nèi)部的以太網(wǎng)絡(luò)和外部的以太網(wǎng)天然就可以組成了一個大的以太網(wǎng)交換網(wǎng)絡(luò)。

那么我們?yōu)槭裁磿紤]到用ARM微服務(wù)器架構(gòu)來做存儲應(yīng)用呢,主要基于我們觀察到的以下四點來考慮的。第一,目前在溫數(shù)據(jù)/冷數(shù)據(jù)的存儲領(lǐng)域里面,我們發(fā)現(xiàn)CPU的占用率比較低,帶寬是一個瓶頸,也就是說,在這些場景下,CPU大家已經(jīng)是完全能滿足應(yīng)用了,但是帶寬是一個瓶頸。第二,我們看到了隨著性能的發(fā)展,ARM CPU性能越來越強(qiáng),因為我們已經(jīng)看到ARM應(yīng)用在Server、HPC等領(lǐng)域,所以應(yīng)用在存儲領(lǐng)域應(yīng)該綽綽有余。第三,ARM CPU相對于x86架構(gòu)CPU,具有更好的性價比和能耗比。最后一點,我們認(rèn)為ARM架構(gòu)做存儲應(yīng)用的軟件生態(tài)比較完備,ARM以及ARM合作伙伴在存儲的開源社區(qū)做了很多的貢獻(xiàn),在這些社區(qū)里面這些存儲軟件非常兼容ARM CPU。

兩種架構(gòu)具體是什么樣的差別?從Apoidea Honeycomb ADS2242這款產(chǎn)品來看下,Apoidea是群蜂的英文名字,Honeycomb是商標(biāo)名,ADS2242是具體的產(chǎn)品型號,我們這款2U24的產(chǎn)品,在2U的高度內(nèi),可以放24塊3.5英寸的硬盤,看上去跟市面上比較常見的2U12的樣子差不多,但是我們的每個托盤抽出來是一個刀片,里面會有一個ARM CPU的微服務(wù)器模塊和兩個3.5英寸硬盤的位置,另外整機(jī)會有兩個以太網(wǎng)交換機(jī)模塊,每個以太網(wǎng)交換模塊可以提供四個萬兆,就是四個10G,這兩個交換模塊可配置成Bonding模式,對外提供總共80Gb/s的上行帶寬。當(dāng)我們所有的模塊都跑起來的時候,整機(jī)滿負(fù)荷的功耗是低于120瓦的,120瓦這個值是不含硬盤的功耗在內(nèi),這個功耗相對于目前的Intel架構(gòu)的存儲服務(wù)器,是很有優(yōu)勢的。

產(chǎn)品總結(jié)下來有六大優(yōu)勢:首先是低功耗,低功耗又可以帶來高密度,接著就是高可靠,這個后面會詳細(xì)展開;第四個優(yōu)勢是高帶寬,每一個交換模塊提供的帶寬都是比較高的。第五個優(yōu)勢就是單臺設(shè)備可以組成集群,因為我們每一臺機(jī)器就是12個節(jié)點,我們單臺設(shè)備就可以組成一個分布式的存儲集群。第六個優(yōu)勢就是自主可控,這款產(chǎn)品完全是我們自主研發(fā)的,當(dāng)然現(xiàn)在這款產(chǎn)品還在使用國外的芯片,目前我們也在做國產(chǎn)化替代的工作。

低功耗方面,ADS2242的整機(jī)功耗低于120W(不含硬盤),市面上常見的Intel架構(gòu)的2U12存儲服務(wù)器的功耗是300W左右,我們的產(chǎn)品可以節(jié)省功耗60%。 如果考慮同等容量的話,兩臺x86方案的2U12存儲服務(wù)器的功耗是600W,這樣ARM方案能省電80% 。這里我們做了個計算,1PB的數(shù)據(jù)存儲5年能節(jié)省電費(fèi)17.5萬元人民幣(使用4TB硬盤,電費(fèi)按0.8元/度)。這個只是純粹從設(shè)備的功耗來計算,如果考慮對機(jī)房動力系統(tǒng)的功耗消耗的減少,節(jié)省的費(fèi)用會更多。

再來說高密度,2U24的存儲服務(wù)器方案是目前市面上2U空間內(nèi)最高密度的方案。在這里我們針對5000W的機(jī)柜來做個計算。在5000W的機(jī)柜中,我們可以放置14臺ADS2242(考慮使用8T磁盤),也可以放置12臺x86架構(gòu)的2U12存儲服務(wù)器。這樣的話14臺ADS2242對應(yīng)的就是336塊磁盤,12臺x86架構(gòu)的2U12存儲服務(wù)器是144塊磁盤。ADS2242的密度是x86架構(gòu)2U12存儲服務(wù)器的2.33倍,所以對密度的提升是比較高的。

下面說一下ARM微服務(wù)器架構(gòu)系統(tǒng)的高可靠,通過以下三個方面來進(jìn)行說明。第一,這種架構(gòu)下我們CPU模塊只帶兩個硬盤,CPU導(dǎo)致的故障域很小,只會影響這兩塊硬盤上的數(shù)據(jù)。第二,其實在我們CPU模塊的設(shè)計中使用了這種以太網(wǎng)的雙上聯(lián),每個CPU模塊上聯(lián)到兩個交換板,這樣的話有一個交換機(jī)宕掉了仍然能保證系統(tǒng)的正常運(yùn)行。另外,我們認(rèn)為這種架構(gòu)會有更長的平均無故障時間,因為現(xiàn)在所有的Intel架構(gòu)的存儲服務(wù)器都是一塊主板,BMC也在上面,CPU的主板也在上面,這樣的話一塊主板集成的功能越復(fù)雜,故障率會更高一些。

關(guān)于高帶寬,其實剛才也說了每一個ARM微服務(wù)器提供兩個2.5Gb/s,因為我們目前接的是HDD, HDD本身現(xiàn)在一個盤的讀寫極限就是1Gb/s多一些,所以2.5Gb/s與2塊盤的讀寫速率是完全是匹配在一起的。我們內(nèi)部的交換可以提供4個10Gb/s的上聯(lián),也是完全沒有阻塞的以太網(wǎng)交換架構(gòu)的設(shè)計。

提到剛才說的單臺設(shè)備可以組成一個集群,我們也叫分布式一體機(jī)。對于有些起始容量不高的場景,還希望用到分布式存儲集群的場景,在這種情況下,目前一般的做法就是用三臺x86存儲服務(wù)器來做一個集群,存儲容量存在一定的浪費(fèi)。,對于我們這種架構(gòu),我們并不需要使用至少三臺設(shè)備來組成集群,因為本身一臺機(jī)器就是12個節(jié)點。完全可以按需部署相應(yīng)的節(jié)點,可以部署一臺機(jī)器,部署12個節(jié)點,當(dāng)然你也可以布10個節(jié)點、8個節(jié)點,對初始容量比較少的情況很有幫助。后續(xù)存儲容量有增加時,可以增加單獨(dú)ARM微服務(wù)器節(jié)點,也可以增加一臺機(jī)器,完全可以做到橫向擴(kuò)展。

像開發(fā)手機(jī)一樣開發(fā)存儲系統(tǒng),我們看看安卓手機(jī)的情況,其實你拿到安卓手機(jī)以后本身已經(jīng)裝上系統(tǒng)了,你可以在上面增加不同的app來滿足不同的一些應(yīng)用的需求。同樣的對于我們這樣的一個架構(gòu)來說,我們是提供一個ARM微服務(wù)器,我們同時在上面部署了Yocto Linux操作系統(tǒng),Yotco Linux是一種定制化的Linux操作系統(tǒng),在Yotco Linux操作系統(tǒng)上面,我們可以部署Ceph、Swift、GlusterFS等存儲軟件,然后再把其他的上層軟件應(yīng)用部署在上面,這種軟件開發(fā)方式,與x86架構(gòu)的存儲服務(wù)器相比,實際業(yè)務(wù)的部署方式/安裝方式會有差異。因為我們也有一些客戶會問道,你們這樣的架構(gòu),我以前管理一個服務(wù)器,現(xiàn)在要管理12個服務(wù)器,我安裝的過程會不會很復(fù)雜。其實我們可以做到比現(xiàn)有的這種安裝部署的方式會更方便。這種情況下我可以把軟件版本定型以后可以直接把軟件燒錄在ARM微服務(wù)器的Flash里面,你交付出去的機(jī)器都是帶軟件的,到現(xiàn)場后,你只要開機(jī),并做一些簡單的集群設(shè)置就可以了。同時我們也提供了軟件升級的方法,因為我們裝上去以后有一些版本可能不是最新的版本,或者后續(xù)版本升級了,通過我們提供的軟件升級的方法就可以將最新的軟件升級上去,然后再重新啟動就可以了。

同時,我們在上面這款A(yù)RM微服務(wù)器上也支持一些客戶做了Ceph、Swift軟件的移植,我們也做了一些Ceph性能的測試,就像圖中所示,我們看到性能還是基本上是線性增長的。前段時間我們看到網(wǎng)上有測試ARM微服務(wù)器的存儲服務(wù)器和Intel架構(gòu)存儲服務(wù)器的性能對比測試,當(dāng)時寫的ARM微服務(wù)器架構(gòu)的測的很差,我們測了一下其實并沒有那么差。分析下來,我們認(rèn)為主要有幾個差異,首先我們內(nèi)部的網(wǎng)絡(luò)是2.5Gb/s的bonding,并不是通過1Gb/s的網(wǎng)絡(luò)進(jìn)行進(jìn)行互聯(lián),其實帶寬對這個影響還是很大的;另外,我們對外是四個萬兆的接口,一個萬兆、兩個萬兆都可以用。測下來,確實像剛才說的這種存儲服務(wù)器比較適合帶寬要求比較高的業(yè)務(wù)場景。

這是我們定位的一些應(yīng)用場景,因為畢竟是一套基于ARM微服務(wù)器的存儲服務(wù)器方案,所以我們定位的還是溫數(shù)據(jù)或者冷數(shù)據(jù)系統(tǒng)里,像公有云、私有云,邊緣計算,媒資系統(tǒng),基因測序,視頻監(jiān)控等領(lǐng)域,插卡式比較適合一些邊緣計算分布計算的要求,在邊緣計算場景下,我們可以替換不同的板卡,像分布式計算板卡或者分布式的邊緣AI板卡,一臺設(shè)備可以滿足多種應(yīng)用的需求。

分享到

zhangnn

相關(guān)推薦