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

以下為演講實(shí)錄:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

分享到

zhangnn

相關(guān)推薦