Linus Torvalds kiistää Linux-tehtävien ajoittajan olevan Stadia-porttiongelmia

google-stadia-cover

malte skarupke pelikehittäjäJulistan vertailun lukkojen suorituskyvystä Mutexin ja Spinlockin perusteella käyttämällä erilaisia ​​tehtävien ajoituksia. Testit osoittivat poikkeuksellisen viivästyksiä Spinlockia käytettäessä oletustehtävien ajoituksella Linuxissa.

Testien kirjoittaja päätyi siihen tulokseen, että Linux-tehtävien ajoituksessa on ongelmia jotka vaikuttavat kielteisesti Google Stadia -palvelulle luotuja pelejä, jossa pelit kulkevat GPU: lla pilviympäristössä ja asiakas suoratoistaa vain näytön sisältöä jopa 60 kuvaa sekunnissa.

Tällaisissa olosuhteissa on välttämätöntä varmistaa kehysten oikea-aikainen näyttö ruudulla, ja yli yhden millisekunnin viiveet havaitaan.

Linus Torvalds liittyi todisteiden keskusteluun kutsumalla sitä "puhtaaksi roskiksi". ja esimerkki siitä, kuinka saada indikaattoreita, jotka eivät heijasta todellista todellisuutta ymmärtämättä kohdetta täysin.

Torvalds kirjoitti:

Koko viesti näyttää olevan väärä ja mittaa jotain täysin erilaista kuin mitä kirjoittaja ajattelee ja väittää mittaavansa.

Ensinnäkin, spinlukkoja voidaan käyttää vain, jos tiedät todella, että sinua ei ole ohjelmoitu niiden käytön aikana ... Pohjimmiltaan se lukee lukon vapauttamista edeltävän ajan ja lukee sen sitten, kun se on hankkinut lukon uudelleen, ja siinä todetaan aika on ero on aika, jolloin lukkoa ei ylläpidetty. Mikä on tyhmää ja hyödytöntä ja täysin väärää.

Se on puhdasta roskaa.

Spinlock on matalan tason primitiivi, jota on käytettävä käyttäjätilassa erittäin huolellisesti ja ymmärrettävä yksityiskohdat täysin; muuten saat mitä testaaja osoitti.

Linus neuvoi pelikehittäjiä olemaan käyttämättä spinlockia ja että he eivät yritä estää omia estojärjestelmiään sen perusteella, käytä pikemminkin olemassa olevia todistettuja mekanismeja ilmoittaa järjestelmälle odottavansa lukon vapauttamista ohjelmoijan vaikutuksen eliminoimiseksi.

Spinlock-pohjaisia ​​laajennuksia voidaan käyttää vain täysin luottavaisin mielin, että ohjelmoija ei keskeytä niiden suorittamista. Testeissä käytetyt spinlock-pohjaiset lukot toteutetaan kotitekoisen sidonnan avulla, joka toimii käyttäjän tilassa.

Tehtävien ajastin voi ottaa hallinnan milloin tahansa tämän linkin suorittamisen aikana ja vaihtaa toiseen tehtävään.

Ottaen huomioon mitäSuorituskyvyn mittaus perustuu absoluuttisiin ajastinarvoihin, määritellyt viiveet testeissä ne eivät koske vain ohjaimen viiveitä esto, mutta myös eri kontekstissa ajettu koodi, toisin sanoen.

Se mittaa paitsi mitä testaaja yritti mitata, myös järjestelmän muiden laskelmien "melua".

Ongelma on siinä kehittäjien ei olisi pitänyt käyttää spinlockejar, sikäli kuin Syy ei ollut Linux-ohjelmoijalla, mutta kehittäjien lähestymistavat sen käyttöön.

Testin kirjoittaja yritti vastustaa Linusta, huomauttaen, että omien spinlock-pohjaisten lukitusjärjestelmien käyttöä käytetään usein käytännössä peleissä, koska käytettäessä yksinkertaisempia ohjelmoijia kuin Linuxissa testit osoittavat parempaa suorituskykyä.

Linus mainitsi, että Linux-ajastin on universaali, puhdistettu vuosikymmenien ajan ja optimoitu paitsi työpöydälle ja pelit, mutta myös muuntyyppisille kuormille työskennellä esimerkiksi palvelinjärjestelmissä ja ottaa siksi huomioon monia vivahteita tehtävien suunnittelussa.

Lisää erityisiä optimointeja, jotka vähentävät pelien viivettä Google Stadia voi lisätä reagointikykyä tietyssä tapauksessa, mutta se todennäköisesti heikentää ohjelmoijan yleistä suorituskykyä.

Esimerkiksi Windows Scheduler toimii paremmin keskusteltavissa olevissa testeissä, koska se on paljon yksinkertaisempi kuin Linux Scheduler ja se on optimoitu ensisijaisesti tiettyihin työpöydän tehtäviin.

lähde: https://probablydance.com/


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.