Моделювання навчального обчислювального кластеру на основі одноплатних комп’ютерів Raspberry для навчання розподіленого програмування

Використання апаратних засобів при навчанні студентів розподіленому програмуванню. Розгляд методів розвитку професійних компетентностей інженерів-програмістів. Використання навчального обчислювального кластеру на основі одноплатних комп’ютерів Raspberry.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 17.10.2021
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Мелітопольський державний педагогічний університет імені Богдана Хмельницького, м. Мелітополь, Україна

Моделювання навчального обчислювального кластеру на основі одноплатних комп'ютерів Raspberry для навчання розподіленого програмування

Сіциліцин Юрій Олександрович

старший викладач кафедри інформатики і кібернетики

Осадчий Вячеслав Володимирович

доктор педагогічних наук, професор, завідувач кафедри інформатики і кібернетики

Анотація

Стаття присвячена проблемі використання апаратних засобів при навчанні студентів розподіленому програмуванню. Установлено, що комплексне використання програмно-апаратних засобів при вивченні розподіленого програмування є одним з важливих методів для розвитку професійних компетентностей інженерів-програмістів. Виявлено, що для ефективного навчання студентів розподіленому програмуванню необхідна велика кількість ресурсів для розробки цих обчислень, які є достатньо компактними, щоб вписатися в рамки одного курсу та достатньо автономними. Одним з методів вивчення розподілених обчислень є використання навчального обчислювального кластеру. Розробка навчального обчислювального кластеру містить такі основні етапи: розробка навчальних завдань, для виконання яких потрібно використання обчислювального кластеру; розробка апаратної частини; встановлення операційної системи; проєктування мережі передавання даних між вузлами кластеру; налаштування головного вузла та програм керування кластером; встановлення програмного забезпечення для розробки розподілених обчислень. Тому використання кластеру допоможе розвитку професійних компетентностей майбутніх інженерів-програмістів при вивченні дисципліни «Паралельні та розподілені обчислення», яка викладається при професійній підготовці інженерів-програмістів зі спеціальності «Комп'ютерні науки». Для використання в якості вузлів обчислювального кластеру було взято для порівняння персональні комп'ютери та одноплатні комп'ютери Raspberry. Після порівняльного аналізу було проведено моделювання навчального обчислювального кластеру засобами одноплатних комп'ютерів Raspberry. У результаті тестування було виявлено, що на великих об'ємах даних, для математичних обчислень, навчальний обчислювальний кластер на одноплатних комп'ютерах Raspberry робить обчислення в півтори рази ефективніше, ніж персональний комп'ютер. Проведений аналіз розвитку професійних компетентностей при моделювання, розробці та використанні навчального обчислювального кластеру.

Ключові слова: компетентність; розподілене програмування; MPI; обчислювальний кластер; одноплатні комп'ютери; Raspberry.

навчання програмування raspberry кластер

Аннотация

МОДЕЛИРОВАНИЕ УЧЕБНОГО ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА НА ОСНОВЕ ОДНОПЛАТНЫХ КОМПЬЮТЕРОВ RASPBERRY ДЛЯ ОБУЧЕНИЯ РАСПРЕДЕЛЕННОМУ ПРОГРАММИРОВАНИЮ

Сицилицин Юрий Александрович

старший преподаватель кафедры информатики и кибернетики

Мелитопольский государственный педагогический университет, г. Мелитополь, Украина

Осадчий Вячеслав Владимирович

доктор педагогических наук, заведующий кафедрой информатики и кибернетики

Мелитопольский государственный педагогический университет, г. Мелитополь, Украина

Статья посвящена проблеме использования аппаратных средств при обучении студентов распределенному программированию. Установлено, что комплексное использование программно-аппаратных средств при изучении распределенного программирования является одним из важных методов для развития профессиональных компетенций инженеров-программистов. Выявлено, что для эффективного обучения студентов распределенному программированию необходимо большое количество ресурсов для разработки этих вычислений, которые являются достаточно компактными, чтобы вписаться в рамки одного курса и достаточно автономными. Одним из методов изучения распределенных вычислений является использование учебного вычислительного кластера. Разработка учебного вычислительного кластера включает в себя следующие основные этапы: разработка учебных задач, для решения которых требуется использование вычислительного кластера; разработка аппаратной части; установка операционной системы; проектирование сети передачи данных между узлами кластера; настройка главного узла и программ управления кластером; установка программного обеспечения для разработки распределенных вычислений. Поэтому использование кластера поможет развитию профессиональных компетенций будущих инженеров-программистов при изучении дисциплины «Параллельные и распределенные вычисления», которая преподается при профессиональной подготовке инженеров-программистов по специальности компьютерные науки. Для использования в качестве узлов вычислительного кластера были взяты для сравнения персональные компьютеры и одноплатные компьютеры Raspberry. После сравнительного анализа было проведено моделирование учебного вычислительного кластера средствами одноплатных компьютеров Raspberry. В результате тестирования было выявлено, что на больших объемах данных для математических вычислений учебный вычислительный кластер на одноплатных компьютерах Raspberry делает вычисления в полтора раза эффективнее, чем персональный компьютер. Проведен анализ развития профессиональных компетенций при моделировании, разработке и использовании учебного вычислительного кластера.

Ключевые слова: компетентность; распределенное программирование; MPI; вычислительный кластер; одноплатные компьютеры; Raspberry.

Abstract

A TRAINING COMPUTER CLUSTER MODELING BASED ON RASPBERRY SINGLE-BOARD COMPUTERS FOR TEACHING DISTRIBUTED PROGRAMMING

Yurii O. Sitsylitsyn

Senior Lecturer at the Department of Computer Science and Cybernetics

Bohdan Khmelnytskyi Melitopol State Pedagogical University, Melitopol, Ukraine

Viacheslav V. Osadchyi

Doctor of Pedagogical Science, Professor, Head of the Department of Computer Science and Cybernetics Bohdan Khmelnytskyi Melitopol State Pedagogical University, Melitopol, Ukraine

The article deals with the issue on using hardware in teaching distributed programming. It is established that the integrated use of software and hardware in the study of distributed programming is one of the important methods for the development of professional competencies of software engineers. It was found that the effective distributed programming teaching requires a large number of resources to develop these calculations, which are compact enough to fit into one course and sufficiently autonomous. One of the methods of studying distributed computing is the use of a training computing cluster. The development of a training computing cluster includes the following main stages: development of training tasks that require the use of a computing cluster; hardware development; installation of the operating system; designing a data transmission network between cluster nodes; configuration of the main node and cluster management programs; installation of software for the development of distributed computing. Therefore, the use of the cluster will help the development of professional competencies of future software engineers in the study of the discipline Parallel and Distributed Computing, which is taught to software engineers in the specialty of computer studies. Computers and Raspberry single-board computers were used for comparison as computing cluster nodes. After comparative analysis, the initial computing cluster was modeled using Raspberry single-board computers. Testing has shown that on large amounts of data, for mathematical computing, the Raspberry single-board training computing computer makes computing one and a half times more efficient than a personal computer. The analysis of development of professional competences at modeling, development and use of initial computer cluster is carried out.

Keywords: competence; distributed programming; MPI computing cluster; single-board computers; Raspberry.

Вступ

Постановка проблеми. Наше суспільство швидко стає все більш залежним від високопродуктивних обчислювальних технологій у таких сфераах, як біологія, фінанси та поновлювані джерела енергії, які використовують обчислювально дорогі методи моделювання. Якість та швидкість моделювання процесів залежить від запущеного коду, що має масово-паралельну структуру і готовий працювати на розподілених обчислювальних системах. Хоча багато закладів освіти визнали зростаючий попит на високопродуктивні обчислення, спостерігається відставання в здійсненні змін у навчальних планах для навчання студентів розподіленого програмування.

Навчання розподіленому програмуванню має бути важливим компонентом комплексного розвитку компетентностей студентів закладів вищої освіти зі спеціальності «Комп'ютерні науки». Проте інтеграція цих тем у навчальний план для студентів не може буте ефективною, доки відсутня необхідна кількість ресурсів для розробки цих обчислень, які є достатньо компактними та достатньо автономними, щоб вписатися в рамки одного курсу. Більшість закладів вищої освіти не мають достатніх ресурсів для купівлі дорогих апаратних засобів для кластерних обчислень або їм бракує робочого часу на існуючих кластерних системах. Тому є актуальним застосування в навчальному процесі апаратних засобів з низькою вартістю, а саме одноплатних комп'ютерів.

Аналіз останніх досліджень і публікацій. Сучасний стан інформатизації освіти досліджують В. Биков [1; 2], В. Осадчий, К. Осадча, І. Сердюк [3; 4; 5], які розглядають ключові проблеми впровадження інформаційно-комунікаційних технологій у вітчизняній освіті та визначають актуальні завдання розроблення комп'ютерно- орієнтованих методичних систем навчання. Одне з завдань - створення середовища неперервного розвитку ІКТ-компетентності суб'єктів освітнього процесу. Дослідження в галузі підготовки майбутніх інженерів-програмістів у закладах вищої освіти здійснюють В. Круглик, В. Осадчий [6], З. Сейдаметова, О. Спірін, Ю. Триус. Вони аналізують навчальні плани закладів вищої освіти України та обґрунтовують необхідність розробки електронних навчальних посібників. На основі результатів цих досліджень можна зробити висновок про необхідність розробки додаткових засобів організації освіти для підвищення якості професійної підготовки студентів. Одним з таких засобів може бути розробка додаткових апаратно-програмних комплексів, як це зробили T. Franczak, A. Nkansah, T. Marrinan, M. E. Papka [7], які для навчання паралельному програмуванню використали мережу з одноплатних комп'ютерів. Аналізом засобів розподіленого програмування займаються С. Лупін [8], М. Посипкін, В. Воєводін, Е. Уїльямс та інші. М. Косяков, І. Скопін, W. Gardner й ін. досліджують навчання розподіленого програмування. На основі їх досліджень можна зробити висновок, що для якісного навчання розподіленому програмуванню необхідно використовувати набір обчислювальних вузлів, які об'єднані в локальну мережу (кластер). Розробкою кластеру на одноплатних комп'ютерах займаються такі науковці, як R. Brown, J. Adams, S. Matthews, E. Shoop [9]. Вони показали, що можливо розробити працюючий обчислювальний кластер, який можна використовувати в навчальному процесі при вивченні розподіленого програмування. Використанням Raspberry Pi для освіти в комп'ютерних науках займаються J. C. Adams, R. A. Brown [10]. Портативними паралельними обчисленнями з використанням Raspberry Pi займається S. J. Matthews [11]. Ці науковці впровадили в навчальний процес вивчення паралельного програмування одноплатні комп'ютери Raspberry Pi.

Одноплатні комп'ютери Raspberry з'явились на ринку обчислень не так давно. Тому, незважаючи на вже проведені дослідження, не всі аспекти використання Raspberry в навчанні були висвітлені. Ми вважаємо, що недостатньо розкрито порівняння можливостей навчального кластеру, який складається з персональних комп'ютерів навчального класу та навчального кластеру, який зібраний на одноплатних комп'ютерах Raspberry.

Метою статті є описання процесу моделювання навчального обчислювального кластеру на основі одноплатних комп'ютерів Raspberry для навчання розподіленому програмуванню.

1. Результати дослідження

Останні десятиріччя суперкомп'ютери знаходять своє застосування при рішенні практично будь-яких задач науки та техніки. Серед таких завдань - моделювання різноманітних фізичних процесів, задачі обчислювальної хімії та біології, нанотехнології, автоматизація проєктування та багато інших. Прогрес у галузі високопродуктивних обчислень багато в чому визначає темп розвитку науки і техніки і рівень технологічного розвитку держави загалом. Тому можна з упевненістю стверджувати, що створення методів розробки апаратно-програмного забезпечення для високопродуктивних обчислювальних систем є одним з найважливіших завдань сучасних інформаційних технологій [8].

Для розробки та виконання розподілених програм більш за все придатна така категорія комп'ютерних систем, як суперкомп'ютер. Особливість суперкомп'ютера полягає в тому, що він забезпечує вирішення великої кількості завдань за короткий час, підвищену точність результатів і можливість проведення повного комплексу розрахункових робіт у максимально короткі строки [12]. Але вартість побудови та обслуговування суперкомп'ютера дуже велика, тому є сенс розглянути простіший варіант - обчислювальний кластер. Обчислювальний кластер - це масив вузлів, об'єднаних деякою комунікаційною мережею. Кожний обчислювальний вузол має свою оперативну пам'ять і працює під керуванням своєї операційної системи [12]. Для розподілених обчислень однією з важливих характеристик є кількість процесорних юнітів (ядер), які можуть одночасно проводити обчислення. Тому для створення кластеру можна використовувати як персональні комп'ютери на базі багатоядерних процесорів Intel та AMD, так і одноплатні комп'ютери на базі процесорів ARM.

Дисципліна «Паралельні та розподілені обчислення» є елементом професійної підготовки майбутніх інженерів-програмістів спеціальності 122 Комп'ютерні науки і повинна сприяти розвитку у студентів навичок паралельного та розподіленого програмування. Зауважимо, що для вивчення паралельного програмування студентам достатньо мати багатоядерний персональний комп'ютер, а розподіленого програмування - обчислювальний кластер з можливістю його масштабування.

Комп'ютерний кластер - це сукупність нещільно або щільно пов'язаних комп'ютерів, які працюють разом, так що багато в чому їх можна розглядати як єдину систему. На відміну від мережевих комп'ютерів у комп'ютерних кластерах кожен встановлений вузол, керований і запланований програмним забезпеченням, призначений для виконання одного і того ж завдання. Компоненти кластера зазвичай підключаються один до одного за допомогою швидких локальних мереж, водночас кожен вузол працює з власним екземпляром операційної системи. У більшості випадків усі вузли використовують одне і те ж апаратне забезпечення та одну й ту ж операційну систему, хоча в деяких налаштуваннях (наприклад, за допомогою ресурсів додатків з відкритим кодом кластера (OSCAR)) можна використовувати різні операційні системи на кожен комп'ютер. Кластери зазвичай розгортаються для підвищення продуктивності та доступності порівняно з роботою одного комп'ютера, хоча, як правило, вони є набагато економніші за окремі комп'ютери з порівняною швидкістю чи доступністю.

Загальна схема обчислювального кластеру має такий вигляд (рис. 1.).

Розробимо модель навчального обчислювального кластеру для викладання дисципліни «Паралельні та розподілені обчислення» у процесі професійної підготовки майбутніх інженерів-програмістів. Для моделювання кластеру будемо використовувати два одноплатних Raspberry Pi 3 В+.

Рис. 1 Загальна схема обчислювального кластеру

У складі обчислювального кластеру можна виділити апаратну і програмну частини. Спочатку розглянемо моделювання апаратної складової.

У найпростішому випадку, коли на кластері потрібно виконати тільки одну паралельну програму, вся функціональність, необхідна для запуску, виконання та завершення програми, може забезпечуватися операційними системами на вузлах самою програмою. Тому для створення кластеру для розв'язання найпростіших навчальних завдань можна використовувати комп'ютери, розташовані в навчальних аудиторіях університету, які переважно мають двохядерну архітектуру процесорів Intel або AMD.

Raspberry Pi 3 та Raspberry Pi 4 є одноплатними комп'ютерами. Як і звичайні комп'ютери, вони мають периферію й інтерфейси, дозволяють виконувати всі функції, доступні потужним настільним системам. Тому одноплатні комп'ютери можна використовувати як платформи для вузлів обчислювального кластеру. Розглянемо деякі показники сучасних моделей одноплатних та персональних комп'ютерів (табл. 1).

Таблиця 1 Порівняння процесорів для одноплатних та персональних комп'ютерів

Intel + периферия

AMD + периферия

Raspberry Pi 3 Model B+

Raspberry Pi 4 Model B

Процесор та частота

Intel Core i3- 8100 3,6 ГГц

AMD Ryzen 3 1200 3,1 ГГц

ARM Cortex-A53 x64, 1,4 ГГц

ARM Cortex-A72 x64, 1,5 ГГц

Кількість ядер

4

4

4

8

ОЗП

4ГБ DDR2

4ГБ DDR2

1ГБ DDR2

4ГБ DDR2

USB

6 портів

6 портів

4 порти

4 порти

Ethernet

Так

Так

Так

Так

WiFi

Так

Так

Так

Так

Bluetooth

Ні

Ні

Так

Так

Ціна, $

420

380

35

55

TDP, Вт

65 Вт

65 Вт

1,9 Вт

1,9 Вт

У таблиці ціни на продукцію Intel та AMD указані за даними інтернет-магазину Rozetka. Ціни на Raspberry Pi за даними сайту виробника.

Вартість двоядерного тестового ПК на час написання статті складає приблизно 450 доларів. Вартість двох чотириядерних Raspbery Pi 3 B+ складає 70 доларів. Тобто вартість тестового обчислювального кластеру у 6 разів нижча за тестовий персональний комп'ютер.

Розглянемо переваги та недоліки організації навчального обчислювального кластеру на сучасних процесорах для персональних комп'ютерів та одноплатних комп'ютерів.

За основу візьмемо такі показники: кількість ядер кластеру, споживана потужність, обчислювальна потужність (табл. 2).

Таблиця 2 Основні показники вузлів кластеру

Базовий вузол кластеру

Кількість вузлів у кластеру

Сумарна кількість ядер

Сумарна споживна потужність

Сумарна вартість (без урахування мережевого устаткування), дол.

Персональний комп'ютер

10

20

2000 Вт

4200

Одноплатний комп'ютер (Raspberry Pi 3 Model B+)

20

80

250 Вт

700

Одноплатний комп'ютер (Raspberry Pi 4 Model B)

20

160

300 Вт

1100

При проєктуванні обчислювального кластеру слід враховувати ситуацію, коли потрібно виконати кілька завдань, як паралельних, так і послідовних, що мають різні вимоги до системних ресурсів і середовища виконання (тобто операційної системи вузла і можливо додаткових бібліотек, що підтримують виконання паралельних програм). Необхідна деяка система, що керує обчислювальними ресурсами кластера загалом. Тому потрібно встановити на всі вузли кластерну операційну систему. Встановлення такої системи може завадити використанню навчальної аудиторії для інших дисциплін. Уникнути цієї проблеми можливо шляхом створення обчислювального кластеру на основі одноплатних Raspberry Pi 3 або Raspberry Pi 4.

Розглянемо програмну складову моделювання обчислювального кластеру.

Спочатку розглянемо операційні системи для Raspberry Pi, 3 які можна використовувати як платформу для мов програмування з паралельними та розподіленими бібліотеками [14].

1. Raspbian - це офіційна операційна система для Raspberry Pi, вона розроблена спеціально для цього пристрою і має все необхідне програмне забезпечення. Raspbian використовується в якості основи в більшості DIY проєктів, тому, якщо потрібно створити свій проєкт, швидше за все знадобиться саме ця система та Python 3.7.

2. Ubuntu MATE - це стабільна, проста в користуванні операційна система з налаштованим середовищем робочого столу. Ubuntu MATE проєктувалась для систем зі мінімальними вимогами до обладнання, вона підходить як для сучасних робочих станцій, так і для одноплатних комп'ютерів.

Проаналізуємо ці операційні системи з погляду підтримки розподілених обчислень. Для порівняння встановимо операційні системи Raspbian та Ubuntu MATE на Raspberry Pi 3 та протестуємо роботу на цих системах основних розподілених бібліотек та мов програмування (табл. 3).

Таблиця 3 Підтримка бібліотек та мов програмування

Операційна система

Підтримка бібліотек та мов програмування

Системи керування кластером

С++, MPI

Python, mpi4py

Java

Fortran, MPI

Raspbian

частково

частково

частково

підтримує

підтримує

Ubuntu MATE

підтримує

підтримує

підтримує

підтримує

підтримує

Отже, для вузлів обчислювального кластеру обираємо Ubuntu MATE.

Для керування навчальним обчислювальним кластером використовуються спеціалізовані операційні системи. Ці системи не підтримують пристрої Raspberry Pi та є комерційними розробками. Тому для керування вузлами застосовуємо бібліотеку VNC (Virtual Network Computing). VNC - це графічна система спільного використання робочого столу, яка дозволяє дистанційно керувати настільним інтерфейсом одного комп'ютера (під керуванням VNC Server) з іншого комп'ютера або мобільного пристрою (запуск VNC Viewer). Переглядач VNC передає події клавіатури та миші або сенсорного зв'язку на VNC Server, а натомість отримує оновлення на екрані [15].

Бібліотека VNC підходить для керування невеликою кількістю вузлів обчислювального кластеру. При збільшенні кількості вузлів пряме керування кожним вузлом за допомогою бібліотеки VNC буде займати великий час. Тому доцільним є формування веб-орієнтованої системи керування вузлами навчального обчислювального кластеру.

Виходячи з наявних апаратних засобів, модель навчального обчислювального кластеру для тестування буде мати такий вигляд (рис. 2):

- вузли кластеру: два одноплатних Raspberry Pi 3 В+;

- керуючий вузол та клієнт - настільний персональний комп'ютер;

- середовище передання даних: з'єднання Raspberry Pi за технологією WIFI IEEE 802.11n через роутер;

- для налаштування та керування вузлами кластеру на керуючий вузол встановлюємо програму VNC Viewer.

Рис. 2 Тестова модель навчального обчислювального кластеру

Протестуємо розроблений навчальний обчислювальний кластер на двох Raspberry Pi 3. Для тестування будемо використовувати розподілену програму, яка реалізує паралельний алгоритм Фокса для обчислення добутку двох квадратних матриць. Цей алгоритм потребує блочного розподілення даних та дуже зручний для використання з технологією MPI.

Для порівняння, окрім навчального кластеру, запустимо алгоритм на персональному комп'ютері такої конфігурації:

- двоядерний процесор Intel Core І3-3220;

- оперативна пам'ять - 12Гб.

Проведемо запуск розробленої MPI-програми на кластері та на тестовому ПК у 4 та 16 потоків. Розміри квадратних матриць для порівняння швидкості обчислень візьмемо з діапазону від 30 до 5000 елементів. Зведемо результати роботи програми в таблицю (табл. 4).

Таблиця 4 Час (секунд) на добуток двох матриць розміром NxN

32x32

160x160

992x992

2000х2000

4992x4992

ПК (Intel Core І3-3220) 4 потоки

0,000538

0,014845

5,803739

36,838465

974,27089

2 x Raspbery Pi 3 B+ 4 потоки

0,000541

0,019452

5,002586

33,838465

814,25469

ПК (Intel Core І3-3220) 16 потоків

0,009716

0,06228

3,66329

42,149435

688,25499

2 x Raspbery Pi 3 B+ 16 потоків

0,008971

0,051591

2,15654

30,258754

526,45867

За результатами обчислень побудуємо діаграму витрат часу на обчислення добутку двох матриць.

Рис. 3 Розрахунок добутку двох матриць (розподілений алгоритм)

З наведених результатів видно, що на великих об'ємах даних тестовий обчислювальний кластер виконує обчислення в півтори рази ефективніше за тестовий персональний комп'ютер.

Розглянемо докладніше можливості використання навчального обчислювального кластеру з одноплатних комп'ютерів на базі процесорів ARM - Raspberry Pi при викладанні дисциплін професійного циклу підготовки інженерів-програмістів та комп'ютерного класу з персональних комп'ютерів.

Створення навчального обчислювального кластеру дозволить значно покращити навички студентів при розробці програмного забезпечення для розподілених обчислень, навички побудови та налаштування кластерних систем та дозволить розвинути компетентності майбутніх інженерів-програмістів.

Розглянемо докладніше ці компетентності та шлях їх розвитку за допомогою навчального обчислювального кластеру.

1. Розробка навчального обчислювального кластеру починається з його моделювання, тобто розробки алгоритму моделювання та його реалізації. На практичних та лабораторних роботах студенти отримують складові частини майбутнього кластеру: Raspberry Pi та мережеве устаткування. Далі завдання студентів - розробити схему взаємодії складових частин кластеру, розрахувати шасі кластеру та теплопровід, узгодити вузли майбутнього кластеру з мережевим устаткуванням. Після розробки моделі кластеру необхідно провести фізичний монтаж та підключення вузлів кластеру. У результаті студенти отримують навчальний обчислювальний кластер. Для перевірки його роботи студентам надається набір тестів для дослідження поведінки та провести ряд експериментів для виявлення придатності кластеру до впровадження в навчальний процес. Усе це розвиває наступну професійну компетентність: здатність застосовувати теоретичні та практичні основи методології та технології моделювання, реалізовувати алгоритми моделювання для дослідження характеристик і поведінки складних об'єктів і систем, проводити експерименти за програмою моделювання з обробкою й аналізом результатів.

2. Для підтримки роботи кластеру необхідно розробити програмне забезпечення, яке може керувати мережею Raspberry Pi для перетворення цієї мережі у кластер. Розробку програмного забезпечення студенти проводять протягом декількох лабораторних робіт на персональних комп'ютерах, у ролі кластеру використовується два-три пристрої Raspberry Pi. На останній роботі циклу персональний комп'ютер додається до мережі кластеру та програмне забезпечення тестується на придатність до керування кластером. Спроєктоване та розроблене програмне забезпечення може містити модулі різними мовами програмування та з різними парадигмами програмування. Все це розвиває таку професійну компетентність: здатність проєктувати та розробляти програмне забезпечення із застосуванням різних парадигм програмування: структурного, об'єктно-орієнтованого, функціонального, логічного, з відповідними моделями, методами та алгоритмами обчислень, структурами даних і механізмами управління.

3. Одноплатні комп'ютери Raspberry Pi мають вбудований контролер як дротового зв'язку Ethernet, так і бездротового Wifi - це надає можливість провести ряд експериментів з архітектурою мережі, виконати розрахунки архітектури мережі та провести тестування навантаження на мережу, тому розробка архітектури мережі та її подальше адміністрування допоможе розвинути у студентів наступну професійну компетентність: здатність забезпечити організацію обчислювальних процесів в інформаційних системах різного призначення з урахуванням архітектури, конфігурування, показників результативності функціонування операційних систем і системного програмного забезпечення;

4. Розробка програми для розподілених обчислень починається з аналізу апаратно-програмного середовища, у якому будуть проводитися розподілені обчислення: тобто виявити архітектуру вузлів системи, архітектуру локальної або глобальної мережі, виявити показники результативності вузлів системи. Усе це можна зробити використовуючи навчальний обчислювальний кластер. На практичних роботах студентам дається завдання: використовуючи програми тестування та діагностики апаратного та мережевого устаткування, розробити карту кластеру з вказівкою мережевих зв'язків, архітектури вузлів кластеру та типу операційних систем на вузлах кластеру. Усе це розвиває наступну професійну компетентність: здатність до аналізу та функціонального моделювання бізнес-процесів, побудови і практичного застосування функціональних моделей організаційно-економічних і виробничо-технічних систем, методів оцінювання ризиків проєктування ІС, синтезу складних систем на засадах використання її комп'ютерної моделі;

5. Будь-яка складна апаратно-програмна система, зокрема й навчальний обчислювальний кластер, не може існувати без періодичного втручання технічного персоналу з налагодження системи та усунення відмов обладнання. Для усунення відмов обладнання, їх попередження, діагностики та тестування системи необхідно володіти набором спеціальних апаратно-програмних засобів. На практичних роботах за допомогою програм тестування та діагностики студенти намагаються виявити штучні поломки апаратного та мережевого обладнання кластеру. Навчальна роботи з такими засобами розвиває у студентів наступну професійну компетентність: здатність застосовувати методології, технології та інструментальні засоби для управління процесами життєвого циклу інформаційних і програмних систем, продуктів і сервісів інформаційних технологій відповідно до вимог замовника.

Аналізуючи процес розробки та налаштування обчислювального кластеру, можна зазначити, що розвиток компетентності майбутніх інженерів-програмістів можливий не тільки при роботі з навчальним кластером, а й при його розробці.

Висновки та перспективи подальших досліджень

У статті розглянуто вирішення проблеми використання апаратно-програмних засобів для навчання майбутніх інженерів-програмістів розподіленому програмуванню шляхом розробки та використання навчального обчислювального кластеру. Для цього проводиться моделювання навчального обчислювального кластеру засобами одноплатних комп'ютерів Raspberry Pi. Моделювання та розробка навчального обчислювального кластеру складається з таких основних етапів: розробка навчальних завдань, для розв'язання яких потрібний обчислювальний кластер; розробка апаратної частини; встановлення операційної системи; проєктування мережі передавання даних між вузлами кластеру; налаштування головного вузла та програм керування кластером; встановлення програмного забезпечення для розробки розподілених обчислень. Після порівняння розробленої моделі навчального обчислювального кластеру з персональними комп'ютерами виявлено, що на великих об'ємах даних для математичних обчислень можлива організація навчального обчислювального кластеру на одноплатних комп'ютерах. Проведений аналіз та виявлено сприяння моделювання, розробки та використання навчального обчислювального кластеру розвитку професійних компетентностей майбутніх інженерів-програмістів.

Перспективою подальших досліджень вважаємо використання навчального обчислювального кластеру в таких дисциплінах спеціальності 122 Комп'ютерні науки: «Архітектура комп'ютерів та комп'ютерна схемотехніка», «Комп'ютерні мережі», «Адміністрування комп'ютерних мереж», «Web-програмування», «Аналіз даних та машинне навчання» і «Паралельне програмування».

Список використаних джерел

1. В.Ю. Биков, Сучасні завдання інформатизації освіти. Інформаційні технології і засоби навчання.

2. № 1 (15). [Електронний ресурс]. Доступно: http: // journal.iitta.gov.ua/index.php/itlt. Дата звернення: Груд. 05, 2019

3. В.Ю.Биков, О.М. Спірін, О.П. Пінчук, Проблеми та завдання сучасного етапу інформатизації освіти. Наукове забезпечення розвитку освіти в Україні: актуальні проблеми теорії і практики (до 25-річчя НАПН України). Видавничий дім «Сам». 2017. с. 191-198

4. В. Осадчий, С. Симоненко «Іноземна мова як засіб формування комунікативної компетентності

5. майбутніх інженерів-програмістів», Інформаційні технології і засоби навчання. vol. 58, no 2, p.p. 38-48,2017. [Електронний ресурс]. Доступно:

6. http://journal.iitta.gov.ua/index.php/itlt/article/view/1645/1159 Дата звернення: Груд. 05, 2019

7. В. Осадчий, І. Сердюк «Персональний сайт як засіб формування цифрового іміджу науково- педагогічного працівника», Інформаційні технології і засоби навчання. [Електронний ресурс]. Доступно: https://journal.iitta.gov.ua/index.php/itlt/article/view/2593/1457. Дата звернення: 05-Dec- 2019

8. В. Осадчий, К. Осадча «Сучасні реалії і тенденції розвитку інформаційно-комунікаційних технологій в освіті», Інформаційні технології і засоби навчання. [Електронний ресурс]. Доступно: http://journal.iitta.gov.ua/index.php/itlt/article/view/1252/951. Дата звернення: 05-Dec-2019

9. В.В. Осадчий, Анализ проблемы профессиональной подготовки программиста и пути ее решения. Образовательные технологии и общество. 2014. №3. Т. 17. с. 362-377

10. T.Franczak, A.Nkansahz, T.Marrinan, M. E. Papka, A Path from Serial Execution to Hybrid Parallelization for Learning HPC. 2017. Workshop on Education for High-Performance Computing ser. EduHPC '17.

11. С.А.Лупин, М.А. Посыпкин, Технологии параллельного программирования. М.: ИД «ФОРУМ»: ИНФРА-М, 2011. 208 с.

12. Teaching Parallel and Distributed Computing with MPI on Raspberry Pi Clusters. [Електронний ресурс]. Доступно: https://dl.acm.org/citation.cfm?id=3162369 . Дата звернення: Груд. 05, 2019

13. J. C. Adams, R. A. Brown. Leveraging the Raspberry Pi for CS Education. [Електронний ресурс]. Доступно: https://dl.acm.org/citation.cfm?id=3159611 .Дата звернення: Груд. 05, 2019

14. S. J. Matthews. Portable Parallel Computing with the Raspberry Pi. [Електронний ресурс]. Доступно: https://dl.acm.org/citation.cfm?id=3159558&dl=ACM&coll=DL. Дата звернення: Груд. 05, 2019

15. Papavasiliou A., Oren S. S., Rountree B. Applying high performance computing to transmission- constrained stochastic unit commitment for renewable energy integration. 2015. IEEE Transactions on Power Systems. vol. 30. №. 3, p. 1109-1120.

16. Computer cluster. [Електронний ресурс]. Доступно: https://en.m.wikipedia.org/wiki/Computer_cluster. Дата звернення: Груд. 05, 2019

17. Meteor Raspberry Pi cluster used to teach parallel computing. [Електронний ресурс]. Доступно: https://www.sciencedaily.com/releases/2013/11/131113092128.htm. Дата звернення: Груд. 05, 2019

18. VNC (Virtual Network Computing) - Raspberry Pi Documentation. [Електронний ресурс]. Доступно: https://www.raspberrypi.org/documentation/remote-access/vnc/. Дата звернення: Груд. 05, 2019

REFERENCES (TRANSLATED AND TRANSLITERATED)

1. V. Bykov, “Modern tasks of informatization of education,” Information Technologies and Learning Tools, vol. 1 no.15, 2010. [Online]. Available: http://lib.iitta.gov.ua/1162/. Accessed on: Dec. 05, 2019 (in Ukrainian).

2. V. Bykov, O. Spirin, and O. Pinchuk, “Problems and tasks of the modern stage of informatization of education. Scientific support for the development of education in Ukraine: current problems of theory and practice (to the 25th anniversary of the National Academy of Pedagogical Sciences of Ukraine).” Publishing House “Sam”, pp. 191-198, 2017. (in Ukrainian).

3. V.Osadchyi, and S. Symonenko, “Foreign language as a means of communicative competence development of future software engineers,” Information Technologies and Learning Tools, vol. 58, no. 2, pp. 38-48,2017. [Online]. Available: http://journal.iitta.gov.ua/index.php/itlt/article/view/1645/1159. Accessed on: Dec. 05, 2019 (in Ukrainian).

4. V. Osadchyi, and I.Serdiuk, “Personal site as a means for forming digital image of scientific and pedagogical workers,” Information Technologies and Learning Tools, vol. 69, no. 1 pp. 78-91, 2019. [Online]. Available: https://journal.iitta.gov.ua/index.php/itlt/article/view/2593/1457. Accessed on: Dec. 05, 2019. (in Ukrainian).

5. V.Osadchyi, and K. Osadcha, “Modern realities and trends of information and communication technologies development in education,” Information Technologies and Learning Tools vol.48, no 4, pp.47-57, 2015. [Online]. Available: http://journal.iitta.gov.ua/index.php/itlt/article/view/1252/951. Accessed on: Dec. 05, 2019. (in Ukrainian).

6. V. Osadchy, “Analysis of the problem of professional training of a programmer and ways to solve it,” Educational technology and society, vol. 3, no. 17. pp. 362-377. (in Russian).

7. T. Franczak, A. Nkansahz, T. Marrinan, and M. E. Papka, “A Path from Serial Execution to Hybrid Parallelization for Learning HPC,” in Workshop on Education for High-Performance Computing ser. EduHPC 17, 2017. (in English)

8. S. Lupin, and M. Posypkin, Parallel Programming Technologies. M.: Publishing House FORUM: INFRA-M, 208 p. (in Russian).

9. Teaching Parallel and Distributed Computing with MPI on Raspberry Pi Clusters. [Online]. Available: https://dl.acm.org/citation.cfm?id=3162369 Accessed on: Dec. 05, 2019 (in English)

10. J. C. Adams, and R. A. Brown, “Leveraging the Raspberry Pi for CS Education.” [Online]. Available: https://dl.acm.org/citation.cfm?id=3159611. Accessed on: Dec. 05, 2019(in English)

11. S. J. Matthews, “Portable Parallel Computing with the Raspberry Pi.” [Online]. Available: https://dl.acm.org/citation.cfm?id=3159558&dl=ACM&coll=DL. Accessed on:Dec. 05, 2019(in English)

12. A.Papavasiliou, S. S.Oren, and B.Rountree, “Applying high performance computing to transmission- constrained stochastic unit commitment for renewable energy integration,” in IEEE Transactions on Power Systems, vol. 30, №. 3, pp. 1109-1120. (in English)

13. Computer cluster. [Online]. Available: https://en.m.wikipedia.org/wiki/Computer_cluster . Accessed on: Dec. 05, 2019 (in English)

14. Meteor Raspberry Pi cluster used to teach parallel computing. [Online]. Available: https://www.sciencedaily.com/releases/2013/11/131113092128.htm. Accessed on: Dec. 05 2019 (in English)

15. VNC (Virtual Network Computing) - Raspberry Pi Documentation. [Online]. Available: https://www.raspberrypi.org/documentation/remote-access/vnc/. Accessed on: Dec. 05, 2019 (in English)

Размещено на Allbest.ru


Подобные документы

  • Кластер - об'єднання декількох однорідних елементів, які можуть розглядатися як самостійна одиниця, що володіє певними властивостями. Розробка системи та проектування кластеру, який складається з двох комп'ютерів, об'єднаних інтерфейсом Ethernet.

    курсовая работа [4,2 M], добавлен 27.04.2012

  • Вибір оптимальної конфігурації та характеристика сучасних персональних комп’ютерів і їх комплектуючих. Технічна характеристика кожного пристрою комп’ютера. Зовнішні запам'ятовуючі і пристрої введення інформації. Переваги пристроїв різних фірм.

    дипломная работа [65,5 K], добавлен 06.07.2011

  • Комп'ютиризація навчального процесу у загальноосвітній школі. Використання комп'ютерних технологій у навчанні. Шляхи оновлення сучасного уроку. Методика використання слайдів. Призначення, функції й особливості використання мультимедійних презентацій.

    курсовая работа [43,7 K], добавлен 28.08.2014

  • Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.

    курсовая работа [1,1 M], добавлен 23.01.2014

  • Поняття пам’яті в комп’ютері. Класифікація сучасних персональних комп’ютерів за їх ознаками. Основні принципи будови та функціонування комп'ютерних систем. Функціональність смартфонів і комунікаторів в порівнянні із звичайними мобільними телефонами.

    курсовая работа [70,3 K], добавлен 31.01.2014

  • Історія виникнення квантових комп’ютерів. Структура квантових комп’ютерів та принципи роботи. Квантовий комп’ютер на ядерних спінах у кремнію. Квантовий комп’ютер на електронному спіновому резонансі в структурах Ge–Si. Надпровідниковий суперкомп’ютер.

    курсовая работа [579,4 K], добавлен 15.12.2008

  • Використання засобів обчислювальної техніки в автоматичних або автоматизованих інформаційних системах. Сутність централізованих систем управління файлами. Історія виникнення персональних комп'ютерів. Перспективи розвитку систем управління базами даних.

    реферат [26,8 K], добавлен 23.10.2009

  • Cуперкомп'ютери виробництва Cray Research. Векторна обчислювальна система: регістри та арифметико-логічний пристрій. Підходи до архітектури засобів векторної обробки. Архітектура комп’ютерів Cray. Реконфігурований блэйд-сервер. Програмне забезпечення.

    курсовая работа [696,0 K], добавлен 18.05.2012

  • Аспекти технологізації навчального процесу в середній школі. Проблема наочності при викладанні шкільного курсу фізики. Навчальний фізичний експеримент і комп’ютерне моделювання. Поєднання традиційних та інформаційних технологій при вивченні фізики.

    дипломная работа [7,7 M], добавлен 24.09.2014

  • Структура інформаційної системи КККЕіП ім. М.П. Сая. Локальна комп'ютерна мережа на підприємстві, конфігурація персональних комп’ютерів. Аналіз апаратних засобів, системного програмного та документального забезпечення структурних підрозділів коледжу.

    отчет по практике [6,4 M], добавлен 27.05.2019

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.