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

13 ноябрь, 2013 - 13:11Леонід Бараш

Запросы на все более быстрые, эффективные и энергосберегающие компьютерные кластеры растут в каждом секторе. Новая асинхронная модель программирования GPI от Института индустриальной математики Фраунгофера (Fraunhofer ITWM) может стать ключевым строительным блоком при создании суперкомпьютеров следующего поколения.

Сегодня количество ядер в вычислительных системах достигает миллионов, и все говорит о том, что в будущем рост продолжится. Что остается практически неизменным в последние 20 лет, так это модель программирования для этих кластеров. Связь между микропроцессорами обеспечивает MPI (Message Passing Interface). Однако теперь он приближается к пределу своих возможностей.

«Я пытался решить некоторые вычислительные задачи, относящиеся к сейсмическим явлениям, - сказал д-р Карстен Лойевски (Carsten Lojewski). – Но существующие методы не работали. Проблемы заключались в недостаточной масштабируемости, ограничениях в общей синхронизации, двусторонних связей и недостаточной устойчивости к сбоям. Из своего собственного любопытства я начал разрабатывать новую модель программирования».

Эта разработка вылилась в интерфейс программирования с глобальным адресным пространством (Global Address Space Programming Interface – GPI), который использует параллельную архитектуру высокопроизводительных компьютеров с максимальной эффективностью.

GPI основан на полностью новом подходе – модели асинхронной связи, которая базируется на операции удаленного завершения. При таком подходе каждый процессор имеет прямой доступ ко всем данным – безотносительно к их расположению в памяти и без воздействия на другие параллельные процессы.

Подобно модели программирования MPI, GPI не разрабатывался как язык параллельного программирования, а как параллельный интерфейс программирования, который имеет универсальное применение.

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

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

Слева направо: Д-р Карстен Лойевски, д-р Кристиан Зиммендингер (Christian Simmendinger) и Руи Мачадо (Rui Machado) разработали модель программирования, которая использует высокопроизводительные компьютеры наиболее эффективно