SMT (BIOS)

Материал из Абсурдопедии
Перейти к навигацииПерейти к поиску

SMT (BIOS), она же Simultaneous Multithreading, она же одновременная многопоточность, а в простонародье — хитрожопая технология, заставляющая одно физическое ядро твоего процессора притворяться двумя логическими. Это когда маркетологи Intel и AMD сначала продали тебе восьмиядерник по цене шестнадцатиядерника, а потом убедили, что это винрар и технологический прорыв. И ведь сработало же. Для 95% пользователей — это просто строчка в описании CPU на сайте магазина, для оставшихся 5% — повод для многолетних священных войн, источник ФГМ и оправдание собственной рукожопости.

Суть[править]

Представь себе кассира в Пятёрочке. Это твоё физическое ядро. У него есть руки, сканер, кассовый аппарат — всё в одном экземпляре. А теперь представь, что к нему выстроились две очереди. SMT — это когда начальник, эффективный менеджер, приказывает кассиру обслуживать обе очереди одновременно. Пока один покупатель ищет мелочь, кассир пробивает товар второму. Звучит гениально, правда? На бумаге — да. Производительность повышается, очереди движутся быстрее. Но иногда случается коллапс: оба покупателя одновременно протягивают карты, кассир впадает в ступор, роняет сканер, касса зависает, а баба Зина из первой очереди начинает орать на студента из второй. Примерно так SMT и работает в твоём компьютере.

Первопроходцами в этом нелёгком деле были, конечно же, синие гиганты из Intel со своей технологией Hyper-Threading (HT). Они вкрутили её ещё в легендарные Pentium 4 на ядре Northwood. В те далёкие времена, когда процессоры соревновались не в производительности на ватт, а в умении обогреть небольшую квартиру, HT выглядел как магия. Твой одноядерный «пень» внезапно показывал в Диспетчере задач два графика загрузки! Хомячки визжали от восторга, система становилась чуточку отзывчивее, а Intel получила повод продавать свои печки ещё дороже. Правда, реальный прирост производительности был далеко не двукратным, а в лучшем случае процентов 20-30, и то не везде. Но кого это волновало? Главное — ЧСВ владельца и два графика в системе.

Конкуренты из AMD долгое время шли своим, особым путём. Сначала они пытались родить нечто странное в архитектуре Bulldozer, где один модуль содержал два почти-ядра с общими блоками. Получилось, мягко говоря, не очень, и этот клей для дураков до сих пор икается красным фанатам в ночных кошмарах. Но потом пришла эпоха Ryzen на архитектуре Zen, и AMD наконец-то сделала свой SMT, который... работал. И работал неплохо. С этого момента и началась новая, ещё более ожесточённая эра бессмысленных споров в интернетах.

Священная война: SMT вкл/выкл[править]

Как и любой вопрос, в котором есть ровно два варианта ответа, тема включения SMT разделила компьютерное сообщество на два непримиримых лагеря, чьи баталии по накалу страстей дадут фору спорам о лучшей Доте или правильном способе заваривания Доширака.

Адепты секты Выключателей — это, как правило, мамкины геймеры, оверклокеры-теоретики и просто люди, у которых слишком много свободного времени. Их священное писание — это какая-нибудь замшелая ветка форума десятилетней давности, где авторитетный гуру доказал, что отключение Hyper-Threading даёт +5 FPS в Counter-Strike 1.6. С тех пор они свято верят, что SMT — это козни маркетологов, которые только мешают чистой, неразбавленной мощи физических ядер.

Их ритуалы сложны и многообразны. Они начинают с жертвоприношения в BIOS, где находят заветный пункт SMT Mode и с дрожащими пальцами переводят его в положение Disabled. Затем они часами гоняют бенчмарки, сравнивая скриншоты с результатами и доказывая на форумах, что их 1% low FPS стал стабильнее на 0,2 кадра в секунду. Продвинутые адепты идут дальше: они используют утилиты вроде Process Lasso, чтобы вручную привязывать процесс игры к определённым физическим ядрам, отключают ядро 0 (потому что на нём висит винда!), и совершают прочие шаманские действия, эффективность которых находится на уровне заряжания воды у телевизора.

Пацаны, кароч, отключил SMT на своём райзене 5600x и фпс в тарков просто взлетел! Раньше были просадки до 50, теперь стабильно 52! И статтеров меньше стало, отвечаю! Эти логические ядра только мешают, игра не понимает, куда потоки слать и путается. AMD нас обманывают!
— комментарий под видео о бусте FPS

Сторонники Оставить как есть — это унылые прагматики, которые используют компьютер не только для запуска одной-единственной игры. Это стримеры, видеомонтажёры, программисты, и даже — о ужас! — люди, которые держат открытыми больше трёх вкладок в Хроме. Они с высоты своих 16 потоков смотрят на «выключателей» как на суетливых муравьёв.

Их аргументация скучна и лишена романтики: современные операционные системы и приложения давно научились работать с многопоточностью. Пока ты играешь в свою игру, на фоне работают Discord, антивирус, торренты, обновления Windows и ещё сотня процессов, которые с радостью сожрут свободные логические потоки, не мешая игровому процессу. Отключив SMT, ты своими руками кастрируешь свой процессор, теряя до 30% производительности в рабочих задачах ради сомнительного и зачастую отсутствующего прироста в играх. Они не сидят на форумах, доказывая свою правоту с пеной у рта. Они просто работают, играют и не лезут туда, где всё и так настроено by default.

Игры, которые не шмогли[править]

Конечно, дыма без огня не бывает. Культ «выключателей» возник не на пустом месте. Существует целый пантеон старых, кривых или просто плохо оптимизированных игр, которые действительно могут работать хуже с включенным SMT/HT.

Причина проста: их движки писались во времена, когда многоядерные процессоры были экзотикой, а о логических потоках программисты слышали только в страшных снах. Такой движок видит, скажем, 12 потоков, пытается раскидать на них всю свою нагрузку, но не учитывает, что на самом деле это 6 пар потоков, делящих ресурсы одного ядра. В итоге потоки начинают конфликтовать друг с другом за исполнительные блоки, кэш и прочие ресурсы, что приводит к микрофризам, статтерам и общему падению производительности.

Классические примеры — некоторые игры на движке Source, старые части Arma, некоторые MMORPG и, конечно же, эмуляторы. Эмуляторы игровых приставок вроде RPCS3 (эмулятор PlayStation 3) — это вообще отдельная песня. Их работа тесно завязана на точной синхронизации и таймингах, и лишние логические потоки могут вносить хаос в эту хрупкую систему, вызывая проблемы. Также в группу риска попадают свежевышедшие, но забагованные проекты, вроде печально известного на старте Battlefield 2042, где отключение SMT было одним из немногих способов хоть как-то привести игру в чувство.

Однако, Анонимус, стоит помнить, что это — исключения, подтверждающие правило. Большинство современных AAA-проектов создаются с учётом многопоточности. Разработчики давно не идиоты и прекрасно знают, на каком железе будут играть пользователи. Отключение SMT в каком-нибудь Cyberpunk 2077 или The Last of Us скорее приведёт к потере производительности, так как игра просто не сможет эффективно использовать все доступные ресурсы твоего камня.

Особый путь X3D[править]

Отдельную главу в эту абсурдную сагу вписала сама AMD, выпустив свои процессоры с технологией 3D V-Cache (например, Ryzen 7 7800X3D). Эти камни несли на борту гигантский L3-кэш, который давал колоссальный буст в играх. Но с моделями, где было два кристалла (CCD), вроде Ryzen 9 7950X3D, начался цирк. Один кристалл был с 3D-кэшем (идеален для игр), а второй — без него, но с более высокими частотами (идеален для рабочих задач).

И тут на сцену вышел главный клоун — планировщик задач Windows-кун. Он, как выяснилось, абсолютно не понимал, что ему делать с этим чудом инженерной мысли. Он мог запросто запустить игру на неправильном кристалле, лишая пользователя всего профита от 3D-кэша. AMD в панике начала выпускать специальные драйверы и... рекомендовать пользователям включить Xbox Game Bar. Да, ты не ослышался. Игровая оверлей от Microsoft стала костылём, который помогал операционной системе определить, что запущена игра, и отправить её на нужные ядра. Это настолько абсурдно, что даже для тут звучит как плохая шутка.

Чтобы ваш топовый 16-ядерный процессор за 700 долларов работал правильно в играх, пожалуйста, убедитесь, что у вас установлен и включен виджет для скриншотов и записи видео.
— AMD, примерно 2024 год.

Эта история в очередной раз показала, что SMT — это лишь верхушка айсберга. Реальная производительность зависит от слаженной работы железа, операционной системы и софта. И если одно из звеньев — тупой и ленивый планировщик Windows — не справляется, то никакое шаманство с SMT в BIOS уже не поможет. Неудивительно, что на фоне этого линуксоиды в очередной раз ехидно хихикали в сторонке, ведь их ядро зачастую справлялось с такими задачами куда изящнее.

История повторилась и с выходом Zen 5, когда первые тесты показали довольно скромный прирост в играх по сравнению с предыдущим поколением. Фанбои тут же нашли нового козла отпущения, и им снова стал SMT. По сети разнеслись слухи о скрытой производительности, которую можно раскрыть, лишь отключив многопоточность. На деле же прирост оказался мизерным, в пределах погрешности, но это не помешало родиться новой волне «оптимизаторов», доказывающих, что AMD не обосралась, просто вы не умеете её готовить.

Ноутбучный ГУЛАГ[править]

Если владельцы десктопов могут хотя бы тешить себя иллюзией контроля над своим железом, то владельцы ноутбуков находятся в настоящем цифровом ГУЛАГе. Начитавшись советов по «оптимизации», несчастный юзер лезет в свой урезанный донельзя BIOS в надежде найти заветный переключатель SMT. И что же он там видит? Возможность поменять время и дату, выбрать порядок загрузки и, если повезёт, включить или выключить подсветку клавиатуры. Всё.

Производители ноутбуков, в своей безграничной заботе о пользователе, блокируют доступ ко всем мало-мальски важным настройкам. Официальная причина — стабильность и предотвращение перегрева. Неофициальная — чтобы юзер, не дай бог, не сломал свою дорогую игрушку и не побежал в сервисный центр с воплями: Я тут что-то нажал, и теперь всё синее и не работает!.

В итоге страдалец остаётся один на один со своими лагами и советами из интернета. Он пытается использовать Process Lasso, но это не всегда помогает. Он пишет гневные посты на Reddit, где ему сочувственно отвечают, что на ноутбуках так всегда. Он проклинает тот день, когда решил сэкономить и не купил полноценный ПК. А ведь он всего лишь хотел отключить SMT, чтобы получить свои +2 FPS в Valorant.

Так вкыл или выкл?[править]

Ответ прост: оставь, блядь, всё как есть.