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

2215

28.02.2020, Пт, 09:13, Мск , Текст: Денис Воейков

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

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

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

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

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

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

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

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

elbrus1.jpg

Диаграмма 1

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

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

elbrus2.jpg

Диаграмма 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, по сути — эторезультат в самых неподходящих условиях. И это делает данные результаты ещеинтереснее».

 

СЛЕДУЮЩИЙ МАТЕРИАЛ РАЗДЕЛА "IT"