物聯(lián)網(wǎng)被炒得沸沸揚揚,而物聯(lián)網(wǎng)帶來的數(shù)據(jù)爆增也不容忽視,伴隨著數(shù)據(jù)的成千上萬倍地增長,我們會發(fā)現(xiàn)數(shù)據(jù)中心的服務(wù)器承載的壓力越來越大,用戶對CPU的處理能力要求要來越高,服務(wù)器加速刻不容緩。
一般要確保數(shù)據(jù)有冗余的話,每一個大數(shù)據(jù)架構(gòu)需要做3個備份,這樣所帶來的問題是用戶需要準(zhǔn)備3倍的存儲空間,當(dāng)沒辦法做在線備份的時候怎么辦?有人說可以通過邏輯把硬盤所需要的使用率從3倍降到1.4倍,但是這樣CPU的使用率會超過99%,因為CPU要處理邏輯運算。由此可見,這就沒有冗余的CPU處理能力去做大數(shù)據(jù)分析了,我們怎么解決?這就是我們要鼓勵第二代分布式計算的原因,我們能通過FPGA加速器進行加速,這樣CPU主要是負(fù)責(zé)通用計算負(fù)載,F(xiàn)PGA技術(shù)負(fù)責(zé)大量的重復(fù)運算負(fù)載,從而把控制分開。
CPU與FPGA怎樣跨界融合?它們在服務(wù)器加速過程中各自起到什么角色?怎樣做到未來服務(wù)器的“少,快,好,省”?帶著這些問題與非網(wǎng)記者參加了
當(dāng)半導(dǎo)體技術(shù)發(fā)展遭遇瓶頸,服務(wù)器如何加速?
從計算機系統(tǒng)的發(fā)展可以看出,最初的計算機都是單任務(wù)計算,隨著數(shù)據(jù)的增加逐步演進到多任務(wù)計算,因此系統(tǒng)中有多個CPU POWER,由于多個CPU POWER可以同時訪問內(nèi)存中的數(shù)據(jù),所以首要解決的就是數(shù)據(jù)一致性問題,當(dāng)一個POWER對一個數(shù)據(jù)進行操作了之后,另外一個POWER需要拿到正確的數(shù)據(jù)。在系統(tǒng)里面一般用硬件來保證數(shù)據(jù)的一致性,這樣保證另外一個線程在讀取數(shù)據(jù)的時候能拿到正確的數(shù)據(jù),因此當(dāng)計算機系統(tǒng)從一個單CPU系統(tǒng)進化到多CPU系統(tǒng)的時候,它的性能功耗比下降了很多,怎樣提高CPU的性能并降低功耗成為很多用戶的困惑。
IBM全球杰出工程師Bruce Wile解釋,“隨著互聯(lián)網(wǎng)數(shù)據(jù)的增長,對于我們的系統(tǒng)來說,我們需要更強的硬件計算能力來處理更多的數(shù)據(jù)。一個解決的方案就是我們在一個CPU核上面開辟更多個硬件的線程,用這些線程來提高它的處理能力,來增加它對I/O過來的數(shù)據(jù)進行更好的處理,同時我們引入了GPU和FPGA,使用這些硬件來幫助我們的系統(tǒng)處理數(shù)據(jù),但是傳統(tǒng)上GPU和FPGA都是以I/O設(shè)備的形式掛載在這個系統(tǒng)上面,我們?yōu)榱耸褂眠@些IO設(shè)備,需要工程師具有更多的技能,比如:編程人員需要學(xué)習(xí)硬件知識,我們需要懂內(nèi)核的人為這些I/O設(shè)備進行驅(qū)動開發(fā),同時由于它們是I/O設(shè)備,這些IO設(shè)備沒有和CPU共享內(nèi)存,所以需要內(nèi)核代碼幫助他們做數(shù)據(jù)傳輸。擺在我們面前的另外一個難題就是,半導(dǎo)體技術(shù)已經(jīng)到了一個技術(shù)拐點,它的性價比不再持續(xù)增長,我們不能依賴于半導(dǎo)體技術(shù)的增長使我們的系統(tǒng)更快更強,我們需要從硬件還有它上面的固件、操作系統(tǒng)、設(shè)備應(yīng)用等各個角度綜合考慮,來尋求一個更好的解決方案。”