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

ОБРАЗОВАТЕЛЬНАЯ ПРОГРАМА КРАТКОСРОЧНОГО ПОВЫШЕНИЯ КВАЛИФИКАЦИИ В ОБЛАСТИ СУПЕРКОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

В.О. Лукащук, С.Ю. Лукащук

Научный руководитель - д.ф.-м.н., профессор Р.К. Газизов

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

Введение

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

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

В 2007 г. в рамках Приоритетного национального проекта «Образование» Уфимским государственным авиационным техническим университетом (УГАТУ) был приобретен новый суперкомпьютер, построенный на базе фирменных решений IBM BladeServer. Одновременно с этим остро встал вопрос о переподготовке преподавательского состава университета в области высокопроизводительных вычислений. В качестве первого этапа решения этой задачи в рамках инновационной образовательной программы подготовки кадров в области информационных технологий проектирования, производства и эксплуатации сложных технических объектов преподавателями кафедры высокопроизводительных вычислительных технологий и систем (ВВТиС) была разработана образовательная программа краткосрочного повышения квалификации «Основы суперкомпьютерных технологий». По этой программе в течение двух месяцев была проведена переподготовка более пятидесяти преподавателей и сотрудников университета.

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

Цель и задачи образовательной программы

В основу образовательной программы «Основы суперкомпьютерных технологий» был положен более чем семилетний опыт сотрудников кафедры ВВТиС по преподаванию дисциплин, связанных с параллельными вычислениями, для студентов дневной формы обучения [1-3]. На протяжении этого времени подготовка осуществлялась в двух основных направлениях:

(1) в области организации распределенных вычислительных сред и уделенного доступа к ним;

(2) в области постановки и решения естественнонаучных задач с использованием МВС.

В рамках первого направления проводится обучение студентов старших курсов специальности 230101 - Вычислительные машины, комплексы, системы и сети по дисциплине «Параллельные алгоритмы и системы». Целью подготовки является обучение высококвалифицированных системных и проблемных программистов для технического и программного обеспечения МВС, подготовки кадров по созданию телекоммуникационных сред высокопроизводительных технологий и подготовка персонала по обслуживанию локальных и глобальных вычислительных сетей.

Второе направление предполагает подготовку специалистов в области математического моделирования с использованием МВС. В УГАТУ подготовка в данной области проводится для студентов специальности 230401 - Прикладная математика и 010501 - Прикладная математика и информатика, поскольку соответствующие государственные стандарты наиболее полно отвечают требованиям, предъявляемым к уровню подготовки специалистов в названной области. Программа подготовки включает изучение студентами таких дисциплин, как «Многопроцессорные системы и параллельное программирование», «Средства параллельного программирования», «Системное программное обеспечение многопроцессорных вычислительных систем» и ряд других.

В связи с приобретением УГАТУ нового суперкомпьютера появилась необходимость в освоении преподавателями и сотрудниками университета основ суперкомпьютерных вычислений для использования новых вычислительных мощностей в научных исследованиях и учебном процессе. Новый суперкомпьютер (рис. 1) с предварительными характеристиками входит в 30-ю редакцию списка T0P500 самых высокопроизводительных компьютеров мира [4]. Параметры системы:

• 266 двухпроцессорных узлов, 532 четырехядерных процессора Intel Xeon 5300 2.33 ГГц;

• полная оперативная память 2.15 ТВ;

• дисковая память 26.7 ТВ;

• ленточная библиотека 8.8 ТВ;

• вычислительная коммуникационная среда - Infiniband;

• операционная система: RedHat Enterprise Linux 4.4;

• потребляемая мощность 95 КВт.

Суперкомпьютер построен на базе фирменных решений IBM BladeServer. Пиковая производительность - 19.8 ТFlops, производительность по тесту LINPACK - 15.8 ТFlops.

Очевидно, что для эффективного использования такой техники необходимы практические навыки использования МВС. На решение этой задачи и ориентирована, в первую очередь, разработанная образовательная программа.

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

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

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

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

Структура образовательной программы и методика преподавания

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

(1) учебную программу дисциплины;

(2) набор презентаций лекционного курса;

(3) набор презентаций лабораторного практикума;

(4) учебно-методическое пособие по методике изучения материалов курса;

(5) учебно-методическое пособие по методике проведения лекционных занятий и лабораторного практикума;

(6) контрольные задания в тестовой форме.

Структура образовательной программы приведена в таблице.

Лекционный курс подкреплен набором презентаций (более 500 слайдов), которые наглядно иллюстрируют излагаемый материал, позволяют экономить время лектора на его изложение и способствуют формированию вопросов у аудитории в процессе лекции.

Рис. 1. Суперкомпьютер УГАТУ

№ раздела Название раздела Лекции, час. Лабораторные работы, час Всего, час

1 Введение в параллельную обработку 3 3

данных

2 Виды параллельных вычислительных 3 3

систем

3 Архитектурные принципы паралле- 4 4

лизма

4 Системное программное обеспечение

многопроцессорных вычислительных 4 - 4

систем

5 Парадигмы параллельного програм- 2 2

мирования

6 Средства параллельного программи- 2 2

рования

7 Средства разработки параллельного программного обеспечения для многоядерных систем 8 16 24

8 Средства разработки параллельного программного обеспечения для кластерных систем 8 8 16

9 Параллельные алгоритмы 4 4

10 Библиотеки параллельных подпро- 2 8 10

грамм

11 Основы программирования на языке С/С++

Итого 40

Таблица. Содержание дисциплины

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

(1) написание простейшей параллельной программы на примере вычисления определенного интеграла для многоядерной системы средствами OpenMP (4 часа);

(2) написание простейшей параллельной программы на примере вычисления суммы числового ряда для кластерной системы средствами MPI (4 часа);

(3) написание программы численного решения системы линейных уравнений на многоядерной вычислительной системе с использованием библиотеки Intel MathKernel Library (8 часов);

(4) написание параллельной программы умножения матриц для многоядерной системы средствами WinAPI и OpenMP (8 часов);

(5) написание параллельной программы умножения матриц для кластерной системы с использованием библиотеки ScaLAPACK (8 часов);

(6) (дополнительная) создание простейших программ на С/С++ с использованием управляющих структур, массивов и указателей (4 часа).

Для проведения лабораторных работ использовались дисплейный класс кафедры ВВТиС и дисплейный класс кафедры математики. В качестве системы с распределенной памятью использовался учебный Alpha-кластер кафедры ВВТиС (12xAlpha 21164

EV5 / 256 MB / Fast Ethernet 100 Mbit/s). Кластер работает под управлением операционной системы Debian Linux. Несмотря на то, что его пиковая производительность (порядка 12 GFlops) меньше производительности современного двуядерного процессора, он позволяет демонстрировать все особенности создания параллельных приложений для систем с распределенной памятью.

Создание учебных параллельных программ в рамках лабораторного практикума организовано в несколько этапов, в зависимости от изучаемых средств. При выполнении лабораторных работ (1), (3) и (4) в силу хорошей оснащенности дисплейных классов (компьютеры с двуядерными процессорами семейства AMD Athlon 64 X2) написание и отладка программ производится на персональном компьютере. Основным результатом выполнения этих лабораторных работ является грамотное использование механизмов синхронизации потоков и оптимизация работы программы с кэш-памятью.

Для лабораторных работ (2) и (5) разработка программ выполняется в два этапа. На первом этапе производится написание и первоначальная отладка программного кода. Этот этап выполняется на двуядерных однопроцессорных персональных компьютерах, работающих под управлением ОС семейства Linux. Для написания программы используются компиляторы Fortran и C, а распараллеливание осуществляется средствами MPI. Для отладки механизмов обмена данными между отдельными процессами программы на данном этапе используется режим эмуляции, поддерживаемый MPI. Кроме того, наличие многоядерности позволяет проверить ускорение в работе программы при использовании двух ядер по сравнению с одноядерным режимом. Если ускорение отсутствует или оказывается слишком малым, производится переработка программного кода или модификация параллельного алгоритма. На втором этапе параллельная программа запускается на кластере в режиме удаленного доступа. На этом этапе производится окончательная отладка программы и детальное исследование ее эффективности в зависимости от задействованных узлов системы.

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

В конце обучения предусмотрен зачет в тестовой форме. Разработан комплект контрольных заданий в тестовой форме из 25 заданий, каждое задание состоит из 20 тестовых вопросов (по 2 вопроса на каждую тему, изучаемую в дисциплине). Все вопросы считаются равнозначными и не имеют градации по степени сложности. Каждый тестовый вопрос содержит четыре варианта ответов с одним или двумя (указывается в вопросе) правильными. Для успешного прохождения теста необходимо дать правильные ответы не менее чем на 15 вопросов из 20. При этом также выставляются оценки по четырехбалльной шкале по следующим критериям: оценка «отлично» ставиться за 19-20 правильных ответов, оценка «хорошо» - за 17-18, оценка «удовлетворительно» -за 15-16 и «неудовлетворительно» - в остальных случаях.

Статистические результаты апробации образовательной программы

В ноябре-декабре 2007 г. курс повышения квалификации по образовательной программе «Основы суперкомпьютерных технологий» прошли 50 преподавателей и сотрудников университета, в том числе два профессора, 12 доцентов, восемь старших преподавателей, 18 ассистентов, 10 научных сотрудников и программистов университета. По итогам прохождения курсов повышения квалификации был проведен зачет в тестовой форме, результаты которого представлены на рис. 2. Видно, что 90% обучаемых успешно освоили материал, причем более 70% выполнили задание теста на «хорошо» и «отлично».

Неуд.

Рис. 2. Результаты зачета по дисциплине

Большую часть обучаемых составляли аспиранты и молодые ученые (74%); распределение оценок в этой группе иллюстрирует рис. 3. Видно, что процент успешно освоивших материал в этой группе оказывается несколько выше аналогичного показателя по всему контингенту обучаемых (рис. 2), однако процент освоивших материал на «хорошо» и «отлично» остался на прежнем уровне.

Неуд. 5.4%

Отл. 45.9%

Удовл. 21.6%

Хор. 27.0%

Рис. 3. Результаты зачета среди аспирантов и молодых ученых

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

Заключение

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

Литература

1. Кусимов С.Т., Газизов Р.К., Ковалева (Лукащук) В.О., Лукащук С.Ю. и др. Научно-методическое и научное обеспечение подготовки кадров в Башкирском региональном центре высокопроизводительных вычислений. / Сводный отчет по проекту ГР 01200311026 ФЦП "Интеграция" № 02200305050. - Уфа, 2002. - 191 с.

2. Гузаиров М.Б., Газизов Р.К., Лукащук С.Ю., Хисамутдинов Р.А. Высокопроизводительные вычисления в УГАТУ: от подготовки кадров к научным исследованиям // Материалы научно-технического совещания «Современные наукоемкие технологии в промышленности России: высокопроизводительные вычисления и CALS-технологии», Уфа, 25-28 октября 2004 г. - Уфа, 2005. - С. 93-98.

3. Газизов Р.К., Лукащук С.Ю., Тулебаев С.Д. Основы параллельного программирования с использованием MPI: Уч. пос. с грифом УМО. - Уфа: Изд-во УГАТУ, 2004. -90 с.

4. TOP 500. Supercomputer sites. - Режим доступа: http://www.top500.org