Основным приоритетным направлением системы образования на сегодняшний день является обеспечение свободного и открытого доступа к непрерывному образованию.
В условиях постоянного расширения границ образовательного пространства необходимо совершенствование содержания образования.
Совершенствованием содержания образования по информационно-коммуникационным технологиям (ИКТ) считается внедрение новых спецкурсов, форм и методов обучения.
В данной статье рассматриваются вопросы внедрения современных ИКТ в аспекте обучения на основе внедрения технологий распределенных данных, являющиеся одним из наиболее перспективных инновационных направлений.
При рассмотрении предложенного вопроса, нами в учебный процесс факультета информационных технологий внедрены спецкурсы под названиями «Параллельные вычисления» и «Основы облачных технологий». Соответственно чему изначально анализу подвергнуты понятия данных технологий.
Из анализа понятия «распределенные данные», следует вывод: учеными и специалистами приводятся по различные определения. И, как следствие, следует вывод: в содержании данной статьи рассмотрены вопросы содержания и внедрения в учебный процесс специальности информатики основ облачных и параллельных технологий.
Таненбаум Э. в работе «Распределённые системы. Принципы и парадигмы» [6] предлагает свое определение, в котором отмечается, что распределенная вычислительная система – это набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя некоторого программного обеспечения выглядят единым целым». Исследование данной работы позволяет сделать вывод о выделении в данном случае следующих основных моментов: автономности узлов распределенных вычислительных систем и восприятия системы пользователем как единой структуры. Программное обеспечение при этом, представляется как основное связующее распределенных вычислительных систем.
Фостер Я. определил задачу распределенных вычислительных систем как «гибкое, безопасное, координированное распределение ресурсов среди динамических наборов пользователей, организаций и ресурсов» [7], предложив называть такие распределенные вычислительные системы термином «грид».
Радченко Г.И. в своей работе «Распределенные вычислительные системы» [3] отмечает возможности облачных вычислений как способ виртуализации ресурсов, позволяющих динамически объединять различные облачные сервисы при решении общей задачи в среде распределенных вычислений.
По Склейтеру Н., облачное вычисление это – технология распределённой обработки данных, где компьютерные ресурсы и мощности предоставляются пользователю как интернет-сервис [5].
Фостер Я. определяет облако как парадигму крупномасштабных распределенных вычислений, основанных на эффекте масштаба, в рамках которой виртуализированные, динамически-масштабируемые вычислительные ресурсы, ресурсы хранения, платформ и сервисов предоставляются по запросу внешним пользователям через Интернет [8].
Применение параллельного доступа, возможности одновременного использования одного ресурса различными пользователями позволяет представлять распределенные вычислительные системы как единую систему. Так как считается, что облачные технологии это – частные случаи параллельных технологий.
Нами в ходе совершенствования содержания учебного плана специальности информатики, дано определение и исследованы мнения других специалистов по параллельным вычислениям.
Акжалова А.Ж. определяет параллельные вычисления как программу, в которой каждый процесс выполняется на его собственном процессоре, и, следовательно, процесс выполняется параллельно [1].
В работе «Параллельные вычисления» Воеводин В.В. отмечает: повышение производительности вычислительных систем осуществляется внедрением элементов параллелизма в компьютерных комплексах [2].
Серік М. рассматривает параллельную программу как программу, копии которой работают на кластере одновременно, и в то же время могут взаимодействовать друг с другом. Здесь под термином «кластер» понимается группа компьютеров, объединенных в локальную сеть и способных работать в качестве единого вычислительного ресурса [4].
На сегодняшний день использование распределенных вычислений в виде технологий «грид» и облачных вычислений набирает обороты. Они применяются для решения различных задач, их использование становится более простым и доступным, вследствие чего распределенные вычислительные системы становятся неотъемлемой частью научных и коммерческих высокопроизводительных вычислений.
Облачные вычисления в информатике – это, своего рода, модель обеспечения повсеместного и удобного сетевого доступа по требованию к общим вычислительным ресурсам (например, сетям передачи данных, серверам, устройствам хранения данных, прикладным программам, приложениям и сервисам – как вместе, так и раздельно), которые могут быть оперативно предоставлены и освобождены с минимальными эксплуатационными затратами и/или обращениями к провайдеру.
Анализ научной литературы и Интернет-ресурсов показывает, что курсы по технологиям распределенных данных внедрены в высшем образовательном процессе в зарубежных вузах (Содружестве независимых государств, странах Европы, США, и т.д.), вместе с тем, находятся примеры и в некоторых вузах Республики Казахстан.
Распределенные данные получили достаточно широкое распространение относительно недавно, и поэтому в большинстве учебных заведений они изучаются на последних курсах узконаправленных специальностей, к примеру – по совершенствованию курса архитектуры компьютера и программирования.
Вместе с тем, из виду часто упускается следующий факт: распределенность того или иного рода стала уже обычным свойством программного обеспечения, и студенты сталкиваются с подобными системами. Поэтому необходимо, чтобы студенты получали достаточно полное представление о технологиях распределенных данных. Обучаемым необходимо понимать следующее:
– управление сетевым взаимодействием является одной из важных функцией операционных систем;
– параллельные системы функционируют поверх операционных систем;
– операционные системы и их компоненты служат параллельным программам;
– многие системные компоненты используют в своей работе распределенные базы данных;
– распределенные системы часто используются в профессиональной деятельности.
В учебном процессе специальности информатики Евразийского национального университета им. Л.Н. Гумилева учитывается траектория предметов по распределенным данным (имеется в виду внедрение спецкурсов базы данных, клиент-серверные технологии, параллельные вычисления, основы облачных вычислений, аппаратно-программное обеспечение информационных систем, распределенные данные).
Приведем примеры из содержания некоторых спецкурсов.
В содержании спецкурса «Реализация клиент-серверной технологии» отражены такие вопросы как: клиент-серверная технология и ее возможности;введение в язык запросов SQL; определение структуры данных; основные объекты; создание и проектирование таблиц; эффективное использование запросов для извлечения данных; соединение и теоретико-множественные операции над отношениями; операции выборки и проекций; декартово произведение; вычисление и подведение итогов в запросах; запросы модификации данных; определение ограничении целостности; обновление данных в представлениях; хранимые процедуры; триггеры; реализация триггеров в среде MS SQL Server; управление транзакциями в среде MS SQL Server; основные методы защиты данных; управление доступом к данным.
В рамках спецкурса «Основы облачных технологий» изучаются такие темы как: облачные технологии; общие понятия; основы облачных вычислений; аккаунты, документы, электронные презентации и таблицы для организации сетевого взаимодействия; создание анкет посредством сервисов; создание форм с помощью таблиц; вычисления языком программирования; Microsoft Azure в высшей сфере образования; облачные хранилища данных; обзор существующих облачных решений; облачные сервисы, предоставляемые компаниями; технологии виртуализации.
В содержании спецкурса «Параллельные вычисления» рассматриваются такие темы, как основные понятия параллельных вычислений; понятие параллельности; классификация систем паралелльной обработки данных; задачи, подлежащие к распараллеливанию; кластерные системы; массивно-параллельные компьютеры с распределенной памятью; векторно-конвейерные компьютеры; параллельные компьютеры с общей памятью; увеличение производительности компьютеров; особенности конвейерной обработки; паралелльный MATLAB; настройка кластера; программирование параллельных задач; использование CUDA в Matlab; GPU как дополнительная вычислительная мощь; вычисления на GPU; множество Мандельброта и Жулио; database toolbox – пакет расширения Matlab.
С целью оптимизации дальнейшей работы авторами статьи разрабатывается спецкурс «Кластерные системы высокопроизводительных параллельных вычислений», который будет идти в качестве дополнения к траектории учебных предметов по распределенным данным.