• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>

    數據中心2014:軟件定義的計算

    2014-12-12 13:57:28   作者:   來(lái)源:ZDNet   評論:0  點(diǎn)擊:


      在《數據中心2013:硬件重構與軟件定義》當中,我們已經(jīng)介紹了硬件重構與軟件定義的概念,如《生態(tài)系統與規模的角力》說(shuō)的一樣,“軟件定義”的概念不是我們的發(fā)明,“硬件重構”也不是,不過(guò),把“硬件重構”和“軟件定義”放在一起明確的提出,確是我們首創(chuàng )。

      盡管本年度的數據中心技術(shù)研究報告的標題不會(huì )再用“軟件定義”,但是,我們仍然打算繼續談“軟件定義”,因為我們覺(jué)得,盡管計算實(shí)際上受軟件的“定義”已經(jīng)很多年,但大眾離真正意義上的“軟件定義”還有很大距離,實(shí)際上,我們認為,軟件定義網(wǎng)絡(luò )在這方面還要更先進(jìn)一些。當然,我們也會(huì )談到生態(tài)系統的問(wèn)題,這也實(shí)際影響到了軟件定義計算的發(fā)展路線(xiàn)——變成了現在這個(gè)樣子的原因。

      我們希望的軟件定義計算是什么樣子呢?套用Andrew S. Tanenbaum在其著(zhù)作《Distributed Operating Systems》中提到的五點(diǎn):Transparency (透明性)、Flexibility(靈活性)、Reliability(可靠性)、Performance(性能)、Scalability(伸縮性)。計算機科學(xué)家Tanenbaum是Minix(一種Unix克隆操作系統)和Amoeba(一種原生分布式操作系統)的作者,這五點(diǎn)要求針對的是分布式系統,而在現實(shí)世界中,多臺計算機組成的具有一定程度耦合的計算系統實(shí)際上都是分布式系統的一種——包含云計算、高性能計算在內,因此這五點(diǎn)要求包含了我們對實(shí)際上的計算系統的要求。

      分布式計算有Scale Out需求的原因,也有基于實(shí)際上地理分布計算的原因

      盡管分布式計算提起的不多,然而我們希望的軟件定義計算系統也同樣擁有相同的訴求,這樣的系統都需要通過(guò)特別開(kāi)發(fā)的硬件或者軟件來(lái)達成,也就是硬件定義或者軟件定義。盡管邏輯上,我們不排除硬件上實(shí)現這樣的計算系統,但毫無(wú)疑問(wèn),通過(guò)軟件實(shí)現可以最好地滿(mǎn)足其中Flexibility(靈活性)這一點(diǎn),這也是軟件定義興起的重要原因之一。

      除了Flexibility靈活性之外,Reliability可靠性、Performance性能、Scalability伸縮性這三者是互相關(guān)聯(lián)的。分布式系統之所以存在除了物理上需要的分布之外,還因為分布式本質(zhì)上具有的容錯性,如HA高可用性,兩地三中心等等,都是通過(guò)分散的冗余系統來(lái)去除單點(diǎn)失效。注意到Reliability(可靠性)和Availability(可用性)以及Fault Tolerance(容錯)的聯(lián)系與區別,一個(gè)高可靠的系統必然是高可用的,而且還不僅如此,高可靠的系統還必須保障運作的正確性,就像在分布式存儲系統當中,通常會(huì )通過(guò)保存多個(gè)副本來(lái)保持數據的可用性,但是仍然需要額外的機制來(lái)保證數據的正確性——特別地,在存儲系統中就是“一致性”,實(shí)際上可靠性和一致性是需要取舍的,副本數量愈多保持一致性就越難;對于Fault Tolerance(容錯),基于Hypervisor的底層方案已經(jīng)可以提供一些不錯的方案,如VMware vSphere Hypervisor 6.0已經(jīng)可以提供4個(gè)vCPU的虛擬機Fault Tolerance,但是如果我們如果需要更強的虛擬機容錯能力呢?我們希望的是可靠的計算系統,除去無(wú)法預測的人為故障、難以消除的軟件Bug之外,我們設計的計算系統本身的架構能滿(mǎn)足這個(gè)需求嗎?從如Amazon等等的公有云廠(chǎng)商偶爾出現的大規模故障來(lái)看,我們還有很多的工作要做。

      Active-Active,主主模式(或稱(chēng)雙活)已經(jīng)算是一種比較高級的HA模式

      其次是Performance性能,性能是非常重要的,因為性?xún)r(jià)比關(guān)系到運營(yíng)成本,和整個(gè)生態(tài)系統都有關(guān)聯(lián),這一要點(diǎn)也是和硬件和軟件都緊密相關(guān)的。在HPC領(lǐng)域,一個(gè)重要的部件就是InfiniBand,或者說(shuō),其核心:RDMA(Remote Direct Memory Access,遠程直接內存訪(fǎng)問(wèn)),這是一個(gè)可以加速分布式系統中不同節點(diǎn)通信的技術(shù),簡(jiǎn)而言之,RDMA是讓數據通信可以bypass掉操作系統的Kernel以及TCP/IP或者其它的協(xié)議層,以及降低數據復制的次數,達到降低通信延遲的目的,一些HPC系統并沒(méi)有用InfiniBand而是使用了以太網(wǎng),關(guān)鍵在于高端的以太網(wǎng)也提供了RDMA的能力,并且成本更低,InfiniBand、RoCE、iWARP三種RDMA規范中后兩種就是基于以太網(wǎng)的。當前,RDMA網(wǎng)卡的價(jià)格也已經(jīng)降低到了和普通網(wǎng)卡不太遠的程度。

      RDMA(Remote Direct Memory Access,遠程直接內存訪(fǎng)問(wèn)),允許跨網(wǎng)絡(luò )的快速內存空間訪(fǎng)問(wèn)

      至于軟件,有大量的工作是關(guān)于充分發(fā)揮硬件的特性,對NUMA的優(yōu)化是否已經(jīng)充分?Linux Kernel社區目前還在NUMA Awareness的內存管理以及處理器調度方面進(jìn)行努力,而軟件定義計算上更為重要的部件——Hypervisor,在這方面的工作還未達到令人滿(mǎn)意的地步。此外,還有更多的硬件輔助虛擬化特性,如APICv、VMCS、VMFUNC,等等,在這方面仍然有非常多的工作可以做。

      然后是Scalability伸縮性,一套算法可能在數十上百個(gè)節點(diǎn)上工作良好,但到上千個(gè)節點(diǎn)可能就效率低下,到了更多的節點(diǎn)就徹底不能工作,不同的規模大小會(huì )影響到體系架構的選擇,小到多達單個(gè)封裝達18個(gè)物理核心的Haswell-EP至強處理器,大到數百節點(diǎn)的Hadoop,MapReduce,Spark這樣的軟件計算系統、數量不明的Intel RSA這樣的硬件架構、乃至數PiB級別的Ceph,GlusterFS這樣的分布式存儲系統,都需要對其架構、算法進(jìn)行衡量。我們期望的計算系統需要有良好的伸縮性,雖然一個(gè)算法不可能滿(mǎn)足所有的情況。

      Map/Reduce是一種時(shí)下很流行的大數據/分布式計算框架

      最后提到的是Transparency透明性,對于大多數人來(lái)說(shuō),透明性是最重要的一點(diǎn),它實(shí)際上和上面的Scalability伸縮性有一定聯(lián)系。透明性的含義很多,其中大概最重要的一點(diǎn)就是Single System Image(SSI,單系統映像),很好滿(mǎn)足這個(gè)要求的系統很少,因為滿(mǎn)足它要求分布式系統對所有用戶(hù)來(lái)說(shuō),就像是單個(gè)系統,區別僅僅是具備的CPU、內存、硬盤(pán)更多更大。當前的不少系統可以在不同的虛擬化層次上至少部分地滿(mǎn)足這個(gè)需求,例如一些超算系統使用作業(yè)系統來(lái)分發(fā)計算任務(wù)到不同的節點(diǎn),就“作業(yè)”這個(gè)應用程序的層次來(lái)說(shuō),整個(gè)計算系統呈現的是一個(gè)單系統映像,然而限制也在于應用程序層,只有特定的應用才有可能進(jìn)行分發(fā);另一些超算系統則基于各種分布式通信的庫,如MPI等,只要基于這些庫進(jìn)行編程就可以應用到更多的計算能力。更為理想地,SSI可以在操作系統層實(shí)現,現有的多線(xiàn)程應用不需要就可以透明地、自動(dòng)地應用不同節點(diǎn)上的運算能力。我們當前的IaaS云計算環(huán)境很大程度上僅僅是提供了一堆松散的小虛擬機,PaaS和SaaS有望提供一定程度的SSI能力。

      超級計算機,在很大程度上是提供了SSI的多臺計算機的集群

      可以看到,目前的計算系統,在Transparency (透明性)、Flexibility(靈活性)、Reliability(可靠性)、Performance(性能)、Scalability(伸縮性)這五點(diǎn)上可以做的還有很多,軟件定義計算還有很遠的路要走。

    分享到: 收藏

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 奉化市| 景东| 博湖县| 沾化县| 滨州市| 资中县| 南康市| 随州市| 聂拉木县| 安达市| 昂仁县| 韶山市| 颍上县| 晴隆县| 塘沽区| 固镇县| 广元市| 北辰区| 南投市| 巨鹿县| 门头沟区| 舞钢市| 保德县| 涞源县| 云南省| 习水县| 广饶县| 寿宁县| 凤城市| 拜城县| 云浮市| 黄龙县| 永顺县| 长乐市| 乐亭县| 宜州市| 乐东| 鹿邑县| 永仁县| 曲松县| 论坛| http://444 http://444 http://444 http://444 http://444 http://444