LINUX.ORG.RU

Дебиан RT-ядро: за и против.

 , , ,


0

2

Решил плотно поковырять Дебиан и обнаружил в репозитории помимо обычно ядра, его RT версию.

Так как я гуманитарий до мозга костей, то сакральный смысл реалтайма от меня ускользает.

Гугление выдает что-то про АЭС и музыкантов, а как быть простому обывателю с десктопом?

Имеет ли смысл ставить РТ-ядро и как пощупать ускорение/замедление системы?

★★★★★

Оно создано для жёстких дедлайнов у небольшого количества процессов дабы оптимально минимизировать задержку, например, как уже указано, под аудио. За лимит времени планировщика все отведенные куски кода должны быть исполнены, или наступает «голод» (starvation) и блокировки (deadlock).Если обычная операционка пропустит такт, то rt - нет.

ac130kz ★★
()
Ответ на: комментарий от utanho

Игори могут гнать на rt, они тупо не сделаны под такие условия. Как по мне, досточно крутануть CONFIG_HZ на 1000 для отзывчивости мыши, такой твик есть на ядрах типа zen, cachyos тоже вроде неплохие по бенчмаркам.

ac130kz ★★
()

На десктопе реалтайм ядро не нужно.

Что значит реалтайм – значит, что система выполняет все свои операции в некоторое конечное время. Если операция не завершилась в конечное время, она считается ошибочной. Это больше даже не для скорости нужно, а для предсказуемости. И не чтобы лаг был меньше, а чтобы этот лаг был предсказуем.

Например, обычному пользователю чаще всего все-равно, через сколько прочитается файл с жесткого диска, как стоят там головки и т.д. Файл может прочитаться как через N ns, так и N*10 ns, разницу пользователь даже не заметит. Но для систем реального времени, когда от этой операции зависят какие-то другие ответы системы на внешние события – это важно. Возможно, она отменит операцию, если операция не уложится в срок.

Кстати, поэтому жесткие диски в RT-системах – плохо, именно из-за своей плохой прогнозируемости по времени ответа.

hibou ★★★★★
()
Последнее исправление: hibou (всего исправлений: 1)
Ответ на: комментарий от ac130kz

Хм, я думал 1000 уже давно дефолт на десктопных ядрах, а оказалось что нет

$ zgrep CONFIG_HZ /proc/config.gz 
# CONFIG_HZ_PERIODIC is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
alex1101
()
Ответ на: комментарий от utanho

Я не совсем понимаю, в чём ценность этого «объективно». Ну будет у тебя в каких-то бенчмарках на 3,5 попугая больше, какой с этого толк, если субъективно ты не заметишь разницы? Или наоборот - объективно цифры будут одинаковыми, но субъективно тебе будет казаться, что всё отзывчивей и плавней, что тогда делать будешь?

Упарываться объективностью это от лукавого.

alex1101
()
Ответ на: комментарий от hibou

Ага, начало проясняться. Кстати да, были глюки с внешним ХДД, когда тыкал палкой в РТ-ядро. Значит рт - не наш мектод. Спасибо за пояснение.

utanho ★★★★★
() автор топика

Если не знаешь, зачем тебе это надо, то тебе это не надо. В дебиане не тупей нас сидят люди и раз это ядро не ставят по умолчанию ни на сервер, ни на десктоп, то это не просто так.

vbr ★★★★
()

Я как rt попробовал, так на нем и остался. Hyprland стал отзывчивей, в игорях снизились редкие события.

РТ проигрывает при интенсивных нагрузках, когда ЦП/ГПУ под 100%, но у меня такие бывают крайне редко.

А на дебиане скорей всего его никто не тестит, потому оно такое багнутое и то и дело норовит завалиться.

А у тебя что за дистр?

6.1.38-4-rt12-MANJARO

Оо

hargard ★★
()
Последнее исправление: hargard (всего исправлений: 1)
Ответ на: комментарий от vbr

В дебиане не тупей нас сидят люди

Иногда, глядя на то, как собраны пакеты в дебиане, сильно в этом сомневаюсь. Но к теме обсуждения это не имеет отношения.

utanho ★★★★★
() автор топика
Ответ на: комментарий от utanho

Пишут, что типа немного проседает производителоьность и улучшается отклик. А как это проверить?

Например так:

Система без RT PREEMPT (PC)

❯ sudo cyclictest -m -Sp80 -l 10000
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.81 0.83 0.84 1/1569 382771          

T: 0 (382670) P:80 I:1000 C:  10000 Min:      1 Act:    1 Avg:    2 Max:     127
T: 1 (382671) P:80 I:1500 C:   6674 Min:      1 Act:    2 Avg:    2 Max:     144
T: 2 (382672) P:80 I:2000 C:   5002 Min:      1 Act:    3 Avg:    7 Max:     221
T: 3 (382673) P:80 I:2500 C:   4000 Min:      1 Act:    3 Avg:    2 Max:      35
T: 4 (382674) P:80 I:3000 C:   3332 Min:      1 Act:    2 Avg:    2 Max:     130
T: 5 (382675) P:80 I:3500 C:   2855 Min:      1 Act:    2 Avg:    2 Max:     178

Система с RT PREEMPT (ARM iMX8)

# cyclictest -m -Sp80 -l 10000
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 1.73 1.42 1.32 1/222 14973          

T: 0 (14960) P:80 I:1000 C:  10000 Min:      6 Act:    6 Avg:    8 Max:      25
T: 1 (14961) P:80 I:1500 C:   6661 Min:      6 Act:   10 Avg:    9 Max:      33
T: 2 (14962) P:80 I:2000 C:   4988 Min:      6 Act:    7 Avg:   10 Max:      33
T: 3 (14963) P:80 I:2500 C:   3984 Min:      6 Act:    8 Avg:   10 Max:      39

cyclictest запускает треды по числу ядер и кладет их спать на определенное время.

Когда они просыпаются, cyclictest смотрит кто насколько проспал и показывает min/actual/average/max значения в микросекундах

alx777 ★★
()
Последнее исправление: alx777 (всего исправлений: 1)
Ответ на: комментарий от alex1101

Хм, я думал 1000 уже давно дефолт на десктопных ядрах, а оказалось что нет

Современный десктоп это ноутбук, а настройка

CONFIG_HZ=1000

будет сажать батарею на ровном месте.

Я вообще 100 ставлю по этой причине.

alex0x08 ★★★
()
Ответ на: комментарий от utanho

Пишут, что типа немного проседает производителоьность и улучшается отклик. А как это проверить?

Запустить свой ворклоад и измерить отклик и производительность.

t184256 ★★★★★
()

Надеюсь гуманитарное образование подразумевает владение английским? Если так то вот тут подробная статья про RT ядро на примере RHEL.

Там максимально доходчиво, с картинками и графиками описано и что это и зачем.

alex0x08 ★★★
()

На одной из машин стоит вариация убунты под производство музыки, только вот ядро там не rt, а lowlatency.

$ uname -a
Linux T480 5.15.0-78-lowlatency #85~20.04.1-Ubuntu SMP PREEMPT Mon Jul 17 11:53:25 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Mobutu_Sese_Seko
()
Ответ на: комментарий от Mobutu_Sese_Seko

Так бы и запустил в тебя нагрузкой, но жалко — рабочая.

Давно в последний раз в родном языке «запускал нагрузку»?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от alex0x08

Графики это понятно, красиво и приятно, но:

1. Разве у ратхаты ядро не копроетарно? И то, как именно оно отконфигурено и что накатано поверх, разве не знают только Ibm и M$?

2. В отличии от дедулика тс´а и уж тем более, маньяро из моего топика.

hargard ★★
()
Последнее исправление: hargard (всего исправлений: 1)
Ответ на: комментарий от t184256

Ежедневно делаю это. Ворклоады вот всё как-то не стартятся, видимо, майндсет недостаточно адвансед. Или «деплоятся»? Извини, не особо разбираюсь в вашем спике.

Mobutu_Sese_Seko
()
Последнее исправление: Mobutu_Sese_Seko (всего исправлений: 1)