Linus Torvalds lükkas ümber probleemi, mis tekkis ülesannete planeerijaga, pärast jõudlustesti.

Mängude arendaja Malte Skarupke avaldas blokeeringute jõudluse võrdlus põhineb Mutex ja Spinlock erinevate ülesandatu korraldajate kasutamisel. Testid näitasid anomaalselt suuri viivitusi Spinlocki kasutamisel Linuxi vaikimisi ülesande korraldajaga. Testide autor jõudis järeldusele, et Linuxi ülesande korraldaja omab probleeme, mis mõjutavad negatiivselt Google Stadia teenusele välja töötatud mängude tööd, kus mängud töötavad GPU-l pilvekeskkonnas ja kliendile edastatakse ekraani sisu voogedastuse kaudu kuni 60 kaadrit sekundis. Sellistes tingimustes on oluline tagada kaadrite õigeaegne edastamine ekraanile ning ületavad millisekundi viivitused muutuvad märgatavaks.

Testide arutelu ühendatud Linus Torvalds, kes nimetas neid prügi („pure garbage”) ja näiteks, kuidas saab täiesti teemat mõistmata saada näitajaid, mis ei kajasta tegelikku reaalsust. Spinlock on madala taseme primitiiv, mida kasutajaruumis tuleks kasutada äärmise ettevaatusega ja täieliku arusaamaga detailidest, muidu võib tekkida see, mida test autor demonstreeris. Mängude arendajatele soovitas Linus vältida spinlocki kasutamist ja mitte proovida enda lukustussüsteemide loomist selle alusel, vaid kasutada olemasolevaid, tõestatud mehhanisme, mis teavitavad süsteemi lukustuse vabastamise ootamisest, et välistada korraldaja mõju.

Spinlockile põhinevaid abstraktsioone saab kasutada ainult siis, kui ollakse täiesti kindel, et korraldaja ei katkesta nende täitmist. Testides kasutatavad spinlocki põhised lukud on rakendatud läbi isetehtud siduri, mis töötab kasutajaruumis. Ülesande korraldaja võib igal hetkel kaaperdada juhtimise selle siduri täitmise ajal ja vahetada teise ülesande täitmisele. Kuna jõudluse mõõtmine toimub absoluutsete väärtuste põhjal, katab testides registreeritud viivitused mitte ainult lukustusmehhanismi töötlemise viivitusi, vaid ka koodi, mis täideti teises kontekstis, st mõõdetakse mitte ainult seda, mida test autor üritas mõõta, vaid ka „müra” süsteemis toimunud muudest arvutustest.

Testi autor proovis kavatseb Linusele vastata, märkides, et enda spinlocki põhiste lukustussüsteemide rakendamine on sageli praktikas mängudes, kuna lihtsamate korraldajate kasutamisel kui Linuxis näitavad testid kõrgemat jõudlust. Linus vastas, et Linuxi korraldaja on universaalne, arendatud aastakümneid ja optimeeritud mitte ainult lauaarvutite ja mängude jaoks, vaid ka muude koormuste, nagu serverite jaoks, arvesse võttes palju nüansse ülesannete täitmise planeerimisel.

Spetsiifiliste optimeerimiste lisamine, mis võimaldavad vähendada viivitusi Google Stadia mängudes, võib parandada reageerimist konkreetsetes olukordades, kuid tõenäoliselt vähendab see korraldaja efektiivsust üldiselt. Näiteks käitub Windowsi korraldaja testides paremini, kuna see on palju lihtsam kui Linuxi korraldaja ja on peamiselt optimeeritud lauaarvutiga seotud ülesannete jaoks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster