МБЛН 01? СОММиШСЛТКЖ Б((ШРМБШ: Iss. 1 (141). 2018
И.В. Абашева
Военно-космическая академия имени А.Ф.Можайского
О ВНЕДРЕНИИ В УЧЕБНЫЙ ПРОЦЕСС ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ
В статье описан подход о внедрении параллельных вычислений в учебный процесс академии. Актуальность данной задачи обусловлена следующими основными причинами: массовое производство персональных компьютеров на базе многоядерных процессоров и на их основе широкое распространение кластерных вычислительных систем [1]. В то же время образовательные программы не обеспечивают в полной мере подготовку выпускников в области современных параллельных вычислительных технологий.
Введение
Поиски путей увеличения производительности ЭВМ привели к появлению в 50-е годы идеи параллельной обработки данных в многопроцессорных вычислительных системах (МВС). Первые конкретные шаги в исследовании параллельных вычислений были сделаны в первой половине 60-х годов. Это был период отбора и становления главных проблем и направлений развития параллельного программирования. К середине 60-х годов в рамках общей теории программирования начинает складываться теория параллельного программирования [5,7].
В настоящее время теория параллельного программирования имеет богатую библиографию, охватывающую широкий круг проблем. Параллельным вычислениям уделяется большое внимание. Это связано главным образом с двумя факторами. Первый фактор обусловлен научно-техническим прогрессом, в результате которого появились новые области знаний, требующие применения методов математического моделирования. Сами модели также существенно усложнились. В итоге происходит неуклонное возрастание потребности в ресурсоемких расчетах, которые в ряде случаев можно выполнить только на базе высокопроизводительной техники с помощью методов параллельных или распределенных вычислений.
Другой существенный фактор, в результате которого интерес к параллельным вычислениям существенно вырос, состоит в повсеместном распространении многоядерных компьютеров и кластерных систем.
В настоящее время актуальной является задача подготовки специалистов, владеющих современными параллельными вычислительными и суперкомпьютерными технологиями и способных эффективно применять их при проведении фундаментальных и прикладных исследований.
В данной статье описан подход к внедрению параллельного программирования в учебный процесс подготовки выпускников, который опробован в ходе работ и исследований военно-научного общества 63 кафедры 6 факультета академии.
Внедрение параллельных вычислений в учебный процесс подразумевает в первую очередь обучение знаниям и навыкам параллельного программирования сложных научных задач и обеспечение соответствующей материальной базой. Как отмечал один из основоположников параллельного программирования академик А.П.Ершов «Чтобы научиться программировать, надо программировать» [5]. Минимальная материальная база параллельного программирования включает в себя следующие компоненты:
ТЕХНИКА СРЕДСТВ СВЯЗИ, № 1 (141), 2018
1. Аппаратные средства параллельного программирования.
2. Программные средства параллельного программирования.
Аппаратные средства параллельного программирования
1. Многоядерные компьютеры:
Например, четырехядерные компьютеры с
процессором Intel Соге 2 Quad Q8300 2,5 GGz [4].
2. Отечественные кластерные системы ОАО «НИЦЭВТ»:
СВК ЕС1710, ЕС1720, ЕС1721 - мультипроцессорные системы для использования в задачах с большим объемов вычислений, а также как база для систем коллективного пользования и систем управления.
3. Локальные вычислительные системы на базе однородных типовых компьютеров.
Программные средства параллельного программирования
Программное обеспечение исследования процессов выполнения параллельно-последовательных программ (ПП - программ ) в общем случае включает операционные системы (ОС), системы производства программ (СПП) и дополнительные программные системы для параллельного выполнения целевых программ пользователей.
Программное обеспечение включает:
Операционные системы (ОС), системы производствапрограмм (СПП) идополнительные программные системы для параллельного выполнения целевых программ.
Операционные системы:
Широко используются ОС Windows ХР, WindowsVista, Windows 7 и Linux, но чаще других используются ОС Windows ХР и Windows 7. Windows ХР сочетает в себе преимущества Windows 2000 Professional с лучшими качествами Windows 98 и Windows ME.
Системы производства программ:
В широко используются системы производства программ на базе языков высокого уровня С, С++, Фортран , включенных в систему Visual Studio 2005 ( 2008 ) для создания параллельных приложений для ОС Windows 7 и ХР.
Дополнительные программные средства
К ним относятся следующие средства:
• Vision Studio 2005 (программа создания приложений — проектов ОС);
• Vision Studio 2008 (программа создания приложений — проектов ОС);
• MPICH2 (MPI - 2.0) (интерфейс обмена данными в параллельном программировании);
• Open MP 3.0 (интерфейс прикладной параллельной программы);
• HPF (High Performance Fortran) — расширение языка Фортран-90;
• HPF-2 — расширение языка Фортран — 95 [2,3].
Меры по внедрению параллельного программирования в учебный процесс
На первом этапе проделана следующая работа:
1. В новый план по ФГОС — 3 на 63 кафедре включена дисциплина «Супер-ЭВМ». По этой дисциплине предусмотрены разделы « Основы параллельного программирования» и « Организация кластерных вычислений».
2. Разработано и подготовлено к изданию в 2013 г. « Руководство к лабораторным работам по дисциплине «Супер-ЭВМ» для отработки практических навыков по параллельному программированию и проведению исследований процессов выполнения параллельных программ.
3. На кафедре разработано и организовано автоматизированное рабочее место «АРМ-63» для проведения лабораторных работ по дисциплине «Супер-ЭВМ».
4. Выпускница 2013 г. Агафонова И.В. защитила выпускную квалификационную работу на тему: «Организация и исследование процессов параллельно — последовательного выполнения программ на многоядерных компьютерах». Она начинала свои исследования параллельных вычислений в военно-научном обществе кафедры на аппаратуре «АРМ-63».
На втором этапе ставится задача разработки и внедрения лабораторного практикума параллельных вычислений для проведения разного рода исследований, например:
• Исследование зависимости времени выполнения ПП - программы на языке С++ или Fortran в системе MPICH2 от числа процессоров вМВС.
• Исследование зависимости времени выполнения ПП - программы на языке С++ или
MEANS OF COMMUNICATION EQUIPMENT Iss. 1 (141). 2018
Fortran в системе Open MP от числа процессоров в МВСидр.
Предусмотрено также составление и отладка ПП — программ для типовых задач, например:
1. Перемножение матриц.
2. Решение системы линейных уравнений методом Гаусса.
3. Определение значения определенного интеграла методами прямоугольника, трапеций или Симпсона.
4. Решение дифференциальных уравнений 1-го порядка методами Эйлера и Рунге — Кутта и др.
Можно также подготовить варианты тем дипломов и диссертационных работ, например:
1. Исследование процессов выполнения ПП - программ военного назна-чения на многоядерных компьютерах [6].
2. Исследование процессов выполнения ПП — программ военного назна-чения на кластерных вычислительных системах [8].
3. Разработка методов распараллеливания последовательных алгоритмов для программирования целевых задач военного назначения.
4. Исследование организации вычислительного процесса реконфигурируемых мультикон-вейерных вычислительных систем с перенастраиваемой структурой.
Заключение
Новые версии учебных программ предполагают преподавание основ параллельных вычислений, начиная с младших курсов. Это позволит на ранних этапах обучения вызвать у
курсантов интерес к параллельным вычислениям и показать перспективу их использования.
Модернизация программ выполнена в рамках действующего ГОС. Дополнительные аудиторные часы для изучения параллельных вычислительных технологий получены за счет использования современных образовательных технологий: проведение лекций с использованием презентаций, использование лабораторных интернет - практикумов и компьютерное тестирование знаний курсантов.
В апреле 2013 г. вопрос внедрения параллельного программирования и кластерных вычислений в учебный процесс академии рассматривался на предметно-методической комиссии по информатике, где среди других были рассмотрены и учтены в решении следующие вопросы:
Придание параллельному программированию статуса учебной дисциплины (отдельный курс или раздел в дисциплину программирования, курсовые работы, дипломное проектирование).
Применение параллельного программирования в диссертационных работах.
Исследование и использование параллельного программирования в научно-исследовательской работе.
Развитие научных направлений работ в области параллельного про-грамммирования (операционные системы, языки параллельного про-граммирования, трансляторы, организация параллельного вычислительного процесса).
СПИСОК ЛИТЕРАТУРЫ
1. Воеводин В.В., ВоеводинВл.В. Параллельные вычисления. — СПб. Изд. «БХВ-Петербург», 2002.
2. Гергель В.П. Теория и практика параллельных вычислений. — М.: Интернет-Университет, БИНОМ. Лаборатория знаний, 2007.
3. Горелик A.M. Средства поддержки параллельности в языках программирования. Открытые системы 02/1995.
4. Гэри М., Джонсон Д. Высокопроизводительные машины и труднорешаемые задачи. — М. Мир, 1982.
5. Ершов А.П. Теория программирования и вы-числительныесистемы, «Знание», М., 1972.
6. Захаров А.И. Исследование принципов параллельно — последовательного выполнения программ в многопроцессорных вычислительных системах. Кандидатская диссертация. СПб., BKA им. А.Ф. Можайского, 1975.
7. Котов В.Е. Теория параллельного программирования. Прикладные аспекты. Кибернетика, 1974,№1.
8. Сбитнев Ю. Кластеры. Практическое руководство по параллельным вычислениям. Корпорация ЯВА, Екатеринбург, 2010.