Linuss Torvalds noliedz problēmas ar uzdevumu plānotāju, kas parādījās veiktspējas testā

Spēļu izstrādātājs Malte Skarupke publicēti Slēdzenes veiktspējas salīdzinājums, pamatojoties uz Mutex и griešanās bloķētājs izmantojot dažādus uzdevumu plānotājus. Testi uzrādīja neparasti lielus aizkaves gadījumus, lietojot Spinlock ar noklusējuma plānotāju, kas tiek izmantots Linux uzdevumu plānotājs. Testa autors secināja, ka uzdevumu plānotājs Linux ir problēmas, kas negatīvi ietekmē Google Stadia izveidoto spēļu veiktspēju, jo spēles tiek darbinātas ar grafiskajiem procesoriem mākonī un ekrāna saturs klientam tiek straumēts tikai ar ātrumu līdz 60 kadriem sekundē. Šādos apstākļos ir ļoti svarīgi nodrošināt savlaicīgu kadru piegādi, un latentums, kas pārsniedz milisekundi, kļūst pamanāms.

Lai apspriestu testus savienots Linuss Torvalds, kurš tos nosauca par "pilnīgiem atkritumiem" un piemēru tam, kā, pilnībā neizprotot tēmu, var iegūt metrikas, kas neatspoguļo realitāti. Spinlocki ir zema līmeņa primitīvi, kas jāizmanto ar īpašu piesardzību un rūpīgi izprotot detaļas lietotāja telpā, pretējā gadījumā testa autora demonstrētie rezultāti var būt postoši. Linuss ieteica spēļu izstrādātājiem neizmantot spinlockus vai nemēģināt veidot savas bloķēšanas sistēmas ap tiem, bet gan izmantot esošos, pārbaudītos mehānismus, kas informē sistēmu, kad bloķēšana ir gaidāma, tādējādi novēršot plānotāja ietekmi.

Spinlock bāzes pievienojumprogrammas var izmantot tikai tad, ja esat pilnīgi pārliecināts, ka plānotājs nepārtrauks to izpildi. Testos izmantotās spinlock bāzes bloķēšanas tiek ieviestas, izmantojot pielāgotu apvalku, kas darbojas lietotāja telpā. Uzdevumu plānotājs jebkurā nejaušā brīdī var pārņemt kontroli šī apvalka izpildes laikā un pārslēgties uz citu uzdevumu. Tā kā veiktspējas mērījumi ir balstīti uz absolūtām taimera vērtībām, testos izmērītās latentuma vērtības ietver ne tikai latentuma vērtības bloķēšanas apstrādātājā, bet arī kodu, kas izpildīts citā kontekstā. Tas nozīmē, ka tās mēra ne tikai to, ko testa autors mēģināja izmērīt, bet arī "troksni" no citiem aprēķiniem sistēmā.

Testa autors mēģinājusi iebilst pret Linusu, norādot, ka pielāgotu spinlock balstītu bloķēšanas sistēmu izmantošana praksē spēlēs bieži tiek izmantota, jo, izmantojot vienkāršākus plānotājus nekā Linux, testi uzrāda augstāku veiktspēju. Linus iebilda, ka plānotājs Linux Tas ir universāls, pilnveidots gadu desmitiem ilgi un optimizēts ne tikai galddatoriem un spēlēm, bet arī cita veida darba slodzēm, piemēram, serveru sistēmām, tāpēc, plānojot uzdevumus, tas ņem vērā daudzas nianses.

Pievienojot specifiskas optimizācijas, lai samazinātu latentumu Google Stadia spēlēs, konkrētā gadījumā var uzlabot reaģētspēju, taču, visticamāk, samazināsies plānotāja kopējā efektivitāte. Piemēram, plānotājs Windows labāk darbojas apspriestajos testos, jo tas ir daudz vienkāršāks nekā plānotājs Linux un ir optimizēts galvenokārt uzdevumiem, kas saistīti ar darbvirsmu.

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster