首頁>Club>
9
回覆列表
  • 1 # 優谷先生

    個人電腦對於我們並不陌生,但在處理一些比較大的檔案,有時候也會顯得很吃力,但如果運算一些科學演算,就算是配置數10萬的個人電腦也只是鳳毛麟角了,這時候就需要一臺強大的超級計算機來運算了,它比普通桌上型電腦要快百萬倍,自然也擁有很強的運算能力,那麼,究竟什麼是超級計算機呢?

    從上圖可以看出2018年在世界上500臺最強大的機器中,我們國家的超級計算機排名第一。

    超級計算機與普通電腦的區別

    普通個人電腦是透過輸入的資訊(或者資料),對其進行儲存和處理,然後生成某種輸出結果。

    而超級計算機不僅僅是快速或大型計算機:它以完全不同的方式工作,通常使用並行處理而不是普通計算機使用的序列處理。它不是一次執行一件事情,而是一次執行很多事情,進行綜合運算,最後整合得出合理的結果。

    上圖:

    在序列處理中,一個處理器一次解決一個問題。不管計算機的不同部分有多快,該運算仍將以中央處理器的速度完成。

    下圖:

    在並行處理中,問題被分解為元件,每個元件都由單獨的處理器處理。由於處理器並行工作,因此即使處理器以與序列系統相同的速度工作,通常也可以更快地解決問題。

    超級計算機為什麼要使用並行處理?

    打個比方,如果有一堆箱子需要一個人進行打包並搬運裝車,就需要很長時間,而且不能同時進行,如果有三個人同時分工打包、搬運、裝車,那麼像這樣的人員配比,工作速度就非常快了,超級計算機運用並行處理跟這也是相同的道理。

    假如你是一個氣象預測科學家,我分別要模擬計算今年會不會有颱風,那麼我就需要把5年內各地的每日氣候條件資料輸入超級計算機,並且精確到每小時的氣溫、溼度、風向、雨季等輸入電腦,同時運算才能預測到本年度會不會在某個地方出現颱風。

    這對於超級計算機來說很容易,但是用普通的計算機,僅5年內的氣溫資料就無法運算,而且不能與其它條件同時並行處理,因為預測運算是各個維度實時運算綜合得出的結果,不能分開來運算的,所以超級計算機不能使用序列處理。

    超級計算機究竟有多大

    普通伺服器也只能裝大約4枚處理器,目的就為了處理資料互動提高效率,但是超級計算機面對的是複雜的運算,這是區別於普通計算機的,所以一臺超級計算機至少有10套200平米房間的大小面積佔比。

    龐大的身軀決定著超級計算機擁有更多的處理器,例如我們的天河超級計算機擁有大約40960個處理模組,每個模組具有260個處理器核心,這意味著總共有10,649,600個處理器核心!這麼多的“大腦”來運行復雜資料綽綽有餘了。

    超級計算機也可以分工計算

    個人電腦可以相互交換資料,沒錯,超級計算機也可以進行聯網資料互動,這就是超級計算機叢集處理。

    在一些科研工作室或者大學裡,通常會有很多臺超級計算機進行廣域網或者區域網連線,分工進行各項科學資料的計算,再統一彙集到一臺超級計算機上面總結得出結果。

    超級計算機用的系統和普通電腦一樣

    目前大多數超級計算機都執行相當普通的作業系統,就像在您自己的PC上執行的作業系統一樣,也是Windows系統,但在叢集處理任務中,超級計算機最常見的作業系統曾經是Unix,但現在已被Linux,由於超級計算機通常會處理科學問題,因此有時會使用傳統的科學程式語言-C語言進行處理資料。

    超級計算機有多強大

    上圖是1940年2010年超級計算機能力每十年運算能力的對比圖,可見在每一個10年終,超級計算機都以幾何倍率的運算能力增長,到2020年,這一個10年裡超級計算機得遠算能力有可能會有突飛猛進的增長,因為科技不會止步於此。

    超級計算機不至於在科學運算方面的能力,它還可以模擬核飛機測試、演習、氣候模擬以及測試加密計算機安全程式碼強度。從理論上講,通用超級計算機可以用於任何事物,當然也有人猜想用它來挖比特幣,但事實告訴我們,它每分鐘的耗電量驚人,挖出來的比特幣不足以支付電費。

  • 中秋節和大豐收的關聯?
  • C++語言與Java語言的區別有哪些?