Tänään julkaistiin uudet korjaustiedostot x86-hybridisuorittimien klusteriaikataulutuksen mahdollistamiseksi. Viimeisin yritys Alder Laken ja uudempien nykyaikaisten Core-suorittimien klusteriaikataulutukseen puolestaan ​​tuottaa pieniä suorituskykyetuja nykyiseen koodiin verrattuna.

Intelin insinöörit yrittivät aiemmin luoda klusterin ajoitusta Linuxille, mutta se aiheutti regressioita… Korostin ongelman jo vuonna 2021, kun Linux 5.16:n uusi klusteriaikataulutus aiheuttaa regressiota, joka vahingoittaa entisestään Alder Lakea. Nyt kuitenkin tämän uusimman x86-klusterin aikataulutuksen hybridisuorittimille pitäisi olla paremmassa kunnossa.

Intelin insinööri Tim Chen julkaisi tämän päivän korjauspäivityssarjan ja kommentoi siellä:

“Klusterin ajoitusverkkotunnus ei ole käytössä x86-hybridisuorittimissa, koska logiikka on puuttuu kunnollinen kuormituksen tasapainotus klusterin, jossa on SMT-suorittimet yhdessä ytimessä, ja klusterin, jossa on useita Atom-suorittimia, välillä.

Ricardo esitteli äskettäin korjaustiedostosarjan, joka paransi huomattavasti kuormituksen tasapainottamisen logiikkaa P-ja E-ytimien välillä x86-hybridisuorittimissa.
https://lore.kernel.org/lkml/[sähköposti suojattu]/T/#m16ebc8de64dbf4c54adebab701b42b47805105f4

Tämä korjaustiedostosarja ei kuitenkaan riitä mahdollistamaan klusteriajoitusta hybridi-x86-suorittimissa. Tämä korjaustiedostosarja, joka tarvitaan lisäkuormitusta varten cluss-korjauksessa sched-ryhmä, joka koostuu isojen ytimien SMT-suorittimista ja Atom-prosessoreista koostuva cluster sched-ryhmä.Näillä korjauspäivityksillä Ricardon patch-sarjan päällä kuormitus on oikein tasapainotettu P-core-ja E-core-klusterien välillä. Käyttämättömiä suorittimia käytetään oikeassa järjestyksessä:

1) SMT-suoritin käyttämättömässä P-ytimessä,
2) tyhjäkäynnissä oleva E-ydin,
3) käyttämätön SMT-suoritin kiireisen sisaruksen kanssa.”

Näillä uusilla korjaustiedostoilla Intelin insinööri havaitsi jopa muutaman prosentin parannuksen P/E-hybridisuorittimen testauksessa:

“Testasin joitain yksisäikeisiä vertailuarvoja Phoronix-sarja, joka on aiemmin näyttänyt regressioita, kun klusterin ajoitus otettiin ensimmäisen kerran käyttöön. Tätä korjaustiedostosarjaa käyttävä klusterin ajoitus toimii yhtä hyvin kuin vaniljaydin.

Yksisäikeinen 6.3-rc5 klusterin parannuksella
Suorituskyvyn vertailuaikataulutus (ajo-ajon poikkeama)
——————————————————————————————–
tjpench (+/-0,08 %) (+/-0,23 %)-0,23 %
PhPpench (+/-0,31 % (+/-0,89 %)-0,39 %
flac (+/-0,58 %) (+/-0,22 %) +0,17 %
pypenkki (+/-3,16 %) (+/-0,27) %) +2,55 %

Monisäikeisiä vertailuarvoja varten kokeilin kernel buildia ja tensor flow litea. Klusterin ajoitus onnistui parhaiten 10 säikeen tapauksessa, jossa 6 säiettä kulkee P-ytimissä, 2 säiettä yhdessä Atom-klusterissa ja 2 säiettä toisessa Atom-klusterissa. Vaniljaytimessä on 6 säiettä P-ytimissä ja 4 säiettä yhdessä Atom-klusterissa. Vaikka erot ovat pieniä ja kuuluvat ajomuunnelmien piiriin.

Monisäikeinen 6.3-rc5 klusterin parannuksella
Suorituskyvyn vertailuaikataulutus
(-#threads) (ajon ja suorituksen poikkeama)
——————————————————————————————–
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 %”

On mielenkiintoista nähdä, miten tämä uusi klusterin ajoitusyritys onnistuu, vaikka se onkin liian myöhäistä nähdä versiossa 6.4, joten se ei tulisi nyt ennen kuin ainakin v6.5. Joka tapauksessa, koska minulla on aikaa testata uusia korjaustiedostoja, aion kokeilla niitä Alder Lakessa ja Raptor Lakesta näet, kuinka se vaikuttaa Linuxin suorituskykyyn laajemmilla työkuormilla.

Katso tämän ytimen postituslistan säiettä, jos olet kiinnostunut viimeisimmästä Intelin hybridisuorittimien klusterin ajoitustyöstä.

Categories: IT Info