摘要:說起計算機(電腦),相信大家並不陌生,但超級計算機似乎離我們的生活很遙遠。近幾年來,我們頻頻聽到AI醫療、自動駕駛、人工智慧大戰圍棋高手等詞彙或事件,其實在它們背後,有我們看不到的龐然大物,它性能秒殺個人電腦,運算速度通常能超過每秒一萬億次,它就是超級計算機。那麼,你知道超級計算機都在使用什麼作業系統嗎?
超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機。很多人對於超級計算機的記憶,或許只停留在《模仿遊戲》裡圖靈為破譯德軍碼發明的「克里斯多福」;或是小學課本裡的那個,半個足球場那麼多大的電子計算機。
事實上,一臺超級計算機就是成百上千臺「不那麼超級」的計算機一起工作。超級計算機的基本組成組件與個人電腦的概念無太大差異,但規格與性能則強大許多。通常是由數百數千甚至更多的處理器(機)組成的、能計算普通PC機和伺服器不能完成的大型複雜課題的計算機。
家用電腦一般只有一顆CPU,每顆CPU內一般只有2~8個物理核心。而一臺超級計算機有成千上萬顆CPU,每顆CPU內一般有幾十個物理核心。超級計算機最大特點在於其具有超強的計算和處理數據的能力,運算速度可達到每秒萬億次以上。
以2019年底全球超級計算機運算速度榜單來看,美國超級計算機「頂點」以每秒14.86億億次的浮點運算速度再次登頂,第二位是美國超算「山脊」,中國超算「神威·太湖之光」和「天河二號」分列三、四位。當然,我國的「神威·太湖之光」曾多次奪得冠軍。
那麼,每秒14.86億億次的浮點運算速度的超級計算機,究竟用什麼作業系統呢?
如今全球最頂尖的500臺超級計算機都使用一種作業系統,它既非微軟的Windows系統,也不是蘋果的macOS系統,而是Linux系統。
堪稱全人類智慧結晶的Linux系統,已誕生二十多年了,最早是在1991年8月25日,一位名叫Linus Torvalds的芬蘭學生介紹了一種個人產品,後來成為Linux內核。Linus的項目很快受到了許多個人和組織的關注。Linux內核和GNU軟體的結合創造了第一個完全免費的作業系統。它的名字是GNU/Linux系統。
Linux系統是一種自由和開放源碼的類Unix作業系統,目前在伺服器以及其他行動裝置(如智慧型手機、平板電腦等)領域應用相當廣泛。正是由於Linux系統初始程序是開源的,因此編程人員都可以在其基礎上開發,從而研發出眾多版本Linux系統。
在使用超級計算機的時候,作業系統的代碼越少越好,因為代碼越多,bug也就越多。相比Windows和macOS系統來說,Linux系統是模塊化的,只需要基本代碼就能很容易地構建一個精簡的內核。這種模塊化特性使得普通的Linux用戶都能輕鬆修改作業系統以適應需要。 因此,Linux可以被修改用於提高性能或能源效率等。
早在1994年,美國宇航局(NASA)決定建造一臺超級計算機,他們用16臺Intel 486 DX4處理器組成一個處理器集群,然後運行在Linux系統上。出人意料的是,項目非常成功,不僅開發了用於並行處理和聯網的低級內核軟體,還啟發了許多其他類似項目。從此以後,超級計算機和Linux就逐漸成為完美的一對。
更重要的是,一臺超級計算機就是成百上千臺「不那麼超級」的計算機一起工作,而Linux系統是免費的,想像一下,你正在構建一臺超級計算機,你想要降低成本,避免被專有作業系統徵收許可證費用,Linux毫無疑問是最佳選擇,你覺得呢?