Përdorimi i një bërthame RT (latente e ulët)

Miguel Mayol, një ndjekës dhe komentator i shkëlqyer i këtij blogu, rekomandoi një artikull të botuar në Hispasonike mbi përdorimin e bërthamave RT, të cilat ne kemi vendosur t'i botojmë dhe t'i shtrijmë në disa nga pjesët e saj.

L Kernelët RT lejojë një performanca optimale ne disa situata të veçantaPër shembull, redaktimi audio ose përdorimi i instrumenteve muzikore virtuale.

Bërthama për shumë detyra

Kerneli Linux, si ai i shumicës së sistemeve operative moderne, është duke bërë shumë detyra. Kjo do të thotë që disa programe po ekzekutohen në të njëjtën kohë.

Në realitet, kjo nuk është saktësisht rasti. Ajo që ju bëni është të vendosni programet në një radhë dhe, një nga një, mikroprocesori i ekzekuton ato për një kohë të caktuar. Pasi kjo të jetë shteruar, mikroprocesori ndërpret detyrën, duke e lënë atë në gjysmë të rrugës, dhe ia lë vendin tjetrit. Kjo sasi e kohës quhet kuantike ose fetë kohore, dhe nuk ka pse të jetë konstante.

Një analogji e mirë mund të jetë gatuesi në një lokal duke përgatitur disa pjata në të njëjtën kohë: një sanduiç me kofshë, një sanduiç me një kurth, një sallatë të përzier ... Tani e thyej bukën, e ndez tiganin, ndërsa po nxehet laj marule, etj.

Nëse kuanti është mjaft i vogël, përshtypja subjektive për një vëzhgues të ngadaltë, siç është qenia njerëzore, është që në vend që një procesor i shpejtë të ekzekutojë detyra në mënyrë alternative, ne kemi një procesor të ngadaltë për secilin prej tyre (disa kuzhinierë në të njëjtën kuzhinë ngadalë bëjnë secilin një pllakë e vetme).

Ndërrimi i detyrave ka një kosto

Mbledhja e detyrave nuk është falas: përfshin shpenzimet e përgjithshme të procesorit. Në të vërtetë, dëbimi i një detyre dhe ngarkimi i tjetrit është punë shtesë. Ky operacion quhet 'ndërrimi i kontekstit' ose 'ndërrimi i detyrës'. Do të ishte më fitimprurëse për sa i përket CPU-së që programet të ekzekutohen plotësisht, një nga një, sesa t'i prisni në "feta" dhe të hidheni nga njëra në tjetrën. Sidoqoftë, sistemi do të humbte ndërveprimin, nuk mund të kishim disa dritare të hapura ose, në rastin e një serveri, të merrnim parasysh disa kërkesa njëkohësisht.

Latenca dhe performanca

Supozoni se kuzhinierja jonë duhet të heqë 20 kg karkaleca deti dhe të vendosë 20 kg ullinj. Si është planifikuar puna?

Në një rast ekstrem, ai së pari do të qëronte të gjitha karkalecat, do të lante duart për të shmangur përzierjen e aromave dhe më pas do të hidhte të gjitha ullinjtë. Ne do ta përfaqësojmë kështu:

GGGGGGGGGGGGGGGGGGGG… C AAAAAAAAAAAAAAAAAAAAAAA A

Në ekstremin tjetër, ai do të qëronte një karkalec deti, të lante duart, të hidhte një ulliri, të lante duart ... karkaleca deti, ulliri, karkaleca deti, ulliri ... Ne do ta përfaqësojmë kështu:

GCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCACGCAC

'C' përfaqëson ndryshimin në kontekst: lani duart, ndërroni enët ...

Në të njëjtën kohë, një kamerier mbledh kërkesat e klientëve: "Një me karkaleca!" ... "Një me ullinj!" ... dhe i transferon në kuzhinë.

Në rastin e parë, supozoni se një klient vjen dhe kërkon një pjesë të karkalecave. Nuk ka problem, shërbehet menjëherë. Por, çka nëse ai kërkon ullinj? Kamarieri nuk mund ta shërbente derisa të gjithë karkalecat u qëruan. Në këtë rast, vonesa, e cila është koha që kalon nga kur bëhet një kërkesë derisa të ndiqet, do të ishte shumë e lartë.

Në rastin e dytë, çfarëdo që të kërkojë nga klienti, do të jetë në dispozicion për një kohë të shkurtër, gjithashtu praktikisht e njëjtë në të dy rastet. Latenca do të jetë e ulët, por me një kosto: për shkak të ndryshimeve në kontekst do të ketë një rënie të performancës, e kuptuar si pjesa e kohës gjatë së cilës CPU po bën detyra direkt produktive, në vend të detyrave mbështetëse.

Padyshim që në këtë rast zgjidhja ideale do të ishte një rrugë e mesme, e cila do të varet nga madhësia e racioneve dhe shpërndarja statistikore e kërkesave. Teoria e radhës është dega e matematikës që është përgjegjëse për studimin e këtyre situatave dhe dhënien e tyre zgjidhje optimale.

Siç mund ta shihni, vonesa dhe performanca janë të kundërta. Për këtë arsye nuk është e saktë të thuhet se bërthamat rt japin më shumë performancë. Përkundrazi, ulja e vonesës zvogëlon performancën e makinës dhe për këtë arsye është një zgjedhje e dobët për sistemet që nuk kërkojnë përgjigje shumë të shpejta, siç janë serverat e uebit ose të bazës së të dhënave.

Përkundrazi, bërthamat me vonesë të ulët janë ideale në situata kur nevojitet shpejtësia maksimale e përgjigjes ndaj stimujve të jashtëm, të tilla si sistemet industriale të kontrollit ose aplikacionet multimediale interaktive, duke ditur që ne po sakrifikojmë një pjesë të fuqisë së makinës në garantimin e këtij reagimi të shpejtë .

Prioritetet

Një opsion interesant në sistemet me shumë detyra është dhënia e përparësive të ndryshme për detyrat, në mënyrë të tillë që më të rëndësishmet të marrin më shumë kohë nga procesori dhe ato më pak të rëndësishme më pak. Në një bërthamë normale kjo bëhet me komandën 'nice'. Nëse gatuesi ynë pret të shërbejë më shumë porcione karkalec se ullinj, ai do të bënte mirë t'i kushtonte më shumë kohë të parës, sigurisht.

Kernel RT (ose vonesë e ulët)

Problemi me bërthamat normale është se detyrat nuk mund të ndërpriten askund, duhet të prisni që ata të arrijnë në pika të caktuara ekzekutimi ku mund të ndalen për t'u kaluar në një tjetër. Kjo paraqet atë që ne e quajmë latente.

Për ta thënë në një mënyrë të thjeshtuar, bërthamat RT lejojnë ndërprerjen e detyrave në më shumë vende sesa bërthamat normale. Ata mund të bëjnë, për të thënë, feta më të holla të kohës, kështu që detyra aktuale do të dëbohet më shpejt dhe detyra jonë prioritare do të jetë në gjendje të hyjë në CPU më shpejt. Prandaj vonesa do të jetë më e ulët.

Le të themi që një bërthamë RT na lejon të lëmë një karkalec gjysmë të qëruar nëse ajo që nevojitet urgjentisht në atë kohë është të vendosim një ulliri sa më shpejt të jetë e mundur, ndërsa në një bërthamë normale do të ishte e nevojshme të mbaronim qërimet e karkalecave.

Përveç që i bëjnë feta më të holla, bërthamat RT kanë një sistem përparësie shumë më të rreptë, ku detyrat prioritare presin pa mëshirë njëri-tjetrin (paraprijnë) për të fituar kontrollin e CPU-së, duke ngadalësuar programet e tjera çfarëdo që është e nevojshme plotësoni kërkesat tuaja.

Kur është e rëndësishme të përdorni një bërthamë RT?

Në dy raste:

1) Kur kemi nevojë për vonesa shumë të ulëta, domethënë reagime shumë të shpejta të makinës. Shembulli më i qartë është ekzekutimi i instrumenteve virtuale, ku ju duhet që kur shtypni një buton të një tastiere MIDI tingëllon menjëherë instrumenti.

2) Kur kemi nevojë për përparësi shumë të rrepta, domethënë që detyra jonë me përparësi të lartë të mos ndërpritet nga asgjë në botë (përveç nëse në rastin katastrofik që CPU-ja është aq e mbingarkuar sa të kalojë shfrytëzimin 100%). Për shembull, ne po regjistrojmë një sesion audio me Ardor dhe po shikojmë treguesit e fader të rriten e të ulen. Nuk ka rëndësi nëse humbasim një kornizë rifreskimi të faders për sa kohë që transporti i zërit nga mikrofoni në hard disk nuk ndërpritet. Një bërthamë RT do të ngadalësojë rifreskimin e fader për aq kohë sa është e nevojshme për sa kohë që nuk humbet një kampion i vetëm i audios.

Kjo tha, në përgjithësi bërthamat e reja jo-RT kanë përmirësuar shumë sistemin e tyre të planifikimit dhe menaxhimin e përparësive. Nëse nuk e keni CPU në kufirin e mundësive të tij (të themi më poshtë përdorimi 50%) ose nëse nuk ju shqetëson që herë pas here ka një mikro prerje (klikim) të vogël në tingull (xrunet shumë të frikshme), një bërthamë normal jep performancë krejtësisht të pranueshme.

Çfarë latente është e këshillueshme?

Personalisht, gjithçka nën 10 ms është në rregull për mua dhe nga 20 ms tashmë filloj ta vërej vonesën qartë. Ka njerëz më kërkues.

instalim

Në Ubuntu dhe derivatet:

sudo apt-get instalo linux-headers-lowlatency
sudo apt-get instalo linux-lowlatency
sudo update-grub

Gjatë fillimit do të keni të dy opsionet (bërthama normale dhe ajo me vonesë të ulët).

Në Arch dhe derivatet:

yaourt -S linux -rt
sudo update-grub

Fuente: Hispasonike


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   Jordi Fdez dijo

    shumë e plotë dhe e mirë
    shpjegoi. po, unë jam duke përdorur Linux për prodhimin e muzikës me
    një distro e zakonshme dhe nuk kam asnjë problem latente,
    përgjigja është e menjëhershme kur luhet audio. Unë nuk kam shumë
    njohuri, por mendoj se drejtuesit e audios në Linux janë
    goxha e mire as me duhet jack per te marre nje te mire
    Performanca

  2.   Carlos dijo

    Artikull i shkëlqyeshëm dhe shpjegimi nuk mund të jetë më i mirë. Brohoritje

  3.   carlesa25 dijo

    Përshëndetje: Shumë interesante, unë do ta provoj atë në detyrat intensive të llogaritjes së CPU + GPU.

    Ndërsa mund të largoheni nga Ubuntu 12.0 OS si më parë, domethënë, çinstaloni "linux-headers-lowlatency". Të fala.

  4.   Th3Gh057 dijo

    Faleminderit shumë për artikullin. Reallyshtë me të vërtetë shumë interesante të dish se si funksionojnë bërthamat e vonesës së ulët. Më ka zgjuar interesin për të ditur më shumë për të dhe dobinë e tij. Brohoritje

  5.   Oliver dijo

    Artikull i shkëlqyeshëm! sapo dëgjova se kërkohej një bërthamë me vonesë të ulët për të drejtuar një tastierë më të përgjegjshme, por nuk kisha ide pse dhe si ta bëja atë. Analogjia është shumë e qartë.

  6.   Guxim dijo

    Po zotëri, plotësisht e vërtetë.

    Isshtë diçka krejtësisht e rëndësishme në prodhimin e muzikës, gjithashtu, siç thuhet në përdorimin e VST-ve, për shembull në një performancë të drejtpërdrejtë duke përdorur një kontrollues MIDI duhet të shkojmë së bashku me instrumentet e tjerë dhe një vonesë e lartë mund të na luajë një hile .

    Ose jo domosdoshmërisht në përdorimin e instrumenteve virtuale, por në regjistrim, ndodh përmes vonesës së ndërfaqes që mund të na ngatërrojë kur interpretojmë instrumentet

  7.   Rajonant dijo

    Artikull i shkëlqyeshëm, nuk kisha ide se çfarë do të thoshte vonesa e ulët në një bërthamë (megjithëse e lidha atë me vonesat në modulet e ramit)

  8.   Gerardo Azonos dijo

    Shumë mirë ... Më pëlqeu shumë.
    duke ndryshuar temen, dikush di te zgjidhe problemin e wifi (wireless i prehrit tim) qe nuk me lejon te punoj ne hapsira publike, sinjali eshte shume i ulet.
    Unë kam ubuntu 11.10 dhe prehri im është: Dell inspiron n4110.
    Ju falenderoj paraprakisht.

  9.   Miquel Mayol i Tur dijo

    Faleminderit, për të shtuar se Sabayon mbart këtë bërthamë, të përpiluar në 1000 Hz si parazgjedhje, e cila është gjithashtu ideale për serverat e lojërave FPS dhe për vetë lojërat FPS dhe çdo kërkuese, përveç ndoshta atyre që përdorin bazat e të dhënave, edhe pse për mua në Sabayon freeciv më shpërtheu ..

    Në një desktop, ai normalisht i jep përparësi detyrës kryesore, kështu që mund të jetë i përshtatshëm për ta përdorur atë edhe nëse është më pak efikas për detyrat e tjera për ato që po bëjmë në momentin që do të shkojë më shpejt, dhe në kompjuterët aktualë modernë mund të jetë mjaft interesante.

    Isshtë çështje e instalimit të tyre, testimit të tyre për një javë, kthimit në bërthamë - normale - dhe shikimit se si ka shkuar, dhe cilën preferojmë, si dhe përdorimin e tij për detyrat specifike që secili prej tyre është më i mirë .

  10.   Gustavo Trepat dijo

    Artikull i shkëlqyeshëm, shumë mirë i shpjeguar.
    Ju faleminderit.

  11.   Esteban dijo

    Shpjegim i shkelqyer, faleminderit shume, me ka ndihmuar shume

  12.   Carlos Martinez dijo

    Artikull shumë interesant, ka qenë pak më i qartë për mua, megjithëse akoma kam dyshime nëse një bërthamë e ulët zbutjes më përshtatet. Si mund ta njoh vonesën e një bërthame? Brohoritje

  13.   korrik dijo

    Kohët e fundit kam instaluar një distro studio ubuntu dhe kam kuptuar për vonesën e ulët, duke hetuar se kam ardhur në faqen tuaj. Unë jam shumë i qartë për konceptet themelore të Sistemeve Operative dhe shpjegimi juaj ishte i përsosur. Ju e keni punuar atë. Urime