О внедрении в учебный процесс параллельных вычислений
Абашева И.В.
Военно-космическая академия имени А.Ф.Можайского, г. Санкт-Петербург, Аннотация
В статье onисан подхoд о внедрении параллельных вычислений в учебный процесс академии. Актуаль-нoсть данной задачи обуслoвлена следующими основными причинами: массовое производство персональных компьютеров на базе многоядерных процессоров и на их основе широкое распространение кластерных вычислительных систем [1]. В то же время образовательные программы не обеспечивают в полной мере подготовку выпускников в области современных параллельных вычислительных технологий.
Ключбвыб слова: учебный процесс; параллельное программирование; аппаратные средства; программные средства; вычисления.
Введение
Поиски путей увеличения производительности ЭВМ привели к появлению в 50-е годы идеи параллельной обработки данных в многопроцессорных вычислительных системах (МВС). Первые конкретные шаги в исследовании параллельных вычислений были сделаны в первой половине 60-х годов. Это был период отбора и становления главных проблем и направлений развития параллельного программирования. К середине 60-х годов в рамках общей теории программирования начинает складываться теория параллельного программирования [5,7].
В настоящее время теория параллельного программирования имеет богатую библиографию, охватывающую широкий круг проблем. Параллельным вычислениям уделяется большое внимание. Это связано главным образом с двумя факторами. Первый фактор обусловлен научно-техническим прогрессом, в результате которого появились новые области знаний, требующие применения методов математического моделирования. Сами модели также существенно усложнились. В итоге происходит неуклонное возрастание потребности в ресурсоемких расчетах, которые в ряде случаев можно выполнить только на базе высокопроизводительной техники с помощью методов параллельных или распределенных вычислений.
Другой существенный фактор, в результате которого интерес к параллельным вычислениям существенно вырос, состоит в повсеместном распространении многоядерных компьютеров и кластерных систем.
В настоящее время, актуальной является задача подготовки специалистов, владеющих современными параллельными вычислительными и суперкомпьютерными технологиями и способных эффективно применять их при проведении фундаментальных и прикладных исследований.
В данной статье описан подход к внедрению параллельного программирования в учебный процесс подготовки выпускников, который опробован в ходе работ и исследований военно-научного общества 63 кафедры 6 факультета академии.
Внедрение параллельных вычислений в учебный процесс подразумевает в первую очередь обучение знаниям и навыкам параллельного программирования сложных научных задач и обеспечение соответствующей материальной базой. Как отмечал один из основоположников параллельного программирования академик А.П.Ершов «Чтобы научиться программировать, надо программировать» [5]. Минимальная материальная база параллельного программирования включает в себя следующие компоненты:
1. Аппаратные средства параллельного программирования.
2. Программные средства параллельного программирования.
Аппаратные средства параллельного программирования
1. Многоядерные компьютеры:
Например, четырехядерные компьютеры с процессором Intel Core 2 QuadQ8300 2,5 GGz [4].
2. Отечественные кластерные системы ОАО «НИЦЭВТ»:
СВК ЕС1710, ЕС1720, ЕС1721 - мультипроцессорные системы для использования в задачах с большим объемов вычислений, а также как база для систем коллективного пользования и систем управления.
3. Локальные вычислительные системы на базе однородных типовых компьютеров.
Программные средства параллельного программирования
Программное обеспечение исследования процессов выполнения параллельно-последовательных программ (ПП - программ) в общем случае включает операционные системы (ОС), системы производства программ (СИП) и дополнительные программные системы для параллельного выполнения целевых программ пользователей.
Программное обеспечение включает:
Операционные системы (ОС), системы производства программ (СПП) и дополнительные программные системы для параллельного выполнения целевых программ.
Операционные системы:
Широко используются ОС Windows XP, WindowsVista, Windows 7 и Linux, но чаще других используются ОС Windows XP и Windows 7. Windows XP сочетает в себе преимущества Windows 2000 Professional с лучшими качествами Windows 98 и Windows ME.
Системы производства программ:
В широко используются системы производства программ на базе языков высокого уровня С, С++, Фортран, включенных в систему VisualStudio 2005 (2008) для создания параллельных приложений для ОС Windows 7 и XP.
Дополнительные программные средства
К ним относятся следующие средства:
• VisionStudio 2005 (программа создания приложений - проектов ОС);
• VisionStudio 2008 (программа создания приложений - проектов ОС);
• MPICH2 (MPI - 2.0) (интерфейс обмена данными в параллельном программировании);
• OpenMP 3.0 (интерфейс прикладной параллельной программы);
• HPF (High Performance Fortran) - расширение языка Фортран-90;
• HPF-2 - расширение языка Фортран - 95 [2,3].
Меры по внедрению параллельного программирования в учебный процесс
На первом этапе проделана следующая работа:
1. В новый план по ФГОС - 3на63 кафедре включена дисциплина «Супер-ЭВМ». По этой дисциплине предусмотрены разделы «Основы параллельного программирования» и «Организация кластерных вычислений».
2. Разработано и подготовлено к изданию в 2013 г. «Руководство к лабораторным работам по дисциплине «Супер-ЭВМ»» для отработки практических навыков по параллельному программированию и проведению исследований процессов выполнения параллельных программ.
3. На кафедре разработано и организовано автоматизированное рабочее место «АРМ-63» для проведения лабораторных работ по дисциплине «Супер-ЭВМ».
4. Выпускница 2013 г. Агафонова И.В. защитила выпускную квалификационную работу на тему: «Организация и исследование процессов параллельно - последовательного выполнения программ на многоядерных компьютерах». Она начинала свои исследования параллельных вычислений в военно-научном обществе кафедры на аппаратуре «АРМ-63».
На втором этапе ставится задача разработки и внедрения лабораторного практикума параллельных вычислений для проведения разного рода исследований, например:
i-methods
31
2-2 0/5
• Исследование зависимости времени выполнения ПП - программы на языке С++ или Fortran в системе MPICH2 от числа процессоров в МВС.
• Исследование зависимости времени выполнения ПП-программы на языке С++ или Fortran в системе OpenMP от числа процессоров в МВС и др.
Предусмотрено также составление и отладка МП-программ для типовых задач, например:
1. Перемножение матриц.
2. Решение системы линейных уравнений методом Гаусса.
3. Определение значения определенного интеграла методами прямоугольника, трапеций или Симпсона.
4. Решение дифференциальных уравнений 1- го порядка методами Эйлера и Рунге - Кутта и др.
Можно также подготовить варианты тем дипломов и диссертационных работ, например:
1. Исследование процессов выполнения ПП-программ военного назначения на многоядерных компьютерах [6].
2. Исследование процессов выполнения ПП-программ военного назначения на кластерных вычислительных системах [8].
3. Разработка методов распараллеливания последовательных алгоритмов для программирования целевых задач военного назначения.
4. Исследование организации вычислительного процесса реконфигурируемых мультиконвейерных вычислительных систем с перенастраиваемой структурой.
Заключение
Новые версии учебных программ предполагают преподавание основ параллельных вычислений, начиная с младших курсов. Это позволит на ранних этапах обучения вызвать у курсантов интерес к параллельным вычислениям и показать перспективу их использования.
Модернизация программ выполнена в рамках действующего ГОС. Дополнительные аудиторные часы для изучения параллельных вычислительных технологий получены за счет использования современных образовательных технологий: проведение лекций с использованием презентаций, использование лабораторных интернет-практикумов и компьютерное тестирование знаний курсантов.
В апреле 2013 г. вопрос внедрения параллельного программирования и кластерных вычислений в учебный процесс академии рассматривался на предметно-методической комиссии по информатике, где среди других были рассмотрены и учтены в решении следующие вопросы:
1. Приданиепараллельному программированию статуса учебной дисциплины (отдельный курс или раздел в дисциплину программирования, курсовые работы, дипломное проектирование).
2. Применение параллельного программирования в диссертационных работах.
3. Исследование и использование параллельного программирования в научно-исследовательской работе.
4. Развитие научных направлений работ в области параллельного программирования (операционные системы, язык и параллельного программирования, трансляторы, организация параллельного вычислительного процесса).
Литература
1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб. Изд. «БХВ-Петербург». 2002.
2. Гергель В.П. Теория и практика параллельных вычислений. М.: Интернет-Университет. БИНОМ. Лаборатория знаний. 2007.
3. Горелик А.М. Средства поддержки параллельности в языках программирования. Открытые системы 02/1995.
4. Гэри М., Джонсон Д. Высокопроизводительные машины и труднорешаемые задачи. М.: Мир. 1982.
5. Ершов А.П. Теория программирования и вычислительные системы. «3нание». М.: 1972.
6. Захаров А.И. Исследование принципов параллельно - последовательного выполнения программ в многопроцессорных вычислительных системах. Кандидатская диссертация. СПб.: ВКА имени А.Ф. Можайского. 1975.
7. Котов В.Е. Теория параллельного программирования. Прикладные аспекты. Кибернетика. 1974. №1.
8. Сбитнев Ю. Кластеры. Практическое руководство по параллельным вычислениям. Корпорация ЯВА. Екатеринбург. 2010.
Для цитирования:
Абашева И.В. О внедрении в учебный процесспараллельных вычислений // i-methods. 2015. Т. 7. № 2. С. 30-33.
About of the introduction in educational process of parallel computing
Abasheva I.V.
Military space Academy named after A. F. Mozhaisky, Saint-Petersburg,
Abstract
The article describes an approach of implementing parallel computing in the educational process of the Academy. The relevance of this problem is due to the following main reasons: mass production of personal computers based on mul-ticore processors and based on them a broad distribution of cluster computing systems [1]. At the same time, educational programs do not provide fully trained graduates in the field of modern parallel computing technologies.
Keywords: educational process; parallel programming; hardware; software; computing.
References
1. Voevodin V. V., Voevodin VL.In. Parallel computations. SPb. Ed. "BHV-Petersburg". 2002.
2. Gergel V. P. Theory and practice of parallel computing. M.: Internet-University. BEAN. Laboratory of knowledge. 2007.
3. Gorelik, A. M. tool support for parallelism in programming languages. Open systems 02/1995.
4. Gary M., Johnson D. High-performance machines and intractability of the problem. M.: Mir. 1982.
5. ERSHOV A. P. THEORY OF PROGRAMMING AND COMPUTER SYSTEMS. "3НАНИЕ". M.: 1972.
6. Zakharov A. I., a Study of the principles of parallel - sequential execution of programs in multiprocessor computing systems. PhD thesis. SPb.: Military space Academy of A. F. Mozhaysky. 1975.
7. Kotov, V. E., Theory of parallel programming. Applied aspects. Cybernetics, 1974. No. 1.
8. Sbitnev Yuri Clusters. A practical Handbook on parallel computing. Corporation JAVA. Ekaterinburg. 2010.
For citation:
Abasheva I.V. About of the introduction in educational process of parallel computing // i-methods. 2015. Т. 7. No. 2. Pp. 30-33.
i-methods
33
2-205