【ITBEAR】近日,英特爾的Linux內(nèi)核測試機(jī)器人發(fā)布了一項(xiàng)令人矚目的性能報(bào)告,指出主線Linux內(nèi)核在特定測試中實(shí)現(xiàn)了驚人的3888.9%性能提升。
這一顯著進(jìn)步得益于一項(xiàng)關(guān)鍵代碼提交,該提交針對內(nèi)存管理進(jìn)行了優(yōu)化,具體為“mm, mmap”部分的修改,限制了匿名映射的透明大頁面(THP)對齊至頁面中部目錄(PMD)對齊的大小。
測試在Intel Xeon Platinum(Cooper Lake)服務(wù)器上進(jìn)行,使用了“will-it-scale.per_process_ops”可擴(kuò)展性測試用例來驗(yàn)證性能改進(jìn)。結(jié)果表明,在特定條件下,系統(tǒng)性能得到了極大提升。
然而,這項(xiàng)改動(dòng)并非全然無害,它同時(shí)也導(dǎo)致某些工作負(fù)載的性能出現(xiàn)下滑。例如,在某些平臺上運(yùn)行的cactusBSSN基準(zhǔn)測試顯示,性能下降了高達(dá)600%。分析發(fā)現(xiàn),這些測試創(chuàng)建了多個(gè)4632kB的映射,這些映射在優(yōu)化前能夠合并成更大的THP支持區(qū)域,而現(xiàn)在卻被分割成多個(gè)與PMD邊界對齊的小區(qū)域,由此產(chǎn)生的間隙導(dǎo)致了性能損失。
面對這一問題,英特爾已經(jīng)提出了解決方案,即增加一個(gè)條件判斷,要求映射的大小必須是PMD大小的整數(shù)倍,而非僅僅是達(dá)到或超過PMD大小。這樣做可以有效避免odd-sized mapping的對齊問題,使其能夠自然合并,從而恢復(fù)甚至提升性能。
此次內(nèi)核性能的大幅提升和優(yōu)化過程中發(fā)現(xiàn)的問題及解決方案,再次證明了開源社區(qū)和英特爾等企業(yè)在不斷推動(dòng)Linux內(nèi)核發(fā)展,以適應(yīng)日益復(fù)雜的計(jì)算環(huán)境。