Разделы

Цифровизация Электроника Техника

«Эльбрусы» приблизились по производительности к Intel 2014 года

В распоряжении энтузиаста оказались серверные процессоры «Эльбрус», которые он использовал для теста, сравнивая производительность этих чипов с распространенными моделями Intel и AMD.

Проверка для «Эльбрусов»

В Сети появились результаты частного сравнительного исследования производительности отечественных процессоров «Эльбрус-8C». Выводы эксперта под ником Seti уже некоторое время размещались на интернет-форумах. 27 февраля 2020 г. их на своем сайте опубликовал Максим Горшенин, сотрудник МЦСТ — компании, занимающейся разработкой упомянутых чипов.

«Эльбрус-8C» представляет собой восьмиядерный центральный процессор серверного класса. Заявленная тактовая частота — до 1300 МГц. Чип спроектирован и изготовлен по технологическим нормам 28 нм. Его архитектура позволяет выполнять до 25 операций за один такт в каждом ядре — 250 млрд операций с плавающей запятой в секунду.

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

Для исследования были использованы ресурсы тематического проекта RakeSearch Карельского научного центра Российской академии наук.

В сравнении с грандами

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

Диаграмма 1

«Что мы видим, — говорит он. — С одной стороны, скорость вычислений "на одном потоке" в "Эльбрус-8C" проигрывает современным десктопным процессорам (они отмечены зеленым цветом) в два-три раза, в некоторых случаях — до четырех. Однако при сравнении с серверными процессорами (выделены синим цветом), разрыв уменьшается до полутора-двух раз, так как их частоты значительно ниже. Но в них — больше ядер и потоков. А в "Эльбрусе" — частота еще ниже — всего 1,3 ГГц, и если мы это учтем, то увидим, что производительность на такт у него как минимум не хуже, чем у лучших десктопных и серверных процессоров».

Далее автор переходит к рассмотрении валовой производительности. В квадратных скобках после модели процессора указано число потоков, опознанных BOINC-клиентом. Комментируя диаграмму, специалист поясняет, что мы здесь имеем дело не с отдельно взятыми чипами, а с системами на их основе. «В случае с десктопными процессорами (также отмечены зеленым) в системе может быть только 1 CPU, — сообщает автор. — В случае серверных систем на основе Xeon E5 — до двух CPU. А вот в случае с "Эльбрус-8С" в сервер можно поставить и четыре процессора. И это существенно уменьшает отставание в ситуации, когда у того же Xeon E5-2683 v3 на один сокет приходится 14 ядер (и 28 потоков), а у "Эльбруса" — восемь. Двусокетной машине с 28 ядрами уже сейчас можно сопоставить машину на "Эльбрусе" с 32». Отметим, что IntelXeon E5-2683 v3 был выпущен в 2014 г.

Диаграмма 2

Автор полагает, что из диаграммы ясно видно, что существующие модели не смогут конкурировать с десктопными системами ни по производительности ни, скорее всего, по цене — в этом нет никакой интриги. «А вот в серверном сегменте ситуация куда интереснее, — добавляет он. — Система, аналогичная серверу с двумя Xeon E5-2683 v3 будет стоить где-то $10-12 тыс., и возможно, что в отдельных секторах этого рынка "Эльбрусы" могут составить конкуренцию уже сейчас. В случае же, реализации планов по наращиванию числа ядер (16 и 32) и частот, ситуация может стать еще лучше».

Важное дополнение

Автор добавляет к диаграммам пояснения про параллельность внутри потока. «Если мы посмотрим на любую программу, то скорее всего увидим, что даже в "исключительно однопоточном" в силу алгоритма коде далеко не все операции (или строки кода) процессор обязан выполнять строго последовательно, — пишет он. — Например, в одной из двух основных по времени работы функций в расчетном модуле R10 есть вот такие строчки:

...

<Начало цикла>

rowId = path[cellId][0];

columnId = path[cellId][1];

В тренде мультиоблако — изучаем плюсы и минусы
Облака

isGet = 0;

cellValue = Square::Empty;

freeValuesMask = (1u << Rank) - 1;

freeValuesMask &= flagsColumns[columnId] & flagsRows[rowId] & flagsCellsHistory[rowId][columnId];

Взаимный спрос: как рост медтеха в России формирует приток ИТ-специалистов в отрасль
Маркет

...

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

То есть, в рамках нашего алгоритма есть возможность распараллеливания на уровне отдельных инструкций, продолжает эксперт. Но, в тоже время, число подобных действий невелико, в пределах пяти-десяти, что, скорее всего, позволяет неплохо задействовать эти возможности в современных процессорах AMD и Intel, которые могут выполнять как раз где-то около пяти-восьми инструкций одновременно, но лишь частично задействуют возможность "Эльбрус-8C" в котором число одновременно выполняемых инструкций может достигать 25! А это значит, что в задачах с более высокой степенью "внутреннего параллелизма" соотношение может изменяться в пользу "Эльбрус-8C" до трех-пяти раз и, даже системы, существующие сейчас, в ряде задач могут выходить в лидеры и по однопоточной производительности, и по валовой производительности CPU, и по валовой производительности системы. Результат в RakeSearch, по сути — это результат в самых неподходящих условиях. И это делает данные результаты еще интереснее».

Денис Воейков