![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Основы параллельного программирования на кластере и разработка элективного курса «Администрирование в информационных системах и администрирование виртуальных машин» |
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования Красноярский государственный педагогический университет им. В.П. Астафьева Институт математики, физики и информатики Факультет информатики Кафедра информатики и вычислительной техники Выпускная квалификационная работа Основы параллельного программирования на кластере и разработка элективного курса &quo ;Администрирование в информационных системах и администрирование виртуальных машин&quo ; Работу выполнил: Гончаров Иван Викторович (роспись) Научный руководитель: Шикунов Сергей Анатольевич к.ф.-м.н., доцент (роспись) Рецензент: Прохоров Алексей Анатольевич ст.преподаватель (роспись) Допущена к защите: Пак Н.И. д.п.н., профессор, зав. каф.ИВТ Оценка: Дата защиты (число, месяц, год) Красноярск 2008 Содержание Введение Глава 1. Кластерные системы 1.1 Структура Beowulf и параметры 1.2 Виртуальный скоростной канал, интерфейс 1.3 Устройство кластера 1.4 Операционная система 1.5 Организация кластерной системы 1.6 Параллельная виртуальная машина(PVM) 1.6.1 Взаимодействие задач в PVM 1.6.2 Управление задачами 1.6.3 Передача сообщений 1.6.4 Упаковка данных 1.6.5 Распаковка полученных данных 1.6.6 Отладка в PVM 1.6.7 Установка PVM Глава 2 Обучение будущих учителей сетевому администрированию 2.1 Анализ целесообразности обучения будущих учителей сетевому администрированию 2.2. Виртуальная машина для обучения 2.2.1.Анализ и выбор виртуальной машины для обучения 2.2.2. Инструкции по работе с рекомендуемым программным обеспечением Разработка и содержание курса Тематическое планирование и рабочая программа курса Дидактические материалы Учебно-методические материалы Учебные задачи, задания, лабораторные работы Контрольно-измерительные материалы Заключение Список литературы Введение Сейчас в наших научных организациях и университетах, как правило, имеются энтузиасты бесплатного распространяемого ПО и специалисты по ОС Li ux. В то же время парк более-менее современных персональных компьютеров в этих организациях имеется. Закономерно появилась идея создавния параллельных вычислительных систем из общедоступных компьютеров на базе процессоров I el и недорогих E her e -сетей, установив на эти компьютеры Li ux и, объединив с помощью одной из бесплатно распространяемых коммуникационных библиотек (PVM, а затем MPI) эти компьютеры в кластер. Оказалось, что на многих классах задач и при достаточном числе узлов такие системы дают производительность, сравнимую с той, что можно получить, используя дорогие суперкомпьютеры. При отсутствии высококвалифицированных параллельных программистов кластеры Beowulf создаются и используются людьми с минимальным опытом параллельного программирования. В самом деле, кластеры Beowulf обеспечивают университеты с ограниченными ресурсами хорошей платформой для изучения параллельного программирования и недорогой производительной вычислительной системой для ученых. Затраты на установку в университетах минмиальны: многие студенты заинтересованы в таких проектах и используют Li ux на собственных компьютерах, установка кластера и написание параллельных программ является частью процесса обучения.
Школьный учитель информатики проводит занятия в учебном компьютерном классе, в котором компьютеры объединены в локальную сеть, в подавляющем большинстве случаев, находящуюся под управлением операционной системы Wi dows. Такая ситуация требует, чтобы школьный учитель хотя бы на базовом уровне разбирался в администрировании таких сетей. Тем более, что и любознательность современных школьников, сталкивающихся с сетями разного уровня повсеместно, должна быть удовлетворена. Поэтому представляется полезным обеспечить будущим школьным учителям информатики возможность познакомиться с основами построения, функционирования и управления компьютерными сетями во время специальной подготовке в период прохождения базового обучения своей профессии. Существующие курсы подготовки студентов различных специальностей в этой области достаточно сложны и для получения первоначального представления нет необходимости их копировать. К тому же, курс для будущих школьных учителей информатики должен иметь более практическую направленность – чтобы будущие учителя могли попробовать управлять сетью и почувствовать, что это не является чрезмерно сложно, таинственно и непостижимо. Поэтому в таком курсе необходимо большое внимание уделить обеспечению возможности каждому учащемуся в достаточной степени попробовать себя в создании, настройке и администрировании компьютерной сетью. Единственной реальной возможностью в достаточной степени получить практические навыки такого сорта является организация для каждого учащегося на отдельном компьютере виртуальной сети из нескольких виртуальных компьютеров. Современное программное обеспечение позволяет применить виртуальные машины, что дает различным категориям пользователей - от начинающих до I -специалистов - множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение. На сегодняшний день существуют три наиболее популярных инструмента, предназначенных для создания виртуальных машин и управления ими: Vir ual PC 2004 компании Microsof , VMware Works a io от компании VMware и относительно &quo ;свежий&quo ; продукт - Parallels Works a io , созданный в компании Parallels. Поэтому в данной работе предлагается использовать одну из этих виртуальных машин для создания на отдельном компьютере виртуальной сети такой, чтобы учащийся мог персонально поработать со своей собственной сетью во время занятия в компьютерном классе. При этом в работе так же предлагается адаптировать существующие курсы обучения системному администрированию будущих &quo ;реальных&quo ; специалистов для нужд базового обучения будущих учителей информатики с учётом ограниченности возможностей виртуальных сетей реализуемых на виртуальной машине. В связи с вышесказанным в данной работе была поставлена следующая цель: исследовать возможность построения курса обучения основам системного администрирования для будущих учителей информатики на основе виртуальной локальной сети. При этом была выдвинута следующая гипотеза: возможно адаптировать существующие курсы обучения системному администрированию так, чтобы они были посильны и интересны студентам, обучающимся по специальности 030100 и могли быть проведены на виртуальных сетях, построенных на виртуальных машинах.
Объектом исследования в данной работе являлся процесс базовой подготовки по информационным дисциплинам студентов, обучающихся по специальности 030100. Предметом исследования – возможность построения курса обучения основам системного администрирования удовлетворяющего цели и гипотезе исследования. Для выполнения поставленной цели было необходимо решить следующие задачи: - изучить кластерные системы, организацию кластерной системы, устройство кластера, сетевое обеспечение кластера; - изучить параллельную виртуальную машину(PVM), взаимодействие её задач, администрирование PVM. - Ознакомиться с возможностями виртуальных машин для построения виртуальных локальных сетей. - Выбрать одну из таких машин для реализации на ней предлагаемого курса и проанализировать ограничения на содержание курса, накладываемые ограничениями виртуальной сети. - Ознакомиться с типичными содержаниями курсов по системному администрированию и определить содержание курса. - Собрать материалы по теме &quo ;системное администрирование&quo ; и &quo ;построение сетей виртуальных машин&quo ;, имеющие ценность для построения учебного курса и обучения. - Разработать инструкции по установке и использованию сетей виртуальных машин. - Разработать тематическое планирование и рабочую программу курса, позволяющие при проведении занятий по ним достичь заявленную цель и доказать заявленную гипотезу. - Разработать лабораторные работы, упражнения и контрольные вопросы по темам курса. В случае успешного выполнения задач и реализации цели данной работы ожидается получение следующих результатов: подтверждение положения о возможности построения курса обучения основам системного администрирования для студентов, обучающихся по специальности 030100, на основе виртуальной локальной сети, путём адаптации существующих курсов обучения системному администрированию так, чтобы они могли быть проведены на виртуальных сетях, построенных на виртуальных машинах. 1. Кластерные системы Параллельный кластер - это то, что вам не хватало для вашей работы. Возникает вопрос, из чего его делать и сколько компьютеров необходимо связать в кластер, чтобы затраченные усилия дали ощутимый результат. Кроме того хотелось бы понять какие компьютеры необходимы для кластера. 1.1 Структура Beowulf и параметры Сразу скажу, что кластер Beowulf - гетерогенная структура. В него могут входить самые разнообазные по параметрам компьютеры, построенные на различных аппаратных платформах, например I el Pe ium различных версий, Alpha, RISC-процессоры, ra sme a, 32-х и 64-х битовые процессоры. Более того, на компьютерах в кластере могут быть установлены самые различные системы: Li ux, Wi dows, OS/2 WARP. Нашей целью будет построение кластера с минимальными усилиями. Поэтому, если вы хотите заниматься делом (сиречь научной работой), а не повышать свой профессионализм в области информационных технологий, о возможной гетерогенности кластера я предлагаю забыть. Будем считать, что аппаратная платформа комьютеров нашего будущего кластера однообразна. Что касается различия в параметрах (быстродействие, память, .) у компьютеров, входящих в кластер, то это допустимо.
Набор полезных возможностей предоставляет класс TEST, инкапсулирующий ряд механизмов тестирования класса: прием и хранение данных от пользователя, вывод и хранение результата, сравнение, регрессное тестирование и т.д. Хотя решение с использованием вложения может быть предпочтительным, неплохо иметь возможность при тестировании класса X определять класс X_TEST, порожденный от X и TEST. Далее мы будем встречать и другие примеры наследования функциональных возможностей, при котором один класс F инкапсулирует набор, например констант или методов математической библиотеки, а другой, объявляя себя потомком F, может ими воспользоваться. Лунка и кнопка Вот пример, в котором, как и раньше, без множественного наследования не обойтись. Идейно он близок к примеру с корпоративным самолетом, спальным вагоном и другими типами, полученными в результате объединения абстракций. Впрочем, теперь мы будем работать с понятиями из практики программирования. Среда разработки ISE, описанная в лекции 19 курса "Основы объектно-ориентированного проектирования", подобно другим графическим приложениям, содержит "кнопки" для выполнения определенных действий
1. Постановка задачи линейного программирования и двойственная задача линейного программирования.
2. Управление потоками данных в параллельных алгоритмах вычислительной линейной алгебры
5. Языки и технология программирования. Начальный курс /Pascal/
10. Системное программирование
11. Математическое программирование
14. Понятие, назначение и составные элементы систем программирования
15. Лекции по высокоуровневым методам информатики и программированию
16. Курсовая работа по основам программирования. Игра "Паровоз"
17. VB, MS Access, VC++, Delphi, Builder C++ принципы(технология), алгоритмы программирования
18. Помощь в обучении программированию
20. Сравнительный анализ языков программирования JavaScript и VBScript
21. Возможности системы программирования Delphi для создания пользовательского интерфейса
25. Учебник по технологии программирования
26. Билеты по дисциплине "Основы алгоритмизации и программированию"
27. Эволюция языков программирования
28. Программирование на языке Турбо Паскаль
29. Лабораторная работа №5 по "Основам теории систем" (Транспортные задачи линейного программирования)
31. Решение оптимизационной задачи линейного программирования
32. Решение задачи линейного программирования
33. Параллельный программатор для микроконтроллеров Atmel серии АТ89
35. Технология производства, прогнозирования, программирования и планирования урожаев
36. Программирование и планирование в ситуациях коллективного взаимодействия
41. Методология изучения темы «Признаки параллельности прямых
42. Динамическое программирование (задача о загрузке)
43. Линейное и динамическое программирование
44. О возможности путешествий по параллельным мирам
45. O Л. В. Канторовиче и линейном программировании
46. Автоматизированния система обучения программированию
47. Особенности программированного обучения
48. Нейролингвистическое программирование
49. Решение задачи методами линейного, целочисленного, нелинейного и динамического программирования.
50. Взаимодействие параллельных проводников с током
51. Современная теоретическая физика о параллельных и вложенных малых мирах-вселенных
52. Динамическое программирование
53. Решение многокритериальной задачи линейного программирования
57. Высокоуровневые методы обработки информации и программирования
58. Программирование в LE-технология Microsoft Windows
59. Графическое программирование на Ms Fortran
60. Объектно-ориентированный подход к программированию
61. Лабораторные работы по программированию
62. Отчет по курсу прикладные задачи программирования
64. Алгоритмизация и программирование процессов обработки данных в среде СУБД типа Fox
65. Языки программирования, их классификация и развитие
67. Алгоритмизация и программирование процессов на Fox
68. Курсовая работа программирование на Pascal
69. Моделирование времени. Обеспечение параллельности в работе устройств ВС в системе VHDL
73. Основы программирования на языке Паскаль
74. Программирование в двоичных кодах
75. Программирование на языке CLIPS
76. Программирование с помощью Delphi
77. Программирование элементов разветвляющейся структуры
78. Протоколы и стандарты объектно-ориентированного программирования
80. Разум-ориентированное программирование
81. Использование открытых интерфейсов среды программирования Delphi
82. Windows Forms: Современная модель программирования для создания GUI приложений
83. Программирование служб: подробности
84. Алгоритмизация и программирование
85. Знакомство со средой программирования Borland C++ Builder6
89. Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL
90. 5 различных задач по программированию
91. Технологии и языки программирования
92. Распределенное программирование
93. Ответы на вопросы по курсу “Системное программирование”
94. Логические задачи на языке программирования Prolog
95. Программирование для Windows CE
96. Использование языка программирования Visual Basic для решения математических задач
97. Применение объектно-ориентированного программирования в параметрическом анализе структур Тьюринга
98. Основы программирования OpenGL в Borland С++Builder и Delphi. Простейшие объекты