педагогические науки
Кузьмичев Алексей Борисович ОПТИМИЗАЦИЯ ОБРАЗОВАТЕЛЬНОГО ...
УДК 378.1
ОПТИМИЗАЦИЯ ОБРАЗОВАТЕЛЬНОГО ПРОЦЕССА ПРИ ПРОВЕДЕНИИ ПРАКТИЧЕСКИХ ЗАНЯТИЙ ПО НАПРАВЛЕНИЯМ ОБУЧЕНИЯ, ТРЕБУЮЩИХ НАЛИЧИЯ СПЕЦИАЛЬНОГО ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ И СРЕДСТВ РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
© 2017
Кузьмичев Алексей Борисович, кандидат технических наук, доцент кафедры «Прикладная математика и информатика» Тольяттинский государственный университет (445020, Россия, Тольятти, улица Белорусская, 14, e-mail: [email protected])
Аннотация. В настоящее время при реализации процесса обучения современным компьютерным технологиям на базе вычислительной техники, расположенной в компьютерных классах можно выделить ряд существенных недостатков, наиболее значимыми из которых является значительная потеря времени на подготовку рабочего места к реализации процесса обучения и низкие эргономические показатели при организации проведения занятия. Для устранения изложенных проблем можно использовать новую архитектуру построения обучения в области информационных технологий на базе компьютерных классов с использованием облачных технологий организации вычислений, например на базе частной облачной среды OpenStack. Проведенное тестирование среды OpenStack показало возможность устранения существующих проблем с одновременным увеличением показателей качества проведения занятий при одновременной работе значительного количества обучаемых. В частности, тестирование показало возможность одновременной работы на одном сервере с 24 потоковым процессором и 144 Гб оперативной памяти не менее чем 40 обучаемых. При этом в качестве ЭВМ в компьютерных классах возможно использовать без потери функциональности и производительности персональные компьютеры на базе микроЭВМ Raspberry Pi 3 с ОС Raspbian и клиентом X2Go для удаленного доступа к графическому интерфейсу Linux в виртуальных машинах облака OpenStack. Данное решение позволяет устранить почти полностью проблему шума и выделения тепла от работающих ЭВМ в компьютерных классах с одновременным значительным увеличением производительности и подготовки рабочего места к реализации процесса обучения.
Ключевые слова: обучение в компьютерных классах, облачные вычисления, виртуальная машина, микроЭВМ, тонкий клиент, терминал-сервер, OpenStack, X2Go, Raspbian, Raspberry Pi.
OPTIMIZATION OF EDUCATIONAL PROCESS WITH PRACTICAL TRAINING IN AREAS OF STUDY THAT REQUIRE SPECIAL APPLICATION SOFTWARE AND DEVELOPMENT TOOLS SOFTWARE
© 2017
Kuzmichev Aleksej Borisovish, candidate of technical sciences, associate professor of the chair «Applied Mathematics and Computer Science» Togliatti State University (445667, Russia, Togliatti, street Belorusskaya 14, e-mail: [email protected])
Abstract. Currently, with the implementation of the learning process of modern computer technologies on the basis of computers, located in computer classrooms there are a number of disadvantages, the most significant of which is a considerable loss of time to prepare a workplace implementation of the learning process and low ergonomics in the organization of the class. To resolve the above problems, you can use a new architecture of learning in the field of information technology based on computer classes with the use of cloud computing organization, for example on the basis of a private cloud OpenStack. Testing of OpenStack environment showed the possibility to solve problems with simultaneous increase of indicators of quality of training, while work of a significant number of trainees. In particular, testing has shown the ability to simultaneously work on a single server with 24 stream processor and 144 GB of RAM at least 40 trainees. At the same time the computers in the computer classrooms it is possible to use without losing the functionality and performance of personal computers on the basis of the microcomputer Raspberry Pi 3 with Raspbian OS and X2Go client for remote access to graphical interface on Linux virtual machines in the OpenStack cloud. This solution allows to eliminate almost completely the problem of noise and heat from the running computer in the computer labs with simultaneous significant increase of the productivity and training of workplace implementation of the learning process.
Keywords: training in computer classes, cloud computing, virtual machine, computer thin client, terminal server, OpenStack, X2Go Raspbian, Raspberry Pi.
В настоящее время при реализации процесса обучения современным компьютерным технологиям на базе вычислительной техники, расположенной в компьютерных классах можно выделить следующие проблемы:
1. Большие временные затраты на подготовку рабочего места с использованием необходимого программного обеспечения перед началом занятия. Так например запись проекта с переносного устройства хранения данных (Flash накопитель ) в рабочую папку среды программирования в среднем занимает 10 минут. Настройка среды программирования (добавление необходимых библиотек и переменных среды окружения) занимает в среднем 5 минут. То есть для 17 занятий по одному предмету потеря времени составит более 4 часов, или почти 3 занятия.
2. Низкая производительность вычислительной техники при реализации сложных программных проектов. Чаще всего установка мощных процессоров с большим количеством оперативной памяти является затратным, поэтому в большинстве компьютерных классов установлены ЭВМ с начальными характеристиками, оптимизи-
рованными для работы с офисными программами.
3. Сложность установки и настройки специализированных программных средств, необходимых для изучения современных подходов к разработке ПО. В качестве примера можно привести установку начальной среды программирования NetBeans, которая требует начальной установки Java Developer Kit и только потом тщательной установки самой среды с необходимостью настройки нужных параметров. В случае же установки профессиональных систем для разработки ПО, работа может значительно усложняться. Так, практика проведения занятий со студентами 2 курса по разработке Web приложений показала, что только установка среды программирования и необходимых компонент для развертывания Web приложения, при наличии подробной документации и алгоритма установки, в среднем занимала 3 пары занятий [1], [2].
4. Высокая вероятность потери результатов предыдущих работ вследствие упора разработки на вычислительную технику с отсутствием систем резервирования (персональный компьютер). Эта проблема вытекает из
Kuzmichev Aleksej Borisovish pedagogical
OPTIMIZATION OF EDUCATIONAL ... sciences
необходимости хранения результатов разработки в целях повышения производительности на локальном хранилище ЭВМ. При неправильном выключении ЭВМ, сбоях в работе, невнимательности студента и т.д. результаты неизбежно пропадают.
5. Необходимость привязки обучаемого к конкретному рабочему месту на протяжении всей практической подготовки ввиду длительности изучения процесса разработки современных программных продуктов. Так разработка даже простейшей программы для реализации криптографической системы шифрования требует последовательного выполнения 5 практических занятий в течение минимум 20 академических часов.
6. Отсутствие возможности у обучаемого самостоятельной установки и настройки операционной системы, прикладных программ и средств разработки, что делает невозможным получение умений и навыков по подготовке специализированной среды разработчика ПО. Большинство компьютерных классов предоставляют работу студентов в режиме обычного пользователя. Это диктуется необходимостью защитить установленное ПО от несанкционированных изменений.
7. Низкие эргономические показатели по шуму и температуре при работе в компьютерном классе. Уровень шума, согласно требований ГОСТ не должен превышать 40 Дб в классе ([3]), а температура — 22 град. Работающие ПК в классе с 15 современными рабочими местами потребляют не менее 6000 Вт электроэнергии. Большая часть данной энергии (примерно 80 %) уходит на нагрев помещения. То есть на нагрев класса работает электрообогреватель 4800 Ватт. При более мощной вычислительной технике увеличивается шум и выделяемое тепло, так как увеличивается мощность процессоров и вентиляторов охлаждения.
Данные проблемы неизбежно приводят к снижению качества образовательного процесса и сложности подготовки студентов с хорошими профессиональными умениями и навыками, особенно по направлениям обучения, требующих наличия специального прикладного ПО и средств разработки ПО.
Для устранения вышеприведенных проблем были сформированы требования к оптимальной технологии использования вычислительной техники в образовательном процессе для студентов по направлениям обучения, связанным с использованием специализированного ПО и средств разработки ПО:
1. Максимальная прозрачность использования специализированного ПО и средств разработки ПО для студента — то есть возможность без дополнительных временных затрат получить на любом рабочем месте в любом компьютерном классе необходимую программную среду для выполнения практики, с настройками и результатами, которые были на предыдущей практике. Это требование предполагает создание для обучаемого постоянного индивидуального виртуального рабочего места, не требующего дополнительных затрат на адаптацию к новому рабочему месту.
2. Возможность оперативного самостоятельного добавления студентом всех необходимых программных средств, требуемых для реализации процесса обучения по текущему практическому заданию. Это требование предполагает либо выбор обучаемым предустановленного и настроенного ПО, либо самостоятельной установки нового ПО по усмотрению студента.
3. Организация хранения и доступа обучаемого к своим результатам работы с любых рабочих мест с высокой степенью надежности хранения и доступа. Данное требование предполагает создание распределенного хранилища данных, позволяющим резервировать с заданной степенью надежности хранение данных и реализацию требуемой производительности при доступе к данным пользователя. При этом следует учитывать требования свода знаний по программной инженерии ^ЖБЕВОК) по сохраняемости данных [4]. Он означает, что данные 324
должны быть надежно защищены от потери и сохраняться за обучаемым минимум на все время его обучения в образовательном учреждении.
4. Обеспечение обучаемых высокопроизводительными системами, позволяющими в минимальные сроки получить результат обработки данных или программирования. Процесс разработки сложных программных систем включает несколько разных фаз. В одних фазах разработки практически не требуется мощные процессоры и большое количество оперативной памяти, например при написании исходного текста программы. В других фазах наоборот, вся работа возложена на вычислительную систему, например при компиляции и сборке программы. Это означает, что при реализации обучения студентов требуется периодически «мощная» вычислительная система с целью снижения времени ожидания обучаемого при выполнении практических работ.
5. Получение обучаемыми знаний, умений и навыков по технологиям и программным продуктам, связанных с разработкой ПО на основе современных программных продуктов. Практика разработки современных программ показывает, что в очень короткие сроки меняются, часто очень сильно, технологии работы и разработки программных систем. Поэтому необходимо наличие возможности оперативного внедрения и применения новых технологий и систем разработки ПО.
Изложенные требования можно с большей степенью выполнить на основе организации обучения в компьютерных классах с использованием современных реализаций облачных вычислений.
Облачные вычисления - это модель доступа через компьютерную сеть к общему пулу конфигурируемых вычислительных ресурсов (сетей, серверов, систем хранения, приложений и сервисов), которые могут быть оперативно предоставлены потребителю и освобождены с минимальными усилиями [5]. Национальным институтом стандартов и технологий США определены следующие характеристики для облачных вычислений [5]:
1. Самообслуживание по требованию - потребитель самостоятельно определяет и изменяет необходимые вычислительные ресурсы (серверное время, скорость доступа, объём хранимых данных).
2. Всевозможный доступ из сети — вычислительные услуги доступны потребителю через компьютерную сеть независимо от используемого клиентом вычислительного устройства.
3. Объединение ресурсов — имеющиеся вычислительные ресурсы объединяются в единый пул для обслуживания нескольких потребителей с реализацией динамического выделения необходимых вычислительных ресурсов для потребителя в соответствии с решаемыми им задачами. При этом клиент не имеет никаких знаний о точном местоположение предоставляемых ресурсов.
4. Быстрая адаптация — вычислительные ресурсы могут быть предоставлены или уменьшены в любой момент времени без дополнительных затрат на реализацию в автоматическом режиме.
5. Учёт потребления — облачная система автоматически вычисляет использованные вычислительные ресурсы (объём хранимых данных, пропускная способность, количество пользователей, количество транзакций) и оценивает объём предоставленных потребителю услуг.
Эти характеристики в большей степени удовлетворяют сформированным выше требованиям к оптимальной технологии использования вычислительной техники в образовательном процессе.
В настоящее время существуют 4 модели реализации облачных вычислений [6]:
1 .Частное облако - предназначено для использования одной организацией.
2. Публичное облако - предназначено для свободного использования всеми заинтересованными потребителями.
Baltic Humanitarian Journal. 2017. Т. 6. № 4(21)
педагогические науки
Кузьмичев Алексей Борисович ОПТИМИЗАЦИЯ ОБРАЗОВАТЕЛЬНОГО ...
3. Общественное облако - предназначено для использования конкретным сообществом потребителей из нескольких организаций.
4. Гибридное облако - комбинация из двух или более различных реализаций облачных вычислений.
Минимальные затраты на внедрение новой технологии обучения в компьютерных классах будут в случае использования публичного облака. Но тогда надо учесть стоимость аренды одной машины для одного обучаемого. Согласно исследованию рынка предложений [7], сделанным в сентябре 2017 года, минимальные цены на аренду виртуальных машин предоставляют кампании CloudLite, FirstVDS, SimpleCloud. Расчет стоимости аренды одной машины в минимальной конфигурации на базе ОС Linux в течение года в кампании CloudLite составляет порядка 2400 руб., а на базе Windows — 12000 руб. [8]. При этом минимальная конфигурация не предполагает автоматической установки необходимого прикладного ПО и сред разработки.
Кроме этого также такие проблемы, как то, что для надежной работы с облаком необходим постоянный высокоскоростной доступ в Интернет [9]. Данные расчеты приводят к выводу о нецелесообразности в настоящее время использования публичного облака. Поэтому для реализации облачных вычислений стала рассматриваться технология частного облака, развернутого на собственных вычислительных ресурсах учебного заведения. Необходимое и наиболее известное ПО для этого может быть:
- как коммерческое:
1. VMware vSphere [10];
2. RHEV ( Red Hat Enterprise Virtualization) [11];
3. Azure Stack [12], [13];
- по свободной лицензии:
1. Open-Source Virtualization Platform ProxmoxVE [14];
2. Apache CloudStack [15];
3. OpenStack [16].
Для тестовой реализации облачных вычислений был взят OpenStack, который является одним из самых распространенных решений для организации облачных сред типа Infrastructure as a Service (IaaS) [17]. Программное обеспечение OpenStack объединяет в большие центры вычислительные ресурсы, хранит и реализует доступ к сетевым ресурсам на всем цикле обработки данных.
Для тестирования на базе вычислительного кластера кафедры «Прикладной математики и информатики» (ПМИ) Тольяттинского государственного университета была развернут минимальная конфигурация OpenStack со следующими модулями:
1. OpenStack Compute (Nova) — реализует создание, запуск, перезапуск, остановку виртуальных машин. Модуль может работать с технологиями виртуализации (гипервизорами): KVM, VMware, Xen, Hyper-V и LXC. В данном случае виртуализация была реализована на ги-первизоре KVM [18].
2. Image Service (Glance) — регистрировать, хранит и извлекает образы виртуальных машин (VMI - Virtual Machine Images). Для тестовой реализации было использовано собственное хранилище Glance. реализуемое на сервере в виде отдельного каталога с файлами-образами VMI.
3. OpenStack Object Storage (Swift) — распределенное хранилище данных, которое характеризуется отказоустойчивостью и высокой надежностью. Swift позволяет добавлять всевозможные ЭВМ для реализации хранения копий данных, что обеспечивает принципиально новый подход к резервированию и получению доступа к хранимым данным. Это фактически означает увеличение системы хранения с минимальными затратами и с заданной сепенью надежности хранения.
4. OpenStack Identity service (Keystone) — сервис идентификации, обеспечивает централизованный механизм аутентификации для облака OpenStack в фор-
мате имя пользователя /пароль. Данный сервис может осуществлять подключение к Active Directory или OpenLDAP, что позволяет использовать уже существующую инфраструктуру для аутентификации пользователей.
5. OpenStack Networking (Neutron) - сервис реализации сетевого взаимодействия компонентов облачной системы OpenStack между собой по «внутренней» сети с обеспечением доступа клиентов к нужным компонентам облака из внешней сети.
6. Horizon — графический интерфейс администрирования в виде панели управления или консоль для управления в первую очередь контроллером вычислительных ресурсов Nova. При добавлении плагинов, может управлять и другими сервисами облака.
OpenStack был развернут для тестовой эксплуатации на двух серверах кафедры ПМИ марки HP DL360 G5 на базе ОС CentOS 7. Опытная установка показала возможность развертывания облачных вычислений на основе документации по установке OpenStack [19] в рамках образовательного учреждения с минимальными издержками на оборудование и наличие глубоких знаний в области операционных систем.
В результате развертывания облака OpenStack для обучения студентов по направлениям обучения, связанным с использованием специализированного ПО и средств разработки ПО, был получен кластер с вычислительной мощностью в виде 24 потокового процессора и 144 Гб оперативной памяти. Проведенные измерения показали возможность параллельной работы с высокой производительностью в облаке не менее чем 40 рабочих мест. Это фактически полностью покрывает потребности кафедры для обучения по предметам, связанных с разработкой программ.
Для решения проблем, связанных с доступом к облаку OpenStack с рабочих мест из компьютерного класса была апробирована возможность реализации тонкого клиента с микроЭВМ Raspberry Pi 3 [20]. Для этого было закуплено три комплекта микроЭВМ с мониторами 21 дюйм. На микроЭВМ была установлена ОС Raspbian [21], которая является ответвлением (форком) от ОС Debian [22]. Этот факт позволяет с минимальными затратами устанавливать необходимое ПО для реализации процесса обучения. Для удаленного доступа к графическому интерфейсу Linux в виртуальных машинах облака OpenStack был выбран сервер и клиент X2Go [23]. X2Go представляет собой ПО сервера терминалов для установки терминальных серверов Unix-приложений. В результате после проведения тестирования возможности работы в данной архитектуре были получены следующие результаты:
1. Время загрузки ОС Raspbian на микроЭВМ Raspberry Pi 3 до появления окна ввода пароля в клиенте X2Go — 40 секунд.
2. Время подключения к виртуальной машине в облаке OpenStack — 15 секунд.
3. Шум от работающих ПК в компьютерном классе — отсутствует.
4. Потребляемая мощность одним ПК (без учета монитора) — 10 Вт.
5. Время реакции на запуск и работу прикладных программ в виртуальной машине определяется мощностью сервера. На примере IDE Netbeans 8.2 [24] время первой загрузки составило менее 12 секунд.
Таким образом на основании вышеизложенного можно сделать следующие выводы:
1. В существующих подходах к организации проведения практических занятий в области информационных технологий на базе компьютерных классов есть ряд существенных недостатков, наиболее значимыми из которых является значительная потеря времени на подготовку рабочего места к реализации процесса обучения и низкие эргономические показатели при организации проведения занятия.
Kuzmichev Aleksej Borisovish OPTIMIZATION OF EDUCATIONAL ..
pedagogical sciences
2. Для устранения изложенных проблем можно использовать новую архитектуру построения обучения в области информационных технологий на базе компьютерных классов с использованием облачных технологий организации вычислений, например на базе частной облачной среды OpenStack.
3. Развертывание среды OpenStack показало ее работоспособность и возможность значительного масштабирования при необходимости одновременной работы большого количества обучаемых. В частности проведенное тестирование показало возможность одновременной работы на одном сервере с 24 потоковым процессором и 144 Гб оперативной памяти не менее чем 40 обучаемых.
5. В качестве ЭВМ в компьютерных классах возможно использовать без потери функциональности и производительности ПК на базе микроЭВМ Raspberry Pi 3 с ОС Raspbian и клиентом X2Go для удаленного доступа к графическому интерфейсу Linux в виртуальных машинах облака OpenStack. Данное решение позволяет устранить почти полностью проблему шума и выделения тепла от работающих ЭВМ в компьютерных классах с одновременным значительным увеличением производительности и подготовки рабочего места к реализации процесса обучения.
СПИСОК ЛИТЕРАТУРЫ:
1. Влияние информационных технологий на качество профессиональной подготовки в вузе [Текст] / Н. В. Филимонова, А. В. Шляпкин // Вестник педагогических инноваций. - 2010. - N 3. - С. 46-50.
2. Тарабрин О.А., Очеповский А.В., Кириллова А.В. Концепция спецкурса обучения студентов работе с программными пакетами по автоматизированному проектированию// Ученые записки ИУО РАО. 2006. № 20. С. 112-113.
3. Санитарные нормы СН 2.2.4/2.1.8.562-96 «Шум на рабочих местах, в помещениях жилых, общественных зданий и на территории жилой застройки» (утв. постановлением Госкомсанэпиднадзора РФ от 31 октября 1996 г. N 36). - [Электронный ресурс]. Режим доступа: Система ГАРАНТ: http://base.garant.ru/4174553/#ixzz4yQ8sc1ZL.
4. Проектирование программного обеспечения (Software Design по SWEBOK). - [Электронный ресурс]. Режим доступа: http://swebok.sorlik.ru:80/2_software_ design.html#_2-6.
5. Peter Meli and Timothy Grance (September 2011). The NIST Definition of Cloud Computing (Technical report). National Institute of Standards and Technology: U.S. Department of Commerce. doi:10.6028/NIST.SP.800-145. Special publication 800-145.
6. Реализация облачных вычислений - актуальная задача развития информационно-вычислительных сетей / Л.А. Бакст, О.К. Бурляева, В.В. Кузнецова, Е.В. Малышева // Профессиональные инновации. - No 7. -2013. - С. 26-36.
7. Andrei Maksimov Сравнение цен публичных облачных провайдеров России (сентябрь 2017).- [Электронный ресурс]. Режим доступа: https://dev-ops-notes.ru/ cloud/сравнение-цен-облачных-провайдеров/?utm_ source=MD&utm_medium=dev-ops-notes.ru&utm_ campaign=SNAP%2Bfrom%2BDev-Ops-Notes.RU.
8. Виртуальные сервера VPS/VDS. - [Электронный ресурс]. Режим доступа: https://cloudlite.ru/hosting.
9. Шмойлов Д.В. Облачные вычисления: актуальность и проблемы / Д.В. Шмойлов // Электронное научное периодическое издание «Электроника и информационные технологии». - No 1 (10). - МГУ им. Н.П. Огарева, Саранск, 2011. - 7 c.
10. VMware vSphere. - [Электронный ресурс]. Режим доступа:https://www.vmware.com/ru/products/vsphere. html.
11. RHEV ( Red Hat Enterprise Virtualization). - [Электронный ресурс]. Режим доступа: http://ru.bmstu.wiki/ RHEV_(Red_Hat_Enterprise_Virtualization).
12. Azure Stack. - [Электронный ресурс]. Режим
доступа:https://azure.microsoft.com/ru-ru/overview/azure-stack/.
13. Таллоч Митч и команда Windows Azure Знакомство с Windows Azure. Для ИТ-специалистов/ Таллоч М.; пер. с англ. - М. : ЭКОМ Паблишерз, 2014. - 154 с.: ил.
14. Open-Source Virtualization Platform ProxmoxVE.
- [Электронный ресурс]. Режим доступа: https://www. proxmox.com/en/proxmox-ve.
15. Официальная документация Apache CloudStack.
- [Электронный ресурс]. Режим доступа: http://docs. cloudstack.apache.org/projects/cloudstack-installation/ en/4.9/.
16. OpenStack is open source software for creating private and public clouds. - [Электронный ресурс]. Режим доступа: https://www.openstack.org/.
17. ICL Services Преимущества концепции облака OpenStack и его отличие от традиционной архитектуры. - [Электронный ресурс]. Режим доступа: https:// habrahabr.ru/company/icl_services/blog/280428/.
18. Kernel Virtual Machine (KVM). - [Электронный ресурс]. Режим доступа: https://www.linux-kvm.org/page/ Main_Page.
19. OpenStack Installation Guide. - [Электронный ресурс]. Режим доступа: https://docs.openstack.org/install-guide/index.html.
20. Raspberry Pi 3 Model B. - [Электронный ресурс]. Режим доступа: https://www.raspberrypi.org/products/ raspberry-pi-3-model-b/.
21. Raspbian for Raspberry Pi. - [Электронный ресурс]. Режим доступа: https://www.raspberrypi.org/downloads/ raspbian/.
22. Raspbian. - [Электронный ресурс]. Режим доступа: http://www.raspbian.org/.
23. What Can I do with X2Go. - [Электронный ресурс]. Режим доступа: https://wiki.x2go.org/doku.php/ doc:success-stories:start.
24. NetBeans IDE. - [Электронный ресурс]. Режим доступа: https://netbeans.org/features/index.html.
Статья поступила в редакцию 21.09.2017
Статья принята к публикации 26.12.2017
326
Baltic Humanitarian Journal. 2017. Т. 6. № 4(21)