В статье описаны методы адаптации системы параллельного программирования OpenTS для обеспечения работы параллельных Т++-приложений на гибридных кластерах, узлы которых содержат как классические процессоры, так и графические ускорители (например, NVIDIA GPGPU).
динамическое распараллеливание, Т-система с открытой архитектурой, OpenTS, язык программирования Т++, графические ускорители, гибридные кластерные системы.
Введение
Т-система [1] является оригинальной российской разработкой, объединяющей в себе наиболее удачные черты функционального программирования, dataflow-систем и традиционных языков и методов программирования. Т-система базируется на функциональной парадигме и предполагает определенные ограничения на стиль программирования в случае ее использования. Взамен она предоставляет бесконфликтную модель динамического распараллеливания, в которой невозможны взаимные блокировки и некорректный доступ к разделяемым переменным.
Т-система с открытой архитектурой (OpenTS) [2] была разработана в ИПС им. А.К. Айламазяна РАН в рамках суперкомпьютерной программы «СКИФ» Союзного государства. Она представляет собой современную реализацию идей Т-системы и обеспечивает лучшую, чем предыдущие версии системы, интеграцию базовых возможностей функционального подхода с возможностями языка программирования С++. OpenTS [3] обладает открытой и масштабируемой архитектурой, легко адаптируемой к стремительно меняющимся аппаратным платформам современных суперкомпьютеров. Поддерживаемый системой OpenTS входной язык программирования Т++ является синтаксически и семантически гладким расширением языка программирования С++, а среда исполнения Т-приложений представляет собой ортогональную надстройку (Т-суперструктуру) над стандартной последовательной средой программирования.
Подход к автоматическому динамическому распараллеливанию программ, предложенный в Т-системе, позволяет получить хорошие результаты по утилизации вычислительной мощности современных кластерных установок, что связано с природой используемой модели вычислений. Система OpenTS [4],[5] ассимилирует многие другие технологии параллельного программирования: специальную модель общей памяти, модель распределенных потоков и объектов, распределенную сборку мусора, и, наконец, высокоуровневую языковую надстройку, являющуюся уникальной по своим характеристикам технологией для поддержки максимальной совместимости с традиционными языками по синтаксису и семантике, но при этом эффективно распараллеливаемой моделью вычислений.
1. Абрамов С.М., Васенин В.А., Мамчиц Е.Е., Роганов В.А., Слепухин А.Ф. Динамическое распараллеливание программ на базе параллельной редукции графов. Архитектура программного обеспечения новой версии Т-системы // Научная сессия МИФИ-2001. Т.2. Информатика и процессы управления. Информационные технологии. Сетевые технологии. Параллельные вычислительные технологии. Сборник научных трудов. - М., 2001. - С. 34-235.
2. Абрамов С.М., Кузнецов А.А., Роганов В.А. Кроссплатформенная версия Т-системы с открытой архитектурой // Труды Международной научной конференции «Параллельные вычислительные технологии (ПаВТ´2007)». Т. 1. Челябинск, 29 января-2 февраля 2007 г. - Челябинск: изд. ЮУрГУ. - С. 115 -121
3. Абрамов С.М., Кузнецов А.А., Роганов В.А. «Кроссплатформенная версия T-системы с открытой архитектурой» // Вычислительные методы и программирование, 2007, Т. 8, № 1, Раздел 2. - С. 175- 180, URL: http://num-meth.srcc.msu.su/
4. Абрамов С. М., Есин Г. И., Загоровский И. М., Матвеев Г. А., Роганов В. А. Принципы организации отказоустойчивых параллельных вычислений для решения вычислительных задач и задач управления в Т-Системе с открытой архитектурой (OpenTS) // Международная конференция «Программные системы: теория и приложения (PSTA-2006)», 23-28 октября 2006 г., г. Переславль-Залесский, Институт Программных Систем РАН. -С. 257-264
5. Кузнецов А.А., Роганов В.А. Экспериментальная реализация отказоустойчивой версии системы OpenTS для платформы Windows CCS // Труды Второй Международной научной конференции «Суперкомпьютерные системы и их применение (SSA´2008)», 27-29 октября 2008 г., Минск. - Минск: ОИПИ НАН Беларуси, 2008. -С. 65-70, ISBN 978-985-6744-46-7