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