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

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

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

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

Проекты 2010 г.

Макромодульная разработка программ

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

Разработка программного обеспечения является трудоемкой профессиональной деятельностью. Для упрощения разработки программного обеспечения разработчики выполняют декомпозицию задачи на более мелкие и простые подзадачи, организуя их в отдельные вычислительные блоки (модули). Разработанные модули могут быть использованы в дальнейшем повторно, оформляясь в виде отдельных библиотек. Модульный подход разработки программного обеспечения является на данный момент общепризнанным подходом.

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

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

  1. переход на другую программно-аппаратную платформу;
  2. требуется большая эффективность;
  3. отказ от использования текущей версии библиотеки в связи с прекращением её поддержки (она устарела).
При переходе на новую библиотек разработчику придётся столкнуться с тем, что ему будет необходимо выполнить модификацию используемых структур данных и функций под те, которые используются в библиотеке. Такой переход может быть очень трудоёмким.

Рассматриваемый макромодульный подход разработки программ позволяет решить указанные проблемы.

Цели проекта

  1. Разработать программное средство для поддержки макромодульного подхода, включающее средства статического анализа исходных кодов и надстройку к среде разработке Microsoft Visual Studio.
  2. Реализовать поддержку библиотеки MKL и cuBLAS на примере матричного умножения.
  3. Подготовить демонстрационный проект.

Коллектив

  1. Сиднев А.А. – руководитель проекта.
  2. Котельников Р.А.
  3. Юданов В.В.

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

  1. Разработана система, которая реализует поддержку макромодульного подхода к разработке программ.
  2. Разработано расширение среды разработки Microsoft Visual Studio.
  3. Разработан набор описательных файлов библиотек (реализована поддержка Intel MKL).

Публикации

  1. Гергель В.П., Сиднев А.А. О применении макромодульной технологии разработки программ. // Материалы X Международной конференции "Высокопроизводительные параллельные вычисления на кластерных системах": Труды конф. 2010.

Материалы

  1.   Презентация проекта

<< вернуться  |   Документ от: 22.01.2011 19:44

Новости

14.11.2015
16.10.2015
16.10.2015
14.10.2015
20.09.2015

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