Научная статья на тему 'Программа профессиональной сертификации по параллельному программированию'

Программа профессиональной сертификации по параллельному программированию Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
129
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОФЕССИОНАЛЬНАЯ СЕРТИФИКАЦИЯ / ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ / ТЕХНОЛОГИИ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ ВЫЧИСЛЕНИЙ / СУПЕРКОМПЬЮТЕРНОЕ ОБРАЗОВАНИЕ / PROFESSIONAL CERTIFICATION / PARALLEL PROGRAMMING / INTEL TECHNOLOGIES / HPC EDUCATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гергель Виктор Павлович, Мееров Иосиф Борисович, Сысоев Александр Владимирович, Русаков Андрей Валентинович, Одинцов Игорь Олегович

Приводятся основные положения программы профессиональной сертификации по параллельному программированию, разработанной совместными усилиями специалистов Нижегородского университета и компании «Интел». Дается описание программы и структура учебного плана. Рассказывается об опыте проведения сертификации на базе ННГУ. Ставится задача дальнейшего расширения программы, формулируются планы на будущее.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гергель Виктор Павлович, Мееров Иосиф Борисович, Сысоев Александр Владимирович, Русаков Андрей Валентинович, Одинцов Игорь Олегович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

UNN-INTEL PROFESSIONAL CERTIFICATION PROGRAM ON PARALLEL PROGRAMMING

The article presents the main concepts of UNN-Intel professional certification program on parallel programming. A short description of the program and curriculum structure are given. The experience of certification at UNN is described. The aims of further development are formulated.

Текст научной работы на тему «Программа профессиональной сертификации по параллельному программированию»

Инновации в образовании Вестник Нижегородского уноверситета им. Н.И. Лобачеллкого, 2012, № 4 (1), с. 41-44

УДК 378

ПРОГРАММА ПРОФЕССИОНАЛЬНОЙ СЕРТИФИКАЦИИ ПО ПАРАЛЛЕЛЬНОМУ ПРОГРАММИРОВАНИЮ

© 2012 г. В.П. Гергель 1, И.Б. Мееров 1, А.В. Сысоев 1, А.В. Русаков 1,

И. О. Одинцов 2, В.В. Самофалов 2

1 Нижегородский госуниверситет им. Н.И. Лобачевского 2 ЗАО «Интел А/О»

gergel@unn.ac.ru

Поступила в редакцию 06.05.2012

Приводятся основные положения программы профессиональной сертификации по параллельному программированию, разработанной совместными усилиями специалистов Нижегородского университета и компании «Интел». Дается описание программы и структура учебного плана. Рассказывается об опыте проведения сертификации на базе ННГУ. Ставится задача дальнейшего расширения программы, формулируются планы на будущее.

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

Введение

В 2011 году в Нижегородском государственном университете им. Н.И. Лобачевского (ННГУ) при поддержке российского отделения корпорации «Интел» стартовал проект по разработке и реализации программы профессиональной сертификации в области параллельных вычислений на базе технологий и программного обеспечения (ПО) компании «Интел». Основными целями программы являются:

1. Стимулирование интереса разработчиков ПО к более углубленному освоению области параллельного программирования.

2. Стандартизация профессиональных требований к квалификации специалистов в области параллельного программирования.

3. Формирование системы образовательных материалов, согласованной с содержанием профессиональных требований.

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

Краткая характеристика программы

Программа сертификации включает разработку и тиражирование учебных курсов, обуче-

ние и сертификацию специалистов, поддержку профессиональных сообществ, активизацию академических программ. Подготовка и тестирование специалистов проводятся в рамках различных тематических мероприятий (школ, семинаров, конференций и т.п.). Для проведения автоматизированной проверки знаний (тестирования) разработан веб-портал http://nncc.unn.ru, содержащий материалы для самостоятельного изучения.

В основу формирования программы сертификации были положены следующие положения:

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

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

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

Для организации поэтапного освоения профессиональной области в программе сертификации выделены уровни программы сертификации по параллельному программированию (Intel Parallel Programming Professional, IPPP) с последовательно возрастающими наборами требуемых знаний, умений и навыков: Начальный (Introduction), Базовый (Basic), Экспертный (Expert), Профессиональный (Master). Первые три уровня ориентированы на разработчиков

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

Начальный уровень подразумевает владение знаниями и навыками параллельного программирования начального уровня и включает следующие основные разделы:

1. Введение в основы параллелизма.

2. Введение в технологии параллельного программирования (OpenMP, MPI).

3. Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio.

4. Введение в параллельные алгоритмы на примере классических разделов численных методов и технологий Intel.

Для начального уровня возможна самостоятельная подготовка и последующая on-line-сер-тификация, не предполагающая внешний контроль за процессом сдачи теста.

Базовый уровень подразумевает владение знаниями и навыками практического параллельного программирования. Основные отличия от начального уровня заключаются в более глубокой проработке теоретических и практических основ параллельных вычислений, в расширении состава используемых технологий (Intel TBB и Intel Cilk Plus), изучении дополнительных глав параллельных численных методов (расширение спектра практических приложений параллельного программирования).

Структура учебного плана

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

логическому развитию экономики России «Создание системы подготовки высококвалифицированных кадров в области суперкомпьютерных технологий и специализированного программного обеспечения» [1, 2].

За основу методики подготовки рекомендаций по составлению учебных планов в области суперкомпьютерных технологий и высокопроизводительных вычислений принят подход, использованный сообществами ACM (Association for Computing Machinery) и IEEE Computer Society при разработке международных рекомендаций Computing Curricula [3, 4].

Суть подхода состоит в следующем:

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

2. Области делятся на меньшие структуры, называемые разделами, которые представляют собой отдельные тематические модули.

3. Каждый раздел, в свою очередь, состоит из набора тем, представляющих собой нижний уровень этой иерархии в определяемой специальности.

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

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

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

• Модуль 1 «Введение в основы параллелизма».

• Модуль 2 «Введение в технологии параллельного программирования (OpenMP, MPI, TBB, Cilk Plus)».

• Модуль 3 «Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio».

• Модуль 4 «Введение в параллельные алгоритмы на примере классических разделов численных методов».

В приводимой далее таблице для каждого модуля указываются имеющиеся в них разделы. Для каждого модуля и раздела плана указано количество учебных часов для лекций (л) и лабораторных работ (лр).

Теблще

Структура учебного плана

Модуль, раздел Количество учебных часов по уровням

начальный базовый

Модуль 1. «Введение в основы параллелизма» 22 л 6 лр 22 л 6 лр

Математические основы параллельных вычислений 4 л 4 л

Архитектуры - аспекты параллелизма 8 л 8 л

Операционные системы - аспекты параллелизма 10 л 6 лр 10 л 6 лр

Модуль 2. «Введение в технологии параллельного программирования (OpenMP, MPI, TBB, Cilk Plus)» 11 л 11 лр 19 л 19 лр

Введение в параллельное программирование 2 л 2 л

Принципы организации параллелизма с использованием технологии OpenMP 2 л 2 лр 2 л 2 лр

Распределение вычислений и синхронизация с использованием технологии OpenMP 2 л 4 лр 2 л 4 лр

Принципы организации параллелизма с использованием MPI 2 л 2 лр 2 л 2 лр

Передача данных средствами MPI З л З лр З л З лр

Типы данных MPI. Виртуальные топологии - 2 л 2 лр

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

Создание параллельных программ с использованием технологии Cilk Plus - 2 л 2 лр

Модуль 3. «Введение в использование инструментов для параллельного программирования на примере пакета Intel Parallel Studio» 1 л 8 лр 2 л 12 лр

Обзор возможностей пакета инструментов Intel Parallel Studio XE 1 л 1 л

Лабораторные работы по использованию инструментов Intel Parallel Studio XE для решения модельных задач (л/р «Вычисление определенного интеграла», «Поиск простых чисел», «Сортировки») 8 лр 8 лр

Лабораторная работа «Поиск путей на графе» - 4 лр

Библиотека MKL (входит в л/р модуля 4) - 1 л

Библиотека IPP (входит в л/р модуля 4) - -

Модуль 4. «Введение в параллельные алгоритмы на примере классических разделов численных методов» 4 л 4 лр 10 л 12 лр

Плотные и разреженные матрицы. Форматы хранения. Типовые алгоритмы (матричное умножение). Методы решения систем линейных уравнений 4 л 4 л

Дифференциальные уравнения в частных производных - 2 л

Методы Монте-Карло - 2 л

Лабораторная работа по использованию инструментов Intel Parallel Studio XE для разработки и анализа алгоритмов на примере задачи умножения разреженных матриц 4 лр 4 лр

Лабораторная работа «Методы прогонки и циклической редукции в решении СЛАУ с ленточной матрицей» - 2 лр

Лабораторная работа «Параллельные методы Монте-Карло» - 2 лр

Лабораторная работа «Фильтрация изображений. Быстрое преобразование Фурье» - 2 л 2 лр

Лабораторная работа «Дифференциальные уравнения в частных производных» - 2 лр

Итоговое тестирование 1 1

Детализированные учебные планы и методические материалы для проведения занятий и самостоятельного изучения представлены на портале http://nncc.unn.ru.

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

В целом можно отметить, что выполнены все необходимые работы для инициации программы сертификации, в том числе определены тре-

бования к начальному и базовому уровням, разработаны учебные планы, подготовлены тесты, выполнена апробация. Выполнение работ осуществлялось на базе центра компетенции «Интел» в ННГУ (базовое подразделение), специалистами Санкт-Петербургского и Новосибирского университетов, сотрудниками компании «Интел». Тестирование участников сертификации проводилось с использованием системы «Сигма» (НИВЦ МГУ). Разработан сайт программы сертификации - http://nncc.unn.ru.

Опыт организации и проведения научнообразовательных мероприятий в области параллельного программирования [5-7] позволяет сделать следующие выводы:

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

2. Несмотря на появление в учебных планах разных вузов отдельных курсов по параллельным вычислениям, в данной области отмечается нехватка квалифицированных кадров.

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

4. За 2011 год в программе сертификации приняли участие 1720 человек, успешно прошли сертификацию 363 человека (21% успешных попыток). Отметим, что в случае прохождения предварительного обучения по программам начального и базового уровней процент успешных попыток сдачи теста существенно повышается и составляет 75%.

Планы развития программы

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

1. Совершенствование учебного плана на основе совместной работы с центром компетенции «Интел» по высокопроизводительным вычислениям в МГУ.

2. Значительное увеличение масштаба программы путем привлечения российских вузов как ассоциированных участников программы сертификации.

В 2013 году предполагается преобразование «пилотной» программы сертификации, разработанной на предшествующих этапах и ориентированной в значительной степени на инструменты компании «Интел», в общепрофессиональную программу сертификации, включающую следующие компоненты:

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

2. Специальные программы сертификации, ориентированные на более конкретные технологии и программные средства разных компаний («Интел», «Майкрософт» и др.).

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

1. Свод знаний и умений в области суперкомпью-терных технологий. URL: http://www.hpc-education.ru.

2. Воеводин В.В., Гергель В.П. Суперкомпью-терное образование: третья составляющая суперком-пьютерных технологий // Вычислительные методы и программирование: новые вычислительные технологии. 2010. Т. 11, № 2. С. 117-122.

3. Рекомендации по преподаванию программной инженерии и информатики в университетах. М.: ИН-ТУИТ.РУ «Интернет-Университет Информационных технологий», 2007. URL: http://se.math.spbu.ru/SE.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Computing Curricula Computer Science 2008. URL: http://www. computer.org/portal/c/document_library/ get_file?p_l_id=2814020&folderId=3111026&name=DLF E-57604.pdf

5. Баркалов К.А., Гергель В.П., Гергель А.В. и др. Организация и проведение всероссийской школы по суперкомпьютерным технологиям // Открытое и дистанционное образование. 2010. № 2. С. 24-29.

6. Гергель В.П., Линев А.В., Мееров И.Б., Сысоев А.В. Об опыте проведения программ повышения квалификации профессорско-преподавательского состава по направлению «Высокопроизводительные вычисления» // Открытое и дистанционное образование. 2010. № 3. С. 15-20.

7. Гергель В.П., Стронгин Р.Г. Опыт Нижегородского университета по подготовке специалистов в области суперкомпьютерных технологий // Вестник Нижегородского университета. 2010. №3(1). С. 191-199.

UNN-INTEL PROFESSIONAL CERTIFICATION PROGRAM ON PARALLEL PROGRAMMING

V.P. Gergel, I.B. Meyerov, A V. Sysoyev, A V. Rusakov, I. O. Odintsov, V. V. Samofalov

The article presents the main concepts of UNN-Intel professional certification program on parallel programming. A short description of the program and curriculum structure are given. The experience of certification at UNN is described. The aims of further development are formulated.

Keywords: professional certification, parallel programming, Intel technologies, HPC education.

i Надоели баннеры? Вы всегда можете отключить рекламу.