Phoronix Media 創始人詳解 Clear Linux 的“效能優化之旅”
開源的本質就是為使用者特定的需求提供高水平的定製解決方案,因此,市面上出現了各式各樣的 Linux 發行版,而這些數量眾多的發行版也帶來了巨大的複雜性,讓使用者面臨諸多挑戰,使用者應該如何應對這些挑戰?帶著這個問題我們採訪了 Phoronix Media 的創始人 Michael Larabel。
早在2004年,Michael 就建立了一個 Linux 硬體評論網站 —— Phoronix.com,那時很多計算機的外設裝置,如:滑鼠,調變解調器和顯示卡,很難在 Linux 環境下正常工作,他們主要靠筆記來記錄外設的使用經驗。隨著 Linux 的硬體支援能力的提升,使用者不用再擔心“是否可用”的問題,轉而更多的專注於效能和其它 Linux 功能。所以在過去十年中,Michael 團隊開發了 Phoronix 測試套件,這是一個開源的、自動的、跨平臺的基準測試框架,並且已經用它執行了數百種不同的測試。
採用 滾動開發模式, Clear Linux 全方位 給使用者帶來驚喜
據統計,90% 的公有云,82% 的智慧手機,以及 62% 的物聯網裝置都是基於 Linux 開發的。無論是開發者還是企業都能從各式各樣的 Linux 發行版中受益,當然也包括針對高度定製的發行版。但是其中也面臨很多挑戰,Linux 的一大優勢就是任何人都可以根據個人或者組織的需求建立自己的發行版。但是隨著時間的推移,以及越來越多的 Linux 安全性問題出現,維護一個自定義的 Linux 發行版越來越困難,尤其是對於小型的公司來說,需要全力的投入來運維安全包升級、補丁包升級,以確保所有使用者都可以拿到所需要的補丁包。而且,應用程式開發者也很難確保他們自己的軟體可以在所有不同 Linux 發行版上執行。因此,現在人們要做自己的 Linux 發行版需要承擔巨大的維護成本。
眾所周知,Clear Linux 是 Intel 針對 IA 所有平臺進行了深度優化的 Linux 發行版,作為 Phoronix 測試套件的首席開發者,Michael 測試了很多 Linux 發行版,當他開始測試 Clear Linux 時非常吃驚,Michael 解釋,“與當時的其它 Linux 發行版相比,Clear Linux 的效能確實很高。並且隨著時間的推移,它的效能在每個季度甚至每個月都得到優化,我對此印象非常深刻。得益於 Clear Linux 的優勢之一滾動釋出模式,開發人員持續推進優化的深度和廣度,你幾乎每天都可以看到新的效能優化或者更新補丁。然後,我一直對他們在優化中關注到的細節感到驚訝,他們不只是針對最常見的工作負載,而是從啟動耗時的效能到各種用於科學計算的軟體包進行優化。所以,觀察它的效能演進是一段非常有趣的旅程。”
在預設情況下,Clear Linux 使用編譯器的選項進行優化。基於不同的編譯器的效能表現,它們的軟體包管理方案允許使用 GCC 編譯器編譯一些軟體包而使用其他的例如 Clang 編譯器構建其它的軟體包。同時,還有很多其它的優化,比如優化了 GCC 和 GNU 的 C 庫以便在後續連結構建中獲得最好的效能;另外“多函式版本”功能允許一個程式在不同的 CPU 架構上選擇不同執行路徑。因此,使用者的二進位制檔案不僅可以執行在舊的 CPU 架構上,而且在現代 CPU 上執行速度更快,使用者不需要為每個 CPU 微架構生成不同的 ISO 或不同的軟體包。除此之外,還可以看到針對 Linux Kernel 或者其他方面的很多優化。
持續 進行效能優化, 讓 更多使用者 從中受益
雖然 Clear Linux 贏得了很好的口碑,但是還有一些缺陷,效能優化還需要持續進行。Michael 表示,“在效能方面,我們的團隊在繼續努力盡可能做到最好。但是為了提供出色的 Linux 發行版的體驗,還有一些其它細節問題需要解決。比如目前,它的安裝工具還無法輕鬆地從一個完全加密的磁碟上啟動,或者在安裝程式中為多個磁碟輕鬆地設定 RAID。還有許多小的可用性障礙,他們可以解決,使體驗更容易,特別是對於那些想要在桌面或工作站上嘗試 Clear Linux 的新開發人員來說,這樣他們就可以在平時使用的自己的電腦上,雲端或者容器的開發環境中,使用相同的發行版。”
除此之外,文件改進或 Clear Linux 宣傳還要加強。社群中仍有許多人心存困惑,他們認為英特爾採用了很多特殊隱藏的方法使得 Clear Linux 在 IA 的架構上獲得出色的效能,而在其他 CPU 架構上的表現不佳,Michael 解釋,“這些看法是錯誤的,我們可以非常清楚看到他們的團隊針對每一處效能提升所使用的不同的方法,我會盡量在論壇、Reddit 和其他地方澄清並打消這種疑惑。”
目前幾乎所有人都可以從 Clear Linux 的效能優化中受益。大部分 Linux 使用者都會同意任何效能提升肯定是好事,尤其是當不同的安全漏洞影響到 CPU 的效能情況下,Clear Linux 仍然能夠勝過其它的 Linux 版本。在一些涉及深度學習和機器學習的特定領域諸如 Tensorflow 以及 Java、Python、PHP 之類的解釋性語言,Clear Linux 的效能確實非常出色。同樣,一些像 R 語言那樣的統計軟體包也確實有很好的效能,其出色的啟動引導效能對於在雲中擴充套件以滿足需求或其他需要快速動態響應的領域的許多公司非常有用。總之,Clear Linux 的優異效能是很多領域所看中的。
Michael 表示,Clear Linux 的優化工作還會持續進行,未來會給使用者提供更出色的效能。