Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2012, № 5 (2), с. 290-293
УДК 378
ОБ ОПЫТЕ ВНЕДРЕНИЯ ПРОГРАММЫ ПРОФЕССИОНАЛЬНОЙ СЕРТИФИКАЦИИ ПО ПАРАЛЛЕЛЬНОМУ ПРОГРАММИРОВАНИЮ
© 2012 г. В.П. Гергель, И.Б. Мееров, С. А. Кукаева
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила в редакцию 10.09.2012
Приводятся основные положения программы профессиональной сертификации ННГУ-Ше1 по параллельному программированию. Приводится краткая характеристика программы, описывается структура учебного плана. Рассказывается об опыте проведения сертификации в рамках различных мероприятий. Освещаются основные результаты и достижения. Предлагается подход к развитию сотрудничества с другими вузами России.
Ключевые слова: профессиональная сертификация, параллельное программирование, технологии высокопроизводительных вычислений, суперкомпьютерное образование, технологии Интел.
Введение
В 2011 г. в Нижегородском государственном университете им. Н.И. Лобачевского (ННГУ) начато выполнение проекта по разработке и реализации программы профессиональной сертификации в области параллельных вычислений на базе технологий и программного обеспечения (ПО) компании Интел. Проект был инициирован российским отделением компании Интел. Выполнение проекта ориентировано на стимулирование интересов разработчиков ПО к более углубленному изучению методов и технологий параллельного программирования, стандартизацию профессиональных требований к квалификации специалистов в области параллельного программирования, формированию системы образовательных материалов, согласованной с содержанием профессиональных требований. Работа над проектом сертификации должна привести к расширению сообщества профессиональных разработчиков ПО в области параллельного программирования и более широкому практическому использованию потенциала современных высокопроизводительных вычислительных систем для решения актуальных задач образования, науки, промышленности и бизнеса.
Общая характеристика программы
Программа включает разработку и тиражирование учебных курсов, обучение и сертификацию специалистов, поддержку профессио-
нальных сообществ, активизацию академических инициатив [1]. Опыт проведения образовательных мероприятий в сфере параллельного программирования [2-4] позволяет сделать следующие выводы.
1. Наблюдается существенный интерес к изучению параллельного программирования у студентов, аспирантов, молодых ученых. Перспективы применения высокопроизводительных вычислений и суперкомпьютерных технологий в прикладных областях (физика, химия, биология, экономика, финансы, медицина и др.) также являются важным побуждающим фактором.
2. Знания в области параллельного программирования достаточно часто носят фрагментарный, поверхностный характер. Даже при наличии некоторого опыта практического параллельного программирования «по образцу», знания теоретических основ чаще всего оставляют желать лучшего, что ограничивает возможности роста специалиста и его адаптации к быстро растущей и постоянно меняющейся области параллельных вычислений [1].
3. Необходима систематизация учебных планов и материалов в профессиональной области параллельного программирования. Несмотря на интерес к параллельному программированию, который существует в университетском сообществе России, подобные программы в данной предметной области имеются в недостаточном количестве. Та же ситуация наблюдается и за рубежом.
Программа сертификации предполагает поэтапное освоение параллельного программиро-
вания, базирующегося на технологиях и инструментах компании Интел. Вводится система уровней знания параллельных технологий. По мере возрастания уровня, возрастают и требования к набору знаний, умений и навыков слушателя. Система уровней знаний устроена следующим образом.
1. Начальный (Introduction). Ориентирован на разработчиков программного обеспечения. Для получения данного уровня знаний достаточно самостоятельной подготовки и последующего он-лайн тестирования. Все необходимые материалы можно найти на портале, посвященном сертификации, http://nncc.unn.ru, там же можно пройти тестирование.
2. Базовый (Basic). Ориентирован на разработчиков программного обеспечения. Для подтверждения данного уровня знаний необходимо наблюдение преподавателя за процессом тестирования (тестирование проходит на портале http://nncc.unn.ru). Подготовка тестируемого, как правило, проводится во время специализированных мероприятий, школ, конференций и др., во время которых максимально подробно рассказывается о специфике программных инструментов Интел и примерах работы с ними.
3. Экспертный (Expert). Ориентирован на разработчиков программного обеспечения. Требования к специалистам и обучающие материалы для этого уровня на данный момент находятся в разработке. Уровень эксперта предусматривает консультирование обучающегося и очную оценку его индивидуальной практической работы преподавателями, имеющими профессиональный уровень сертификации.
4. Профессиональный (Master). Ориентирован на преподавателей и специалистов, которые будут проводить обучение в рамках программы сертификации.
Успешно прошедшие сертификационное тестирование на подтверждение того или иного уровня знаний параллельного программирования с использованием инструментов Intel получают соответствующий электронный сертификат. На данный момент проверка теста и получение сертификата - полностью автоматизированные процессы. Сертификат высылается на email, указанный при регистрации на портале http://nncc.unn.ru.
Для начального уровня возможна самостоятельная подготовка и последующая он-лайн сертификация, не предполагающая внешний контроль за процессом сдачи теста.
Учебный план программы сертификации
За основу методики формирования учебных планов в области суперкомпьютерных технологий и высокопроизводительных вычислений принят подход, использованный сообществами ACM (Association for Computing Machinery) и IEEE Computer Society при разработке международных рекомендаций Computing Curricula [5, 6]. Учебный план программы сертификации состоит из следующих образовательных модулей.
• Модуль 1. «Введение в основы параллелизма». Основной задачей этого модуля является подготовка слушателей к изучению методов и технологий параллельных вычислений, предоставление им базовых знаний по математическим основам параллельных вычислений, архитектурным аспектам параллелизма и знаний по операционным системам. Данный модуль является общим для всех разработанных уровней (Introduction и Basic). Обучение проходит в форме лекционных занятий.
• Модуль 2. «Введение в технологии параллельного программирования (OpenMP, MPI, TBB, Cilk Plus)». Получив базовые знания по параллельным вычислениям, слушатель переходит к изучению конкретных технологий параллельного программирования. Обучение технологиям OpenMP и MPI включено в программу сертификации для уровней Introduction и Basic, TBB и Cilk Plus включены в обучение на уровень Basic. Обучение по этому направлению проводится в форме лекционных и практических занятий.
• Модуль 3. «Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio». В данном разделе рассказывается о применении инструментов для параллельного программирования, в том числе специализированного компилятора, отладчика, профилировщика, математических библиотек для решения соответствующих задач. Приводятся примеры проблем, возникающих в практическом программировании, объясняются методы их решения. Проводится демонстрация использования инструментальной поддержки, даются задания для самостоятельной проработки. Преимущественно занятия проходят в форме мастер-классов и лабораторных работ.
• Модуль 4. «Введение в параллельные алгоритмы на примере классических разделов
292
В.П. Гергель, И.Б. Мееров, С. А. Кукаева
численных методов». Данный раздел предусматривает изучение параллельных алгоритмов, предназначенных для решения классических математических задач. Предусмотрены лекционные и практические занятия.
Более подробное описание учебного плана можно найти в работе [1] или на портале http://nncc.unn.ru/.
Сотрудничество с университетами
Одним из направлений по расширению программы профессиональной сертификации является привлечение новых университетов-участников к программе сертификации. При этом университет-участник получает следующие преимущества.
1. Возможность проводить тестирование на уровень Basic и выше, подготавливать и переподготавливать слушателей для прохождения тестирования.
2. Возможность получения всех разработанных учебных материалов, курсов, методических разработок для применения в учебном процессе.
3. Бесплатные консультации, помощь по внедрению программы и ее компонентов в учебные планы вуза.
4. Информирование о новых разработках в области программного и аппаратного обеспечения Интел, проведение открытых лекций, семинаров и т.п. с участием специалистов компании Интел и ННГУ.
5. Постоянное развитие и укрепление сотрудничества в области сертификации и формировании учебных планов и курсов по параллельному программированию.
Для того чтобы стать участником, университет подписывает соглашение о намерениях в сфере развития науки и образования совместно с Центром компетенции Интел в ННГУ (http://intel.unn.ru/), после чего направляет в ННГУ двоих сотрудников для обучения. Образец соглашения можно запросить по адресу [email protected].
Текущие результаты работы
В работе [1] приводится характеристика этапа инициализации программы, начиная с момента запуска и заканчивая пилотным внедрением. Основным направлением деятельности в 2011-2012 году было расширение программы сертификации за счет проведения тестирования во время различных школ, конференций, программ дополнительной подготовки студентов и преподавателей, а также за счет привлечения
новых университетов-участников в программу. Ниже приведены основные результаты за данный период.
1. Была проведена апробация программы во время проведения следующих мероприятий:
• конференция «International Supercomputing Conference 2012», г. Гамбург, Германия;
• летняя школа Intel, г. Н. Новгород;
• форум «Суперкомпьютерные технологии в образовании, науке и промышленности 2011», г. Н. Новгород;
• дополнительная подготовка слушателей Центром компетенции ННГУ по программному обеспечению Intel, г. Н. Новгород и др.
2. C момента запуска программы в ней приняло участие более 2000 человек, успешно прошли сертификацию более 500 человек. В случае самостоятельного обучения доля успешных попыток составляет 23%. В том случае, если предварительно проводится обучение по выбранной программе, доля успешных попыток составляет 75% (как по программе начального уровня, так и по программе базового уровня).
3. За прошедший год достигнуты соглашения с 4 университетами страны по участию в программе сертификации.
4. Учебный курс по программе сертификации адаптирован для проведения обучения и тестирования в национальном открытом университете ИНТУИТ (http://www.intuit.ru/) и Интернет-университете суперкомпьютерных технологий (http://hpcu.ru/).
Планы развития программы
Интерес к программе сертификации со стороны слушателей и других университетов подтверждает ее полезность и необходимость. На 2013 год запланировано расширение программы и продолжение привлечения новых университетов-участников. Для достижения этих целей предполагается преобразование «пилотной» программы сертификации, разработанной на предшествующих этапах и ориентированной в значительной степени на инструменты компании Интел, в общепрофессиональную программу сертификации, включающую следующие компоненты [1].
1. Основную программу сертификации, предусматривающую освоение и проверку (сертификацию) фундаментальных и основных прикладных знаний и умений в области параллельного программирования.
2. Специальные программы сертификации, ориентированные на конкретные технологии и
программные средства разных компаний (Интел, Майкрософт и др.).
Список литературы
1. Гергель В.П., Мееров И.Б., Сысоев А.В. и др. Программа профессиональной сертификации по параллельному программированию // Вестник Нижегородского университета им. Н.И. Лобачевского. 2012. № 4-1. С. 41-44.
2. Баркалов К.А., Гергель В.П., Гергель А.В. др. Организация и проведение всероссийской школы по суперкомпьютерным технологиям // Открытое и дистанционное образование. 2010. № 2. С. 24-29.
3. Гергель В.П., Линев А.В., Мееров И.Б., Сысоев А. В. Об опыте проведения программ повыше-
ния квалификации профессорско-преподавательского состава по направлению высокопроизводительные вычисления // Открытое и дистанционное образование. 2010. № 3. С. 15-20.
4. Гергель В.П., Стронгин Р.Г. Опыт Нижегородского университета по подготовке специалистов в области суперкомпьютерных технологий // Вестник Нижегородского университета им. Н.И. Лобачевского. 2010. №3-1. С. 191-199.
5. Свод знаний и умений в области суперкомпьютерных технологий - [http://www.hpc-education.ru].
6. Воеводин В.В., Гергель В.П. Суперкомпьютерное образование: третья составляющая суперкомпьютерных технологий // Вычислительные методы и программирование: новые вычислительные технологии. 2010. Т. 11, № 2. С. 117-122.
PROFESSIONAL CERTIFICATION PROGRAM ON PARALLEL PROGRAMMING V.P. Gergel, I.B. Meerov, S.A. Kukaeva
The article presents the main concepts of the UNN-Intel professional certification program on parallel programming. A short description of the program and curriculum structure is given. The experience of certification in the framework of different activities, main results and achievements are described. An approach to develop cooperation with other Russian universities is proposed.
Keywords: professional certification, parallel programming, high performance computing technology, supercomputer education, Intel technologies.