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