AWS re:Invent2019顯示AWS市場占用率達(dá)到45%,相比2018年營收增長29%。使用專用芯片構(gòu)建用于加速特定場景的戰(zhàn)略更加清晰,除去Intel和AMD的X86和Nvidia GPU,還有通過其Annapurna Labs部門推出的基于Arm的Graviton的定制芯片,并承諾基于Graviton2(7納米)的新型EC2實例的性能是第一代Graviton的7倍。
早在摩爾定律失效之前,一個逐漸達(dá)成的共識就是通用處理器的算力應(yīng)該專注于復(fù)雜的商業(yè)邏輯,而簡單重復(fù)的工作則由專用芯片完成更加合適。
超算和智能網(wǎng)卡
早在20年以前,基于異構(gòu)計算的智能網(wǎng)卡就已經(jīng)應(yīng)用于超算(HPC)領(lǐng)域。從1993年開始TOP500就以每年兩次的頻率,基于Linpack benchmark負(fù)載模型來統(tǒng)計地球上運行最快的超級計算集群。
2003年,弗吉尼亞理工學(xué)院暨州立大學(xué)創(chuàng)建一個InfiniBand集群,在當(dāng)時的TOP500排名第三;
2009年,世界500強(qiáng)超級算機(jī)中,152個使用InfiniBand,并提供38.7%的算力;
2020年11月,根據(jù)最新的第56版,155個使用 InfiniBand,并提供40%的算力,排名前10的超算集群有8個由 InfiniBand 構(gòu)建,更是占據(jù)了前5的4席位置。
在構(gòu)建高速網(wǎng)路時,爭論主要是把網(wǎng)絡(luò)功能Onload到CPU上,還是把這些功能Offload到專用硬件:
常用Onloading,TCP/IP技術(shù)在數(shù)據(jù)包從網(wǎng)卡到應(yīng)用程序的過程中,要經(jīng)過OS,數(shù)據(jù)在主存、CPU緩存和網(wǎng)卡緩存之間來回復(fù)制,給服務(wù)器的CPU和主存造成負(fù)擔(dān),也加劇網(wǎng)絡(luò)延遲。
Offloading 基于RDMA實現(xiàn)遠(yuǎn)程內(nèi)存直接訪問,將數(shù)據(jù)從本地快速移動到遠(yuǎn)程主機(jī)應(yīng)用程序的用戶空間,通過Zero-copy和Kernel bypass來實現(xiàn)高性能的遠(yuǎn)程直接數(shù)據(jù)存取的目標(biāo)。
下圖可以直觀的看到兩者在訪問路徑的區(qū)別:
當(dāng)然,Offloading 需要將RDMA協(xié)議固化于硬件上,所以依賴于網(wǎng)卡的算力是否可以滿足運行RDMA協(xié)議的開銷,這實際上就是專用芯片和網(wǎng)卡的結(jié)合。用更性感的說法是
SmartNICs are an example of DPU (Data Processing Unit) technology
AWS和Nitro
云計算催生超大規(guī)模數(shù)據(jù)中心,也同時放大通用算力的不足和異構(gòu)計算的優(yōu)勢。就好比研發(fā)團(tuán)隊規(guī)模變大的同時必然走向?qū)I(yè)化。AWS EC2早期由純軟(也意味著需要消耗CPU)的Xen對CPU、存儲和網(wǎng)絡(luò)完成虛擬化。基于這種實現(xiàn)方式,一個EC2實例的虛擬化管理開銷高達(dá)30%。
30%相當(dāng)可觀,最重要的是并沒有為客戶提供直接價值。按照 Werner Vogels(AWS CTO )的說法
想為客戶顯著提高性能、安全性和敏捷性,我們必須將大部分管理程序功能遷移到專用硬件上。
2012年,AWS開始構(gòu)建Nitro系統(tǒng),也正是這,登納德縮放定律(嚴(yán)格說是預(yù)測)幾乎消失:
2013年, Nitro 應(yīng)用于C3實例,其網(wǎng)絡(luò)進(jìn)程卸載到硬件中;
2014年,推出了C4實例類型,將EBS存儲卸載到硬件中,并開始和Annapurna Labs合作;
2015年,收購 Annapurna Labs;
2017年,C5實例卸載控制平面和剩余的I/O,實現(xiàn)完整的Nitro系統(tǒng);
此時,Nitro系統(tǒng)已經(jīng)包含三個主要部分:Nitro卡、Nitro安全芯片和Nitro管理程序。主要卸載和加速IO,虛擬私有云(VPC)、彈性塊存儲(EBS)和實例存儲,從而讓用戶可以使用100%的通用算力。
對客戶而言,意味更好的性能和價格,下圖可以看到基于Nitro的C5和I3.metal的延時明顯降低:
計算型存儲和數(shù)據(jù)庫
從AWS的營收看,網(wǎng)絡(luò)、存儲、計算和軟件是收入的四駕馬車,數(shù)據(jù)庫毫無疑問是存儲領(lǐng)域的關(guān)鍵場景。隨著云計算帶來基礎(chǔ)環(huán)境的改變,也直接加速云原生技術(shù)的發(fā)展和成熟,程序員不會再寫出單體(Monolithic)應(yīng)用,也再也不會在應(yīng)用中只使用一種數(shù)據(jù)庫。還是借用Werner Vogels的話
A one size fits all database doesn't fit anyone.
從AWS提供的數(shù)據(jù)庫服務(wù)也應(yīng)證了一點(國內(nèi)的云計算巨頭也類似)。
不同的數(shù)據(jù)庫針對不同的場景,比如Airbnb使用 Aurora 替代 MySQL,Snapchat 使用DynamoDB 承載起最大的寫負(fù)載,麥當(dāng)勞將ElastiCache應(yīng)用于低延時高吞吐的工作負(fù)載,旅游網(wǎng)站expedia.com使用ElasticSearch實時優(yōu)化產(chǎn)品價格。當(dāng)然,對于存儲介質(zhì),更快速和更大容量的需求普遍存在。從下面數(shù)據(jù)庫的工程實踐看,壓縮是實現(xiàn)這一目標(biāo)的共識:
DB-Engines DBMS數(shù)據(jù)壓縮特性
DBMS | 是否支持?jǐn)?shù)據(jù)壓縮 |
Oracle | |
MySQL | |
Microsoft SQL Server | |
PostgreSQL | |
MongoDB | |
IBMDb2 | |
Elasticsearch | |
Redis | |
SQLite | |
Cassandra |
壓縮率依賴于數(shù)據(jù)本身,1948年由美國數(shù)學(xué)家克勞德·香農(nóng)(Claude Shannon)在經(jīng)典論文《通信的數(shù)學(xué)理論》中首先提出信息熵,理想情況下,不管是什么樣內(nèi)容的數(shù)據(jù),只要具有同樣的概率分布,就會得到同樣的壓縮率。
在實現(xiàn)時,常常要在壓縮吞吐,解壓吞吐,和犧牲壓縮率之間做取舍,這也是產(chǎn)生諸多壓縮算法的原因。下圖是基于Silesia compression corpus不同壓縮算法之間的差異。
Compressor Name | Ratio | Compression | Decompress |
zstd 1.4.5 -1 | 2.884 | 500MB/S | 1660MB/S |
zlib 1.2.11 -1 | 2.743 | 90MB/S | 400MB/S |
brotli 1.0.7 -0 | 2.703 | 400MB/S | 450MB/S |
zstd 1.4.5--fast=1 | 2.434 | 570MB/S | 2200MB/S |
zstd 1.4.5--fast=3 | 2.312 | 640MB/S | 2300MB/S |
quicklz 1.5.0 -1 | 2.238 | 560MB/S | 710MB/S |
zstd 1.4.5 --fast=5 | 2.178 | 700MB/S | 2420MB/S |
lzo1x 2.10 -1 | 2.106 | 690MB/S | 820MB/S |
lz4 1.9.2 | 2.101 | 740MB/S | 4530MB/S |
lzf 3.6 -1 | 2.077 | 410MB/S | 860MB/S |
snappy 1.1.8 | 2.073 | 560MB/S | 1790MB/S |
從一個常見的場景出發(fā),應(yīng)用多次寫入壓縮率各不相同的數(shù)據(jù),邏輯寫入量為36KB,如下圖所示:
按照前面所示的壓縮率,最理想的情況是壓縮后占用15.2KB。
但現(xiàn)有的空間管理實踐會占用更多的物理空間,首先寫入時需要按照文件系統(tǒng)頁對齊寫入(假設(shè)4KB),占用物理空間為48KB,數(shù)據(jù)存儲分布如下圖所示:
但因為壓縮后數(shù)據(jù)依然需要按照文件系統(tǒng)頁大小(4KB)對齊,數(shù)據(jù)存儲分布如下圖所示:
所以實際占用的物理空間是36KB離預(yù)期的壓縮率相去甚遠(yuǎn)。
為進(jìn)一步提升壓縮效率,通常會進(jìn)一步壓實(compaction)空間,壓實后數(shù)據(jù)存儲分布如下:
這時占用的物理空間是16KB,才接近15.2KB。
可見在工程實踐時,要想在應(yīng)用場景中獲得可觀的壓縮收益,僅關(guān)注數(shù)據(jù)結(jié)構(gòu)和壓縮算法是不夠的,還要考慮壓實(Compaction)效率,如果還要兼顧算力消耗、IO延時和代碼復(fù)雜度等指標(biāo),工程難度將指數(shù)級提升。
針對這個場景,支持透明壓縮的計算型存儲 CSD2000,將壓縮解壓縮算法offload到盤內(nèi)FPGA,使計算更靠近數(shù)據(jù)存儲的地方(“in-situ computing”),進(jìn)一步縮短數(shù)據(jù)路徑,從而提升數(shù)據(jù)處理的效率。
對比“軟”壓縮(基于CPU)和硬壓縮(基于FPGA)兩者的收益并不復(fù)雜,下面以MySQL為例,將MySQL頁壓縮,MySQL表壓縮和CSD2000透明壓縮三者進(jìn)行對比,采用TPC-C和TPC-E數(shù)據(jù)集和負(fù)載模型,以壓縮率和數(shù)據(jù)庫性能(TPS和時延)為指標(biāo)衡量壓縮效率。
先看壓縮率,計算型存儲 CSD2000 提供更高的壓縮率,幾乎是MySQL自帶壓縮的2倍以上,如下所示:
再看性能,使用sysbench測試1/4/16/64/256/512并發(fā)下性能表現(xiàn),可以觀察到(如下圖所示):
≥ 64并發(fā)時,CSD2000 QPS/TPS平均提高~5倍,最高提高~12倍,99%平均時延降低68%以上;
<64并發(fā)時,CSD2000 QPS/TPS普遍高于普通NVMe SSD 20%~50%,99%平均時延降低8%~45%;
說明:為了便于對比,以普通NVMe SSD指標(biāo)為基線做歸一化。
Mark Callaghan (Facebook Distinguished Engineer)曾經(jīng)吐槽在數(shù)據(jù)庫中實現(xiàn)透明頁壓縮并應(yīng)用在生產(chǎn)環(huán)境,工程實現(xiàn)過于復(fù)雜,難怪Jens Axboe(Linux內(nèi)核代碼主要貢獻(xiàn)者之一,F(xiàn)IO和IO_URING的作者)建議他把這些工作丟給計算型存儲公司 ScaleFlux。而從計算型存儲帶來的壓縮及性能(詳見:可計算存儲:數(shù)據(jù)壓縮和數(shù)據(jù)庫計算下推)收益來看已經(jīng)超額完成任務(wù)。
計算型存儲和文件系統(tǒng)
壓縮同時減少數(shù)據(jù)寫入量(Nand Written)和寫放大(Write Amplification),但實際的情況會更復(fù)雜一些,大多數(shù)情況下數(shù)據(jù)庫運行在文件系統(tǒng)之上。
以日志型文件系統(tǒng)ext4為例,設(shè)計以下測試驗證日志寫入量與數(shù)據(jù)庫數(shù)據(jù)寫入量的比例及透明壓縮對于減少寫入量的收益:
選用 MySQL 和 MariaDB;
200GB數(shù)據(jù)集;
3種負(fù)載模型:Insert/Update-Index/Update-Non-Index;
兩種數(shù)據(jù)訪問方式:熱點集中(Non-uniform Key Distribution) 和全隨機(jī)(Uniform Key Distribution);
最終測試結(jié)果如下:
因為文件系統(tǒng)的 WAL(Write Ahead Log)機(jī)制,加上日志的稀疏結(jié)構(gòu),日志寫入量占整體寫入量20%~90%,可見文件系統(tǒng)日志寫入量可能大于上層應(yīng)用(數(shù)據(jù)庫)的數(shù)據(jù)寫入量;
透明壓縮對于減少數(shù)據(jù)庫數(shù)據(jù)量的寫入效果明顯,對于減少日志系統(tǒng)寫入量的效果更加顯著,全部測試場景減少日志寫入量約4~5倍;
說明:以普通NVMe SSD指標(biāo)為基線做歸一化,直方圖面積越小,數(shù)據(jù)寫入量越少。
人類的智慧注定都要在山頂相遇
亞馬遜經(jīng)常談?wù)搯蜗颍╫ne-way)和雙向(two-way)門決策。雙向門決策容易逆轉(zhuǎn),例如A/B test,這類決策可以快速采取行動,即使失敗,成本也不高。單向門決策大多數(shù)時候不可撤銷,必須”大膽假設(shè),小心求證“。Nitro 顯而易見是一個單向(one-way)門決策,即便是2012年開始,AWS也花了足足7年時間才完整落地。
在異構(gòu)計算領(lǐng)域,頭部云計算廠已經(jīng)達(dá)成共識,相關(guān)產(chǎn)品也加速推出,包括支持計算下推的阿里云PolarDB(詳見:可計算存儲:數(shù)據(jù)壓縮和數(shù)據(jù)庫計算下推),以及AWS re:Invent2020再次提到的基于 AUQA(Advanced Query Accelerator) 節(jié)點加速的 Redshift。
風(fēng)物長宜放眼量,人類的智慧注定都要在山頂相遇。
責(zé)任編輯:lq
-
芯片
+關(guān)注
關(guān)注
456文章
51185瀏覽量
427283 -
智能網(wǎng)卡
+關(guān)注
關(guān)注
1文章
53瀏覽量
12277 -
異構(gòu)計算
+關(guān)注
關(guān)注
2文章
102瀏覽量
16338
原文標(biāo)題:計算型存儲: 異構(gòu)計算的下一個關(guān)鍵應(yīng)用
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web3/M00/06/DA/wKgZO2ePxA2AEaTzAAQet3Edt48898.jpg)
算智算中心的算力如何衡量?
![<b class='flag-5'>算</b>智<b class='flag-5'>算</b>中心的<b class='flag-5'>算</b>力如何衡量?](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
超算智算融合 南京信易達(dá)發(fā)布全新“智能算力融合平臺”
![<b class='flag-5'>超</b><b class='flag-5'>算</b>智<b class='flag-5'>算</b>融合 南京信易達(dá)發(fā)布全新“<b class='flag-5'>智能</b><b class='flag-5'>算</b>力融合平臺”](https://file1.elecfans.com//web3/M00/05/3D/wKgZO2d96WyADY5XAACh65mkUrY128.png)
AI智能網(wǎng)卡在AI網(wǎng)絡(luò)中的作用
香港啟用大規(guī)模人工智能超算中心
網(wǎng)卡的演進(jìn)和應(yīng)用
![<b class='flag-5'>網(wǎng)卡</b>的演進(jìn)和應(yīng)用](https://file1.elecfans.com/web1/M00/F3/9F/wKgaoWcaCcSAXmmCAAAQr9icEsc070.png)
澎峰科技受邀出席國家超算互聯(lián)網(wǎng)生態(tài)沙龍
預(yù)定下代超算第一?富士通144核Arm處理器公開
![預(yù)定下代<b class='flag-5'>超</b><b class='flag-5'>算</b>第一?富士通144核Arm處理器公開](https://file1.elecfans.com/web2/M00/F1/89/wKgZomZ1VaOARlglAAFMzmNm7Vc787.png)
最新Top500超算榜單公布:Frontier再奪魁首,Aurora破百億大關(guān)
“本源悟空”已受邀成功聯(lián)機(jī)中國三個超算中心
![“本源悟空”已受邀成功聯(lián)機(jī)中國三個<b class='flag-5'>超</b><b class='flag-5'>算</b>中心](https://file.elecfans.com/web2/M00/3F/9D/poYBAGJo-maAOH8MAAIB_hk2Mno583.png)
科學(xué)計算的下一輪創(chuàng)新,AI超算與數(shù)字孿生
![科學(xué)計算的下一輪創(chuàng)新,AI<b class='flag-5'>超</b><b class='flag-5'>算</b>與數(shù)字孿生](https://file1.elecfans.com/web2/M00/E0/C9/wKgZomY4rkWAJlEdAAC0_LFVnME853.jpg)
超云助力西云算力騰飛,榮膺2024全國“人工智能+”創(chuàng)新案例百強(qiáng)
![<b class='flag-5'>超</b>云助力西云<b class='flag-5'>算</b>力騰飛,榮膺2024全國“人工<b class='flag-5'>智能</b>+”創(chuàng)新案例百強(qiáng)](https://file1.elecfans.com//web2/M00/D0/D4/wKgaomYiNOSAFZkqAAMnkp0Ht6E625.png)
“捷智算”正式入駐國家超算互聯(lián)網(wǎng)平臺
![“捷智<b class='flag-5'>算</b>”正式入駐國家<b class='flag-5'>超</b><b class='flag-5'>算</b>互聯(lián)網(wǎng)平臺](https://file.elecfans.com/web2/M00/55/FB/poYBAGLfmrOAMNitAAAqLsDZxGI249.png)
門禁物聯(lián)網(wǎng)卡的使用與管理
![門禁物聯(lián)<b class='flag-5'>網(wǎng)卡</b>的使用與管理](https://file1.elecfans.com//web2/M00/C8/DF/wKgaomYXpJeAQR0FAACPm_Odq6c124.jpg)
評論