GPI-Космос
Разработчик(и) | Фраунгофера ITWM |
---|---|
Первоначальный выпуск | 2010 |
Операционная система | Линукс |
Тип | Распределенная система выполнения |
Веб-сайт | gpi-пространство |
GPI-Space — это программное обеспечение для разработки параллельного программирования, разработанное Институтом промышленной математики Фраунгофера (ITWM) . Основная концепция программного обеспечения — разделение знаний предметной области и HPC и предоставление каждой части соответствующим экспертам, в то время как GPI-Space как структура объединяет обе части вместе.
GPI-Space использует GPI для решения проблем больших данных более эффективно, чем существующие решения. [ 1 ]
GPI-Space был впервые представлен в специализированной версии для геологии под названием SDPA (архитектура сейсмической разработки и программирования) на SEG 2010 в Хьюстоне. [ 2 ]
Основные слои
[ редактировать ]GPI Space имеет несколько уровней, которые составляют ядро программного обеспечения для разработки параллельного программирования.
Двигатель выполнения
[ редактировать ]Механизм выполнения отвечает за распределение доступных заданий по доступным системам. В крупномасштабных HPC кластерах они могут быть гетерогенными и состоять из традиционных вычислительных узлов, а также узлов с картами-ускорителями, такими как графические процессоры или Intel Xeon Phi . Помимо простого планирования и распределения заданий, механизм выполнения также повышает отказоустойчивость. Задания отслеживаются после их назначения и переназначения различным ресурсам на случай сбоя первоначально назначенного оборудования. Новое оборудование может добавляться динамически.
Механизм рабочего процесса
[ редактировать ]Механизм рабочего процесса преобразует инструкции из существующего рабочего процесса в формате XML со специальными тегами GPI-Space во внутренние инструкции среды выполнения, основанные на сетях Петри . Рабочие процессы могут быть произвольными модульными и использовать другие рабочие процессы в качестве элементов, что позволяет пользователям один раз заранее определить строительные блоки, а затем использовать их в будущих, более сложных рабочих процессах. Доступен графический редактор рабочих процессов.
Механизм автопараллелизации
[ редактировать ]Механизм автораспараллеливания решает, как идеально выполнять код, который подается в систему параллельно. Это освобождает программистов предметной области от необходимости распараллеливания собственного кода и позволяет им сосредоточиться на своей предметной области. Знания и опыт высокопроизводительных вычислений Центра высокопроизводительных вычислений Fraunhofer ITWM (CC-HPC) вносят существенный вклад в способность ядра генерировать высокооптимальные параллельные коды.
Уровень виртуальной памяти
[ редактировать ]Все вычисления с помощью GPI-Space могут выполняться с использованием быстрой параллельной файловой системы, такой как BeeGFS , которая очень похожа на другие для больших данных доступные решения . Но помимо этого, GPI-Space также способен выполнять все вычисления в памяти, тем самым исключая более высокие задержки и узкие места производительности, присущие традиционному вводу-выводу. Используя Fraunhofer GPI (см. также рисунок «Архитектура GPI»), динамически выделяется один большой блок разделенного глобального адресного пространства. Возможность RDMA обеспечивает быструю одностороннюю связь. Передача данных с диска в виртуальную память и обратно полностью асинхронна и скрыта за вычислениями.
Архитектура сейсмической разработки и программирования (SDPA)
[ редактировать ]Чтобы продемонстрировать обоснованность подхода GPI-Space, Фраунгофер впервые представил его как часть архитектуры сейсмического развития и программирования (SDPA) сообществу во время SEG 2010 в Хьюстоне, штат Техас. В сейсмической области существует бесчисленное множество устаревших алгоритмов и кодов на различных языках программирования, которые разрабатывались годами, но не распараллеливаются. Из-за ограниченности ресурсов зачастую невозможно переписать эти коды с нуля в параллельной версии и на одном языке программирования.
Разработчики CC-HPC собрали специализированные решения для сейсмических данных, которые включают в себя:
- высокооптимизированные алгоритмы параллельного ввода-вывода,
- отказоустойчивость,
- шаблоны распараллеливания для сейсмических данных, такие как трассы , сейсмограммы (которые состоят из нескольких трасс) или стеки, которые позволяют механизму автораспараллеливания работать эффективно, и
- общие процедуры управления данными для обработки сейсмических данных.
Кроме того, существует набор базовых рабочих процессов, которые конечный пользователь может использовать в качестве строительных блоков для более сложных рабочих процессов. Все эти компоненты решают проблему распараллеливания для сейсмической области, поэтому разработчик предметной области может сосредоточиться на своей проблеме, не занимаясь ею.
Конечный пользователь SDPA может затем просто выполнять существующие устаревшие коды и модули на любом языке параллельно с SDPA, что значительно сокращает время выполнения проектов. SDPA также используется как быстрый способ создания прототипов новых идей и алгоритмов для параллельного выполнения.
SDPA используется несколькими отраслевыми партнерами Fraunhofer в производственной среде.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Тибериу Ротару; Мирко Ран; Франц-Йозеф Пфройндт (2014). «MapReduce в GPI-пространстве». В Дитер ан Мей и др. (ред.). Euro-Par 2013: Семинары по параллельной обработке . Шпрингер Берлин Гейдельберг. стр. 43–52. ISBN 978-3-642-54419-4 .
- ^ Макнотон, Нил (11 января 2010 г.). «Фраунгофера СДПА» . OilIT.com .