Linus Torvalds hodhi poshtë problemet me planifikuesin e detyrave, që u shfaqën gjatë testit të performancës

Zhvilluesi i lojërave Malte Skarupke publikoi krahasimi i performancës së bllokimeve të bazuara në Mutex dhe Spinlock kur përdoren planifikues të ndryshëm detyrash. Testet treguan vonesa anomalisht të mëdha kur përdorej Spinlock me planifikuesin e detyrave që përdoret si parazgjedhje në Linux. Autori i testeve arriti në përfundimin se planifikuesi i detyrave Linux ka probleme që ndikojnë negativisht në funksionimin e lojërave të zhvilluara për shërbimin Google Stadia, ku lojërat ekzekutohen në GPU në një mjedis cloud dhe ai që përdor shërbimin vetëm transmeton përmbajtjen e ekranit me një frekuencë deri në 60 kadra në sekondë. Në këto kushte, është e nevojshme të sigurohet një dalje e duhur e kadrove në ekran dhe vonesat që tejkalojnë një milisekondë bëhen të dukshme.

PĂ«r diskutimin e testeve mori pjesĂ« Linus Torvalds, i cili i quajti ato plehra (“pure garbage”) dhe njĂ« shembull se si, pa e kuptuar krejtĂ«sisht temĂ«n, mund tĂ« arrihen tregues qĂ« nuk reflektojnĂ« realitetin e vĂ«rtetĂ«. Spinlock Ă«shtĂ« njĂ« primitiv i nivelit tĂ« ulĂ«t qĂ«, nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit, duhet tĂ« pĂ«rdoret me kujdes tĂ« madh dhe duke kuptuar plotĂ«sisht detajet, pĂ«rndryshe mund tĂ« arrihesh atĂ« qĂ« Ă«shtĂ« demonstruar nga autori i testit. Linus e kĂ«shilloi zhvilluesit e lojĂ«rave tĂ« mos pĂ«rdorin spinlock dhe tĂ« mos pĂ«rpiqen tĂ« krijojnĂ« sisteme tĂ« tyre tĂ« bllokimit mbi kĂ«tĂ« bazĂ«, por tĂ« pĂ«rdorin mekanizmat e provuar ekzistues qĂ« e informojnĂ« sistemin pĂ«r pritjen e lirimit tĂ« bllokimit pĂ«r tĂ« eliminuar ndikimin e planifikuesit.

Shtresat mbi bazĂ«n e Spinlock mund tĂ« pĂ«rdoren vetĂ«m nĂ«se jeni plotĂ«sisht tĂ« sigurt se planifikuesi nuk do tĂ« ndĂ«rpresĂ« ekzekutimin e tyre. Bllokimet e pĂ«rdorura nĂ« testet qĂ« janĂ« nĂ« bazĂ« tĂ« spinlock janĂ« realizuar pĂ«rmes njĂ« mbĂ«shtjelljeje tĂ« bĂ«rĂ« nĂ« shtĂ«pi qĂ« punon nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit. Planifikuesi i detyrave mund tĂ« marri kontrollin nĂ« çdo moment rastĂ«sor gjatĂ« ekzekutimit tĂ« kĂ«saj mbĂ«shtjelljeje dhe tĂ« kalojĂ« nĂ« ekzekutimin e detyrĂ«s tjetĂ«r. Duke qenĂ« se matja e performancĂ«s bĂ«het nĂ« bazĂ« tĂ« vlerave absolute tĂ« timerit, vonesat e caktuara nĂ« teste pĂ«rfshijnĂ« jo vetĂ«m vonesat nĂ« trajtuesin e bllokimit, por edhe kodin qĂ« Ă«shtĂ« ekzekutuar nĂ« njĂ« kontekst tjetĂ«r, dmth. matin jo vetĂ«m atĂ« qĂ« pĂ«rpiqej tĂ« matte autori i testit, por edhe “zhurmĂ«n” nga llogaritĂ« e tjera nĂ« sistem.

Autori i testit përpiqej të kontestosh Linus, duke theksuar se përdorimi i sistemeve të bllokimit të bazuara në spinlock shpesh përdoret në praktikë në lojëra, pasi testi tregon performancë më të lartë me planifikues më të thjeshtë se ai në Linux. Linus kontestoi, se planifikuesi i Linux është universale, i zhvilluar për dekada dhe optimizuar jo vetëm për desktop dhe lojëra, por edhe për lloje të tjera ngarkesash, si p.sh. për sistemet serverike, prandaj merr parasysh shumë nuanca gjatë planifikimit të ekzekutimit të detyrave.

Shtimi i optimizimeve specifike që do të lejojnë të ulë vonesat në lojëra si Google Stadia, mund të rrisë përgjigjen në rastin specifik, por me siguri do të sjellë një ulje të efikasitetit të planifikuesit në tërësi. Për shembull, planifikuesi i Windows sillet më mirë në testet e diskutueshme, pasi është ndjeshëm më i thjeshtë se ai i Linux dhe është optimizuar kryesisht për detyra specifike për desktop.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster