Методика сравнительной оценки характеристик производительности современных суперкомпьютеров
Автор: Брякалов Г.А., Захаров А.И., Неретина К.А., Швец Т.С.
Рубрика: Информатика и вычислительная техника
Статья в выпуске: 3, 2023 года.
Бесплатный доступ
Статья посвящена вопросам анализа причин опережающего роста производительности вычислительных средств мирового уровня по сравнению с отечественными, а также оценке факторов, параметров и элементной базы, оказывающих непосредственное влияние на повышение производительности лучших суперкомпьютеров мира. Статья предназначена для инженерно-технических работников, разрабатывающих и эксплуатирующих вычислительную технику.
Суперкомпьютеры, производительность вычислительных средств, параллельное программирование
Короткий адрес: https://sciup.org/148327119
IDR: 148327119 | DOI: 10.18137/RNU.V9187.23.03.P.128
Текст научной статьи Методика сравнительной оценки характеристик производительности современных суперкомпьютеров
Суперкомпьютер (далее – суперЭВМ) – вычислительная машина, значительно превосходящая по своим техническим параметрам большинство существующих компьютеров. Как правило, современные суперкомпьютеры представляют собой совокупность высокопроизводительных серверных компьютеров, соединенных друг с другом локальной высокоскоростной магистралью для достижения максимальной производительности в рамках подхода, связанного, например, с распараллеливанием вычислительных задач [13].
Производительность «обычных», или так называемых «больших» ЭВМ, порой оказывается недостаточной для ряда приложений, например, прогнозирования погоды, ядерной энергетики, обороны и др. Эти обстоятельства стимулировали создание сверхбольших или суперЭВМ. Такие машины обладают колоссальным быстродействием, основанном на выполнении параллельных вычислений и использовании многоуровневых иерархических архитектур.
Стоимость отдельной ЭВМ такого класса достигает сотен миллионов долларов, а само определение понятия «суперкомпьютер» не раз было предметом многочисленных споров и дискуссий.
Впервые термин «суперЭВМ» был использован в начале 60-х годов, когда группа специалистов Иллинойского университета (США) под руководством доктора Слоника предложила идею реализации первой в мире параллельной вычислительной системы. Проект, получивший название SOLOMON, базировался на принципе векторной обработки, который был сформулирован Дж. фон Нейманом в начале 50-х годов [13].
Методика сравнительной оценки характеристик производительности ...
Брякалов Геннадий Алексеевич кандидат технических наук, доцент, доцент кафедры математического и программного обеспечения, Военно-космическая академия имени А.Ф. Можайского, Санкт-Петербург. Сфера научных интересов: информационные технологии, информатика, организация вычислительного процесса, программирование. Автор более 100 опубликованных научных работ.
В общеупотребительный лексикон термин «суперкомпьютер» вошел благодаря распространенности компьютерных систем Сеймура Крея , таких как, CDC 6600, Cray-1 и Cray-2 . Сеймур Крей разрабатывал вычислительные машины, которые становились основными вычислительными средствами правительственных, промышленных и академических научнотехнических проектов США с середины 60-х годов до 1996 года. Не случайно, что в то время одним из популярных определений суперкомпьютера было следующее – это «любой ком пьютер , который создал Сеймур Крей» [13]. Сам же Крей предпочитал использовать обычное название – «компьютер». Помимо перечисленных вариантов использования суперЭВМ важным направлением является их применение при организации параллельных вычислений. Поэтому кратко остановимся на основных положениях параллельного программирования.
Основные понятия параллелизма
Прежде всего нужно остановиться на вопросах, раскрывающих суть идеи параллелизма.
Из описания систем, способных исполнять несколько программ параллельно, в первую очередь можно выделить следующие:
-
• многоядерные;
-
• многопроцессорные;
-
• многопоточные.
Разные виды параллелизма появлялись в разное время и в несколько непоследовательном порядке. Чаще всего используемый и неоднозначный вид параллелизма называли про- цессором. В современном мире процессор, или package, – это уже неделимая сущность на материнской плате, представленная одним или несколькими чипами. Поддержка нескольких процессоров в одной системе требует многочисленных изменений в ее структуре [13].
Одними из первых многопроцессорных систем на процессорах Intel стали системы, поставляемые с 1987 года организацией Sequent Computer Systems, а поддержка нескольких чипов в одной системе стала доступной с Intel® Pentium [4; 11].
На данном этапе выявился недостаток, характерный для многих многопроцессорных систем: чем в системе больше процессоров, тем выше ее производительность, однако при этом возрастает стоимость коммуникаций между процессорами, и передача общих данных осуществляется с большими задержками.
Выход из этой ситуации был найден за счет высокой интеграции элементов, когда схемы приблизили друг к другу, разместив их на одном кристалле в виде ядра. Исторически это вылилось в многоядерность, которая проявилась в системе Intel Hyper Threading (далее – HT). Первые многоядерные процессоры IA-32 от Intel были представлены в 2005 году [5; 11], с тех пор среднее число ядер на разных платформах неуклонно растет, а в Intel Pentium 4 была представлена новая технология (гиперпотоки). Как и ядра, гиперпотоки делят между собой память с определенного уровня [6; 12]. К тому же HT – это частный случай того, что в литературе именуется одновременной многопоточностью (SMT).
Наличие HT позволяет быстро переключать свободные исполняющие узлы к другому архитектурному состоянию и исполнять его инструкции.
Следует отметить, что работа серверных приложений, рассчитанных на машинные архитектуры общего назначения, также имеет потенциал к параллелизму, реализуемому с помощью технологии HT. Однако этот потенциал быстро «расходуется», поэтому число аппаратных гиперпотоков обычно не превышает двух. На типичных сценариях выигрыш от использования трех и более гиперпотоков невелик, а проигрыш в размере кристалла, его энергопотреблении и стоимости значителен.
Может оказаться так, что в конкретной системе из основных элементов, составляющих параллелизм (процессоры, ядра, гиперпотоки, тактовая частота генератора), некоторые будут отсутствовать. На это влияют настройки BIOS (многоядерность и многопоточность отключаются независимо) – это особенности микроархитектуры. Этот многоуровневый параллелизм определяется операционной системой и в конечном счете – прикладными приложениями.
Для удобства количество процессоров, ядер и гиперпотоков в некоторой системе обозначают тройкой ( x , y , z ), где x – это число процессоров, y – число ядер в каждом процессоре, z – число гиперпотоков в каждом ядре. При этом учитывается тактовая частота задающего генератора. Эта тройка называется топологией, а произведение p = x × y × z определяет число, именуемое логическими процессорами системы [7; 10]. Оно определяет полное число независимых прикладных процессов в системе с общей памятью, исполняющихся параллельно, и учитывается операционной системой.
Определение величины производительности суперЭВМ
Поскольку производительность современных суперЭВМ измеряется во флопсах, поясним сущность этой единицы.
FLOPS (флопс или флоп/с) от англ. FLoating-point OPerations per Second – внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычисли- тельная система.
Методика сравнительной оценки характеристик производительности ...
С появлением данных терминов среди специалистов существовали разные мнения: одни считают, что эти термины – синонимы, другие полагают, что FLOP – это количество операций с плавающей запятой, а FLOPS – мера производительности, или способность выполнять определенное количество операций с плавающей запятой за секунду [13].
Одним из важнейших достоинств измерения производительности во флопсах является то, что данная единица до некоторых пределов может быть истолкована как абсолютная величина и вычислена теоретически.
Кроме того, флопс подвержен влиянию очень многих факторов, напрямую не связанных с производительностью вычислительного модуля, таких как пропускная способность каналов связи, производительность основной памяти и синхронность работы памяти разных уровней.
Как и большинство других показателей производительности, данная величина определяется путем запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена.
Наиболее популярным тестом производительности на сегодняшний день являются тесты производительности LINPACK, в частности тест HPL, используемый при испытаниях и составлении рейтинга суперкомпьютеров TOP500.
При подсчете максимального количества флоп для процессора нужно учитывать, что современные процессоры в каждом своем ядре содержат несколько исполнительных операций (в том числе и для операций с плавающей запятой), работающих параллельно, и могут выполнять более одной инструкции за такт. Данная особенность архитектуры называется суперскалярностью и впервые появилась в ЭВМ CDC 6600 в 1964 году. Массовое производство компьютеров с суперскалярной архитектурой началось с выпуском процессора Pentium в 1993 году. Процессор конца 2000-х Intel Со 2 также является суперскалярным и в каждый такт позволяет достичь пиковой производительности до 4 операций за 1 такт в каждом ядре.
Таким образом, для этого процессора, имеющего в своем составе 2 ядра (Со 2 Duo) и работающего на частоте 3 ГГц, предел производительности составляет
2 × 4 × 3 ГГц = 24 гигафлопс;
для процессора, имеющего в своем составе 4 ядра (Со 2 Quad) и работающего на частоте 3,5 ГГц, теоретический предел производительности составляет
4 × 4 × 3,5 ГГц = 56 гигафлопс.
Продолжая рассуждать в той же последовательности, можно рассмотреть еще несколько примеров. Так, для процессоров Intel Со i7 2700 и Intel Со i7 3770 пиковая производительность одинарной точности составляет
4 × 16 × 3,9 ГГц = 249,6 гигафлопс, а для процессора Intel Со i7 4770
4 × 32 × 3,9 ГГц = 499,2 гигафлопс, что хорошо согласуется с практическими результатами, получаемыми на тесте LINPACK.
Для ряда процессорных микроархитектур известно максимальное количество операций с плавающей точкой, исполняемых за такт в одном ядре [1–3]. Как показал сравнительный анализ производительности мировых суперкомпьютеров, проведенный фирмой LINPACK и представленный в Таблице, в лучшую сторону выделяются первые три.
Таблица
Расчет и сравнительный анализ производительности суперЭВМ рейтинга ТОП 500
№ п\п |
Название |
Страна |
Производительность |
Число ядер |
Тактовая частота |
1 |
Frontier |
США |
1102 Пф |
8,7 млн |
2.0 ГГц |
2 |
Фугаку |
Япония |
442 Пф |
7,6 млн |
2,2 ГГц |
3 |
LUMI |
Финляндия |
151 Пф |
1,1 млн |
2,0 ГГц |
4 |
Червоненкис |
Россия |
21,5 Пф |
5,1 млн |
2,0 ГГц |
5 |
Галушкин |
Россия |
16,02 Пф |
2,4 млн |
2,0 ГГц |
6 |
Ляпунов |
Россия |
12,8 Пф |
2,4 млн |
2,0 ГГц |
Суперкомпьютер FRONTIER национальной лаборатории Министерства энергетики США включает в себя процессор CPU AMD EPYC 64C 2GHz, 8,7 млн процессорных ядер, ускоритель AMD Instinct MI250X и имеет производительность 1,102 экзафлопс.
Суперкомпьютер FUGAKU производства Японии включает в себя процессор ARM на базе А64fx, 7,6 млн процессорных ядер и имеет производительность 442 петафлопс.
Суперкомпьютер LUMI, размещенный в EUROHPC (Финляндия), включает процессор AMD EPYC 64C 2GHZ, 1,1 млн процессорных ядер, ускоритель AMD INSTINCT MI250X и имеет производительность 151 петафлопс.
Российские суперкомпьютеры аппаратно-программного комплекса «Яндекс» построены на базе процессоров AMD EPYC и графических ускорителей NVIDIA А100 с ин-терконнектом (межсоединения в интегральных схемах ) INFINIBAND на базе коммутаторов Mellanox [8]. В их основе лежит архитектура NVIDIAHGX A100, оптимизированная для задач машинного обучения.
Суперкомпьютер «Червоненкис» назван так в честь Алексея Червоненкиса, одного из крупнейших теоретиков машинного обучения. Процессоры AMD EPYC включают 5,7 млн процессорных ядер, ускорители NVIDIA A100 80G (1592) и имеют производительность 21,5 петафлопс.
Суперкомпьютер «Галушкин» назван в честь Александра Галушкина, одного из главных исследователей теории нейронных сетей. Процессор AMD EPYC включает 2,4 млн процессорных ядер, ускоритель GPU NVIDIA A100 80G (1088) и имеет производительность 16,02 петафлопс.
Суперкомпьютер «Ляпунов» получил имя в честь Алексея Ляпунова, знаменитого математика, чьи работы лежат в основе компьютерных наук. Процессор AMD EPYC включает 2,4 млн процессорных ядер, ускоритель NVIDIA A100 40G(1096) и имеет производительность 12,8 петафлопс [9].
Сравнительная оценка характеристик производительности суперЭВМ
Для сравнительной оценки характеристик был проведен экспериментальный расчет производительности (далее – PR) суперЭВМ, указанных в таблице.
Расчет проводился по следующей схеме:
(количество ядер) × (количество операций с плавающей точкой в одном ядре) ×
× (тактовую частоту генератора) [10].
-
• Frontier: PR = (8,7 .106 ) × (6,4 .101) × (2,0 .109) = 111.1016= 1.11.1018флопс = 1,11 экзафлопс (Эф);
Методика сравнительной оценки характеристик производительности ...
-
• Fugaku: PR = (7,6 . 106) × (3,2 .101) × (2,2 .109) = 53,50 . 1016= 535.1015 флопс = 535 петафлопс (Пф);
-
• LUMI: PR = (1,11 . 106) × (6,4 .101) × (2,0 .109) = 14,2 . 1016 = 142.1015 флопс = 142 петафлопс (Пф);
-
• Червоненкис: PR = (5,1 .106) × (0,2 .101) × (2,0 .109) = 2,04 . 1016 флопс = 20, 4 . 1015 флопс = 20,4 петафлопс (Пф);
-
• Галушкин% PR = (2,4 .106pоsоbiе) × (0,4 .101) × (2,0.109) = 1,92.1016 флопс =19,2 . 1015 флопс = 19,2 петафлопс (Пф).
-
• Ляпунов: PR = (2,4 .106 ) × (0,2.101) × (2,0 .109) = 0,96 .1016 флопс = 9,6 . 1015 флопс = 9,6 петафлопс (Пф).
Заключение
Экспериментальный анализ и расчеты, проведенные в данной работе, показали, что внутри системных средств любого суперкомпьютера всегда находится ряд элементов, которые формируют необходимую и требуемую функциональность всей вычислительной системы. Основой всей вычислительной системы являются: процессор, оперативная память и видеокарта, которые, как правило, подключаются к материнской плате.
Эти комплектующие элементы существенно влияют на производительность системы. Важнейшее и первостепенное место в увеличении производительности суперЭВМ играет число процессоров и их структура, которое определяется количеством ядер и количеством одновременно выполняемых операций (тактов), в том числе операций сложения с плавающей точкой. Чем больше ядер в каждом процессоре и чем больше тактов, выполняемых в каждом ядре, тем выше производительность вычислительных средств суперЭВМ.
Что касается влияния оперативной памяти на производительность системы, то всё сводится к величине емкости и пропускной способности памяти. Чем они больше в допустимых пределах, тем больше оказывают влияние на производительность вычислительных средств суперЭВМ. Оперативная память у каждого типа процессора по емкости немного отличается, но её суммарная пропускная способность сильно зависит от количества процессоров и оказывает негативное влияние на производительность.
Следующим компонентом, влияющим на производительность, является видеокарта. Ее основная задача состоит в формировании изображения на мониторе. Если процессор работает медленно, то основная причина кроется в недостаточной производительности видеокарты. Современные видеокарты являются сложными вычислительными устройствами и могут выполнять многие функции основного компьютера. На них устанавливается свой специализированный графический процессор и собственные микросхемы видеопамяти. Так видеокарта A100 80 Гбайтов с технологией HBM2E по сравнению с A100 40 Гбайт обладает удвоенным объемом высокоскоростной памяти и обеспечивает полосу пропускания более 2 терабайт в секунду. Таким образом, объем и пропускная способность памяти влияют на производительность видеокарты. Если материнская плата оснащена сразу двумя разъемами, например, PCIEX16, то это уже дает возможность, при желании и финансовых возможностях, устанавливать сразу две видеокарты одновременно в режимах NVIDIA или AMD, объединяя их вычислительные мощности.
Все перечисленные элементы, а именно: число процессоров, наличие в них определенного количества ядер, количество выполняемых в ядрах операций (тактов), оперативная память и видеокарты значительно влияют на производительность суперЭВМ, тем самым определяя их место в рейтинге ТОП 500.
Статья носит прикладной характер и может быть полезна для лиц, интересующихся вопросами разработки и эксплуатации вычислительных средств.
Список литературы Методика сравнительной оценки характеристик производительности современных суперкомпьютеров
- Балашов Е.П., Пузанков Д.В. Микропроцессоры и микропроцессорные системы: учебное пособие для вузов. М.: Радио и связь, 1981. 321 с.
- Гуртовцев А.., Гудыменко С.В. Программы для микропроцессоров: справочное пособие. Минск: Высшая школа, 1989. 352 с.: ил.
- Каган Б.М., Сташин В.В. Основы проектирования микропроцессорных устройств автоматики. М.: Энергоатомиздат, 1987. 303 с.: ил.
- Костров Б.В., Ручкин В.Н. Архитектура микропроцессорных систем. М.: Диалог-МИФИ, 2007. 304 с.
- Миркопроцессоры: учебное пособие для втузов / под ред. Л. Н. Преснухина. М: Высшая школа, 1984–1985. 220 с.
- Таненбаум Э. Архитектура компьютера. Structured Computer Organization. 5-е изд. CПб.: Питер, 2007. 848 с.
- Токхайм Р. Микропроцессоры: Курс и упражнения / пер. с англ. В. Н. Грасевича, Л. А. Ильяшенко. М: Энергоатомиздат, 2001. 335 с.: ил.
- http://parallel.ru/computers/taxonomy/hendler.html
- https://naukatehnika.com/tri-superkompyutera-ot-yandeksa.html (Червоненкис, Галушкин, Ляпунов). naukatehnika.com
- Эффективное программирование современных микропроцессоров: учебное пособие / В.П. Марков, С.Е. Киреев, М.Б. Остапкевич, В.А. Перепелкин. Новосибирск: Изд-во НГТУ, 2014. 148 с. ISBN 978-5-7782-2391-2
- Intel Corporation. Intel® 64 and IA -32 Architectures Software Developer’s Manual. 2014. Vol. 3. www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
- Kuo Shih. Intel® 64 Architecture Processor Topology Enumeration, 2012, software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration (Ядра. Потоки).
- Charles J. Murray. The Supermen: The Story of Seymour Cray and the Technical Wizards Behind the Supercomputer (англ.). Wiley. 1997. 232 p. ISBN 9780471048855