官术网_书友最值得收藏!

前言

互聯網行業發展迅速,2010年以來,隨著物聯網、云計算、大數據、人工智能等互聯網技術的快速發展,相關的產品和服務層出不窮,快速迭代。雖然軟件技術日新月異,快速演進,但是相應的硬件體系結構卻沒有本質的改變,比如,目前支撐云端系統運行的依然是以CPU為核心的通用服務器。

軟硬件之間本質上的需求矛盾是CPU的性能越來越無法滿足軟件的發展需要,主要原因如下。

·CPU的微架構已經非常成熟,不考慮工藝進步和多核技術,僅提升單核CPU的性能在多年前就已經非常困難。

·在互聯網行業初期,工藝進步是提升CPU和芯片性能的主要手段,但隨著半導體工藝突破10nm以來,依靠工藝進步來提升CPU和芯片性能的空間急劇縮小,摩爾定律逐漸走向終結。

·登納德縮放比例定律表明,隨著工藝進步,單位面積所能容納的晶體管越多,單位面積的功耗也會越大,功耗會限制晶體管數量的進一步增加。

·受限于連接CPU核的總線效率、芯片面積及功耗等,CPU核集成數量的提升空間逐漸縮小。

作為計算機體系結構領域的領軍人物,David Patterson與John Hennessy在獲得2017年圖靈獎的演說中提到未來十年將是計算機體系結構的黃金十年,兩人給出的解決方案是DSA(Domain Specific Architecture,特定領域架構)。DSA是一種以硬件為中心的解決方案,可針對特定應用場景定制芯片,支持軟件可編程,并且通常都是圖靈完備的。從圖靈完備的意義來看,DSA與ASIC(Application Specific Integrated Circuit,專用集成電路)不同,后者通常用于單一功能,軟件代碼很少發生變化。DSA也是一種加速器,具有很好的加速性能,與通用CPU執行應用程序相比,DSA只能加速某些特定的應用程序。例如,用于深度學習的神經網絡處理器及用于軟件定義網絡(SDN)的處理器等。

在云計算場景下,軟硬件融合問題變得更加復雜。云計算不僅需要虛擬化技術來共享物理服務器,還需要管理物理服務器切分出來的虛擬服務器,以此服務成千上萬的用戶。云計算需要提供基于虛擬網絡技術的VPC服務來進行租戶隔離,為巨量的數據提供高可用的存儲服務等,還需要為各種用戶性能敏感的業務(如大數據分析、視頻圖像處理、機器學習/深度學習等)進行加速。云計算軟硬件融合最大的挑戰在于,需要把多種多樣的功能融合到一整套軟硬件平臺方案中。雖然DSA提供了比傳統ASIC更多的靈活性,但它在云計算領域依然存在以下問題。

·與傳統ASIC一樣,DSA通常也要封裝成一個具體的IC芯片,從一個應用場景的系統算法到IC芯片量產需要2~3年時間,而互聯網的業務發展速度非常快,DSA是否能夠滿足未來2~3年的軟件需求?硬件的使用周期一般是3~5年,在此期間,DSA是否能支撐軟件的持續迭代?

·從系統的角度來看,DSA用于解決特定問題A,如果有A、B、C等多個問題同時需要解決,那么多個DSA如何共存?成本如何?或者重新設計一種DSA芯片解決所有問題?重新設計的DSA芯片的通用性和靈活性又如何?

·云計算場景的DSA方案通常選擇基于經典的CPU+xPU異構計算架構,而不選擇圖靈完備的集成架構。CPU+xPU異構計算架構把特定場景算法的加速放在xPU,通過CPU的協調處理來完成整體任務。CPU+xPU異構計算架構可以讓CPU側的軟件大幅度降低CPU資源消耗,從而提升CPU性能,但仍然需要CPU的參與。

在云計算的場景下,我們希望為用戶提供一個標準的業務環境,后臺管理的工作任務數據面和控制面都能夠完整卸載。為了實現這些目標,我們就需要為云計算場景提供一個“宏架構”,統籌各種系統的硬件加速和任務卸載,并且能夠為用戶提供功能強大且簡單的運行環境,讓用戶專注于自身業務的創新。

就互聯網云計算而言,芯片公司距離市場和業務場景較遠,雖然其對芯片級微觀系統的理解非常深入,但對宏觀的互聯網系統缺乏深層次的敏感度,對熱點方向布局不重視,這就導致很多高精尖技術難以落地。而傳統的互聯網公司雖然距離用戶較近,有系統視角,但缺乏芯片及相關硬件技術儲備,對芯片的理解比較膚淺,局限于硬件的淺層優化,猶如隔靴搔癢。

基于上述問題,互聯網公司紛紛通過自研或與芯片公司合作的方式,更深層次地融合軟件和硬件,研發符合互聯網場景的新型芯片及硬件產品,以此支撐結構更加復雜、規模更加龐大、管理更加自動化的智能化互聯網基礎設施和應用系統。這種趨勢當前還處于“八仙過海,各顯神通”的階段,有必要通過體系結構層面深度地理解、分析和思考,將這些新型技術和平臺進行系統性的梳理、整合、重構,逐步演進成能夠滿足未來發展需求的新型云計算體系結構。

互聯網新技術的快速發展帶來翻天覆地的變化,要解決新的上層業務場景需求問題,離不開體系結構的創新發展。通常2~3年會出現一個新的技術熱點,系統迭代速度越來越快,體系結構在系統快速迭代的節奏下,如何才能夠擁有較長的生命周期,并且在整個生命周期都能很好地支撐業務發展,是需要深入思考的問題。

本書主要介紹如何通過軟硬件融合的創新來構建能夠應對未來業務挑戰的云計算體系結構,核心理念是把軟件的靈活性和硬件的高效性深度融合在一起。本書各章介紹的內容如下。

第1章為云計算底層軟硬件。

第2章為軟硬件融合綜述。

第3章為計算機體系結構基礎。本章內容與后續章節的核心內容是密切相關的,是核心內容的前導知識。

第4章為軟硬件接口。軟硬件融合首先面對的就是軟硬件接口,需要重點掌握如何實現高效的軟硬件數據交互。

第5章為算法加速和任務卸載。算法加速即某個算法的硬件實現;任務卸載以算法加速為內核,更加系統化、平臺化,通常需要有快速構建特定任務卸載的基本軟硬件框架。

第6章為虛擬化硬件加速。虛擬化硬件加速的核心是高性能虛擬化硬件處理,以及如何兼顧軟件的靈活性和硬件的高效性。

第7章為異構加速。異構計算架構適合云計算場景業務加速,有較多的成熟方案。

第8章為云計算體系結構趨勢。

第9章為融合的系統。本章內容是對云計算數據中心體系結構的總結。

感謝我的家人,在本書的編寫過程中,我占用了許多用于陪伴家人的時間,是她們的支持讓我有動力和毅力來完成本書的編寫工作;感謝我所在公司的上級領導及同事,是公司提供了如此好的平臺,讓我有機會去實現創新的想法,上級領導和同事們也為我提供了很多幫助和支持;感謝我的大學老師和同學,畢業多年,老師依然關心我們這些學生的工作和生活,同學們的幫助也促進我一直成長。

受限于個人知識背景和技術水平,也因為這個快速發展的行業和時代,本書難免存在不足。集體的智慧是無窮的,希望大家提出意見和建議,我會不定期地修訂、完善、更新本書,為大家呈現一本擁有更高價值的圖書。

黃朝波

讀者服務

微信掃碼回復:40922

·獲取各種共享文檔、線上直播、技術分享等免費資源

·加入本書讀者交流群,與更多讀者互動

·獲取博文視點學院在線課程、電子書20元代金券

主站蜘蛛池模板: 龙口市| 涡阳县| 噶尔县| 罗田县| 东丰县| 平凉市| 东方市| 鹤峰县| 元江| 江山市| 罗城| 麻城市| 搜索| 孝感市| 白沙| 金平| 五原县| 会同县| 高邑县| 遂平县| 台前县| 安塞县| 休宁县| 濮阳县| 富源县| 宁武县| 丹东市| 岳西县| 武冈市| 咸宁市| 怀柔区| 抚远县| 赤峰市| 高雄市| 宝鸡市| 盐津县| 临湘市| 闽侯县| 嘉祥县| 青田县| 定襄县|