1 of 8

МЕЛІТОПОЛЬСЬКИЙ ДЕРЖАВНИЙ ПЕДАГОГІЧНИЙ УНІВЕРСИТЕТ ІМЕНІ БОГДАНА ХМЕЛЬНИЦЬКОГО

Інтерактивне хмарне середовище навчання паралельного програмування на базі мови ParaLang та JupyterHub

Доповідь здобувачки вищої освіти спеціальності 122 «Комп'ютерні науки» — Рибалко Марії Максимівни

2 of 8

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

Когнітивний бар'єр

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

Синтаксичний опір

Промислові стандарти (OpenMP, MPI) створюють надто високий поріг через ручне керування синхронізацією.

Інфраструктурні виклики

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

3 of 8

Мета та архітектурне рішення дослідження

01

Мета роботи: Практична реалізація та оцінка ефективності середовища навчання паралельного програмування на базі спеціалізованої мови ParaLang та JupyterHub.

02

Ядро ParaLangKernel: Забезпечення покоміркового (cell-by-cell) виконання коду безпосередньо у веббраузері студентів без складних конфігурацій.

03

Транспіляція в C++: Автоматичне перетворення коду ParaLang за допомогою ParaTranspiler на рідні потоки та директиви OpenMP.

4 of 8

Парадигми паралельних обчислень у мові ParaLang

Спільна пам'ять

Директива автоматичного розпаралелювання циклів pfor та атомарні блоки omp_atomic.

Розподілена пам'ять

Спрощені функції send(data, rank) та recv(data, rank) із автоматичним визначенням типів даних.

Модель акторів

Go-подібні асинхронні потокові канали (channel) для безпечного обміну даними між потоками.

5 of 8

Хмарні віртуальні ментори для контролю безпеки

Borrow Checker Lite

Вбудований статичний аналізатор на етапі компіляції, що повністю унеможливлює виникнення станів гонитви (data races).

Симулятор Multiverse

Динамічний симулятор із хаотичним планувалем, що штучно провокує та візуалізує взаємні блокування (deadlocks) у браузері.

6 of 8

Парадигма / Концепція

Промислові стандарти (OpenMP / MPI)

Спрощення в мові ParaLang

Спільна пам'ять

Складні директиви #pragma omp, ручні м'ютекси

Автоматична директива pfor та omp_atomic

Розподілена пам'ять

Низькорівневі функції MPI_Send та MPI_Recv

Прості виклики send(data, rank) та recv

Безпека пам'яті

Динамічний аналіз (Valgrind, ThreadSanitizer)

Вбудована статична перевірка Borrow Checker Lite

Контроль дедлоків

Ручне складне відлагодження у дебагерах

Динамічний симулятор Multiverse у браузері

Порівняльний аналіз архітектури ParaLang та промислових стандартів

7 of 8

Висновки дослідження

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

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

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

8 of 8

Перспективи подальших розробок

Створення автоматизованих пакетних інсталяторів для швидкого розгортання нативного середовища в один клік.

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

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