Нижегородский государственный университет им.Н.И.Лобачевского.

ЛАБОРАТОРИЯ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Факультет вычислительной математики и кибернетики

Лаборатория ITLabИсследованияПроекты 2011 г. Switch to English version  
Новости
О Лаборатории
Обучение
Исследования
Проекты 2011 г.
Проекты 2010 г.
Проекты 2003-2009 гг.
Образовательные комплексы
Семинар Лаборатории
Мероприятия
Вакансии Интел
Сотрудничество
Разработчики сайта
О нас пишут
Летняя школа 2011
Видео лекции
Клуб У.М.Н.И.К.
Имя:
Пароль:
запомнить:
Забыли пароль? Регистрация

Проекты 2011 г.

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

Краткое описание

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

Для уменьшения сложности разработки программного обеспечения на практике используют разные подходы. Среди популярных можно выделить – разработка библиотек параллельных и для параллельного программирования, расширение языков программирования, добавление функциональности в компиляторы для автоматического распараллеливания, а также создание инструментов для параллельного программирования. В проекте рассматривается последнее направление. Для уменьшения сложности проектирования, анализа и разработки программного обеспечения предполагается разработать визуальную среду проектирования параллельных программ.

Существующие среды визуального проектирования параллельных программ можно разделить на несколько групп в соответствии с типом их графических нотаций. Так, можно выделить следующие графические представления параллельных программ:

  • Отображение программ в виде графов функциональных зависимостей.
  • Отображение программ в виде сетей асинхронно выполняемых последовательностей задач.
  • Отображение программ через представление графов потоков данных.

В первой группе сред визуального проектирования, как правило, есть два типа элементов – функции, отображающие логику программы, и аргументы, составляющие данные программы. Из функций строится дерево, отображающее логику разрабатываемой программы. Характерным примером графической среды, использующей функциональное представления программ, является система «Пифагор».

Во второй группе в качестве графических элементов используются один или несколько типов «задач»-вершин, содержащих части логики разрабатываемого алгоритма. «Задачи» соединены между собой направленными дугами для отображения последовательности выполнения частей алгоритмов. Представителями данной группы визуальных сред являются системы «CODE» и «ГРАФ ПЛЮС». Иногда, в средах этой категории используются дополнительные графические элементы, как это сделано в системе «HeNCE», в которой есть специальные графические элементы для представления условного, реплицируемого, циклического и конвейерного исполнения «задач».

В последней группе в качестве основных графических элементов также используются «задачи» и дуги, но их интерпретация меняется. Дуги в данной группе отображают передаваемые данные. Визуальные среды из данной группы могут отображать параллельный алгоритм с разной степенью детализации. При малой детализации, «задачи» описывают всю работу для параллельно работающего вычислительного элемента, а дуги просто отображают возможность передачи данных в одном из направлений. Примером таких сред можно назвать системы «TREPPER» и «GRAPNEL». При большей детализации, «задачи» отображают часть алгоритма не привязанную к вычислительным элементам, а каждая дуга отображает передачу ровно одного элемента данных. В качестве примера таких сред, можно привести системы «PGRAPH» и «ЯГСПП».

Цели проекта

В рамках проекта предполагается разработать новое графическое представление параллельных программ, использующее граф потоков данных,  отвечающее следующим требованиям:

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

Далее, предполагается разработать программный комплекс, поддерживающий разработанные графические представления параллельных программ. Программный комплекс должен уметь по визуальному представлению параллельных программ генерировать код для многоядерных и распределенных вычислительных систем, а также использующий возможности графических ускорителей.

Основные результаты

  1. Разработана первая версия графического представления параллельных программ.
  2. Разработан прототип программного комплекса анализа, проектирования и разработки параллельных программ, реализующий часть функциональности предполагаемого графического представления. В текущей версии можно спроектировать параллельный алгоритм, а затем сгенерировать код, использующий для распараллеливания технологию TBB.

Коллектив

  • Гергель В.П. – руководитель проекта (ННГУ)
  • Козинов Е.А.  (ННГУ)

Публикации

  1. Гергель В.П., Козинов Е.А.  Визограф: об одном подходе к описанию данных и генерации схем // Материалы XI Международной конференции "Высокопроизводительные параллельные вычисления на кластерных системах": Труды конф. 2011.
  2. Гергель В.П., Козинов Е.А. Об одном подходе к визуальной разработке параллельных программ // Вестник ННГУ

<< вернуться  |   Документ от: 24.01.2012 10:31

Новости

14.11.2015
16.10.2015
16.10.2015
14.10.2015
20.09.2015

© ITLab, Нижний Новгород,  2009