今天,Linux內核在各種計算機架構和各種類型的設備上運行,從手機到超級計算機。該操作系統(OS)的多功能性使其能夠跨嵌入式單核芯片部署到具有多個處理器內核的服務器片上系統(SoC)到包含數百個處理器內核的基站。這種可擴展性是Linux如此成功的原因之一,也是它促進了廣泛的應用程序開發的原因。為 Linux 編寫的用戶應用程序可以輕松移植到更快、更強大的處理器上。
為了利用這種可移植性并最大限度地提高可擴展性,利用任何軟件(包括Linux)來促進重用以加快上市時間和可靠性至關重要。當我們在嵌入式應用中從 32 位處理器遷移到 64 位處理器時,這一點尤其重要。在 64 位環境中重用久經考驗的 32 位軟件的能力對于快速輕松地開發強大的產品非常重要。
我們可以從PC行業從32位到64位計算的過渡中學到的一個教訓是,在硬件和操作系統過渡到64位之后,32位軟件將繼續存在。在過去的30年里,我們的行業一直在編寫和優化適合32位空間的軟件。在完全過渡到64位世界之前,我們必須盡可能多地重用該軟件,這一點至關重要。
幸運的是,隨著硬件虛擬化和硬件多線程等嵌入式設計的新技術變得更加主流,同時提高性能和可靠性將變得更加容易。通過轉向多核和多線程,將有更多的CPU周期可供用戶使用。最重要的是,虛擬化現在允許應用程序在不修改的情況下運行,從而可以將線程或核心專用于特定應用程序。一旦 64 位 Linux 在 SoC 上運行,虛擬化使用戶能夠設置虛擬機 (VM),該虛擬機可以運行現有的單處理器 Linux 和未經修改的用戶應用程序。這允許現有軟件以最佳性能運行;將此方法與多核結合使用,簡單的任務分區可進一步提高性能。
移動
處理的未來基于多核。例如,一些用于移動電話的應用處理器包含多達八個64位內核;無論每個人都同意我們真的需要那么多核心,它已經成為一個基線基準。這部分是由于一些Android應用程序使用Linux作為構建塊,并且可以從一個內核擴展到八個內核。但是,在大多數32位應用程序移植到64位處理器之前,在可預見的未來,最新的閃亮的新八核手機仍將運行相同的32位應用程序。
網絡基礎設施
同時,網絡一直是多核和多線程處理器的大用戶。網絡軟件的一個關鍵特征是它本質上是多線程的。網絡軟件中有三個主要任務:傳輸、接收和處理數據包。隨著生產線速度和處理需求的增加,并行任務的數量也會增加。在高端網絡應用中,從互聯網骨干交換機到移動基站,數百甚至數千個MIPS處理器中的核心數量并不少見。例如,Imagination最近宣布了其MIPS I6400處理器內核,可以從一個虛擬內核擴展到1,500多個虛擬內核。這種前所未有的可擴展性水平是基于這樣一種預期,即隨著千兆互聯網變得更加容易為消費者提供,未來幾年內核數量將繼續增加。
想象科技 MIPS I6400 能夠擴展到 1,500 多個虛擬內核。
家庭網絡
家庭DSL網關和無線路由器等住宅應用一直在使用單核處理器,現在正迅速成為速度瓶頸。這些設備中的大多數都運行Linux,并帶有經過認證的語音和用軟件編寫的DSL編解碼器。對于下一代路由器和網關,只需遷移到新的 64 位多核處理器,編解碼器可用的處理器周期就會增加一倍以上。通過重復使用相同的 32 位軟件,可以更快地將更新的 SoC 推向市場,而無需進行廣泛的重新認證。隨著軟件優化的不斷發展,可以利用不同的編程技術來利用多線程或多核擴展。
添加 Linux 軟件優化
目前有兩種版本的 Linux;單處理器 (UP) Linux 和多處理器 (SMP) Linux.SMP 操作系統專為多核處理器而設計,是 Linux 可擴展性的基礎。雖然SMP Linux的性能開銷很小,但采用SMP Linux可以為未來的產品奠定基礎,因此即使對于單處理器系統,今天也應該主動采用。這為設備制造商提供了過渡到多線程軟件所需的時間,以實現更高的性能并添加新功能。
最近成立的prpl基金會也將有助于促進這種遷移。prpl是一個開源,社區驅動,協作,非營利性基金會,旨在定位和支持MIPS架構(并向其他人開放),重點是實現下一代數據中心到設備的便攜式軟件和虛擬化架構。現有的單核 Linux 用戶可以從 prpl 及其社區獲得 SMP Linux 的更新代碼庫,以幫助遷移到 SMP Linux。移植Linux操作系統后,可以使用“任務集”命令將每個任務或應用程序綁定到特定的處理器。與 Linux 相關的固有處理開銷以及在單個處理器上運行多個應用程序(即上下文切換損失)分布在多個處理器上,從而使更多的 CPU 周期可用于應用程序,而不是依賴于單個處理器。為了進一步說明這一概念,圖2顯示了從單個處理器內核到多個處理器內核的可能遷移路徑及其相關優勢。
從單個處理器內核遷移到多個處理器內核可顯著降低操作系統 (OS) 開銷,使應用程序能夠更高效地運行。
多核技術還為電源管理開辟了新的方法。從功率角度來看,將任務分配給兩個較慢的處理器比以高工作頻率運行一個處理器更經濟。多線程更進一步,以最大限度地提高可用的處理能力。
未來是多核的
這是進入技術領域的一個激動人心的時刻。我們正在迅速從單核處理器轉向多核處理器世界。有很多方法可以完成這種遷移,虛擬化等新技術通過創建虛擬世界(包括Linux)可以在新的多核芯片上未經修改地運行而無需任何更改,從而使遷移到多核處理器變得相對簡單。
通過單處理器代為我們提供支持的軟件將通過包含越來越多的處理器的下一代硬件設備為我們提供支持。在prpl基金會等社區驅動型組織的幫助下,新一代軟件將充分利用多核和多線程硬件,并提供更加集成的解決方案。
審核編輯:郭婷
-
Linux
+關注
關注
87文章
11293瀏覽量
209339 -
計算機
+關注
關注
19文章
7488瀏覽量
87854 -
操作系統
+關注
關注
37文章
6803瀏覽量
123285
發布評論請先 登錄
相關推薦
評論