Гибридные параллельные вычисления ускоряют физическое моделирование

Двадцать лет назад на сайте TOP500 преобладали суперкомпьютеры с векторной обработкой данных, оснащённые тысячами узлов обработки данных. Позже такие системы были заменены на кластеры для масштабных параллельных вычислений, которые вскоре стали возглавлять список и дали толчок распределённым вычислениям. Первые кластеры использовали выделенные одноядерные процессоры на каждом вычислительном узле. Позже в узлы, требующие совместного использования памяти, были добавлены дополнительные процессоры. Потенциальные возможности таких компьютеров для параллельного вычисления с совместно используемой памятью предопределили полный переход к многоядерным процессорам, требующим надёжных и грамотных алгоритмов в различных компьютерных приложениях. Сегодня же на сайте TOP500 мы видим, что большинство кластеров состоят из огромного количества вычислительных узлов с несколькими сокетами и содержат до восьми ядер в каждом процессоре. Методы параллельного вычисления для компьютеров с совместной памятью отличаются от тех, которые используются при вычислении в кластерах с распределённой памятью. Таким образом, требуется смешанный (гибридный) метод для эффективных параллельных вычислений.

Общая и распределённая память

Существует два распространённых типа параллельных вычислений: с совместно используемой памятью (shared memory) и с распределенной памятью (distributed memory). Между этими методами есть множество различий, даже если конечная цель одинакова — выполнение более быстрых и масштабных расчётов, используя ПО для параллельных вычислений. (Ознакомьтесь с заметкой Lawrence Livermore National Laboratory, которая является отличным введением в параллельные вычисления.)

Основная разница между методами отражена в их названии. В первом случае распределённые части программы, которые работают параллельно, совместно используют общий объём памяти. Это обеспечивает скорость передачи данных между ядрами и процессорами. Однако основным недостатком такого метода является то, что вычислительные ресурсы в узле с совместной памятью ограничены. Также нельзя добавить дополнительные мощности при увеличении размера задачи или потребности в большем количестве ядер для уменьшения количества вычислений на ядро. Вычисления с совместно используемой памятью трудно масштабировать.

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

Как правило, мы используем вычисления с совместной памятью, когда у нас есть компьютер с большим числом ядер, а вычисления с распределённой памятью — когда у нас есть кластер, состоящий из нескольких вычислительных узлов.

Гибридные параллельные вычисления

Рассматривая развитие рынка процессоров, видна тенденция к увеличению производительности путём добавления большего количества ядер, а не увеличения тактовой частоты. Первый двухъядерный x86 процессор был выпущен AMD в 2004 году. Во второй половине 2013 года Intel выпустила процессор с 12 ядрами. Если верить слухам, процессоры с технологией Knights Landing от Intel могут содержать 72 ядра!

shared memory distributed memory computing Гибридные параллельные вычисления ускоряют физическое моделирование

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

shared memory distributed memory hybrid parallel computing Гибридные параллельные вычисления ускоряют физическое моделирование

Программное обеспечение COMSOL и гибридное распараллеливание

По умолчанию при запуске программного обеспечения COMSOL® на многоядерной рабочей станции или ПК для распараллеливания вычислений с совместно используемой памятью применяются все доступные ядра. При моделировании на рабочей станции или кластере пользователю доступно управление типом распараллеливания. Вы можете с легкостью переключаться между режимами распределенной памяти, совместно используемой памяти и гибридным режимом. Подробное описание есть в справочном руководстве COMSOL.

COMSOL Multiphysics® и его модули расширения специально оптимизированы под мультифизические расчёты. Выбор оптимальной параллельной конфигурации зависит от физического интерфейса, количества взаимосвязей в модели, размера задачи и решателя. Детализированные элементы управления позволят найти оптимальную параллельную конфигурацию, чтобы решить вашу проблему в программном обеспечении COMSOL.


Загрузка комментариев...

Темы публикаций


Теги

3D печать Cерия "Гибридное моделирование" Введение в среду разработки приложений Видео Волновые электромагнитные процессы Глазами пользователя Графен Интернет вещей Кластеры Моделирование высокочастотных электромагнитных явлений на различных пространственных масштабах Модуль AC/DC Модуль CFD Модуль MEMS Модуль Акустика Модуль Геометрическая оптика Модуль Механика конструкций Модуль Нелинейные конструкционные материалы Модуль Оптимизация Модуль Плазма Модуль Радиочастоты Модуль Роторная динамика Модуль Химические реакции Охлаждение испарением Пищевые технологии Рубрика Решатели Серия "Геотермальная энергия" Серия "Конструкционные материалы" Серия "Электрические машины" Серия “Моделирование зубчатых передач” Сертифицированные консультанты Термовязкостная акустика Технический контент Указания по применению модуле Теплопередача модуль Вычислительная гидродинамика физика спорта