Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles
The paper defines the notion of distributed problems with bounded input components. Particle Swarm Optimization problem is shown to be an example of such a class. Such a problem's implementation based on the Map-Reduce model (implemented on the Spark framework) and an implementation based on an...
Збережено в:
Дата: | 2021 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | Ukrainian |
Опубліковано: |
Інститут програмних систем НАН України
2021
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/451 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-451 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/4e/316bcc86afd2344571c3027fa2a2ef4e.pdf |
spelling |
pp_isofts_kiev_ua-article-4512024-04-26T22:25:02Z Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles Порівняння ефективності підходів Map-Reduce і акторної моделі при розв’язанні завдань з високою зв'язністю вхідних даних на прикладі задачі оптимізації рою часток Larin, V.O. Provotar, O.I. actor model; map-reduce; particle swarm optimization; parallel shared memory systems UDC 004.434:004.75 акторна модель; Map-Reduce; оптимізація методом рою частинок; паралельні системи із загальною пам'яттю УДК 004.434:004.75 The paper defines the notion of distributed problems with bounded input components. Particle Swarm Optimization problem is shown to be an example of such a class. Such a problem's implementation based on the Map-Reduce model (implemented on the Spark framework) and an implementation based on an actor model with shared memory support (implemented on Strumok DSL) is provided. Both versions' performance assessment is conducted. The hybrid actor model is shown to be an order of magnitude more effective in time and memory efficiency than Map-Reduce implementation. Additional optimization for the hybrid actor model solution is proposed. The prospects of using the hybrid actor model for other similar problems are given. Problems in programming 2021; 1: 49-55 Показані приклади класу розподілених паралельних задач зі зв'язаними компонентами вхідних даних в рамках моделі Map-Reduce. Виконано порівняння ефективності подібної задачі на прикладі задачі рою часток в рамках моделі Map-Reduce (на основі фреймворку Spark) і акторної моделі з підтримкою спільної пам'яті (на основі Strumok DSL). Оцінено перспективи використання гібридної акторної моделі для інших подібних задач.Problems in programming 2021; 1: 49-55 Інститут програмних систем НАН України 2021-04-23 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/451 10.15407/pp2021.01.049 PROBLEMS IN PROGRAMMING; No 1 (2021); 49-55 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2021); 49-55 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2021); 49-55 1727-4907 10.15407/pp2021.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/451/455 Copyright (c) 2021 PROBLEMS IN PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-26T22:25:02Z |
collection |
OJS |
language |
Ukrainian |
topic |
actor model map-reduce particle swarm optimization parallel shared memory systems UDC 004.434:004.75 |
spellingShingle |
actor model map-reduce particle swarm optimization parallel shared memory systems UDC 004.434:004.75 Larin, V.O. Provotar, O.I. Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
topic_facet |
actor model map-reduce particle swarm optimization parallel shared memory systems UDC 004.434:004.75 акторна модель Map-Reduce оптимізація методом рою частинок паралельні системи із загальною пам'яттю УДК 004.434:004.75 |
format |
Article |
author |
Larin, V.O. Provotar, O.I. |
author_facet |
Larin, V.O. Provotar, O.I. |
author_sort |
Larin, V.O. |
title |
Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_short |
Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_full |
Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_fullStr |
Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_full_unstemmed |
Comparison of the effectiveness of the Map-Reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_sort |
comparison of the effectiveness of the map-reduce approach and the actor model in solving problems with high connectivity of inp data on the example of the optimization problem for a swarm of particles |
title_alt |
Порівняння ефективності підходів Map-Reduce і акторної моделі при розв’язанні завдань з високою зв'язністю вхідних даних на прикладі задачі оптимізації рою часток |
description |
The paper defines the notion of distributed problems with bounded input components. Particle Swarm Optimization problem is shown to be an example of such a class. Such a problem's implementation based on the Map-Reduce model (implemented on the Spark framework) and an implementation based on an actor model with shared memory support (implemented on Strumok DSL) is provided. Both versions' performance assessment is conducted. The hybrid actor model is shown to be an order of magnitude more effective in time and memory efficiency than Map-Reduce implementation. Additional optimization for the hybrid actor model solution is proposed. The prospects of using the hybrid actor model for other similar problems are given. Problems in programming 2021; 1: 49-55 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2021 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/451 |
work_keys_str_mv |
AT larinvo comparisonoftheeffectivenessofthemapreduceapproachandtheactormodelinsolvingproblemswithhighconnectivityofinpdataontheexampleoftheoptimizationproblemforaswarmofparticles AT provotaroi comparisonoftheeffectivenessofthemapreduceapproachandtheactormodelinsolvingproblemswithhighconnectivityofinpdataontheexampleoftheoptimizationproblemforaswarmofparticles AT larinvo porívnânnâefektivnostípídhodívmapreduceíaktornoímodelíprirozvâzannízavdanʹzvisokoûzvâznístûvhídnihdanihnaprikladízadačíoptimízacííroûčastok AT provotaroi porívnânnâefektivnostípídhodívmapreduceíaktornoímodelíprirozvâzannízavdanʹzvisokoûzvâznístûvhídnihdanihnaprikladízadačíoptimízacííroûčastok |
first_indexed |
2024-09-16T04:08:43Z |
last_indexed |
2024-09-16T04:08:43Z |
_version_ |
1818568483252731904 |
fulltext |
Теоретичні та методологічні основи програмування
© В.О. Ларін, О.І. Провотар, 2021
ISSN 1727-4907. Проблеми програмування. 2021. № 1 49
УДК 004.434:004.75 https://doi.org/10.15407/pp2021.01.049
В.О. Ларін, О.І. Провотар
ПОРІВНЯННЯ ЕФЕКТИВНОСТІ ПІДХОДІВ MAP-REDUCE
І АКТОРНОЇ МОДЕЛІ ПРИ РОЗВ’ЯЗАННІ ЗАДАЧ
ІЗ ВИСОКОЮ ЗВ'ЯЗНІСТЮ ВХІДНИХ ДАНИХ НА ПРИКЛАДІ
ЗАДАЧІ ОПТИМІЗАЦІЇ РОЮ ЧАСТОК
Показані приклади класу розподілених паралельних задач зі зв'язаними компонентами вхідних даних в
рамках моделі Map-Reduce. Виконано порівняння ефективності подібної задачі на прикладі задачі рою
часток в рамках моделі Map-Reduce (на основі фреймворку Spark) і акторної моделі з підтримкою спі-
льної пам'яті (на основі Strumok DSL). Оцінено перспективи використання гібридної акторної моделі
для інших подібних задач.
Ключові слова: акторна модель, Map-Reduce, оптимізація методом рою частинок, паралельні системи із
загальною пам'яттю.
Вступ
В даний час модель Map-Reduce,
набула широкого поширення в різних об-
ластях – бізнес аналітика, розподілені об-
числення, обробка даних для прикладних
задач (медицина, комерція, фінанси і
т. д.). В основі цієї моделі лежить прин-
цип паралельної обробки і агрегації ліній-
них масивів даних. Для обробки масиву
даних необхідно задати дві функції: map,
яка для кожного вхідного елемента співс-
тавить від 0 до n вихідних пар ключ-
значення, і reduce, яка агрегує всі значен-
ня, що відповідають одному ключу [1–3].
При цьому допускається що дана модель
– це універсальний примітив паралельних
обчислень [4]. Альтернативний підхід –
це модель акторів, винайдена в 1973 році,
представляючи математичну модель, яка
трактує поняття «актор» як універсальний
примітив для паралельних обчислень: у
відповідь на повідомлення, які він отри-
мує, актор може змінити свій локальний
стан, створити нові актори, і відправити
повідомлення тим акторам яких він знає
[5]. Дана модель залишалася в обмежено-
му застосуванні до появи фреймворків
Akka [6], Akka .NET, Orleans, які значно
спростили її практичне використання.
При більшій гнучкості моделі акторів
(контроль життєвого циклу кожного акто-
ра; маршрутизації повідомлень; контро-
льований супервізор для нештатних ситу-
ацій) залишається питання – наскільки
доцільно застосування набагато більш
комплексного підходу при вирішенні
прикладних задач. Далі розглядатимемо
обмеження моделі map-reduce і представ-
лені рішення як для моделі акторів (на
основі раніше запропонованої предметно-
орієнтованої мови Strumok [7]), так і у
вигляді ациклічно направленого графа з
серій викликів map-reduce використовую-
чи фреймворк Apache Spark на прикладі
задачі оптимізації методом рою часток.
Задачі зі зв'язаними
компонентами вхідних даних
і визначення їх в термінах
Map-Reduce і акторів
Структура підходу map-reduce пе-
редбачає наявність всіх вхідних параметрів
перед викликом безпосередньо map-reduce
алгоритму. Але не для кожного завдання
таке визначення всіх вхідних елементів є
можливим. Припустимо, у нас є задача,
задана в такий спосіб:
𝑆 = 𝐹(𝑉), 𝑉 = {𝑣𝑖}(𝑖=1)
𝑁 .
В даному вираженні 𝑉 вектор вели-
кої розмірності ℛ𝒩. Нехай 𝑂(𝑓) ≫ 𝑂(𝐹),
тобто основна обчислювальна складність
полягає у знаходженні 𝑉, знаючи який по-
шук 𝑆 = 𝐹(𝑉) не складає великої обчис-
лювальної складності. Масив компонент V
Теоретичні та методологічні основи програмування
50
представлений функціонально залежними
елементами, які можна обчислити ітера-
ційно:
𝑣𝑖 = {𝑎(𝑖,𝑗)}
(𝑗=0)
𝑀
, 𝑎(𝑖,𝑘+1) = 𝑓(𝑎(𝑖,𝑘)),
𝑎(𝑖,0) = 𝑎𝑖, де 𝑓: ℛ → ℛ.
Така ітерація не може бути предста-
влена одним викликом map-reduce, так як
кожен наступний елемент ітерації зале-
жить від попереднього, що в свою чергу
порушує головну вимогу операції map –
незалежність вхідних елементів один від
одного. Але водночас, ми можемо її реалі-
зувати як серію викликів окремих map-
reduce підзадач.
Таким чином, в разі якщо обчис-
лення 𝑓 може бути представлено як неза-
лежне обчислення кожної компоненти век-
тора 𝑎(𝑖,𝑘) з простору ℛℳ, то задача знахо-
дження S у цілому зводиться до ацикліч-
ного направленого графу (дерева) глибини
𝑁, де елемент буде являти собою задачу
map-reduce вигляду 𝑎(𝑖,𝑘+1) = 𝑓(𝑎(𝑖,𝑘)),
∀𝑖 = 1. . 𝑁 для вершин із ступенем 1, і 𝑆 =
𝐹(𝑉) для крайньої вершини.
Задача оптимізації рою часток
(Particle Swarm Optimization)
як приклад класу задач
з пов'язаними компонентами
вихідних даних
Метод рою часток (МРЧ) – метод
чисельної оптимізації, для використання
якого не потрібно знати точного градієнта
функції що оптимізується [8–10]. МРЧ
спочатку призначався для імітації соціа-
льної поведінки [11, 12]. Алгоритм був
спрощений, і було помічено, що він при-
датний для виконання оптимізації. МРЧ
оптимізує функцію, підтримуючи популя-
цію можливих рішень, які називаються
частками, і переміщує ці частинки в прос-
торі рішень згідно простої формули. Пе-
реміщення підкоряються принципу най-
кращого знайденого в цьому просторі по-
ложення, яке постійно змінюється при
знаходженні частками більш вигідних
положень. Розглянемо структуру обчис-
лень в цьому алгоритмі. Ітераційно онов-
люється набір часток – «рій», які посту-
пово наближаються до екстремумів дослі-
джуваної функції рухаючись з певною
швидкістю щодо своїх минулих позицій.
Неважко помітити, що така структура
співвідноситься з обчисленням масиву
залежних елементів і поданням його як
ациклічного дерева обчислень у моделі
map-reduce. Але, додатково до цього «рій»
частинок вносить ще один елемент опти-
мізації – швидкість руху частинок, а та-
ким чином і кількість ітерацій, залежить
від поточного кращого знайденого екст-
ремуму. Це, в свою чергу, створює додат-
ковий вид залежності між вхідними дани-
ми (в рамках ітерацій). Спробуємо пред-
ставити даний параметр апроксимовано
нашій моделі. Припустимо наявність зов-
нішнього для системи параметра L, який
дозволяє знайти відразу наступний еле-
мент ітерації:
𝑎(𝑖,𝑘+2) = 𝑓(𝑎(𝑖,𝑘)), 𝑎(𝑖,𝑘) < L.
З цього співвідношення видно, що
при хорошій оцінці глобального екстре-
муму L, рішення може бути знайдено при
дворазовому скороченні кількості ітера-
цій. Таким чином для отримання оптима-
льної паралельної ефективності методу
важливо якомога швидше оновлювати
значення L. В реальних задачах рою час-
тинок прискорення залежить від значення
параметрів функції швидкості частинки і
впливає на стабільність алгоритму. Розг-
лянемо додавання параметра L у систему
ациклічного графа map-reduce і акторної
моделі. В процесі ітерацій рою часток
кожне обчислення 𝑎(𝑖,𝑘) дозволяє оновити
оцінку L. Оцінимо час синхронізації па-
раметра в різних моделях.
У разі акторної моделі, параметр L
може бути негайно оновлений для всіх
акторів, які займаються ітеруванням час-
ток. Розглянемо конфігурацію з одним
обчислювальним вузлом. Витрати скла-
дуть час на доставку й обробку повідом-
лення будь-кому акторам. Цей час можна
оцінити як час обробки одного значення
𝑎(𝑖,𝑘) кожним актором. При додаванні спі-
льної пам'яті (Strumok) час оновлення стає
Теоретичні та методологічні основи програмування
51
дуже малим і можна говорити про негайне
оновлення, так як інші актори будуть без-
печно звертатися до області загальної па-
м'яті, значення в якій можна оновити за
кілька тактів процесорного часу.
У разі розподіленої конфігурації час
оновлення складатиме часу затримки все-
редині кластера, і механізм спільної пам'я-
ті дозволить зменшити кількість трафіку
що пересилається, і прискорити оновлення
в рамках кожного вузла кластера.
У моделі map / reduce, в свою чер-
гу, кожен елемент map повинен зберігати
всі дані необхідні для обчислення, таким
чином оновлення параметра L можливо
тільки між ітераціями, і, крім того, в роз-
поділеної конфігурації час затримки клас-
тера також накладається на швидкість
оновлення, тому для подальшого порів-
няння цей параметр можна опустити, при
цьому потенційно акторна модель дозво-
ляє максимально оптимізувати кластер-
ний трафік.
Загальний час оновлення необхід-
ний системі на map-reduce можна оцінити
в залежності від співвідношення кількості
пар паралельних вузлів / процесорів до
кількості часток в ітерації. Якщо співвід-
ношення наближається до рівності (тобто
при невеликій кількості часток у популя-
ції) час оновлення map reduce стає відпо-
відним з акторною моделлю. Водночас,
при великій кількості часток, раннє онов-
лення L при перших обчисленнях 𝑎(𝑖,𝑘) не
відбудеться до повного завершення ітера-
ції, що, по суті, робить оновлення параме-
тра неефективним для більшості часток в
ітерації, і призводить до втрати приско-
рення, яке досягається оновленням L (дво-
разове в апроксимованому випадку).
Реалізація задачі рою частинок
використовуючи підходи
map-reduce (Spark) і акторної
моделі (Strumok / Akka)
Тепер розглянемо практичну реалі-
зацію даної задачі в рамках акторної моде-
лі. Залежно від величини 𝒩 можна делегу-
вати по одному актору на кожен елемент
𝑣𝑖, або ж у разі великих значень 𝒩 кожен
актор може обробляти певний сегмент
значень 𝑣𝑖 . . 𝑣(𝑖+𝑙) заданий при конфігуру-
ванні акторної моделі. У першому (більш
тривіальному) випадку логіку акторів мо-
жна визначити наступним псевдокодом:
Message “Update”:
If k == K then send “Compute
S” to root with Ai and i
Else Ai = f(Ai); k = k + 1;
send “Update” to self
Даний псевдокод дозволяє відразу
звернути увагу що проміжне значення
𝑎(𝑖,𝑘) зберігається всередині актора, завдя-
ки чому для виконання кожній ітерації
досить лише порожнього повідомлення-
тригера, пересилати додаткові дані, в тому
числі між кластером (в разі розподіленої
архітектури) не потрібно. Крім того, кожен
актор оновлюється асинхронно, додатко-
вий бар'єр на очікування однієї повної іте-
рації 𝑉𝑘 не потрібен. У той же час в пара-
дигмі Map-Reduce, запуск кожної ітерації
вимагає копіювання вхідних даних, ініціа-
лізації завдання на виконавчих вузлах
(executors), а також блокування сесії до
повного завершення ітерації.
При використанні предметно орієн-
тованої мови Strumok завдання оптимізації
методом рою часток можна представити
таким чином:
package strumok.pso;
import
strumok.pso.TestFunction;
actor Particle {
actorref GMinimum handler
local double minimum
local double x
local double value
local double velocity
message update() {
var approxG = ~handler.g
if
(approxG<=handler.threshold)
{
return
}
Теоретичні та методологічні основи програмування
52
var rp = Random.value
var rg = Random.value
velocity = velocity * 0.3 +
0.7 * rp * (minimum - value) + 1.3 *
rg * (approxG - value)
x += velocity
value = TestFunction(x)
if (value < minimum) {
minimum = value
}
if (value < approxG) {
handler.updateMinimum(value)
}
update()
}
}
actor GMinimum {
actorref Swarm swarm
shared double g
shared double threshold
message updateMinimum(double
newValue)
{
if (newValue < g) {
g = newValue
if (g <= threshold) {
swarm.complete(g)
}
}
}
}
actor Swarm {
@AkkaRoutedPool(strategy =
RoutingStrategy.RoundRobin, size =
1000)
actorref
Selection<Particle> swarm
actorref GMinimum handler
Swarm() {
handler = new GMinimum()
broadcast
swarm.initialize(handler)
broadcast swarm.update()
}
message complete(double
result) {
println("Result is " -
result);
}
}
Даний лістинг визначає 3 класи ак-
торів: Swarm – керуючий, GlobalMinimum
– зберігає поточний глобальний екстре-
мум (параметр L у моделі), Particle – клас
обчислювача в рамках ітерації. Частки
розміщуються в акторному пулі (розміром
1000), який ініціалізується початковими
значеннями часток, а потім оновлює їх
ітераційно до досягнення зазначеного
threshold (оцінки глобального мінімуму).
val minX = 0
val maxX = 10
val amount = 1000000
val startTime = System.currentTimeMillis()
var particles =
sc.parallelize(generateParticles(minX,
maxX, amount)).repartition(8)
val globalMinimumValue: Double = parti
cles.map(_.localMinimum).min()
val globalMinimum = new Minimum
sc.register(globalMinimum, "minimum")
globalMinimum.add(globalMinimumValue)
def iterate() = {
val g = sc.broadcast(globalMinimumValue)
particles = particles.map(p => {
val rp = r.nextDouble()
val rg = r.nextDouble()
var velocity = p.velocity * 0.7 + 0.7 * rp *
(p.localMinimum - p.current) + 0.3 * rg * (g.value
- p.current)
//handle out of bounds..
if (p.x < minX && velocity < 0 || p.x > maxX
&& velocity > 0) {
Теоретичні та методологічні основи програмування
53
velocity = -velocity
}
val x = p.x + velocity
val current = f(x)
val minimum = if (current < p.localMinimum)
current
else p.localMinimum
if (current < g.value)
globalMinimum.add(current)
Particle(x, velocity, current, minimum)
}).localCheckpoint()
particles.foreach(_ => {})
globalMinimum.value
}
Лістинг вище визначає реалізацію
ітерації методу рою часток для map-reduce
фреймворка Apache Spark. Дана ітерація
визначає глобальний лічильник
globalMinimum, який оновлюється між
ітераціями, і ітерацію map-reduce, де в map
частини оновлюється значення частки, а
reduce частина опущена (в реальному ал-
горитмі може бути вибір максимуму, реа-
лізація якого тривіальна і може бути опу-
щена в тестовій реалізації). Отриманий
проміжний екстремум повертається назов-
ні для повторних ітерацій.
Оцінка впливу зв'язності
компонентів вхідних даних
на ефективність Map-Reduce
в порівнянні з акторним підходом
Для кожної версії реалізації задачі
була проведена оцінка ефективності робо-
ти. Зважаючи на велику чутливість алго-
ритму МРЧ до параметрів і недетерміно-
ваного характеру алгоритму в цілому, за
основу оцінки було взято час обчислення
10 мільйонів часток при збільшенні сумар-
ної кількості ітерацій. Більш складні задачі
вимагають більшої кількості ітерацій для
вирішення, таким чином ефективність на
великих кількостях ітерацій дозволяє оці-
нити продуктивність системи в реальних
умовах. З характеристиками стендової ма-
шини: Intel Core i7 3770K 3.5GHz, 16GB
2133 MHz RAM, 128 GB SSD на десяти
тестових прогонах отримані наступні усе-
реднені результати (шкали логарифмічні)
(рисунок).
Рисунок
Теоретичні та методологічні основи програмування
54
Як видно з графіку, Apache Spark
дуже важко працює з довгими ациклічни-
ми графами виконання (на значеннях іте-
рацій в 1000 і вище, прискорення акторної
моделі стає більш ніж на 2 порядки). Ак-
торна модель реалізована на Strumok /
Akka спочатку локально прискорюється
(заповнюючи вільні обчислювальні потоки
тестової машини), а після цього зберігає
продуктивність і при високих розмірах
задачі, а при використанні оптимізованої
версії (коли кожен актор зберігає відразу
кілька часток для поновлення) швидкість
роботи зберігається стабільною при будь-
якому зростанні ітерацій, які були в рам-
ках експерименту.
Висновки
Перетворення над масивами неза-
лежних наборів даних добре вирішуються
в підході map-reduce, але при цьому при
появі залежності між вхідними даними
альтернативи, такі як модель акторів, а
також модель акторів із спільною пам'ят-
тю дозволяють отримувати вкрай істотні
прирости в ефективності паралельних об-
числень. Клас задач з пов'язаними вхід-
ними даними добре представлений зада-
чами глобальної оптимізації. Поведінка і
ефективність такого класу задач були роз-
глянуті на прикладі задачі оптимізації
методом рою часток. На окремих конфі-
гураціях прискорення може досягати де-
сятків і сотень разів, що доводить значи-
мість альтернативних підходів для подан-
ня паралельних обчислень. Крім того, за-
лишається важливим вивчення залежнос-
тей в даних для кроку reduce, що так само
може виявити клас задач, які ефективно
вирішуються в рамках акторної моделі
або подібних альтернатив, але при цьому
помітно втрачають в ефективності в рам-
ках map-reduce парадигми.
Література
1. Борис Т.В., Алєксєєв М.О. Порівняльний
аналіз технології паралельного обчислення
великих масивів даних MapReduce.
Proceedings of Second International
Conference "Cluster Computing". Lviv ,
2013. C. 54–57.
2. Гладкий М.В. Модель распределенных
вычислений MapReduse. Труды БГТУ.
2016. Т. № 6. С. 194–198.
3. MapReduce – краткое руководство: веб-
сайт. URL: https://coderlessons.com/
tutorials/bolshie-dannye-i-analitika/izuchit-
kartu-umenshit/mapreduce-kratkoe-
rukovodstvo (дата звернення 15 07 2020).
4. Mateu Zaharia. An Architecture for Fast and
General Data Processing on Large Clusters.
Association for Computing Machinery and
Morgan & Claypool. 2016. P. 89.
5. Глибовець М.М., Зінчук С.О. Використан-
ня моделі акторів для реалізації розподіле-
них обчислень. Системні дослідження
та інформаційні технології. 2015. № 2.
С. 16–25.
6. Akka: веб-сайт. URL: https://akka.io/ (дата
зверненя 19.07.2020).
7. Ларін В.О., Бантиш О.В., Галкін О.В.,
Провотар О.І. Предметно-ориентиро-
ванный язык Strumok для описания актор-
ных систем с общей памятью. Киберне-
тика и системный анализ. 2018. Т. 54.
С. 170–180.
8. Карпенко А.П, Селиверстов Е.Ю. Обзор
методов роя частиц для задачи глобальной
оптимизации (Particle Swarm Optimization).
Наука и образование: электрон. науч.-тех.
изд. URL: http://www.technomag.edu.ru
(дата звернення 04 08 2020).
9. Курейчик В.В., Запорожец Д.Ю. Роевой
алгоритм в задачах оптимизации. Извес-
тия Южного федерального университета.
Технические науки. 2010 p. № 7.
С. 28–32.
10. Kennedy J., Eberhart R. Particle Swarm
Optimization. Proceedings of the IEEE
International Conference on Neural. NJ :
IEEE Press, 1995. P. 1942–1948.
11. Олійник О.О., Субботін С.О. Оптимізація
на основі колективного інтелекту рою ча-
сток з керуванням зміною їхньої швидко-
сті. Радіотехніка. Інформатика. Управ-
ління. 2009. № 2. С. 96–101.
12. Hoorfar A. Evolutionary programming in
electromagnetic optimization: a review. IEEE
Trans. Antennas Propag. 2007. Vol. 55.
Iss. 3. P. 523–537.
https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/izuchit-kartu-umenshit/mapreduce-kratkoe-rukovodstvo
https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/izuchit-kartu-umenshit/mapreduce-kratkoe-rukovodstvo
https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/izuchit-kartu-umenshit/mapreduce-kratkoe-rukovodstvo
https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/izuchit-kartu-umenshit/mapreduce-kratkoe-rukovodstvo
https://akka.io/
Теоретичні та методологічні основи програмування
55
References
1. Boris T.V., Alekseev M.O., Comparative
analysis of MapReduce - technology for
parallel computation of large data sets.
Proceedings of the Second International
Conference "Cluster Computing". Lviv, 2013.
P. 54–57.
2. Gladkiy M.V., Model of distributed
calculations MapReduse. Proceedings of
BSTU. 2016. N 6. P. 194–198.
3. MapReduce – a quick guide: a website. URL:
https://coderlessons.com/tutorials/bolshie-
dannye-i-analitika/izuchit-kartu-
umenshit/mapreduce-kratkoe-rukovodstvo
(accessed 15 07 2020).
4. Matthew Zechariah, An Architecture for Fast
and General Data Processing on Large
Clusters. Association for Computing
Machinery and Morgan & Claypool. 2016.
P. 89.
5. Hlybovets M.M., Zinchuk S.O., Using the
model of actors for the implementation of
distributed computing. System research and
information technology. 2015. N 2. P. 16–25.
6. Akka: website. URL: https://akka.io/
(accessed 19 July 2020).
7. Larin V.O., Bantysh O.V., Galkin O.V.,
Provotar O.I., Object-oriented Strumok
language for describing actor systems with
shared memory. Cybernetics and systems
analysis. 2018. Vol. 54. P. 170–180.
8. Karpenko A.P. and Seliverstov E.Y. “Review
of particle swarm methods for the global
optimization problem (Particle Swarm
Optimization),” Nauka i obrazovanie: digital
scientific and technical ed. URL:
http://www.technomag.edu.ru (access date 04
08 2020).
9. Kureychik V.V., Zaporozhets D.Yu. Swarm
algorithm in optimization problems. Izvestiya
Yuzhnogo federalnogo universiteta. Technical
sciences. 2010. Vol. 7. P. 28–32.
10. Kennedy J., Eberhart R. Particle Swarm
Optimization. Proceedings of the IEEE
International Conference on Neural. NJ:
IEEE Press, 1995. P. 1942–1948.
11. Oliynyk O.O., Subbotin S.O., Optimization on
the basis of collective intelligence of a swarm
of particles with control of change of their
speed. Radiotechnics. Informatics.
Management. 2009. Vol. 2. P. 96–101.
12. Hoorfar A. Evolutionary programming in
electromagnetic optimization: a review. IEEE
Trans. Antenna Propag. 2007. Vol. 55. Iss. 3.
P. 523–537.
Одержано 24.02.2021
Про авторів:
Провотар Олександр Іванович,
доктор фізико-математичних наук,
професор, завідувач кафедри
інтелектуальних програмних систем.
Кількість наукових публікацій в
українських виданнях – 150.
Кількість наукових публікацій в
зарубіжних виданнях – 45.
Н-індекс – 5,
http://orcid.org/0000-0002-6556-3264,
Ларін Владислав Олегович,
аспірант.
Кількість наукових публікацій в
українських виданнях – 4.
Кількість наукових публікацій в
зарубіжних виданнях – 1.
Тел.: +380972712208.
E-mail: vlarinmain@gmail.com.
Місце роботи авторів:
Київський національний університет
імені Тараса Шевченка,
03187, Київ-187,
Проспект Академіка Глушкова, 4д.
Факультет комп’ютерних наук
та кібернетики.
|