Your AI powered learning assistant

ACADEMIA. Владимир Воеводин. "Суперкомпьютеры: незаметные гиганты". 1-я лекция @SMOTRIM_KULTURA

Суперкомпьютеры как самые быстрые машины своего времени Суперкомпьютер - это просто машина, которая производит вычисления быстрее всего в данный момент, поэтому определение этого понятия всегда условно. Эти системы представляют собой крупные дорогостоящие установки, которые обычно занимают целые залы, весят более тонны и стоят значительно больше миллиона долларов. Они малоизвестны и малодоступны, а эффективное использование требует тщательной подготовки и навыков. Приставка “супер” определяет их возможности, характеристики и классы проблем, которые они решают.

От впадин к вершинам: Вычислительная пирамида Цифровой мир простирается от вездесущих мобильных устройств до персональных компьютеров, затем серверов и, наконец, до суперкомпьютеров, скрытых в облаках. По мере того, как возможности растут, количество систем уменьшается, но задачи расширяются и углубляются. Доступ к summit требует междисциплинарных знаний в прикладных областях, вычислительной математике и параллельном программировании. Только объединив эти навыки, можно эффективно использовать такие машины.

Шкалы и показатели: ПРОВАЛЫ, память и префиксы Современные персональные компьютеры обеспечивают производительность примерно 10-50 гигафлопс при использовании нескольких гигабайт оперативной памяти и порядка десятков гигабайт дискового пространства. Производительность измеряется в операциях с плавающей запятой в секунду, при этом основное внимание уделяется арифметике над вещественными числами в форматах с плавающей запятой. Стандартные префиксы — mega (10^6), giga (10^9), tera (10^12), peta (10^15) — позволяют отслеживать рост производительности, объема памяти и хранилища. Сравнение с работой с плавающей запятой устанавливает самые жесткие и сопоставимые условия для разных систем.

Истоки МГУ: "Стрела" и троичная "Сетунь" Вычислительный центр МГУ открылся в 1955 году, а в 1956 году на нем был установлен первый серийный советский компьютер "Стрела". Он занимал площадь около 300 квадратных метров, потреблял 150 кВт и выполнял около 2000 операций в секунду. В МГУ также был создан Setun, первый в мире троичный компьютер, использующий сбалансированные цифры -1, 0, 1, с оптимальным округлением. Setun был разработан в МГУ, выпускался серийно и продемонстрировал свойства, превосходящие двоичные для некоторых задач.

БЭСМ‑6 и первый миллион операций в секунду БЭСМ‑6, разработанная командой Сергея Лебедева, стала одним из самых известных советских компьютеров. К концу 1960-х годов скорость ее работы составляла около 1 миллиона операций в секунду. В часы пиковой нагрузки в МГУ одновременно работали четыре машины БЭСМ‑6, которые полностью использовались для научных задач. Это ознаменовало кардинальный рост вычислительных мощностей в стране.

Прыжок на три ступени в симуляторе Земли Японский Earth Simulator, выпущенный в начале 2000-х годов в качестве национального проекта, в течение нескольких лет лидировал в мире. При использовании примерно 5000 процессоров он достиг 35 ТФЛОПС, что на три порядка больше, чем у настольных компьютеров. Его оперативная память объемом 10 ТБАЙТ, диск объемом ~250 ТБАЙТ и ленточный накопитель объемом 1,5 ПБАЙТ продемонстрировали способность суперкомпьютера масштабировать каждый ресурс на порядки. Он установил новый стандарт интегрированной емкости и производительности.

Blue Gene и проблемы программирования сотен тысяч процессоров К 2007 году в системах IBM Blue Gene использовалось порядка 212 000 процессоров. Такой масштаб заставляет программистов обеспечивать работу всех процессоров без дублирования, простоев или чрезмерного ожидания. Параллельные программы должны координировать данные и вычисления, чтобы обеспечить занятость всей машины. Устойчивая производительность около 500 ТФЛОПС продемонстрировала отдачу от успешной координации.

Roadrunner: Первый устойчивый Петафлоп и гибридный дизайн Компания IBM Roadrunner объединила процессоры AMD Opterons с ускорителями Cell, объединив два типа процессоров в одной системе. Имея около 122 000 процессоров, она стала первой машиной, которая превысила один петафлопс по устойчивой производительности. Скачок с 10^9 до 10^ 15 операционных систем на настольных компьютерах подчеркивает шестиразрядный разрыв, который определяет современные суперкомпьютеры. Гибридные архитектуры стали реальным путем к повышению эффективности.

Компьютер серии K от Fujitsu и требования к масштабируемости Производительность компьютера Fujitsu K, установленного в специализированном многоэтажном здании на 800 стойках, превысила восемь петафлопс. В нем было задействовано около полумиллиона ядер, что сделало масштабируемость главной задачей программного обеспечения. Эффективное использование требует, чтобы все ядра работали равномерно, без ожидания или дублирования. Алгоритмы и реализации должны масштабироваться от нескольких до сотен тысяч ядер.

Рейтинги Top500 и то, что они раскрывают Список Top500, обновляемый каждый год в июне и ноябре, ранжирует системы по показателям производительности и показывает основные показатели, пиковые и устойчивые показатели и эффективность. Поставщики стремятся к присутствию в нем, чтобы продемонстрировать технологическое лидерство, которое впоследствии распространяется на основные продукты. Особое место занимают Cray, HP и новые российские вендоры, такие как T‑Platforms. Топовые платформы работают на петафлопсах, что примерно на шесть порядков выше, чем персональные компьютеры.

Ломоносова в МГУ: Разнородный центр власти Суперкомпьютер МГУ "Ломоносов" входит в число мировых лидеров, его максимальная производительность составляет около 1,3 петафлопс. Установка напоминает машиностроительный завод: круглосуточный комплекс с отдельными залами для вычислений, питания и охлаждения, каждый площадью около сотни квадратных метров. Множество приложений и пользователей работают одновременно в больших масштабах. Его гетерогенная архитектура предлагает разделы, настроенные для работы с памятью, локальными дисками, многоядерными процессорами или GPU в соответствии с различными потребностями приложений.

Почему резко возросла производительность: параллелизм в зависимости от тактовой частоты Сравнение ранней машины (около 1949 года выпуска) со скоростью 2 микросекунды на цикл и ~ 100 операций в секунду с Jaguar 2010 года на частоте 2,6 ГГц и ~ 1,7 петафлопс позволяет сделать ключевой вывод. Тактовая частота увеличилась примерно в 5000 раз, а общая производительность - примерно в 10-13 раз. Основной прирост достигнут за счет архитектурных достижений, в первую очередь за счет повсеместного параллелизма. Без более совершенных технологий в устройствах ничего не возможно, однако параллельное проектирование привело к значительному росту.

Пересекая Мега, Гига, Тера, Пета — и нацеливаясь на Экса Основные достижения напрямую связаны с ростом параллелизма: CDC 6600 достиг мегафлопс на одном процессоре, Cray‑2 достиг гигафлопс на восьми, а ASCI Red достиг терафлопс примерно на 9000. Производительность процессоров Roadrunner составила около 122 000 петафлопс. Каждый скачок на три порядка сопровождался резким повышением уровня параллелизма. Масштабирование, прогнозируемое примерно на 2018-2020 годы, предполагает использование сотен миллионов или миллиардов ядер, что требует готовности к экстремальному параллелизму.

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

Ранние архитектурные прорывы, повлиявшие на процессоры Параллельная арифметика на уровне слов появилась в IBM 704, а в IBM 709 появились выделенные процессоры ввода‑вывода для разделения медленных периферийных устройств. В начале 1960-х годов для обеспечения работы быстрых процессоров появилось чередование памяти с независимыми банками данных. Atlas впервые применил конвейерное выполнение команд, а CDC 6600 добавил несколько функциональных блоков, работающих параллельно. Затем CDC 7600 реализовал конвейерное выполнение этих блоков, закрепив идеи суперкалярности и конвейерности, унаследованные современными микропроцессорами.

ILLIAC IV: Сложный путь, на котором появились SIMD и графические процессоры В ILLIAC IV была разработана 256‑элементная SIMD-матрица, управляемая единым потоком команд, идеально подходящая для обработки изображений и числовых схем. Технологические ограничения привели к сокращению до 64 элементов, увеличению продолжительности циклов и значительно меньшей производительности, чем планировалось. Несмотря на перерасход средств и единственный прототип, проект доказал состоятельность модели. Позже его идеи нашли свое воплощение в специализированных процессорах и современных графических ускорителях.

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

Общая и распределенная память: простота и масштабируемость Параллельные системы делятся на два основных класса: машины с общей памятью и единым адресным пространством и машины с распределенной памятью, соединенные сетями. Общая память упрощает программирование, но ограничивает масштаб, в то время как распределенная память обеспечивает высокую производительность за счет сложности. Большинство систем Top500 являются распределенными, хотя каждый узел сам по себе может иметь общую память. Выбор отражает двойную потребность в программируемости и высокой пропускной способности.

Процессорный спектр и адаптивные вычисления Архитекторы выбирают из широкого спектра решений - от обычных многоядерных процессоров до графических процессоров и ПЛИС. Развитые программные экосистемы ускоряют разработку на процессорах, в то время как ускорители могут обеспечить более высокую эффективность при меньших затратах на программирование. Системы все чаще сочетают эти типы, позволяя приложениям ориентироваться на наиболее подходящий раздел. Новая концепция адаптивных вычислений направлена на то, чтобы соотнести каждую алгоритмическую часть с той архитектурой, в которой она работает наилучшим образом.

Кластеры: Конструкторский набор для суперкомпьютеров Обычные вычислительные узлы, стандартные сети, Linux, компиляторы и MPI позволяют создавать мощные кластеры, адаптированные к конкретным приложениям. Объемы рынка делают такие компоненты доступными, обеспечивая максимальное соотношение цены и качества. Многие ведущие системы следуют этой модели; по последним подсчетам, около 400 из 500 крупнейших систем были кластерными. Кластеры превращают готовые детали в надежные крупномасштабные параллельные станки.

Распределенные, сетевые и облачные технологии: использование незанятых миров Распределенные среды объединяют огромное количество географически распределенных, разнородных машин — далеко за пределами любого отдельного суперкомпьютера. Алгоритмы должны скрывать длительные задержки при передаче данных и справляться с динамическим подключением по мере появления или исчезновения ресурсов. Руководство должно учитывать различия в администрациях и политиках безопасности в разных учреждениях и странах. “Рождественский эксперимент” продемонстрировал эту модель на примере суперкомпьютера МГУ, регионального кластера и простаивающих аудиторных компьютеров, чтобы ускорить разработку лекарств во время новогодних каникул.

За пределы бинарности и к гетерогенности Недвоичные системы, такие как троичная система счисления MSU, позволяют компактизировать данные и уменьшать ошибки округления, демонстрируя перспективность альтернативных систем счисления. Достижения в области квантовых вычислений представляют собой новую математическую парадигму, подходящую для конкретных алгоритмов, а не для полной замены классических машин. Гетерогенные архитектуры, объединяющие многоядерные процессоры, GPU и Cell‑подобные процессоры, уже занимают лидирующие позиции. Ни один единый дизайн не подходит для решения всех задач, поэтому гетерогенность будет усиливаться, создавая новые проблемы для программистов и инструментов.