Средства создания и проектирования параллельных программ

Интегрированные среды прототипирования, разработки и отладки параллельных программ:

CODE, HeNCE, GRADE, TRAPPER, EDPEPPS, Reactor, DEEP, Converse.


CODE

  • CODE - графическая система создания параллельных программ. Параллельная программа представляется в виде графа, вершинами которого являются последовательные участки, а дуги соответствуют пересылкам данных. Последовательные участки могут быть написаны на любом языке, для пересылок используется PVM или MPI.
  • Разработано в университете шт. Техас.

HeNCE

  • HeNCE - HEterogeneous Network Computing Environment
  • Исследовательский проект; разработчики - Adam Beguelin, Jack Dongarra, G. A. Geist, Robert Manchek, Keith Moore, Peter Newton, Vaidy Sunderam и др.
  • графическая среда (UNIX/X-Window), разработанная для помощи в разработке параллельных программ, работающих на сети рабочих станций (в модели PVM). Предназначено для вычислителей, желающих эффективно использовать имеющуюся сеть рабочих станций, не вдаваясь в подробности параллельного программирования.
  • HeNCE включает графические средства построения, компиляции, запуска и анализа HeNCE-программ (программист сам не пишет в терминах PVM). Обеспечивает высокий уровень абстракции для спецификации параллелизма. Программа описывается в виде направленного ациклического графа (DAG), в котором вершины соответствуют процедурам, а дуги - зависимостям (зависимости расставляет пользователь). Включает средства графического конфигурирования гетерогенного PVM-кластера для запуска программы.

GRADE

  • GRADE - A Graphical Parallel Programming Environment
  • Исследовательский проект; P-GRADE - профессиональная (коммерческая) версия системы.
  • Интегрированный набор средств программирования для разработки приложений в модели передачи сообщений на гетерогенных кластерах. Состоит из 6 средств:
    1. GRAPNEL - графический язык параллельного программирования
    2. GPED - графический редактор для построения GRAPNEL-программ
    3. GRP2C - препроцессор для генерации программ на PVM/C
    4. Tape/PVM - средство генерации трасс
    5. DDBG - распределенный отладчик
    6. PROVE - средство визуализации трасс

TRAPPER

  • Коммерческий продукт, разработка немецкой компании GENIAS.
  • Графическая среда программирования, поддерживающая все стадии жизненного цикла программных систем. Содержит компоненты построения параллельного ПО, конфигурирования аппаратных средств, распределения процессов по процессорам (process mapping), графической отладки и мониторинга производительности. 4 основных модуля:
    1. The Design Tool. Построение параллельного приложения из отдельных процессов, обменивающихся сообщениями. Модульная структура, иерархическая организация процессов (процесс может состоять из нескольких "подпроцессов"), автоматическая генерация "шаблонов" программ.
    2. The Configuration Tool Графическое определение конфигурации виртуальной машины Генерация Make-файлов, отображение процессов на процессоры (Graphical Process Mapping)
    3. The Visualization Tool Графическое изображение поведения процессов и взаимодействий (Software Analysis), графическая отладка (позволяет отлавливать дедлоки и другие ошибки распараллеливания)
    4. The Performance Tool Позволяет обнаружить критические для производительности секции кода (bottlenecks), а также собирать статистику и отображать в виде диаграмм.
  • Поддерживаются следующие хост-платформы: x86/Linux, PowerPC/AIX, RS6000/AIX, HP/HP-UX, SGI, DEC/OSF1, SUN/Solaris(SunOS) WinNT (планируется). Целевые платформы/системы программирования: транспьютеры/Inmos toolset, Parsytec MultiCluster, сети и MPP/PVM3.3 или MPI 1.1.

EDPEPPS

  • Завершенный исследовательский проект; Centre For Parallel Computing at the University of Westminster .
  • Интегрированная среда для обеспечения быстрого, эффективного и гибкого проектирования переносимых параллельных программ. В EDPEPPS входят 3 основных средства:
    1. Графическое средство конфигурирования (configuration tool) для быстрого прототипирования
    2. Средство моделирования (simulation tool), основанное на виртуальной машине исполняющей "скелетные" параллельные программы; генерирует данные о поведении и предполагаемой производительности программы.
    3. Средство визуализации (visualisation tool) для изображения интересующих пользователя характеристик, исходя из данных, полученных при моделировании. Представляет собой расширение существующих средств визуализации трасс, таких как Gecko и Paragraph.
  • Схема работы пользователя: Прототирование --> моделирование --> визуализация.
  • Все ориентировано на PVM
  • Доступен финальный отчет. EDPEPPS: An Environment for the Design and Performance Evaluation of Portable Parallel Software , July 1997. Final Report. M.J. Zemerly.

Reactor

  • Reactor - среда разработки распределенных и клиент-серверных приложений.
  • Коммерческий продукт, разработка компании Critical Mass.
  • Включает поддержку управления ресурсами, обработку исключительных ситуаций, поддержку нитей (multi-threading), сборку мусора и другие компоненты.
  • Поддерживаемые платформы: Windows NT 3.5/4.0, Windows 95, Solaris 2.x, SunOS 4.1, Linux/ELF, HP-UX, Digital UNIX, SGI IRIX, IBM AIX.

DEEP

  • DEEP (DEvelopment Environment for Parallel Programming) - интегрированная среда для параллельного программирования.
  • Коммерческий продукт; разработка компании Pacific-Sierra Research.
  • Обеспечивает графический интерфейс, который связывает средства анализа производительности и отладки с исходным кодом программы. Помогает понять структуру и поведение параллельной программы.
  • Подддерживаются языки Fortran (77, 90, 95) и C (а также смешанные программы на Фортране и Си).
  • Платформы: UNIX и Windows NT.
  • Модели программирования: общая память (автоматическое распараллеливание циклов или OpenMP), параллелизм по данным (HPF, Data Parallel C), передача сообщений (MPI).

Converse

  • Converse - среда (framework) для поддержки много-языкового параллельного программирования (взаимодействие модулей, написанных на разных языках). Поддерживаются парадигмы обмена сообщениями, объектно-ориентированного программирования, многопоточности.
  • Поддерживаемые платформы: IBM SP, Cray T3E, Origin2000, Exemplar, сети рабочих станций (на базе HP-UX 10, Solaris/SunOS, RS/6000, SGI IRIX, Linux/x86). Доступны двоичные файлы для всех поддерживаемых платформ.
  • Разработано в Parallel Programming Laboratory (PPL), University of Illinois at Urbana-Champaign.

© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ Rambler's Top100