LINUX.ORG.RU

Meta* использует планировщик для Steam Deck на своих серверах

 , scx, ,


0

3

На конференции Linux Plumbers Conference 2025 инженеры компании Meta* рассказали о преимуществах использования scx_lavd на своих серверах. В докладе объясняют, какие сложности возникают при выборе планировщика и почему алгоритм для переносного игрового устройства интересен для решения задач в дата-центрах.

scx_lavd (Latency-criticality Aware Virtual Deadline scheduler) разрабатывается по контракту с Valve для использования в Steam Deck. Он основан на механизме sched_ext ядра Linux, который позволяет реализовывать планировщики с помощью BPF и динамически подключать их «на лету».

Попробовать scx_lavd и другие scx планировщики можно самостоятельно, следуя инструкциям scx для своего дистрибутива.


* Meta, в том числе ее продукты Facebook и Instagram, признана экстремистской организацией в России.

>>> Запись выступления

★★★★★

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

Я в етом вопросе немного (полностью) не копенгаген. Речь ведь идёт о планировщиках процессов, не о планировщиках ввода-вывода? Чем же так хорош scx_lavd, если есть рилтаймовый планировщик?

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

В исходниках сборная солянка из сишного и хрустового кода с unsafe, всё как мы любим

cobold ★★★★★
()

У себя на машине использую дефолтный планировщик, но запущен scx_loader и по хоткею через dbus включаю/отключаю lavd, когда замечаю проблемы по cpu в играх.

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

Dependencies:

  • clang: >=16 required, >=17 recommended
  • libbpf: >=1.2.2 required, >=1.3 recommended
  • bpftool: Usually available in linux-tools-common or similar packages
  • libelf, libz, libzstd: For linking against libbpf
  • pkg-config: For finding system libraries
  • Rust toolchain: >=1.82
  • clang

А gcc, что, не справится?

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

наблюдаю такую штуку что все растовые хреновины рекомендуют clang, ибо сам раст построен на базе llvm.

Скажем в генту собрать фокс с pgo оптимизацией совершенно беспроблемно на clang, а вот с gcc скорее всего ничего не соберется. Делают всякие доп патчи для сборки под gcc - но они как-то не всегда срабатывают с переходом на новую версию

Тут видимо тоже самое.

Хотя честно говоря не жду ничего хорошего от игрового шедьюлера. Игрулькины приставульки - это прмитивная однозадачная хрень по сути своей, и всё что требуется от скедъюлера - выжать максимум производительности для этой одной задачи. что косвенно подтверждается тут -

https://www.reddit.com/r/linux_gaming/comments/1epxv3z/has_anyone_or_can_anyone_done_comprehensive/?show=original

Почему мордокнига ставит ее на свои сервера - шут его знает. Скорее всего они тоже не сильно многозадачны, и вертят либо какую-то виртуалку либо нейронку - и дабы не отвлекались - вот вам скедьюлер который не даст сильно отвлекаться от основной задачи.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Camel

Речь ведь идёт о планировщиках процессов, не о планировщиках ввода-вывода?

Угу.

Чем же так хорош scx_lavd, если есть рилтаймовый планировщик?

В теории, он пытается приоритизировать чувствительные к задержкам задачи и цель его создания - уменьшить максимальное время отрисовки кадров в играх (увеличить значения типа 0.1% и 1% fps low, для привыкших к бенчмаркам).

altwazar ★★★★★
() автор топика
Ответ на: комментарий от Qui-Gon

Игрулькины приставульки - это прмитивная однозадачная хрень по сути своей, и всё что требуется от скедъюлера - выжать максимум производительности для этой одной задачи.

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

altwazar ★★★★★
() автор топика
Ответ на: комментарий от Qui-Gon

Тут видимо тоже самое.

То есть, ядро будет собираться только с clang, если этот scx_lavd когда-нибудь в него примут.

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

по хоткею через dbus включаю/отключаю lavd, когда замечаю проблемы по cpu в играх

А почему не использовать его на постоянку вместо дефолтного? Есть какие-то бенчмарки или хотя бы просто более конкретные наблюдения, почему он подходит для игр, но не подходит для использования по умолчанию и в остальное время?

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

Есть какие-то бенчмарки или хотя бы просто более конкретные наблюдения, почему он подходит для игр, но не подходит для использования по умолчанию и в остальное время?

Бывает всплывают бенчмарки, но их кот наплакал, а процов и ситуаций на десктопе много. Нельзя однозначно сказать, что lavd всегда лучше для игр в любой ситуации.

А почему не использовать его на постоянку вместо дефолтного?

Можно и наоборот поступить, использовать его по умолчанию и отключать по хоткею при проявлении проблем. Говорят, он на ноутбуках батарею экономит, но сам не проверял. Что лучше в среднем я не знаю, а шедулеры протестировать не просто.

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

Понятно. Просто я бы, если бы уж решил пробовать, не городил бы хоткеи, а врубил бы на постоянку и посмотрел как оно. Если возниклы проблемы — вернул бы назад (и добавил бы хоткей). Подумал, может и в твоём случае была какая-то причина именно переключать туда-сюда, а не просто включить и не выключать.

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

Просто я бы, если бы уж решил пробовать, не городил бы хоткеи, а врубил бы на постоянку и посмотрел как оно. Если возниклы проблемы — вернул бы назад (и добавил бы хоткей).

Хоткей нужен просто для того, чтобы при проблемах с производительностью я мог быстренько переключиться и проверить, поможет смена шедулера или нет. Без этой возможности ты не сможешь отличить решаемые переключением шедулера тормоза от нерешаемых. Возможно у тебя будет результат хуже в среднем, а ты об этом даже не узнаешь.

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

Одна из самых сложных - соглашусь. Но при этом одна из узкоспецифичных. Так что в общем-то по большей части именно играм мы должны быть благодарны за настолько мощное и при этом досутпное железо - ибо если бы продажи драйвидла бухгалтерия и офис мы бы и сейчас ковырлись где-то там в районе 486+ отсилы.

Но за счет узкоспецифичности задачи игровые девайсы для всего остального кроме игр и им поюобного (какой-нибудь авиасимулятор для тренировки пилотов например по сути таже игра) - лютое шайзе.

Qui-Gon ★★★★★
()
Ответ на: комментарий от kirill_rrr

Методом угадайки или появились какие то api чтобы сообщить планировщику что хочет увидеть поток?

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

altwazar ★★★★★
() автор топика
Ответ на: комментарий от Qui-Gon

Но за счет узкоспецифичности задачи игровые девайсы для всего остального кроме игр и им поюобного (какой-нибудь авиасимулятор для тренировки пилотов например по сути таже игра) - лютое шайзе.

О каких игровых девайсах речь? На ум приходят видеокарты и различные геймпады с джойстиками. Первые не такие уж и узкоспецифичные нынче, особенно с распространением ИИ (а до того крипты, но в меньшей степени), последние да, кроме как для игр ни для чего не годятся, но это не делает их шайзе, они просто не нужны тем, кто не играет в игры. Совсем.

Если же речь идёт об «игровых» мышках, корпусах системника, клавиатурах, всяких ковриках для мышек и даже креслах, то они лютое шайзе обычно вовсе не из-за узкоспецифичности, а скорее даже вопреки — они «игровые» исключительно в маркетологических целях, и в том числе для игр могут быть хуже или по крайней мере ничуть не лучше не-игровых. Исключительно хайп, вычурный дизайн и желание втюхать ненужное, сыграв на «геймерских чувствах», не более того.

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

Ну как - игровые ноуты, игровые смартфоны. Горячее, тяжелое, ненадежное и ломучее в следствие первого и второго, адски шумное, высасывающее батарею под ноль даже под легкой нагрузкой в простое за пару часов, с отвратительными по разрешению яркости и цветопередаче экранами - главное чтобы герцовка была запредельная и это все еще и по цене немного подержанного майбаха.

Мышки - в общем то примерно таже песня с этими мегачувствительными сенсорами и адовой герцовкой опроса, что делает их беспроводными несколько формально. Адово кликающие клавы на которых кнопы еще подписывают особо «читабельным» шрифтом - каким-то гибридом иероглифов с калякой-малякой и призванным изображать инопланетные символы расшифровать которые под силу разве что Кнорозову. И все это тоже за какие-то адские деньги при том что за эти деньги покуупаешь адовое ненужно.

они просто не нужны тем, кто не играет в игры

Разве я что-то другое написал? да - все это совершенно ненужно если ты не играешь в игры. Более того - это ненужно будет делать тебе за твои деньги не просто ненужно, но еще и гадить как та англичанка.

КОгда я еще был юн и в игры иногда играл - меня дернуло купить игровой ноут. Ну вот казалось что это же так классно - можно на одном девайсе и играть, и работать, и там такая мощь для всего хватит, что я молодой здоровый гири поднимаю не унесу какие-то несколько кг? В общем одного опыта хватило. При том что в играх эта штука была чудесна, во всем остальном - боль и страдание. Продал это чудо , пересел на Thinkpad и выдохнул свободно - хоть игры оно не тянуло зато во всем остальном…

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

Ну как - игровые ноуты, игровые смартфоны.

Ох, это… Ну игровые ноуты — это просто чрезмерно мощные ноуты для тех, кто решил, что ноут может заменить десктоп. Нет, не может. Действительно ненужно. Я бы не сказал, что это из-за узкоспецифичности, скорее из желания впихнуть невпихуемое.

Игровые смартфоны — какой-то бред и тоже ненужно. Честно говоря, даже не сталкивался с такими. Видимо тот случай, когда идея закономерно не нашла широкой популярности.

Адово кликающие клавы

Игровые клавы не обязательно кликающие. Часто как раз наоборот, так что здесь дело точно не в узкоспецифичности. Мне вот нравятся именно кликающие клавы, но нравятся они мне именно потому что на них приятно набирать текст. А вот играть как раз по большей части нет разницы, хоть с кликом, хоть без, хоть вообще на самой дешёвой (главное исправной) мембранке.

на которых кнопы еще подписывают особо «читабельным» шрифтом - каким-то гибридом иероглифов с калякой-малякой и призванным изображать инопланетные символы расшифровать которые под силу разве что Кнорозову. И все это тоже за какие-то адские деньги при том что за эти деньги покуупаешь адовое ненужно.

Да, это именно то, о чём я говорил — чисто втюхивание ненужного под соусом того, что оно «игровое». Такой дизайн никак не заточен конкретно под игры, чисто маркетинговый ход. Продаваны убедили геймеров, что если девайс выглядит как звездолёт из комикса, то он «игровой», и именно такой тебе нужен, чтобы играть в игры, а тот, с которым просто приятно и удобно играть — ненужен.

Впрочем, читабельность шрифта на клавишах — это последнее, на что я смотрю при выборе клавиатуры, если честно. Слепой набор рулит.

Разве я что-то другое написал? да - все это совершенно ненужно если ты не играешь в игры. Более того - это ненужно будет делать тебе за твои деньги не просто ненужно, но еще и гадить как та англичанка.

Я говорю о том, что немалая часть из так называемых «игровых» девайсов не только совершенно ненужно если ты не играешь в игры, оно ещё и точно так же совершенно ненужно и если играешь! Чистый маркетинг. Видеокарты и геймпады с джойстиками — эти да, нужны. А типа-«игровые» кресла, клавы, мышки, корпуса, коврики, наушники, ручки, кружки, чашки, дилдо — это именно замануха, а не узкоспециализированные девайсы, как правило.

P.S. по этому поводу есть очень точный мем: https://0x0.st/Pz3S.jpg

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от Qui-Gon

и всё что требуется от скедъюлера - выжать максимум производительности для этой одной задачи

На кой чёрт ты несёшь дичь по вопросу в котором нихрена не понимаешь? Мог ведь промолчать и сойти за умного ещё какое-то время.

Почему мордокнига ставит ее на свои сервера - шут его знает.

Это знает любой кто удосужился хоть что-то прочитать по теме. https://github.com/sched-ext/scx/tree/main/scheds/rust - на, просвещайся.

Игровому планировщику нужно корректно обрабатывать таски с высокими требованиями к latency. Планировщику, заточенному на работу с виртуалками, это нафик не сдалось. Там есть примеры и того, и другого.

zabbal ★★★★☆
()
Ответ на: комментарий от Qui-Gon

…высасывающее батарею под ноль даже под легкой нагрузкой в простое за пару часов…

Ноутбуки простенькие часа 3 держат 100% нагрузку по cpu во время компиляции генту, часов 8 при просмотре видео.

Мышки…

Невесомые и живут месяц без подзарядки. Вообще не представляю, как можно использовать не игровую мышку независимо от рода занятий на ПК.

Адово кликающие клавы…

Кликающие клавы для печати делают. При этом механической клавиатурой за 1.5к рублей удобно пользоваться, а сидя за logitech k120 хочется разработчикам голову ей разбить.

Среди игровых девайсов адовая конкуренция, там есть как вещи по безумным ценам за понты и воздух, так и отличный функционал за минимальную цену. Жуткие игровые кресла часто самый дешевый способ получить хоть что-то крепкое и вменяемое, а игровые ноутбуки с простым экраном - доступный способ получить рабочую машинку с возможностью добавить память/ssd и погонять нейронки.

altwazar ★★★★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.