作者 | 宋慧
頭圖 | CSDN 下載自東方 IC
隨著AI技術、數(shù)據(jù)分析等領域興起,數(shù)據(jù)變得越來越重要了,數(shù)據(jù)處理往往需要用到大量的內(nèi)存,數(shù)據(jù)量爆發(fā)式增長讓各種內(nèi)存密集型應用層出不窮,如redis數(shù)據(jù)庫、SAP HANA企業(yè)核心系統(tǒng)。在CSDN 2019、2020年度的開發(fā)者調(diào)查數(shù)據(jù)中,有四成的開發(fā)者在數(shù)據(jù)收集和消息處理中采用Redis,并且比例在逐年上升。
不過現(xiàn)階段的困境是,底層基礎設施的發(fā)展卻未能完全匹配數(shù)據(jù)爆炸的需求。
隨著5G和網(wǎng)絡性能的提升,計算存儲網(wǎng)絡三部分中的存儲短板問題變得更加突出,內(nèi)存的容量密度及速度與處理器的核數(shù)增長之間的差距越來越大,內(nèi)存成為了短板。為了讓機器得以處理更多的數(shù)據(jù),部分企業(yè)只能擴大內(nèi)存,而內(nèi)存與CPU的配比有限,這又會造成CPU算力的浪費,昂貴的內(nèi)存也會讓企業(yè)面臨更高的成本壓力。
長久以來,雖然分級存儲機制已經(jīng)最大化平衡了各類存儲介質(zhì)的性能與成本要求,但業(yè)界對于新存儲介質(zhì)的探索一直未停歇。而在去年,阿里云推出了持久內(nèi)存實例(簡稱re6p),更像是向馮諾依曼計算機體系中的終極夢幻存儲方案邁進了一步。CSDN近日采訪了阿里云ECS彈性計算產(chǎn)品團隊負責人王志坤與阿里云持久內(nèi)存型實例產(chǎn)品經(jīng)理唐湘華,揭秘阿里云對持久內(nèi)存實例的設計理念與對存儲未來方向的理解。
馮諾依曼架構的難題:“內(nèi)存墻”
過去近一個世紀,馮諾依曼架構構成了計算機科學的基礎。在馮諾伊曼架構中,中央處理器(CPU)通過指令從內(nèi)存中讀取數(shù)據(jù),并完成計算,再將數(shù)據(jù)返回內(nèi)存保存。馮諾依曼理論模型的一個很重要的假設,就是計算與存儲的速度相當。但是一旦出現(xiàn)不匹配,慢的一方會成為瓶頸。
如今,雖然數(shù)據(jù)量在猛增,但底層技術未能均衡發(fā)展。內(nèi)存的容量密度及速度與處理器的核數(shù)增長之間的差距越來越大,內(nèi)存發(fā)展速度跟不上計算核數(shù)的增長,內(nèi)存成為的短板,這就是“內(nèi)存墻”。
為此,不少企業(yè)用提升內(nèi)存的方式對應對該問題。阿里云彈性計算為了滿足客戶需求也推出了大內(nèi)存實例,比如阿里云最近推出了6TB 大內(nèi)存的實例。然而,如前所述,這又會造成CPU算力的浪費,昂貴的內(nèi)存也會讓企業(yè)面臨更高的成本壓力。這并非長久之計,也難以規(guī)模化,需要從底層技術角度解決“內(nèi)存墻”這個行業(yè)難題。
王志坤回憶,自己跟存儲頗有淵源,自己在讀博士的時候剛好就研究這一領域。“IO在整個計算機也好,服務器也好,一直是比較慢速的設備……馮諾依曼架構為什么有一層緩存系統(tǒng)?就是為了解決我們計算、內(nèi)存和存儲之間的性能鴻溝。”其實早在十幾年前,學術界就在致力于研究存儲領域的介質(zhì),來填補這個鴻溝。學術界和工業(yè)界都在尋找一種新型的存儲介質(zhì),能夠同時具備內(nèi)存級別的性能,和硬盤對數(shù)據(jù)存儲的持久性。
可惜,不少嘗試都局限在實驗室階段,缺乏大規(guī)模商業(yè)化的可能性。
打破“內(nèi)存墻”困境
直到這幾年,阿里云發(fā)現(xiàn)了成熟的、可商用的產(chǎn)品——英特爾傲騰持久內(nèi)存。該產(chǎn)品重新定義了傳統(tǒng)的兩級存儲架構,性能和形態(tài)已經(jīng)接近內(nèi)存,而且同時也具備了存儲的持久特性。傲騰持久內(nèi)存與內(nèi)存的IO性能幾乎在相同數(shù)量級,但成本大大降低,幾乎是為打破內(nèi)存困境而生。
不過,要發(fā)揮這款產(chǎn)品的真正威力,需要非常高的技術能力,僅有少數(shù)技術領先的大型企業(yè)可以運用得當。阿里巴巴就是其中一家。阿里云啟動了研發(fā),希望能將這種能力產(chǎn)品化,讓更多的企業(yè)低門檻地享受到技術紅利。
最終,阿里云基于英特爾傲騰持久內(nèi)存,賦予了其可為客戶提供直接IaaS級云服務的能力,將內(nèi)存非易失性這種顛覆性的存儲架構特性帶到了云上。阿里云持久內(nèi)存實例產(chǎn)品經(jīng)理唐湘華介紹,阿里云研發(fā)推出的持久內(nèi)存實例提高了單條內(nèi)存的容量密度,擴大了單顆CPU對應的內(nèi)存容量,提高了CPU的利用率。持久內(nèi)存實例應用會幫助用戶打破“內(nèi)存墻”藩籬,獲得更高性能的同時,有效降低整體IT基礎設施擁有成本(TCO)。
不過,任何IT新的技術從推出到企業(yè)級市場落地,企業(yè)用戶只會用腳投票,拷問新技術與新產(chǎn)品的性價比。所以持久內(nèi)存在初始期,必定是用來解決IT存儲中的短板、最痛的那個問題。
關于持久內(nèi)存實例的應用場景,阿里云從Redis緩存型數(shù)據(jù)庫、SAP HANA這類典型的內(nèi)存密集型應用入手,因為這些應用能夠最直接地體現(xiàn)介質(zhì)升級所帶來的性能紅利。不過唐湘華表示,阿里云團隊正在更深入分析持久內(nèi)存實例,例如在消息隊列MQ的應用場景,可以大幅度地降低消息的長尾延時和業(yè)務抖動。除了作為內(nèi)存的低成本替代品之外,傲騰持久內(nèi)存也可以作為SSD來使用,在游戲前端、直播前端這些高負載、高并發(fā)的IO密集型應用中,持久內(nèi)存實例想象空間將更加巨大,這也會是阿里云彈性計算的重點發(fā)力方向。
持久內(nèi)存實例,從技術到產(chǎn)品
傲騰持久內(nèi)存聽起來具有如此巨大的優(yōu)勢,但所有新技術在早期較高的技術研發(fā)門檻,是讓用戶望而卻步的主要原因。
從全球領域來看,很多傳統(tǒng)服務器廠商也在推出持久內(nèi)存產(chǎn)品,客戶購置回來卻很難直接使用。除了技術門檻,新介質(zhì)與已有IT資源的兼容也是需要解決的問題。而云端的優(yōu)勢是用戶可以隨時隨地享受到彈性計算的產(chǎn)品迭代、享受到最新的存儲介質(zhì)。同時,云廠商的多種付費模式,也會降低用戶使用門檻。通過云廠商,用戶可以非常低的門檻使用持久內(nèi)存,應用于自身的業(yè)務,而這幾乎是所有企業(yè)級生意的最佳切入模式。
所以當業(yè)界還在討論持久內(nèi)存與DRAM性能對比、持久內(nèi)存適用的場景和用例時,阿里云已經(jīng)正式推出了基于英特爾傲騰持久內(nèi)存的產(chǎn)品。不過,全球知名的云計算廠商有很多,為什么是阿里云,成為全球率先推出商業(yè)化的持久內(nèi)存實例的云服務商?這是更有趣的問題。
作為推崇技術普惠宗旨的云計算廠商,阿里云既是最貼近用戶一方需求的技術資源提供者,也是將高深技術規(guī)模化商用、降低技術門檻的變革者。
王志坤認為,阿里云的體量與規(guī)模發(fā)展到一定階段,在服務客戶過程中看到了客戶的訴求,原來的大內(nèi)存實例十分昂貴,無疑是不符合云計算的普惠原則。不過,在云端將持久內(nèi)存規(guī)模化提供給用戶,對技術能力的要求是非常高的。
縱觀阿里云的架構,除了有自主研發(fā)“神龍”云服務器架構之外,還有“飛天”云操作系統(tǒng)、“盤古”存儲平臺、“洛神”網(wǎng)絡平臺、PolarDB云原生數(shù)據(jù)庫等等,構成了統(tǒng)一的云平臺,讓阿里云具備了從虛擬化層到操作系統(tǒng)內(nèi)核層全鏈路的整合與調(diào)優(yōu)能力。這些能力最終使得阿里云彈性技術團隊對持久內(nèi)存的產(chǎn)品化研發(fā)變得更加敏捷。
“阿里云所有的彈性計算產(chǎn)品全部是基于神龍架構的。我們所有的虛擬化工作,得到了極大簡化,我們整個飛天云操作系統(tǒng)底層的很多工作,都是由我們神龍芯片來完成的。這也大大提升了引入AEP這種新型存儲介質(zhì)對于整個產(chǎn)品迭代演進的速度。”王志坤表示。
阿里云全面融合了英特爾持久性內(nèi)存的產(chǎn)品特性,在Redis數(shù)據(jù)庫中,阿里云從虛擬化層到操作系統(tǒng)內(nèi)核層,全鏈路進行了優(yōu)化加速。
在應用層的優(yōu)化中,Redis緩存型數(shù)據(jù)庫,是典型的KV數(shù)據(jù)結構,在持久內(nèi)存和普通內(nèi)存同時存在的系統(tǒng)中,盡量將Redis的索引數(shù)據(jù)放到DRAM(動態(tài)隨機存取存儲器,即原來的內(nèi)存)而將用戶數(shù)據(jù)放到持久內(nèi)存中。動態(tài)閾值管理數(shù)據(jù)分布,既可以保證較小的索引數(shù)據(jù)盡量放到內(nèi)存中,又可以保證普通內(nèi)存和持久內(nèi)存符合一定的容量比列。同時對于一些生命周期較短并頻繁訪問的數(shù)據(jù),阿里云會通過優(yōu)化將其放置到普通內(nèi)存中。利用此方法阿里云持久內(nèi)存實例的性能可以非常接近于DRAM。
而在內(nèi)核層面,阿里云持久內(nèi)存實例搭載了阿里云官網(wǎng)操作系統(tǒng)Aliyun linux,針對Redis應用,阿里云從內(nèi)存鎖操作、進程fork流、內(nèi)存合并等Redis應用數(shù)據(jù)流處理及管控關鍵技術節(jié)點上,進行了針對性的優(yōu)化設計。讓運行在持久性內(nèi)存實例上的Redis數(shù)據(jù)庫讀寫性能相對于運行在開源Linux操作系統(tǒng)上的性能提升20%以上。
附:阿里云持久內(nèi)存實例的性能與收益:
-
性能大幅提升:在Redis等內(nèi)存型數(shù)據(jù)應用中,經(jīng)過阿里云全鏈路優(yōu)化,性能相對于運行在開源Linux操作系統(tǒng)上提升20%以上;
-
超大內(nèi)存配比:提供1:20超大內(nèi)存容量配比,更低的價格,更大的內(nèi)存容量;
-
斷電數(shù)據(jù)不丟:機器斷電數(shù)據(jù)不丟失,重載速度最快提升高達12倍以上。
未來:存儲介質(zhì)界限模糊,走向軟硬一體
就在剛剛過去的2020年底,英特爾的傲騰持久內(nèi)存已經(jīng)發(fā)布至第二代了。從磁帶、磁盤、閃存再到持久內(nèi)存,存儲介質(zhì)的性能與成本在持續(xù)向前迭代演進。每一代存儲介質(zhì)均是逐步退出舞臺中央,去承擔更低性能的存儲歸檔數(shù)據(jù)的職責。
阿里云兩位專家認為,未來無論介質(zhì)抑或是產(chǎn)品層面,內(nèi)存和傳統(tǒng)存儲的界限在不斷趨于模糊,各類存儲介質(zhì)將是長期并存的狀態(tài)。同時,隨著IOT、5G的興起,數(shù)據(jù)的量級將繼續(xù)增大,人們對于數(shù)據(jù)的訪問、檢索、處理的要求將越來越高,IO密集型應用也會促使超高性能的存儲設備更加廣泛地被使用。
從更廣闊的角度看,IT系統(tǒng)從硬件主導,進入了云計算的軟件定義時代,但在阿里云專家看來,未來軟件與硬件不再是IT的兩個對立面,阿里云從神龍架構和芯片開始,已經(jīng)走向軟硬一體的下一個時代。軟硬一體化將讓阿里云作為一個整體去接納新的介質(zhì)、新的技術,提升迭代速度。
5G、人工智能的普及,數(shù)據(jù)量爆發(fā)式增長,讓數(shù)據(jù)的流動與應用變得更加普遍,對海量數(shù)據(jù)的快速處理將是一切人工智能創(chuàng)新的基礎。未來,阿里云在AI、大數(shù)據(jù)等方向對軟硬一體化、芯片化的探索,仍將不停向前。