Коришћење РТ кернела (мала латенција)

Мигуел Маиол, сјајни следбеник и коментатор овог блога, препоручио је чланак објављен у Хиспасониц о употреби РТ кернела, које смо одлучили да објавимо и проширимо у неким од његових делова.

Л РТ кернели дозволити а оптималне перформансе у неким одређене ситуацијеНа пример, аудио монтажа или употреба виртуелних музичких инструмената.

Вишезадаћно језгро

Линук језгро, као и већина модерних оперативних система, је вишезадаћно. То значи да се истовремено покреће неколико програма.

У стварности то није баш тако. Оно што радите је да програме ставите у ред и један по један, микропроцесор их извршава одређено време. Кад се ово исцрпи, микропроцесор прекида задатак остављајући га на пола пута и уступа место следећем. Ова количина времена назива се квантум или временски пресек и не мора бити константна.

Добра аналогија може бити кувар у бару који истовремено припрема неколико јела: сендвич са слабином, сендвич са трипицама, мешана салата ... Сад ломим хлеб, окрећем таву, док се греје, перем зелена салата итд.

Ако је квантум довољно мали, субјективни утисак за спорог посматрача, као што је људско биће, јесте да уместо брзог процесора који извршава задатке наизменично имамо полаганог процесора за сваког од њих (неколико кувара у истој кухињи полако раде сваки један један тањир).

Пребацивање задатака кошта

Вишезадаћност није бесплатна: укључује трошкове процесора. Заправо, исељавање једног задатка и учитавање следећег представља додатни посао. Ова операција се назива „пребацивање контекста“ или „пребацивање задатака“. У ЦПУ би било исплативије покретати програме у потпуности, један по један, него их сећи на „кришке“ и скакати с једног на други. Међутим, систем би изгубио у интерактивности, не бисмо могли да отворимо неколико прозора или, у случају сервера, да истовремено присуствујемо неколико захтева.

Латенција и перформансе

Претпоставимо да наш кувар мора ољуштити 20 килограма шкампа и уклонити 20 килограма маслина. Како је планиран посао?

У екстремном случају, прво би ољуштио све козице, опрао руке како би избегао мешање укуса, а затим би све маслине ољуштио. Ми ћемо га представити овако:

ГГГГГГГГГГГГГГГГГГГГГГГ… Ц АААААААААААААААААААААА…

У супротној крајности би огулио козицу, опрао руке, бацио маслину, опрао руке ... козицу, маслину, козицу, маслину ... Представићемо је овако:

ГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦГЦАЦ…

'Ц' представља промену у контексту: опрати руке, променити посуђе ...

У исто време, конобар прикупља захтеве купаца: „Један са гамборима!“ ... „Један са маслинама!“ ... и преноси их у кухињу.

У првом случају, претпоставимо да купац уђе и затражи део шкампа. Нема проблема, одмах се сервира. Али шта ако затражи маслине? Конобар није могао да је послужи док све козице нису ољуштене. У овом случају, кашњење, односно време које пролази од тренутка када се поднесе захтев до одговора на њега, било би веома велико.

У другом случају, шта год купац затражи, биће доступно за кратко време, такође практично исто у оба случаја. Латенција ће бити ниска, али са трошковима: услед промена контекста доћи ће до смањења перформанси, схваћених као део времена током којег ЦПУ ради директно продуктивне задатке, уместо задатака подршке.

Очигледно је да би у овом случају идеално решење било средње решење, које би зависило од величине оброка и статистичке расподеле захтева. Теорија редова је грана математике која је одговорна за проучавање ових ситуација и давање оптималних решења.

Као што видите, кашњење и перформансе су супротне. Из тог разлога није тачно рећи да рт кернели дају више перформанси. Супротно томе, смањењем латенције смањују перформансе машине и стога су лош избор за системе који не захтевају супер брзе одговоре као што су веб или сервери база података.

Супротно томе, језгра са малим кашњењем идеална су у ситуацијама када је потребна максимална брзина одговора на спољне стимулусе, као што су индустријски управљачки системи или интерактивне мултимедијалне апликације, знајући да жртвујемо део снаге машине да бисмо гарантовали да брза реакција.

Приоритети

Занимљива опција у мултитаскинг системима је давање задатака различитим приоритетима, тако да најважнији добијају више времена од процесора, а они мање важни. У нормалном језгру то се ради помоћу команде 'нице'. Ако наш кувар очекује да послужи више порција козица него маслина, било би добро да више времена потроши на прве, наравно.

Кернел РТ (или мала латенција)

Проблем нормалних језгара је тај што се задаци не могу нигде прекинути, морате чекати да стигну до одређених тачака извршења на којима се могу зауставити да би се пребацили на друго. Ово уводи оно што називамо латенцијом.

Поједностављено речено, РТ кернели омогућавају прекидање задатака на више места од уобичајених кернела. Они могу да ураде, такорећи, тање кришке времена, тако да ће се тренутни задатак брже иселити и наш приоритетни задатак ће моћи да приступи ЦПУ-у пре. Стога ће кашњење бити мање.

Рецимо да РТ језгро дозвољава да оставимо напола ољуштену шкампу ако је оно што је у том тренутку хитно потребно да коштимо маслину што је пре могуће, док би у нормалном језгру било потребно да завршимо са љуштењем шкампа.

Поред тога што кришке чине тањим, РТ језгра имају и много строжи систем приоритета, где се приоритетни задаци беспоштедно уситњују (преемптирају) како би стекли контролу над ЦПУ-ом, успоравајући друге програме све што је потребно да би се удовољило вашим захтевима.

Када је важно користити РТ језгро?

У два случаја:

1) Када су нам потребне врло ниске латенције, односно врло брзе реакције машине. Најјаснији пример су перформансе виртуелних инструмената, где инструмент треба да се одмах огласи када притиснете тастер на МИДИ тастатури.

2) Када су нам потребни врло строги приоритети, односно да наш задатак са високим приоритетом не прекида ништа на свету (осим у катастрофалном случају да је ЦПУ толико преоптерећен да прелази 100% искоришћеност). На пример, снимамо аудио сесију са Ардором и посматрамо како се индикатори фадера подижу и спуштају. Није важно ако изгубимо освежавајући оквир фадера све док се не прекида пренос звука са микрофона на чврсти диск. РТ језгро ће успорити фадер освежавање онолико колико је потребно све док се не изгуби ни један узорак звука.

То је рекло, генерално говорећи, новија језгра која нису РТ знатно су побољшала планирање задатака и управљање приоритетима. Ако немате ЦПУ на граници његових могућности (рецимо испод 50% искоришћења) или ако вам не смета што с времена на време постоји мали микрорез (клик) у звуку (толико страшни крунс), нормално језгро даје савршено прихватљиве перформансе.

Каква је латенција препоручљива?

Лично, све испод 10 мс ми одговара, а од 20 мс већ почињем да приметим кашњење. Постоје захтевнији људи.

инсталација

О Убунтуу и дериватима:

судо апт-гет инсталл линук-хеадерс-ловлатенци
судо апт-гет инсталирајте линук-ловлатенци
судо упдате-груб

Приликом покретања имаћете обе опције (нормално језгро и оно са малим кашњењем).

У Арцх и деривати:

иаоурт -С линук-рт
судо упдате-груб

izvor: Хиспасониц


13 коментара, остави свој

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.

  1.   Јорди Фдез дијо

    врло потпун и добар
    објаснио. да, користим Линук за музичку продукцију са
    обичан дистро и немам проблема са кашњењем,
    одговор је тренутни приликом репродукције звука. Немам много
    знање, али мислим да су покретачки програми за аудио у Линуку
    прилично добро, чак ми ни Јацк не треба за добар
    перформансе

  2.   Карлос дијо

    Одличан чланак и објашњење не могу бити бољи. Живели

  3.   Царлеса25 дијо

    Поздрав: Врло занимљиво, тестираћу га у ЦПУ + ГПУ интензивним рачунским задацима.

    Као што можете да напустите Убунту 12.0 ОС као и раније, то јест, деинсталирајте „линук-хеадерс-ловлатенци“. Поздрави.

  4.   Тх3Гх057 дијо

    Пуно вам хвала на чланку. Заиста је веома занимљиво знати како раде језгра са малим кашњењем. Занимало ме је више о томе и његовој корисности. Живели

  5.   Оливер дијо

    Одличан чланак! Једном сам чуо да је језгро са малим кашњењем неопходно за покретање тастатуре која реагује више, али нисам имао појма зашто и како то учинити. Аналогија је врло јасна.

  6.   Храброст дијо

    Да господине, потпуно тачно.

    То је нешто потпуно битно и у музичкој продукцији, као што се каже у употреби ВСТ-ова, на пример у живом извођењу помоћу МИДИ контролера морамо ићи истовремено са осталим инструментима и велика латенција може играти трик на нас.

    Или не нужно у употреби виртуелних инструмената, већ у снимању, кроз интерфејс се јавља кашњење које нас може збунити приликом тумачења инструмената

  7.   Раионант дијо

    Одличан чланак, нисам имао појма шта значи мала латенција у кернелу (иако сам га повезао са латенцијама у РАМ модулима)

  8.   Герардо Азонос дијо

    Врло добро ... Заиста ми се свидело.
    мењајући тему, неко зна како да реши проблем ВиФи-ја (бежичне везе у мом крилу) који ми не дозвољава да радим у јавним просторима, сигнал је врло низак.
    Имам убунту 11.10 и моје крило је: Делл инспирон н4110.
    Унапред се захваљујем.

  9.   Микуел Маиол и Тур дијо

    Хвала вам, да додамо да Сабаион носи ово језгро, подразумевано компајлирано на 1000 Хз, које је такође идеално за ФПС сервере игара и за саме ФПС игре и било које захтевне, осим можда оних који користе базе података, мада ми је у Сабаиону фреецив пухао ја далеко ..

    На радној површини обично даје приоритет главном задатку, па би могло бити згодно користити га чак и ако је мање ефикасан за остале задатке, јер ће оно што тренутно радимо ићи брже, а у садашњим савременим рачунарима може бити прилично занимљив.

    Ствар је у томе да их инсталирамо, тестирамо недељу дана, вратимо се у језгро - нормално - и видимо како је прошло и које нам је драже, као и да га користимо за одређене задатке да је сваки од њих бољи.

  10.   Густаво Трепат дијо

    Одличан чланак, врло добро објашњен.
    Хвала.

  11.   Естебан дијо

    Одлично објашњење, пуно вам хвала, пуно ми је помогло 🙂

  12.   Царлос Мартинез дијо

    Веома занимљив чланак, био ми је мало јаснији, мада још увек сумњам у то да ли ми одговара језгро ниске латенције. Како могу знати кашњење језгра? Живели

  13.   ЈУЛИО дијо

    Недавно сам инсталирао убунту студио дистро и схватио сам малу кашњење истражујући да сам дошао на вашу страницу. Јасно сам упознат са основним концептима оперативних система и ваше објашњење је било савршено. Ти си то средио. Честитам