Ларін В. О. Предметно орієнтований підхід до розробки акторних систем.

English version

Дисертація на здобуття ступеня доктора філософії

Державний реєстраційний номер

0821U102140

Здобувач

Спеціальність

  • 113 - Математика та статистика. Прикладна математика

07-07-2021

Спеціалізована вчена рада

ДФ 26.001.164

Київський національний університет імені Тараса Шевченка

Анотація

У дисертації розглянуті види паралельних та розподілених систем та їх характеристики, зокрема детально розглянуті моделі акторів та Map-Reduce, як універсальні моделі паралельних обчислень, з широким практичним застосуванням. В той же час показано, що модель акторів хоча і є гнучкою і безпечною при роботі з даними, в ній відсутні ефективні способи миттєвої взаємодії – паралельного запису чи читання спільної пам’яті, що є дуже важливою особливістю не тільки для практичного застосування, а як показано і для окремого класу задач – стохастичної глобальної оптимізації, на прикладі задачі рою часток. Для введення примітивів спільної пам’яті у акторну модель запропоновано використати предметно-орієнтований підхід – визначено синтаксис і граматику предметно-орієнтованої мови Strumok. Ця мова є розвитком ідей візуального (Visual Akka) та предметно-орієнтовного (Flow) описів акторної моделі на фреймворці Akka. Ці моделі розширили базову акторну модель визначенням інтерфейсу взаємодії актора. Цей інтерфейс визначає список повідомлень які може обробити актор – так званий список методів актора; строго типізований формат аргументів цих методів; формат повідомлень (зворотних значень) які можуть бути створені у результаті обробки цього повідомлення. Це надає змогу ще на етапі трансляції/компіляції візуальної чи предметно-орієнтованої мови виконати статичну перевірку типів у всіх взаємодіях акторів. Крім того, виклики методів та відправка результатів у цій моделі є абстрагованими – таким чином окремий актор стає ізольований від свого зовнішнього контексту виконання, делегуючи конкретне зв’язування методів актора актору вищого рівня. Такий механізм робить можливою композицію багатьох акторів; дозволяє перевикористовувати вже розроблені актори у інших програмних системах. Гібридна модель Strumok, у свою чергу, розширює предметно-орієнтовану акторну модель Flow додаванням примітивів спільної пам’яті та асинхронного виконання методів. Для кожної комірки спільної пам’яті у актора визначається один з можливих модифікаторів способу її спільного використання (призначення): тільки для читання, тільки для запису, читання і запису. Для змінних які доступні тільки для міжакторного спільного читання чи запису можливо виділити окрему область, яка в рамках вузла дозволить проводити паралельне читання чи запис без необхідності міжакторної синхронізації за допомогою повідомлень, при цьому на інших вузлах ця область буде реплікована у реальному часі (тобто на інших вузлах буде існувати затримка запису, або відставання часу останніх доступних даних для читання, яка складатиме часу мережевої затримки між двома вузлами у мережі). Для спільних змінних зі змішаним модифікатором використання, необхідно ввести додатковий рівень абстракції для забезпечення безпечного доступу до спільних даних.

Файли

Схожі дисертації