Компания 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 для вычислительных задач было бы эффективней.
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 для читателей «Хабра»: при размещении заказа назовите консультанту специальный пароль «Я С ХАБРА» — и дисконт ваш.
avdx
Совершенно неверная интерпретация картинки. Серая полоска - это во сколько раз получается ускорение при использовании AVX-512, т.е. равна отношению длин красной и синей. Т.е. эта архитектура проигрывает как по абсолютным показателям так и по относительными.
ner0
В России могут начать производить процессоры с x86 архитектурой?
Serge78rus
Как задан вопрос — так и будет дан ответ: К1810ВМ86 производился еще с конца 80-х.
akdengi
Синяя полоска это при применении IFMA инструкций, красная инструкций стандартного мат аппарата процессора, а вот серая как раз полноценное AVX-512, причем в разгоне на сопоставимых частотах. В любом случае даже с 12 поколением там бардак у Интела с этими инструкциями.
avdx
Там же на картинке все подписано. Серое - это именно "speedup", т.е. величина ускорения при использовании AVX-512 инструкций (конкретно IFMA инструкций, но в подписи не стали уже разжевывать). Поэтому и для серого отдельно числа указаны, чтобы было понятно, что это другие единицы измерения - "разы" вместо наносекунд для синего и красного.