IBM新設(shè)計,Linux性能有望大幅提升

來源: OSC開源社區(qū)
作者:Travis
時間:2021-10-26
16594
命名空間(Namespace)是Linux內(nèi)核的一個特性,它對內(nèi)核資源進行分區(qū),使得一組進程看到一組資源,而另一組進程看到一組不同的資源。

命名空間(Namespace)是Linux內(nèi)核的一個特性,它對內(nèi)核資源進行分區(qū),使得一組進程看到一組資源,而另一組進程看到一組不同的資源。該功能的工作原理是為一組資源和進程使用相同的命名空間,但這些命名空間引用不同的資源。資源可能存在于多個空間中。此類資源的示例包括進程ID、主機名、用戶ID、文件名以及一些與網(wǎng)絡(luò)訪問和進程間通信相關(guān)的名稱。

640.webp (1).jpg

IBM工程師Pratik Sampat近日發(fā)表了Linux內(nèi)核的CPU Namespace接口的早期原型。設(shè)計這個命名空間是為了解決當(dāng)前查看可用CPU資源的方法的一致性問題,以及解決因了解系統(tǒng)上的資源訪問/位置而可能產(chǎn)生的安全問題。

如今,在容器上運行的應(yīng)用程序在cgroups的幫助下執(zhí)行它們的CPU、內(nèi)存限制與要求。然而,許多應(yīng)用程序通過sysfs/procfs繼承或以其他方式獲得系統(tǒng)的視圖,并根據(jù)這些信息分配資源,如線程/進程的數(shù)量,內(nèi)存分配。這可能會導(dǎo)致意外的運行行為,并對性能產(chǎn)生很大影響。

除了一致性問題,目前的處理方式也給多租戶系統(tǒng)帶來了安全和公平使用的影響,例如:

攻擊者可以在知道CPU節(jié)點拓撲的情況下調(diào)度工作負載并選擇CPU,從而使總線被淹沒而造成拒絕服務(wù)攻擊;以及識別CPU系統(tǒng)拓撲結(jié)構(gòu)可以幫助識別靠近總線和外圍設(shè)備(如GPU)的內(nèi)核,以便從其他工作負載中獲得不適當(dāng)?shù)难舆t優(yōu)勢。

因此,由IBM領(lǐng)導(dǎo)的CPU Namespace提案追求以下設(shè)計:

·這個原型補丁集引入了一個新的內(nèi)核命名空間機制——CPU Namespace。

·CPU Namespace通過虛擬化邏輯CPU ID和創(chuàng)建相同的虛擬CPU映射來隔離CPU信息。它鎖定在task_struct上,并且CPU轉(zhuǎn)化被設(shè)計成扁平的層次結(jié)構(gòu),這意味著每個虛擬命名空間CPU在創(chuàng)建命名空間時都映射到一個物理CPU,轉(zhuǎn)化速度更快;并且子代不需要向上遍歷樹來檢索轉(zhuǎn)化。

·該命名空間允許控制和顯示接口都能夠感知CPU命名空間上下文,這樣命名空間內(nèi)的任務(wù)只能通過虛擬CPU映射獲取視圖并因此控制它,以及查看可用的CPU資源。

在用Nginx Web服務(wù)器進行的測試中,內(nèi)存利用率下降了92-95%,延遲減少了64%,每秒的請求和傳輸?shù)韧掏铝繘]有顯著變化。雖然目前的設(shè)計仍有存在一些缺陷,但隨著IBM的持續(xù)改進,Linux的性能有望大幅提升。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于OSC開源社區(qū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多
個人VIP