LINUX.ORG.RU

Мысли про архитектуру Alder Lake

 , ,


1

1

Чего-то чем далее, тем более оно странно выглядит. Запишу-ка на память.

1) Это как надо было упороться, чтобы разным ядрам (производительным и энергоэффективным) дать разные CPUID, ну вот зачем, чтобы жизнь медом не казалась? Оно кажется логичным только с первого взгляда, но CPUID - это до сих пор был идентификатор устройства а не ядра в нем. Отсюда уже пошли приколы в некоторых приложениях.

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

С другой стороны, учитывая, что ряд инструкций не доступен на E-cores и эту ситуацию надо как-то учитывать ... В общем дурдом.

2) Планировщик задач. Если подумать, сложно представить, как вообще должен работать тут правильный планировщик, потому что в зависимости от сценария использования и ОС и приложения могут быть разные подходы. Сейчас юзеры жалуются, что можно запустить что-то тяжелое, например рендеринг, переключиться на браузер и планировщик (виндовый) вытолкает рендеринг на слабое ядро, хотя логично было бы наоборот. Но планировщику не известно как правильно, хотя бы потому что браузер тоже может жрать ресурсы и по другой логике его таки правильно определить на P-Core.

3) До сих пор что-то не особо выходит компенсировать аппаратные усложнения правильным софтописательством. Или получается, но для ограниченного круга задач, обычно серверных решений.

★★★★★
Ответ на: комментарий от praseodim

Ещё можно поводить мышкой над окном, тогда процесс ещё быстрее завершится.

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

преимуществ для десктопа\сервера нет

4.2 tdp всегда ограничен, энергоэффективные ядра выгоднее в определённых задачах.

anonymous
()
Ответ на: комментарий от sfedosenko

Производительность упирается в энергоэффективность.

anonymous
()
Ответ на: комментарий от dk__

при всём уважении к спецам интела, это всё еще люди, которым свойственно ошибаться, иначе бы itanium и pentium4 не существовало бы

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

длинным конвейером и большим количеством cache miss. Это позволило рисовать красивые циферки в графе «тактовая частота», но на практике это дало только отличный нагрев и полный слив атлонам

Примерно на ту же проблему чуть позже наступил AMD FX, чей потанцевал раскрывают по сей день.

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

большим количеством cache miss

4.2 Там как раз был крутой бранч предиктор. Но из-за общей кукурузности микроархитектуры это ему особо не помогало.

anonymous
()
Ответ на: комментарий от praseodim

По уму софтописателям надо дать интерфейс к планировщику типа вот в этом треде я буду исполнять такие инструкции, поэтому ос будь добра выполняй его на процессоре с ними. В принципе и сейчас можно в юзерспейсе реализовать такую логику, собрать со всех ядер через cpuid какие возможности у них есть, а дальше через cpu affinity сказать какие треды каким потокам использовать. Аналогичные ручки нужно дать софтописателям для разнесения разных частей приложения по P/E ядрам в зависимости от потребной производительности. В винде такое API есть, про онтопик не в курсе. А механизм с отловом исключения надо оставить для старых или однопоточных приложений, которые не осилили треды или не знают таких технологий

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

Не надо там тестов. ОС получает эту информацию от UEFI через спецификацию CPPC2

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

В онтопике для этого есть taskset, в винде читал про некоторый софт называемый process lasso, который сидит в фоне мониторит запускаемые процессы и назначает им cpu affinity согласно пользовательским настройкам

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

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

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

Ты хочешь путем исключения дать определение фоновой задачи?

anonymous
()

Теория заговора (это когда ищется объяснение полученным результатам)

Эта «архитектура» удобна для утилизации брака. Брак в блоках кеша или avx - будет «энергоэффективное ядро» с урезанным кешем и без avx. Круто же ж!

anonymous
()
Ответ на: комментарий от shalom_

Херня там написана, реальный буст на все ядра для 12700KF 4.9, а для 11700F 4.4.

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

Брак в блоках кеша или avx - будет «энергоэффективное ядро» с урезанным кешем и без avx.

Да но нет. Ядра слишком разные, это не огрызок большого ядра, а действительно другая микроархитектура.

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

будет «энергоэффективное ядро

Не будет, отношение производительность/потребление уже замеряли.

anonymous
()

А ИШО ОНИ ГРЕЮЦА И ЖРУТ 300КАЛОВАТЧАС

ЛЮБОЙ НАРМАЛЬНЫЙ ЧИЛАВЕК КУПИТ 5950Х

anonymous
()
Ответ на: комментарий от cobold

В онтопике для этого есть taskset

Что? Вы хотите сказать что существуюшие костыли справляются с этой ПРОБЛЕМОЙ ГАЛАКТИЧЕСКОГО МАСШТАБА?

Никогда такого не было, чтобы гордый линуксойд опускался до того, чтобы что-то печатать в консолях!

Линукс же в первую очередь известен тем, что всегда работает с новыми железками из коробки…

anonymous
()
Ответ на: комментарий от Chord

Я так надеюсь. Ибо планирую обновить железяку на что-то из разряда 12400/12300.

Щас бы брать меньше 16 ядер в 2220 веке когда еще несколько лет выяснили что 12 ядер ели еле стрим тянит

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

Да не, не может быть. Общеизвестно, что fx тянет абсолютно всё, а там меньше ядер…

anonymous
()
Ответ на: комментарий от fsb4000

Вроде же убрали AVX-512 поэтому в больших ядрах.

Но т.к. решили убрать на поздней стадии ввода в эксплуатацию, то в силиконе он остался, включается в БИОСе и работает. Разве что, без заводского тестирования нет гарантий насколько верно.

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

чушь собачья. Там литография блоков ядер разная абсолютно и просто на уровне фьюзов из энергоэффективного ядра не сделаешь производительное.

Беда в этих долбанных AVX-512, которым Линус пожелал сдохнуть в мучениях. Все эти шедьюлеры ядра в общем случае ни ухом ни рылом когда инструкция avx-512 может прилететь - и это уже надо как-то помечать бинарники есть там avx-512 или нет. А в противном случе ловить эксепшены и перенаправлять задачи на другое ядро с соответствующим оверхедом, либо вообще последовать совету линуса и убить avx-512 вообще оставиви их только серверам где энергоэффективные ядра нафиг не сдались. То есть по сути сделать как АМД. На виндоуз в общем случае бинарные сборки не используют AVX-512 так как они должны поддерживать совместимость - поэтому в оффтопике все будет более-менее гладко. А вот в мире опенсорса когда компилятор может в любое место засунуть код avx-512 нежданчики будут нормой жизни.

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

Линус лох, а не разработчик процессоров или пользовательского софта, ты уж меня извини. Они там в ядре помешаны на избегании использования fpu вообще, так что сам себя сделал некомпетентным в этом вопросе. В софте, который способен это всё использовать прирост дай боже, и это при том, что E-ядра ОТключены в случае использования avx512 и ВКлючены без его использования.

anonymous
()
Ответ на: комментарий от izzholtik

Есть одна…

jet@earth:~$ sudo dmidecode -t processor | grep Version
        Version: 12th Gen Intel(R) Core(TM) i7-12700K

Каких-то проблем не наблюдаю пока что. Одна «непонятность» в том что греется как сотона, и разгоняется до 90+ температур просто в мгновение ока, водянка за ним не поспевает… Я просто не местный, с хасвел-е пересел, там такого не было…

многократная пересборка кернелов с -j20 (деб пакетов кернельных) с одновременным браузингом и кодингом фризов не показывала, хоть проц все время был в 100%, ЛА в районе 6-10(что странно и маловато)… https://imgur.com/a/PXMqYh1

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

Производительность нужно как-то охладить. А когда только лишь один проц под 200Ватт в тепло превращает… Ну такое…

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

А как тогда андроид работает на армовских литтлбигах? Ядра там разные, я правда не разбирался один у них набор инструкций или есть отличия тоже

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

Заходишь в биос выставляешь power limit, который тянет система охлаждения и работаешь. Но выглядит как будто что-то идёт не так. Стоит прижим проверить и правильность сборки водянки

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

набор инструкций один, основная в разница в OoOE и Branch prediction.

Емнип, там задача привязывается к кластеру ядер на момент запуска приложения и покинуть его не может.

Ровно тоже самое мог бы сделать Intel - на уровне системы просто читать из метаданных экзешника флаг «use e-cores», но тогда в бенчах красивые циферки не рисуются

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

Не хватает потока воздуха(водянка под 140Ватт). Пока вентилятор разгонится до макс оборотов (около 1-1.5 секунд) вот тогда температура и возвращается в разумные пределы… Я, если чесно, ждал что оно тротлится будет, а нифига, добежало до 90 и пока охлад разгоняется частоты не падают… 4+ггц держатся… Как-то непосебе…

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

Там в биосе есть настройка макс температуры. Только бенчами проверьм, может выгоднее по мощности ограничить, как выше написали.

anonymous
()

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

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

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

О!!! Запили тест конпеляции ведра с включеными Е и выключеными

serg002 ★★★
()
Последнее исправление: serg002 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Только тепловыделение вырастает непомерно и про автономность можно забыть. Энергоэффективность инструкций avx-512 - днище. Да - за счет безумного нагрева и ужора энергии интел в одноядерном режиме обходит АМД, но АМД тупо удваивает количество ядер без этого самого avx-512 и в многопоточном процессинге остается в хорошем плюсе. А если мы говорим про ноутбуки - собственно единственное железо которым нужны Е-ядра - то на кой шут ноутбукам avx-512? Ноутбучная производительность вообще упирается в систему охлаждения - и использование энергонеэффективных инструкций avx-512 дает перегрев и троттлинг множащий на ноль все их преимущества.

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

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

Привязка к кластеру только в случае лютой ассиметрии - на сегодняшний день это поддержка aarch32 ISA на уровне el0, т.е. юзерспейсе - некоторые вендоры стали смешивать aarch64-only с «обычными» ядрами. В остальном никакой другой привязки нет. Для эффективного использования предлагается задать метрики для EAS (ну или полагаться на костыли в ядрах от вендоров)

anonymous
()

что ряд инструкций не доступен на E-cores и эту ситуацию надо как-то учитывать

Интел пообещал отключит AVX-512 и на больших ядрах, так что все нормально, можно не учитывать.

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

Супер, даж как-то не пришло в голову.

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

за исключением одной ремарочки: пыщ-пыщ менеджмент интоля мог вполне надеятся, что они победят AVX512 и будет холодно и энергоэффективно

Получается что не шмогли.

anonymous
()

Добавлю еще забавный факт на предмет торта и не торта в Дебиане :) Ну короче не торт:

  • стабильное ядро 5.10 - взлетает но не работает сеть и ACM(виртуальный компорт)
  • бекпорченое ядро 5.14 - взлетает но не работает сеть и все USB3 порты
  • експерементальное 5.16-rc8 - не взлетаеет блоб nvidia хотя сама компиляция и подгрузка модулей без ошибок
  • тестинговое 5.15 - все работает, но что-то непонятное с выключением и ребутом, в смысле через раз зависает уже на самом ребуте/шутдауне когда система уже закончила работать, так сказать посля фразы «Rebooting now»

Ядра 5.15 и 5.16 довольно «легко» бекпортируются в стейбл с минимальными правками в debian/* сорс пакета… Зато оценил скорость работы проца в чистой компиляции (SSD + HDD Raid) ядра и она возмутительно быстрая.

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

Всё там нормально с энергоэффективностью, амд за счёт них нагибается и дополнительные ядра ему не помогают. Лох у нас линус с регистрантом.

anonymous
()
Ответ на: комментарий от praseodim

Да, южный мост z690 + 12700k… Хз, мож MSI дичи какой-то нагородила в свою материнку, хотя что там городить, восновном все по референсу… Сетевуха Intel I225V

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

Ммм, вообще-то MSI славится как раз умением нагородить там, где остальные по референсу делают. К примеру, когда я выбирал плату под Zen2, только MSI заблочила ECC на них.

praseodim ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.