Isang bagong hanay ng mga patch ang nai-post ngayon upang paganahin ang pag-iskedyul ng cluster para sa mga x86 hybrid na CPU. Ang pinakahuling pagtatangka sa cluster scheduling para sa mga modernong Core CPU ng Alder Lake at mas bago ay nagbubunga ng ilang maliliit na benepisyo sa pagganap sa kasalukuyang code.

Ang pag-iskedyul ng cluster ay dati nang sinubukan ng mga inhinyero ng Intel para sa Linux, ngunit nauwi ito sa mga pagbabalik… Na-highlight ko ang problema noong 2021 sa Linux 5.16’s New Cluster Scheduling Is Causing Regression, Further Hurting Alder Lake. Ngayon kahit na ang pinakabagong x86 cluster scheduling para sa mga hybrid na CPU ay dapat na nasa mas mahusay na hugis.

Ipinost ng Intel engineer na si Tim Chen ang serye ng patch ngayong araw at nagkomento doon:

“Hindi pinagana ang domain ng pag-iskedyul ng cluster sa mga x86 hybrid na CPU dahil ang logic ay kulang na gawin ang wastong pagbalanse ng load sa pagitan ng isang cluster na may mga SMT na CPU sa iisang core at isang cluster na may maraming Atom CPU.

Ipinakilala kamakailan ni Ricardo ang isang patch series na lubos na nagpahusay sa load balancing logic sa pagitan ng mga P-core at E-core sa mga x86 hybrid na CPU.
https://lore.kernel.org/lkml/[email protected]/T/#m16ebc8de64dbf4c54adebab701b42b47805105f4

Gayunpaman, hindi sapat ang serye ng patch na iyon para payagan ang pag-e-enable ng cluster scheduling sa mga hybrid na x86 na CPU. Ang serye ng patch na ito ay nagbibigay ng ilang karagdagang pagsasaayos na kailangan para sa pag-load ng load sched group na binubuo ng mga SMT CPU ng Big core at cluster sched group na binubuo ng Atom CPU. Sa mga patch na ito na inilapat sa ibabaw ng patch series ni Ricardo, ang pag-load ay maayos na nabalanse sa pagitan ng P-core at E-core cluster. Ang mga idle na CPU ay ginagamit sa wastong pagkakasunud-sunod:

1) SMT CPU sa isang idle P-core,
2) idle E-core,
3) hindi nagamit na SMT CPU na may abalang kapatid.”

Sa mga bagong patch na ito, nakahanap ang Intel engineer ng hanggang ilang porsyentong pagpapabuti sa kanyang P/E hybrid na pagsubok sa CPU:

“Sinubukan ko ang ilang solong sinulid na benchmark sa Phoronix suite na dati ay nagpakita ng mga regression noong unang pinagana ang cluster scheduling. Ang pag-iskedyul ng cluster gamit ang serye ng patch na ito ay gumaganap pati na rin ang vanilla kernel.

Single Threaded 6.3-rc5 na may cluster Improvement
Pag-iskedyul ng benchmark sa Performance
(run-run deviation)
——————————————————————————————-
tjbench (+/-0.08%) (+/-0.23%)-0.23%
PhPbench (+/-0.31%) (+/-0.89%)-0.39%
flac (+/-0.58%) (+/-0.22%) +0.17%
pybench (+/-3.16%) (+/-0.27 %) +2.55%

Para sa mga multi-threaded na benchmark, sinubukan ko ang kernel build at tensor flow lite. Pinakamahusay ang pag-iskedyul ng cluster para sa 10 thread case kung saan tumatakbo ang 6 na thread sa mga P-core, 2 thread sa isang Atom cluster at 2 thread sa kabilang cluster ng Atom. Samantalang ang vanilla kernel ay magkakaroon ng 6 na thread sa P-cores, 4 na thread sa isang Atom cluster. Kahit na ang mga pagkakaiba ay maliit at nasa loob ng mga pagkakaiba-iba ng pagtakbo.

Multi Threaded 6.3-rc5 na may cluster Improvement
Pag-iskedyul ng benchmark sa Performance
(-#threads) (run-run deviation)
——————————————————————————————
Kbuild-8 (+/-2.90%) (+/-1.16%)-0.76%
Kbuild-10 (+/-3.08%) (+/-3.09%) +0.64%
Kbuild-12 (+/-3.28%) (+/-3.55%) +0.91%
Tensor Lite-8 (+/-4.84%) (+/-4.61%)-0.23%
Tensor Lite-10 (+/-0.87%) (+/-1.45%) +0.47%
Tensor Lite-12 (+/-1.37%) (+/-1.04%)-0.12%”

Magiging kawili-wiling makita kung paano natapos ang bagong pagtatangkang pag-iskedyul ng cluster, kahit na ito ay huli na para makita sa v6.4 cycle kaya hindi na mai-mainline ngayon hanggang sa hindi bababa sa v6.5. Sa anumang kaso dahil mayroon akong oras upang subukan ang mga bagong patch, bibigyan ko sila ng pagkakataon sa Alder Lake at Raptor Lake upang makita kung paano ito nakakaapekto sa pagganap ng Linux sa mas malawak na tagal ng mga workload.

Tingnan ang ang kernel mailing list thread na ito kung interesado sa pinakabagong cluster scheduling work na ito para sa mga Intel hybrid na CPU.

Categories: IT Info