Подготовка специалистов в области высокопроизводительных вычислений на базе межуниверситетской инновационной учебно-исследовательской лаборатории InterUniLab^{∗}

А.С. Абрамова, Н.А. Шехунова, А.В. Бухановский

Аннотация

Рассматриваются особенности разработки учебно-методического комплекса �Высокопроизводительные вычисления� на основе модульного и компетентностного подходов, ориентированных на слушателей-магистров по специализации ^{≪}Разработка программного обеспечения^{≫} Санкт-Петербургского Государственного университета информационных технологий, механики и оптики. Самостоятельная работа в рамках комплекса ориентирована на участие в учебно-исследовательских проектах, выполняемых в межуниверситетской учебно-исследовательской лаборатории InterUniLab.

Введение

Современный этап развития высокопроизводительных вычислительных технологий характеризуется: широким распространением многоядерных компьютерных архитектур, удешевлением и доступностью кластерных систем на основе стандартных комплектующих, развитием технологий распределенных вычислений, в том числе, Грид [1]. Это требует модификации и развития соответствующих учебных комплексов. Недостаточное внимание сейчас уделяется системному подходу к параллельному математическому и программному обеспечению, как совокупности математических моделей, методов их реализации, параллельных алгоритмов, технологий программирования, тестирования и верификации параллельных программ, хотя именно такой путь позволяет строить эффективные параллельные алгоритмы и проектировать надежные программные системы на их основе [2].

Так как Россия в 2003 году присоединилась к Болонскому процессу, новые УМК должны разрабатываться в соответствии с требованиями, предъявляемыми Европейским союзом. Это позволит включить российские учебные курсы в европейскую систему образования. Главной проблемой перехода к новой системе образования, вызывающей полемику, является переход от квалификационного подхода к компетентностному, а также модульная структура обучения.

Преподавание высокопроизводительных вычислений (High Performance Computing, HPC), как дисциплины из области компьютерных наук, требует серьезной материальной и информационной базы. HPC быстро развивается, что приводит к необходимости постоянного обновления учебных материалов, которые должны в общем случае содержать мультидисциплинарные сведения (архитектура ЭВМ, теория построения алгоритмов, технологии программирования, коммуникационные технологии и пр.). Требования к педагогическому процессу в области высокопроизводительных вычислений, такие как направленность на конкретный результат образования и гибкость, дают право описать его в виде функциональной системы. Описание педагогического процесса в виде функциональной системы дает возможность эффективно управлять этим сложным процессом [3].

1 Разработка курса

Курс ^{≪}Конструирование и анализ параллельных алгоритмов^{≫} разбит на модули: проектирование параллельных алгоритмов, проектирование параллельных программ, прикладные параллельные алгоритмы. По окончании курса студент должен уметь: строить эффективные параллельные алгоритмы, применительно к конкретной вычислительной архитектуре, уметь оценивать и моделировать параллельную производительность алгоритма для определенной вычислительной архитектуры, выбирать алгоритмы для решения поставленной задачи, выбирать технологии параллельного программирования для решения поставленной задачи, реализовывать ПО с помощью тех-нологий параллельного программирования, оценивать эффективность работы параллельной программы и формулировать рекомендации по ее модификации.

∗Работа выполняется при финансовой поддержке Министерства образования и науки РФ в рамках приоритетного национального проекта ^{≪}Образование^{≫}.

Курс ^{≪}Технологии распределенный вычислений и систем^{≫} разбит на 5 модулей: основные виды распределенных вычислительных архитектур, концепция и модели Грид, проектирование приложений для распределенных вычислительных архитектур, разработка приложений в peer-to-peer-системах, разработка приложений в современных Грид-системах. По окончании курса студенты должны уметь выбирать оптимальный способ организации распределенной вычислительной системы, классифицировать распределенные вычислительные архитектуры, оценивать и моделировать параллельную производительность распределенной вычислительной системы, выбирать вычислительную систему для решения поставленной задачи, выбирать программный инструментарий для решения поставленной задачи, пользоваться программным инструментарием распределенных вычислительных систем, разрабатывать эффективное программное обеспечение для распределенный вычислительных систем.

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

2 Работа студентов

Самостоятельная работа студентов в рамках данных курсов ориентирована на участие в учебно-иссле-довательских проектах, выполняемых в межуниверситетской инновационной учебно-исследовательской лаборатории InterUniLab. InterUniLab создана совместной инициативой Санкт-Петербургских университетов — Санкт-Петербургского Государственного политехнического университета, СПбГУ ИТМО, Санкт-Петербургского Государственного университета авиаприборостроения и др. — и Фондом содействия развитию малых предприятий в научно-технической сфере при поддержке глобальных IT-компаний, таких как Intel, Microsoft, Cadence. Одной из ее задач является подготовка квалифицированных кадров в области критических технологий (в том числе, технологии распределенных вычислений и систем, высокопроизводительные вычисления) путем вовлечения слушателей в практическую реализацию мотивационных (курсовых) проектов — индивидуального или в составе рабочей группы. Мотивационный проект ориентирован на разработку математического обеспечения высокопроизводительных вычислений в определенной предметной области. Слушателям на выбор будут предложены задачи из области гидрометеорологии, экологии, биомедицины, физики плазмы, технической диагностики и управления подвижными техническими объектами, основанные на ре-альных массивах данных.

УМК ^{≪}Высокопроизводительные вычисления^{≫} в СПбГУ ИТМО в настоящий момент находится в состоянии разработки. Однако отдельные его элементы уже прошли апробацию в рамках летних и зимних школ Intel (2006, 2007 гг.), а также в плановом учебном процессе СПбГУ ИТМО. Ввод УМК в опытную эксплуатацию планируется в осеннем семестре 2008 г.

Список литературы

[1] Defining the Grid — a snapshot of the current view // H. Stockinger, 2006 ( www.gridclub.ru)

[2] Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. – Н.Новгород, ННГУ, 2001

[3] Анохин П.К. Принципиальные вопросы общей теории функциональных систем. — М, 1973