雲計算

馮諾依曼架構的 IO 鴻溝,誰能來填補?

隨著AI技術、數據分析等領域興起,數據變得越來越重要了,數據處理往往需要用到大量的內存,數據量爆發式增長讓各種內存密集型應用層出不窮,如Redis數據庫、SAP HANA企業核心系統。在CSDN 2019、2020年度的開發者調查數據中,有四成的開發者在數據收集和消息處理中採用Redis,並且比例在逐年上升。

不過現階段的困境是,底層基礎設施的發展卻未能完全匹配數據爆炸的需求

隨著5G和網絡性能的提升,計算存儲網絡三部分中的存儲短板問題變得更加突出,內存的容量密度及速度與處理器的核數增長之間的差距越來越大,內存成為了短板。為了讓機器得以處理更多的數據,部分企業只能擴大內存,而內存與CPU的配比有限,這又會造成CPU算力的浪費,昂貴的內存也會讓企業面臨更高的成本壓力。

長久以來,雖然分級存儲機制已經最大化平衡了各類存儲介質的性能與成本要求,但業界對於新存儲介質的探索一直未停歇。而在去年,阿里雲推出了持久內存實例(簡稱re6p),更像是向馮諾依曼計算機體系中的終極夢幻存儲方案邁進了一步。CSDN近日採訪了阿里雲ECS彈性計算產品團隊負責人王志坤與阿里雲持久內存型實例產品經理唐湘華,揭祕阿里雲對持久內存實例的設計理念與對存儲未來方向的理解。

馮諾依曼架構的難題:“內存牆”

eipykdtz.jpg

過去近一個世紀,馮諾依曼架構構成了計算機科學的基礎。在馮諾伊曼架構中,中央處理器(CPU)通過指令從內存中讀取數據,並完成計算,再將數據返回內存保存。馮諾依曼理論模型的一個很重要的假設,就是計算與存儲的速度相當。但是一旦出現不匹配,慢的一方會成為瓶頸。

如今,雖然數據量在猛增,但底層技術未能均衡發展。內存的容量密度及速度與處理器的核數增長之間的差距越來越大,內存發展速度跟不上計算核數的增長,內存成為的短板,這就是“內存牆”。

為此,不少企業用提升內存的方式對應對該問題。阿里雲彈性計算為了滿足客戶需求也推出了大內存實例,比如阿里雲最近推出了6TB 大內存的實例。然而,如前所述,這又會造成CPU算力的浪費,昂貴的內存也會讓企業面臨更高的成本壓力。這並非長久之計,也難以規模化,需要從底層技術角度解決“內存牆”這個行業難題。

王志坤回憶,自己跟存儲頗有淵源,自己在讀博士的時候剛好就研究這一領域。“IO在整個計算機也好,服務器也好,一直是比較慢速的設備……馮諾依曼架構為什麼有一層緩存系統?就是為了解決我們計算、內存和存儲之間的性能鴻溝。”其實早在十幾年前,學術界就在致力於研究存儲領域的介質,來填補這個鴻溝。學術界和工業界都在尋找一種新型的存儲介質,能夠同時具備內存級別的性能,和硬盤對數據存儲的持久性。

可惜,不少嘗試都侷限在實驗室階段,缺乏大規模商業化的可能性。

打破“內存牆”困境

oixxyzum.jpg

直到這幾年,阿里雲發現了成熟的、可商用的產品——英特爾傲騰持久內存。該產品重新定義了傳統的兩級存儲架構,性能和形態已經接近內存,而且同時也具備了存儲的持久特性。傲騰持久內存與內存的IO性能幾乎在相同數量級,但成本大大降低,幾乎是為打破內存困境而生。

不過,要發揮這款產品的真正威力,需要非常高的技術能力,僅有少數技術領先的大型企業可以運用得當。阿里巴巴就是其中一家。阿里雲啟動了研發,希望能將這種能力產品化,讓更多的企業低門檻地享受到技術紅利。

最終,阿里雲基於英特爾傲騰持久內存,賦予了其可為客戶提供直接IaaS級雲服務的能力,將內存非易失性這種顛覆性的存儲架構特性帶到了雲上。阿里雲持久內存實例產品經理唐湘華介紹,阿里雲研發推出的持久內存實例提高了單條內存的容量密度,擴大了單顆CPU對應的內存容量,提高了CPU的利用率。持久內存實例應用會幫助用戶打破“內存牆”藩籬,獲得更高性能的同時,有效降低整體IT基礎設施擁有成本(TCO)

不過,任何IT新的技術從推出到企業級市場落地,企業用戶只會用腳投票,拷問新技術與新產品的性價比。所以持久內存在初始期,必定是用來解決IT存儲中的短板、最痛的那個問題。

關於持久內存實例的應用場景,阿里雲從Redis緩存型數據庫、SAP HANA這類典型的內存密集型應用入手,因為這些應用能夠最直接地體現介質升級所帶來的性能紅利。不過唐湘華表示,阿里雲團隊正在更深入分析持久內存實例,例如在消息隊列MQ的應用場景,可以大幅度地降低消息的長尾延時和業務抖動。除了作為內存的低成本替代品之外,傲騰持久內存也可以作為SSD來使用,在遊戲前端、直播前端這些高負載、高併發的IO密集型應用中,持久內存實例想象空間將更加巨大,這也會是阿里雲彈性計算的重點發力方向。

持久內存實例,從技術到產品

hailuo_279521189_RF_線上全媒體用途.jpg

傲騰持久內存聽起來具有如此巨大的優勢,但所有新技術在早期較高的技術研發門檻,是讓用戶望而卻步的主要原因。

從全球領域來看,很多傳統服務器廠商也在推出持久內存產品,客戶購置回來卻很難直接使用。除了技術門檻,新介質與已有IT資源的兼容也是需要解決的問題。而云端的優勢是用戶可以隨時隨地享受到彈性計算的產品迭代、享受到最新的存儲介質。同時,雲廠商的多種付費模式,也會降低用戶使用門檻。通過雲廠商,用戶可以非常低的門檻使用持久內存,應用於自身的業務,而這幾乎是所有企業級生意的最佳切入模式。

所以當業界還在討論持久內存與DRAM性能對比、持久內存適用的場景和用例時,阿里雲已經正式推出了基於英特爾傲騰持久內存的產品。不過,全球知名的雲計算廠商有很多,為什麼是阿里雲,成為全球率先推出商業化的持久內存實例的雲服務商?這是更有趣的問題。

作為推崇技術普惠宗旨的雲計算廠商,阿里雲既是最貼近用戶一方需求的技術資源提供者,也是將高深技術規模化商用、降低技術門檻的變革者。

王志坤認為,阿里雲的體量與規模發展到一定階段,在服務客戶過程中看到了客戶的訴求,原來的大內存實例十分昂貴,無疑是不符合雲計算的普惠原則。不過,在雲端將持久內存規模化提供給用戶,對技術能力的要求是非常高的。

縱觀阿里雲的架構,除了有自主研發“神龍”雲服務器架構之外,還有“飛天”雲操作系統、“盤古”存儲平臺、“洛神”網絡平臺、PolarDB雲原生數據庫等等,構成了統一的雲平臺,讓阿里雲具備了從虛擬化層到操作系統內核層全鏈路的整合與調優能力。這些能力最終使得阿里雲彈性技術團隊對持久內存的產品化研發變得更加敏捷。

“阿里雲所有的彈性計算產品全部是基於神龍架構的。我們所有的虛擬化工作,得到了極大簡化,我們整個飛天雲操作系統底層的很多工作,都是由我們神龍芯片來完成的。這也大大提升了引入AEP這種新型存儲介質對於整個產品迭代演進的速度。”王志坤錶示。

阿里雲全面融合了英特爾持久性內存的產品特性,在Redis數據庫中,阿里雲從虛擬化層到操作系統內核層,全鏈路進行了優化加速。

在應用層的優化中,Redis緩存型數據庫,是典型的KV數據結構,在持久內存和普通內存同時存在的系統中,儘量將Redis的索引數據放到DRAM(動態隨機存取存儲器,即原來的內存)而將用戶數據放到持久內存中。動態閾值管理數據分佈,既可以保證較小的索引數據儘量放到內存中,又可以保證普通內存和持久內存符合一定的容量比列。同時對於一些生命週期較短並頻繁訪問的數據,阿里雲會通過優化將其放置到普通內存中。利用此方法阿里雲持久內存實例的性能可以非常接近於DRAM。

而在內核層面,阿里雲持久內存實例搭載了阿里雲官網操作系統Aliyun Linux,針對Redis應用,阿里雲從內存鎖操作、進程fork流、內存合併等Redis應用數據流處理及管控關鍵技術節點上,進行了針對性的優化設計。讓運行在持久性內存實例上的Redis數據庫讀寫性能相對於運行在開源Linux操作系統上的性能提升20%以上。

附:阿里雲持久內存實例的性能與收益:

  • 性能大幅提升:在Redis等內存型數據應用中,經過阿里雲全鏈路優化,性能相對於運行在開源Linux操作系統上提升20%以上;

超大內存配比:提供1:20超大內存容量配比,更低的價格,更大的內存容量;
斷電數據不丟:機器斷電數據不丟失,重載速度最快提升高達12倍以上。

未來:存儲介質界限模糊,走向軟硬一體

hailuo_664284316_RF.jpg

就在剛剛過去的2020年底,英特爾的傲騰持久內存已經發布至第二代了。從磁帶、磁盤、閃存再到持久內存,存儲介質的性能與成本在持續向前迭代演進。每一代存儲介質均是逐步退出舞臺中央,去承擔更低性能的存儲歸檔數據的職責。

阿里雲兩位專家認為,未來無論介質抑或是產品層面,內存和傳統存儲的界限在不斷趨於模糊,各類存儲介質將是長期並存的狀態。同時,隨著IOT、5G的興起,數據的量級將繼續增大,人們對於數據的訪問、檢索、處理的要求將越來越高,IO密集型應用也會促使超高性能的存儲設備更加廣泛地被使用

從更廣闊的角度看,IT系統從硬件主導,進入了雲計算的軟件定義時代,但在阿里雲專家看來,未來軟件與硬件不再是IT的兩個對立面,阿里雲從神龍架構和芯片開始,已經走向軟硬一體的下一個時代。軟硬一體化將讓阿里雲作為一個整體去接納新的介質、新的技術,提升迭代速度。

5G、人工智能的普及,數據量爆發式增長,讓數據的流動與應用變得更加普遍,對海量數據的快速處理將是一切人工智能創新的基礎。未來,阿里雲在AI、大數據等方向對軟硬一體化、芯片化的探索,仍將不停向前。

Leave a Reply

Your email address will not be published. Required fields are marked *