Компания Centaur Technology разрабатывала x86-совместимые процессоры с 1995 года. В 1999 году она была приобретена VIA Technologies и занялась созданием чипов VIA C3, C7 и Nano. Наработки компании до сих пор используются в китайских процессорах Zhaoxin, а в 2019 году Centaur анонсировала CHA — совместимую с x86-64 архитектуру, предназначенную для серверов. Она включала 8 работающих на частоте 2,5 ГГц ядер CNS, нейронный процессор NCore для ускорения операций искусственного интеллекта (также работающий на частоте 2,5 ГГц), 16 МБ кэша третьего уровня, четырехканальный контроллер памяти DDR4 и 44  линии PCIe 3. Также CHA должна была поддерживать двухсокетный режим, работа над которым так и не была завершена.

Новый процессор позиционировался как самое бюджетное серверное решение с большим для своего времени количеством ядер и операций ввода-вывода, а также с высокой пропускной способностью памяти. Архитектура CHA поддерживала сотню гигабайт памяти на сокет, а четырехканальный контроллер DDR4 и 44 линии PCIe обеспечивали адекватную, хотя и не выдающуюся пропускную способность вне чипа. В Centaur не рассчитывали, что новая архитектура станет убийцей флагманов: сильной стороной CHA была компактность и низкое энергопотребление. Производительность процессоров была сравнима с Haswell-E (архитектура 2014 года), но даже рядом с ней чипы от Centaur выглядели малютками.

Маленький — не значит слабый

CHA изготовлен по техпроцессу TSMC FinFET (16 нм) и имеет размер кристалла 194 мм2. Haswell-E выпускался по технологическому процессу Intel FinFET (22 нм), а площадь его восьмиядерного кристалла составляла 355 мм2.

В итоге размер кристалла CHA занял чуть больше половины Haswell-E, хотя чипы были в целом сопоставимы: оба имели по восемь подключенных к четырехканальному контроллеру DDR4 ядер, оба поддерживали конфигурации с двумя сокетами, а их различия со стороны блока центрального процессора и подсистемы ввода-вывода были незначительными. CHA имела немного больше линий PCIe (44 по сравнению с 40 у Haswell-E), а Haswell имела 20 МБ кэш-памяти L3 по сравнению с 16 МБ на CHA. 

Даже при таком раскладе восемь ядер CNS и их кэш L3 занимали всего треть кристалла по сравнению с половиной места, отведенного вычислительным ядрам и кэшу на Haswell-E. Это позволило поместить в процессор NCore: ускоритель машинного обучения занимал примерно столько же площади, сколько восемь ядер CNS, поэтому он, определенно, был одним из приоритетов при разработке CHA и на то время мог помочь чипу показывать не худшие результаты. Centaur продолжил быть «младшим братом» даже с уменьшением норм техпроцесса при переходе к 14 нм в микроархитектуре Broadwell.


По вычислительной производительности архитектура Centaur уступала решениям Intel (не забываем, что она должна была стать значительно более эффективной по цене и энергопотреблению), но раскрывала себя в задачах, использующих набор команд AVX-512 или оптимизированных для NCore.

В тесте многопоточного расчета числа Pi Y-Cruncher более 20% выполненных инструкций принадлежат расширению ISA AVX-512. На этом фоне CHA выглядит достойным соперником процессору i7 серии 4000 (и аналогичным ему Xeon). Если понизить частоту процессора Intel до рабочей чипа Centaur и ограничить количество потоков, то последний выигрывает всухую.

Итоговое время вычислений. Чем меньше, тем лучше.
Итоговое время вычислений. Чем меньше, тем лучше.

Сравниваем с Zeppelin и Coffee Lake

Что будет, если сравнить процессор Centaur с архитектурами, кристаллы которых занимают близкую к CHA площадь? Например, с Zeppelin (она же Zen 1) и Coffee Lake, благо обе также имеют по 16 МБ кэша третьего уровня.

Начнем с микроархитектуры Zeppelin, которая появилась в 2016 году и лежала в основе процессоров AMD до 2019 года. В серверных процессорах EPYC кристалл AMD содержит восемь ядер Zen 1 в двух кластерах по четыре, каждый с 8 МБ кэша L3. По размеру он примерно на 9% больше чем CHA (и это при 14 нм против 16 нм), но имеет вдвое меньше каналов DDR4. У Zeppelin также меньше линий PCIe: 32 против 44 у CHA. Процессоры AMD изначально были рассчитаны на высокие частоты работы, и архитектура Zen 1 использует 128-битные исполнительные блоки и регистры, а 256-битные инструкции AVX разделены в них на две микрооперации.

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

Кадров в секунду. Чем больше, тем лучше.
Кадров в секунду. Чем больше, тем лучше.

При большом количестве векторных операций (а особенно при оптимизации ПО под инструкции AVX-512) уже архитектура CHA показывает превосходство над Zen.

Итоговое время вычислений. Чем меньше, тем лучше.
Итоговое время вычислений. Чем меньше, тем лучше.

Coffee Lake — это микроархитектура процессоров Intel восьмого поколения, которые также изготавливались по техпроцессу 14 нм. Около четверти кристалла Coffee Lake приходилось на встроенный графический процессор: как в абсолютном, так и в процентном выражении iGPU занимал больше места чем NCore Centaur, что свидетельствует о важности, которую Intel придает встроенной графике и аппаратному энкодингу. После учета ядер, кэш-памяти и iGPU остается не так много места на кристалле. Большая его часть используется для реализации скромных возможностей ввода-вывода, что делает Coffee Lake очень эффективной архитектурой с точки зрения площади. Она упаковывает больше мощности процессора в меньшую площадь кристалла чем архитектуры CHA или Zeppelin.

Ядра CPU SkyLake в микроархитектуре Coffee Lake также предназначены для работы на высоких частотах, аналогично Zen, что делает сравнение с низкоскоростными CHA не совсем корректным.
Что касается поддержки инструкций, эту архитектуру можно назвать “AVX-512 ready”, так как по факту она использует два блока AVX-256 для операций с плавающей точкой и 3 блока для векторных вычислений.

Важность полноценной поддержки инструкций AVX-512 видна из графика, где серая полоска показывает скорость вычислений с полным использованием инструкций данного типа в тесте Даниэля Лемайра при конвертации двоичных целых чисел в символы ASCII по сравнению с методом вычисления по таблице (красная полоска). Архитектура CHA тут выигрывает даже у двенадцатого поколения процессоров Intel.

Стоит отметить, что Intel и даже AMD выигрывают при использовании специализированных инструкций AVX512-IFMA (синяя полоска), но тут сказывается частота работы процессоров и, при грамотной оптимизации, применение Centaur CHA для вычислительных задач было бы эффективней.

Если на стандартных инструкциях x86-64 Centaur проигрывает всухую, то AVX-512 дают ему «впрыск нитро».
Если на стандартных инструкциях x86-64 Centaur проигрывает всухую, то AVX-512 дают ему «впрыск нитро».

Intel и AMD уходят в отрыв

При энергопотреблении всего в 65 Ватт (не забываем про техпроцесс в 16 нм) CHA был бы отличным выбором для недорогих, маломощных, но при этом достаточно производительных вычислительных серверов. Сопроцессор NCore у CHA мог достигать производительности до 20 тера-операций в секунду (TOPS) с низким уровнем задержек при выполнении любых операций, связанных с ИИ. Для сравнения NVIDIA Tesla V100 2017 года обеспечивала производительность до 100 TOPS и стоила $5000 на момент начала продаж.

Почему был бы? Во-первых, в 2019 году появилась новая архитектура Zen 2 от AMD, которая могла похвастаться 7-ю нанометрами, 256-битными блоками векторных вычислений, высокими частотами работы и многопоточностью, позволяющей обрабатывать в два раза больше потоков на тех же физических ядрах. Intel также не отставала и пошла по пути уменьшения техпроцесса и улучшения производительности. В результате уже архитектура CHA при сравнении с «одноклассниками» потеряла весь шарм.

Итоговое время вычислений. Чем меньше, тем лучше.
Итоговое время вычислений. Чем меньше, тем лучше.

Итоги

Архитектуре CHA мог бы пойти на пользу более тонкий техпроцесс или увеличение количества ядер в процессорах, но осенью 2021 года вся команда разработчиков Centaur была куплена у VIA компаний Intel. Может быть, мы увидим эти наработки в новых «синих» процессорах: их энергоэффективные ядра станут поддерживать инструкции AVX-512, а чипы смогут на равных бороться как с многоядерными EPYC, так и с GPU от NVIDIA.

____

А пока этого не случилось, можно арендовать мощные серверы с AMD EPYC или RTX NVIDIA со специальной скидкой от HOSTKEY для читателей «Хабра»: при размещении заказа назовите консультанту специальный пароль «Я С ХАБРА» — и дисконт ваш.

Комментарии (5)


  1. avdx
    08.06.2022 11:38

    Если на стандартных инструкциях x86-64 Centaur проигрывает всухую, то AVX-512 дают ему «впрыск нитро».

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


    1. ner0
      08.06.2022 12:49

      В России могут начать производить процессоры с x86 архитектурой?


      1. Serge78rus
        08.06.2022 17:06
        +4

        Как задан вопрос — так и будет дан ответ: К1810ВМ86 производился еще с конца 80-х.


    1. akdengi
      08.06.2022 14:14

      Синяя полоска это при применении IFMA инструкций, красная инструкций стандартного мат аппарата процессора, а вот серая как раз полноценное AVX-512, причем в разгоне на сопоставимых частотах. В любом случае даже с 12 поколением там бардак у Интела с этими инструкциями.


      1. avdx
        08.06.2022 14:54

        Там же на картинке все подписано. Серое - это именно "speedup", т.е. величина ускорения при использовании AVX-512 инструкций (конкретно IFMA инструкций, но в подписи не стали уже разжевывать). Поэтому и для серого отдельно числа указаны, чтобы было понятно, что это другие единицы измерения - "разы" вместо наносекунд для синего и красного.