Vraag Waarom kiezen voor een low-latency kernel over een generieke of een realtime kernel?


Na het installeren van Ubuntu Studio 12.04, ontdekte ik dat het een kernel met lage latentie gebruikt. Ik heb gezocht waarom en hoe terug te schakelen naar een realtime of generieke. Maar het lijkt erop dat dit deel van Linux nog niet zo vaak is behandeld.

Q: Waarom kiezen voor een low-latency kernel over een generieke of een realtime kernel?

PS: ik heb de antwoorden al gelezen deze vraag en deze post.


93
2018-04-28 03:09


oorsprong


+1 omdat het een goede vraag moet zijn als iedereen stumped. Ik weet NOG STEEDS het verschil tussen de low-latency, generieke en realtime kernels. Als -realtime is realtime, wat doet dat dan -rt staan ​​voor? En hoe gaat het met de -preempt kernel? Ik zal gemue2010 bedanken, hij heeft het heel goed uitgelegd, maar het verklaart nog steeds niet alles. - Hitechcomputergeek


antwoorden:


Dit zijn enkele eenvoudige richtlijnen om u te helpen begrijpen welke   kernel, en in welke volgorde u zou moeten testen om in uw gebruik te passen.

  • Als je geen lage latentie voor je systeem nodig hebt, gebruik dan de -generische kernel.
  • Als je een low latency-systeem nodig hebt (bijvoorbeeld voor het opnemen van audio), gebruik dan de -preempt kernel als eerste keuze. Dit vermindert de latentie   maar levert geen energiebesparende functies op. Het is alleen beschikbaar voor   64-bits systemen (ook wel amd64 genoemd).
  • Als de -preempt kernel niet genoeg lage latentie biedt voor jouw behoeften (of je hebt een 32-bits systeem), dan zou je de   -lowlatency kernel.
  • Als de -lowlatency kernel niet genoeg is, zou je de -rt kernel moeten proberen
  • Als de -rt kernel niet genoeg stabiel is voor jou, dan zou je de -realtime kernel moeten proberen

https://help.ubuntu.com/community/UbuntuStudio/RealTimeKernel

Ik denk dat het afhangt van wat je met studio distro gaat doen. Voor sommige gebruikers doet generiek het prima, voor andere niet.

FREEDOM SPEECH, probeer deze link te lezen: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/


55
2018-04-28 03:21



Ik heb het vorige artikel dat je hebt geplaatst al gelezen. Over de tweede, hoeveel zijn die feiten betrouwbaar? - Starx
Nou, de tests die daar genoemd worden, praten alleen. Als het Ubuntu-team in de eerste plaats voor Latency heeft gekozen, moet dit een reden zijn. DUS je wilde de verschillen weten, nu doe je het. Probleem opgelost ? - ubuntu fan
Nee .. ik denk niet dat het probleem is opgelost. Als je antwoord iets doet, verhoogt het mijn nieuwsgierigheid meer. - Starx
Is een van deze nog steeds waar in 2015? De -preempt, -rt, en -realtime kernels bestaan ​​niet meer - naught101


Ik ben de auteur van de blogpost die is gelinkt door ubuntu fan: http://sevencapitalsins.wordpress.com/2007/08/10/low-latency-kernel-wtf/

Die blogpost bevat geen enkel feit, het is alleen theorie. Het is zoals het werkt: de processor "stopt" vaker om te zien of er processen zijn die onmiddellijke aandacht vereisen. Dat betekent dat die processen voor de anderen worden uitgevoerd, zodat u tijdens het coderen geen frames overslaat of enorme vertragingstijden hebt tussen muisklikken en vijandelijke doden. Het betekent niet dat alle processen eerder zullen eindigen: eigenlijk verliest de CPU een groter deel van zijn tijd aan het beslissen welk proces het volgende zal worden uitgevoerd en doet hij de contextswitch. Dus de totale uitvoeringstijd is langer, en daarom wordt er door niemand een preëmptieve kernel op webserver of database-machines gedraaid. Maar een preëmptieve 300Hz (of zelfs 1000Hz) kernel is het beste voor gameservers.

Maar tegenwoordig hebben processors veel kernen, dus als er maar weinig processen zijn die aandacht vereisen, kunnen ze eenvoudig op een andere kern worden toegewezen in plaats van te wachten tot een kern deze inneemt.

(stackexchange vereist mij referenties / persoonlijke ervaring: ik ben een elektronische ingenieur, bloeddorstige noobgamer die verschillende gameservers begeleidt bij http://www.gamezoo.it ).

Dus als vuistregel zou ik zeggen: als je processor een krachtige nummer-crunching hoogfrequente quad-core is EN je meestal geen tonnen webpagina's opent tijdens het coderen / decoderen / gamen (hè), zou je probeer gewoon de generieke (of i686, of amd64 als ze bestaan) kernel en hebben de hoogst mogelijke doorvoer (dat wil zeggen, het onbewerkte aantal-kraken dat de processor kan doen). Als je problemen ervaart (ze zouden eigenlijk heel klein moeten zijn) of je machine is iets minder krachtig dan de top van de markt, ga dan voor de -preempt.

Als je een low-end machine hebt met slechts één of twee cores, probeer dan de -lowlatency. Je zou ook de -tertijd kunnen proberen, maar je zult merken dat het de neiging heeft om processen te blokkeren totdat de "real-time" degenen klaar zijn met hun werk. Ik geloof dat de realtime kernel niet de "vanille" is, maar dat de CONFIG_PREEMPT_RT-patch is toegepast. Ik denk dat realtime kernels alleen voor degenen zijn die een enkele applicatie op embedded systemen moeten bouwen, dus gewone desktopgebruikers zouden geen echte voordelen moeten hebben, omdat ze meestal een groot aantal applicaties op hetzelfde moment draaien.

Ten slotte zijn de meest relevante kernelopties als je zelf je kernel opnieuw wilt compileren om een ​​desktop met lage latentie te hebben:

PREEMPT=y

en:

CONFIG_1000_HZ=y

Om wat energiebesparing toe te voegen, kun je deze controleren:

CONFIG_NO_HZ=y

45
2017-10-24 20:27



Ik merkte dat je het onderhoud van servers noemde, ik probeer de beste kernel te vinden voor specifiek toegankelijke server met kleppenbron (CSGO specifiek). de meeste CS-threads die ik vind zijn gerelateerd aan goldsrc waarvoor een 1000Hz-kernel nodig was. Is de lowlatency slecht, met srcds? als het er niet toe doet, blijf ik gewoon bij lowlatency, want dat is wat ik nu heb (ik isoleer de cpu-cores voor 128 tick-srcds-servers omdat het sowieso niet echt baat heeft bij multithreading). - Vincent De Smet
Handig om thid tips te kennen, zal ik volledig veranderen in preempt. Ik ben niet zo gehaast dat ik wil dat mijn kernel zich gedraagt ​​als een smerige piraat. - userDepth


BTW: preemt-, lowlatency of de rt kernel zullen uw systeem niet sneller maken. Ze zijn een beetje tragere dan generieke kernel.


6
2018-04-28 03:53



Kun je je redenering uitleggen of bronnen geven? - hexafraction
Bedoelde u mijn antwoord ObsessiveFOSS? Kort antwoord: omdat het meer overhead introduceert in de kernel. U kunt dit interessante artikel lezen als u meer informatie wilt: versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp - gemue2010
slechte bewoording. "Sneller" kan zowel doorvoer als latentie betekenen. - Eero Aaltonen
Het is echter een verkeerde benaming, maar in veel contexten is het logisch, dus mensen zijn eraan gewend. De hoofdcontext is gamen waarbij het gemiddelde van de frames per tijd 'snelheid' aangeeft (een lage latentie-kernel zal dat gemiddelde verlagen, maar de latentie zal beter zijn). - j riv


Uit het hierboven aangehaalde document (http://www.versalogic.com/mediacenter/whitepapers/wp_linux_rt.asp)

  1. een zacht real-time systeem geeft een lagere gemiddelde latency maar geen gegarandeerde maximale responstijd.
  2. Een hard real-time systeem voldoet te allen tijde (100 procent) aan de gewenste deadlines, zelfs onder een systeembelasting van het slechtste geval.
  3. Volgens Yaghmour [4]: ​​"Realtime deals met garanties, niet met onbewerkte snelheid."

Het artikel zegt dat voor harde realtime kernel responsiveless of time bound de belangrijkste eigenschap is dus soms vertragen ze niet-kritische activiteit die tot vertraging leidt, maar voor lowhoudcy of andere zachte realtime kernel proberen algemene latentie te verminderen, wat in het grootste deel van het geval helpt. Vanwege verminderde latentie lijkt het systeem snel te zijn. Lees het artikel aandachtig.


2
2017-08-17 05:34



Dat klopt, maar we moeten weten welke kernelvariant overeenkomt met de "hardheid" van het systeem in real-time. - Melebius