Модель программирования для суперкомпьютеров будущего

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

Тем не менее, кое-что осталось в основном неизменным за последние 20 лет, и это модель программирования для этих суперкомпьютеров. Интерфейс передачи сообщений (MPI) гарантирует, что микропроцессоры в распределенных системах могут обмениваться данными. Однако в течение некоторого времени он достиг пределов своих возможностей.«Я пытался решить задачу расчета и моделирования, связанную с сейсмическими данными», — говорит доктор Карстен Лоевски из Института промышленной математики им.

Фраунгофера ITWM. «Но существующие методы не работали. Проблемы заключались в отсутствии масштабируемости, ограничении объемной синхронной двусторонней связи и отсутствии отказоустойчивости. Поэтому из собственного любопытства я начал разрабатывать новую модель программирования. . " Эта разработка в конечном итоге привела к созданию интерфейса программирования глобального адресного пространства, или GPI, который с максимальной эффективностью использует параллельную архитектуру высокопроизводительных компьютеров.GPI основан на совершенно новом подходе: модель асинхронной связи, основанная на удаленном завершении.

При таком подходе каждый процессор может напрямую обращаться ко всем данным — независимо от того, в какой памяти он находится, и не затрагивая другие параллельные процессы. Вместе с Руи Мачадо, также из Fraunhofer ITWM, и доктором Кристианом Симмендингером из T-Systems Solutions for Research, доктор Карстен Лоевски получает в этом году премию Джозефа фон Фраунгофера.

Как и модель программирования MPI, GPI разрабатывался не как язык параллельного программирования, а как интерфейс параллельного программирования, что означает, что его можно использовать повсеместно. Спрос на такой масштабируемый, гибкий и отказоустойчивый интерфейс велик и постоянно растет, особенно с учетом экспоненциального роста числа процессоров в суперкомпьютерах.

Первоначальные образцы реализации GPI работали очень успешно: «Высокопроизводительные вычисления стали универсальным инструментом в науке и бизнесе, неотъемлемой частью процесса проектирования в таких областях, как автомобилестроение и авиастроение», — говорит д-р Кристиан Симмендингер. «Возьмем пример аэродинамики: один из краеугольных камней моделирования в европейском аэрокосмическом секторе, программное обеспечение TAU, было перенесено на платформу GPI в ​​проекте с Немецким аэрокосмическим центром (DLR). GPI позволил нам значительно повысить параллельную эффективность».

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


Портал обо всем