-
1 # 辰風笑我
-
2 # 零售創新
90%以上(準確地說是94.2%)的超級計算機使用Linux作為自己的作業系統。在本文中,我們將試圖探討Linux之所以成為超級計算機作業系統最佳選擇的優點和特性。 的確,沒有誰比負責部署和維護超級計算機的團隊更有資格闡明Linux作為超級計算機作業系統所具有的能力了。在我們探討Linux的重要功能特性之前,不妨先看一下超級計算機領域的重要人士對Linux有什麼樣的評價;他們被問及選擇Linux作為超級計算機作業系統時又會給出什麼樣的理由。 早在2000年,新墨西哥大學建立了一臺採用紅帽Linux的虛擬超級計算機Los Lobos,當時的初始投入是150萬美元。Frank Gilfeather博士當時被任命為新墨西哥大學的高效能計算執行董事。Gilfeather說:“我們有幾個客戶,將得益於基於Linux叢集的高效能計算。我們認為,在將來,這對電子商務來說同樣會很重要——因為越來越多的客戶在部署中介軟體和訊息佇列系統,它們需要你在Linux叢集中看到的那種強大功能:這表明Linux作業系統提供了高效能。”他進一步說:“大型Linux超級叢集的出現歸因於像PC這些大眾化部件的急劇發展、Myrinet等高速商用現成技術(COTS)網路的發展以及開放軟體運動的迅猛普及……因而,相對傳統的超級計算機,就能夠以極其合理的成本建立起真正的超級計算機。” Stephen Scott是橡樹嶺國家實驗室計算機學部門的一名研究科學家,也是Linux超級計算機的早期使用者/研究人員之一。他說:“科學界會喜歡Linux,因為它非常酷似標準的Unix。”Scott補充說:“大多數高效能環境是Unix,但是所有免費的GNU工具都使得Linux部署起來極其容易、極其省錢。” 瞭解了專家們發表的一番觀點後,不妨深入介紹讓Linux成為超級計算機作業系統最佳選擇的功能特性: 1. Linux的模組化 門外漢可能認為典型的Linux是由許多很小的基本元件即模組構成的。每個模組執行不同的專門功能。這些基本元件協同工作,讓作業系統得以順暢執行。Linux的這種模組化特性方便了所有人,無論他們是普通的Linux使用者,還是超級計算機管理員——可以改動作業系統,以適合自己的需求。其他的作業系統都無法提供這種程度的定製性,尤其是Windows。因而,可以對Linux進行改動,以便用在超級計算機上,實現專門的目的,尤其是增強效能或提高能效等。如今,大多數超級計算機都採用了經過改動的Linux核心。 2. Linux核心的通用性 Linux核心具有儘可能強的通用性。這意味著,只要編寫單一的原始碼,既可以在大型超級計算機上執行,也可以在小型裝置、甚至手持裝置上執行。無論是在大型系統上還是在小型系統上,如何使用Linux,這完全取決於使用者。也不需要為了可以在更大或更小的系統上執行而對核心進行根本性、重大的改變。通常來說,Linux核心既可以配置成2MB這麼小,也可以配置成1GB或1TB這麼大,不需要花很多的時間和很大的精力。 3. 可擴充套件性 按照定義,可擴充套件性是指伺服器適應更龐大負載的能力。可以直接把可擴充套件性看成是衡量效率和效能的一個尺度。系統必須具有極高的可擴充套件性,那樣新增新伺服器應該不費吹灰之力。Linux具有極高的可擴充套件性,因為它能夠相當輕鬆地適應新的、更大的負載。這就是為什麼你能發現Linux在超級計算機上執行,而安卓(使用Linux核心)在手機、冰箱、甚至微波爐上執行! 4. 開源性 Linux是完全開源的自由軟體,一整套原始碼完全開放。這意味著,超級計算機管理員能夠對這款作業系統隨意進行定製。此外,萬一超級計算機上出現效能故障或安全漏洞等,管理員可以隨時改動程式碼,以獲得最大的效能和最高的安全性(或實現其他任何目的),而不是等專有作業系統公司釋出安全補丁。 超級計算機力求實現效能最大化。通常,超級計算機被分配的任務要求以非常高的速度來處理計算任務。相比之下,Windows有眾多沒有必要的無關程序,只會拖累超級計算機的效能。不過,由於Windows是專有的作業系統,無法改動程式碼以消除沒有必要的程序。至於Linux,完全可以改動程式碼,消除無必要的程序,因而為計算機提升效能。 5. 社群支援 作為開源作業系統,Linux得到了社群的大力支援,這是其他任何一款作業系統所無法比擬的。 6. 成本低 說到像超級計算機這樣的龐大裝置,成本可能是個大問題。在超級計算機上部署Linux具有成本效益,因為Linux完全不用支付特許使用費。 使用Linux作為作業系統的其他理由是,Linux的網路支援功能很好。新增或刪除任何嘗試性的網路裝置都比較容易。不需要系統重啟!Linux是一款穩定而可靠的作業系統,可以在成本高昂的大型伺服器和計算機上執行,沒必要擔心太多的問題。最後,Linux來得更安全。
回覆列表
超級計算機的數量沒有普通pc那麼多,統一制式的作業系統必然沒有多少利潤空間。
超級計算機的架構不同於普通伺服器,叢集等。他可以採用英特爾的cpu,也可以用中國產的龍芯,採用不同的處理器,就要用不同的指令集。windows是封閉原始碼的,你要求微軟為他單獨編譯一套作業系統,既成本高昂,也不具有現實性。
超級伺服器的效能,對於最佳化特別重要。要想壓榨出最強的效能,必然要放棄很多通用指令,使得系統只可以在這臺機器上執行,挪窩就不行。
linux得意於開源的特性,其實更確切的說是自由的權利。你可以獲得原始碼,修改它,最佳化它,編譯它,讓它完全適應你的機器。自由的權利很重要,在軟體圈混,被人指指點點總是不好的。
最後,現實卻不是完全這樣。超級計算機一般都是屬於保密資產,開放原始碼終究是不好的。實際在超級計算機執行的linux系統,會對一些程式碼做替代,以避免開源。