Комментарии 63
Разница в энергопотреблении - в рамках погрешностей. В производительности - не более 10%. И это, между прочим, один из топовых 12-ядерных процессоров.
Интересные тесты, но хотелось бы видеть результаты на гораздо большем ряде платформ - от недорогих ноутов до серверов, ARM, Intel и пр.
Не забывайте, что тест на одном, а изменения коснутся сначала миллионов, затем миллиардов устройств.
Учитывая же неоднозначность тестирований даже на одном устройстве, лучше ничего не трогать пока не будут разработаны лучшие альтернативы, например, как указали ниже, адаптивные.
Ubuntu использует 1000 Hz. Не знаю про Debian...
И правда (22.04):
└> cat /boot/config-6.8.0-53-generic | grep HZ
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_MACHZ_WDT=m
16-ядерных. У 9950X 16 ядер.
Может вернуться к истокам и добавить кнопку "Turbo" на системник?
Там наверное ядро пересобирать надо.
Это какой то знак истинно Вам говорю...
Но ведь Turbo наоборот снижала частоту
Можно повысить в ½ раза. По сути всё равно, а людям приятно.
Это даже не отрицательное повышение, никто и не заметит подвоха.
Повысить в 0.5 раза это значит уменьшить в 2 раза.
Вы еще скажите что 1/3 больше чем 1/4.
Для некоторых топовых процессоров не помешало бы. Сидишь в интернетике, слушаешь музыку - комп работает в стандартном режиме, тихо и экономно. Захотелось поиграть или покомпилять - нажимаешь Турбо, включаются дополнительные ядра, частоты выходят на максимум, начинают работать дополнительные вентиляторы, выдвигаются бластеры.
Зачем когда можно config sys вернуть Debian = High, UMB CPU Tact = 1000 HZ
По хорошему адаптивную бы. Чтобы адаптировалось к характеру нагрузки и режима энергосбережения
Так она уже может быть адаптивная. Например:
cat /proc/interrupts |grep LOC; sleep 1;cat /proc/interrupts |grep LOC
LOC: 163428476 132908259 161984855 132746572 160142291 133741721 168149496 147129433 Local timer interrupts
LOC: 163428924 132908734 161985242 132746893 160142669 133742114 168149852 147129799 Local timer interrupts
Наблюдаем по ядрам:
163428924-163428476=448
132908734-132908259=475
161985242-161984855=387
132746893-132746572=321
160142669-160142291=378
133742114-133741721=393
168149852-168149496=356
147129799-147129433=366
При этом:
cat /boot/config-6.8.0-52-generic |grep CONFIG.*HZ
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_MACHZ_WDT=m
Параметр CONFIG_NO_HZ_FULL=y как раз и обеспечивает некоторую адаптивность, которую видно по факту.
Увеличение частоты переключения процессов приведет как к сокращению тика процесса, так и к оверхеду на само переключение. Смысл в чем? Кроме как иметь возможность гуглю "отслеживать" процессы каждую миллисекунду и периодически майнить фоном.. :)
Вывод: каждому виду устройств свою настройку
Жириновский_как_вам_идея.jpg
Проверять это изменение на тысячах архитектур, куда оно может залететь при обновлении системы инженер из гугла конечно же не собирался
при использовании дисплеев с частотой обновления 120 Гц, типичных для современных ПК и мобильных устройств, при частоте таймера 250 Гц неточность квантования времени составляет примерно половину времени кадра
Неужели линукса на дескопах наконец-то стало больше, чем на серверах - где нет ни каких дисплеев? Или тут опять проблемы меньшинств становятся впереди здравого смысла.
Устройств на Android очень много.
А вопрос про Линукс был.
Для унитазного гейминга существуют, конечно, смертфоны с ЧО 90 и даже 120 Гц, но будем честны - их мало, все-таки "три в ряд" и на 60 Гц нормально идут.
Не нам, не вам - 625 делайте!
нужно 880 Hz, получится ля второй октавы
Очень хорошая, идея в свете набирающих популярность пользовательских планировщиков (как в Java).
Ещё очень полезно во всяких мультимедиа-задачах, задачах управления и т.п.
И игры, конечно же.
а какая трудность сделать это параметром ядра при загрузке?
Хм. В QNX частота системного таймера 1000 Гц. С точностью этого таймера работают всякие функции типа delay. Можно менять в любой момент времени эту частоту программно функцией как угодно, вплоть до зависания системы:
//настроим системный тик
struct _clockperiod new_clock;
new_clock.nsec=100000;//0.1 мс
new_clock.fract=0;
ClockPeriod_r(CLOCK_REALTIME,&new_clock,NULL,0);
В чём же проблема реализовать управление системным таймером из ПО в Linux? Да, рефакторинг кода ядра. Но... всё когда-нибудь меняется, ничего вечного нет.
Изменение константы по умолчанию - повод для новости?
Зачем такие статьи? С другой стороны, мне самому написать нечего.
Изменение константы по умолчанию - повод для новости?
Это изменение дефолтного поведения операционки, на которой работает процентов 80 интернета, конечно это повод для новости.
До прилета в голову Гуглу от Торвальдса осталось... дождаться утра
Сотрудник Гугла: "Посоны, го по пивку после работы".
"Новостные обозреватели" Хабра: "В Гугле призвали к употреблению алкоголя".
А почему это вообще сработало? больше частота -> больше накладных расходов -> меньше производительность, понятно что при этом растет отзывчивость, но как на бенчах это могло сказаться в лучшую сторону?
Ну, в статье это описано таким образом:
Профильные эксперты пояснили, что в компьютерных системах возникают ситуации, когда задача уже отработала желаемые операции, требовавшие активных вычислений, но процессор продолжает работу на повышенной частоте из‑за конечности кванта времени, который ещё не закончился. Повышение частоты переключения задач может привести к снижению потребления энергии из‑за повышения эффективности динамического управления частотой (DVFS), более точного распределения интервалов планировщиком задач, более частого обновления статистики загрузки CPU и уменьшения времени нахождения задач в состоянии ожидания.
Производительность процессоров растёт - раньше за один квант выполнялось, скажем, 1000 инструкций (цифра с неба), а теперь стало можно 3000. Однако, операция занимает всего 800 инструкций и оставшееся время просто тратится впустую.
В Google предложили повысить частоту генерации прерываний от таймера в ядре Linux до 1000 Гц по умолчанию вместо 250 Гц