Formal and adaptive methods and software tools of parallel programming
A review of the results of the development of formal and adaptive methods and software, achieved in recent years in the Institute of Software Systems of the National Academy of Sciences of Ukraine, based on the algebra-algorithmic approach and the technique of rewriting rules is given. The methods...
Збережено в:
Дата: | 2018 |
---|---|
Автори: | , , , , , , |
Формат: | Стаття |
Мова: | English |
Опубліковано: |
Інститут програмних систем НАН України
2018
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/295 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-295 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/2c/daa9e21d95c4749cd8bf6b84ccc2ec2c.pdf |
spelling |
pp_isofts_kiev_ua-article-2952024-04-28T11:48:07Z Formal and adaptive methods and software tools of parallel programming Формальные и адаптивные методы и инструментальные средства параллельного программирования Формальні та адаптивні методи й інструментальні засоби паралельного програмування Doroshenko, А.Yu. Beketov, O.G. Zhereb, K.A. Ivanenko, P.A. Ovdii, О.М. Shevchenko, R.S. Yatsenko, O.A. programming automation; algebra of algorithms; meteorological forecasting; parallel computation; rewriting rules technique UDC 004.4'24 автоматизация программирования; алгебра алгоритмов; метеорологическое прогнозирование; параллельные вычисления; техника переписывающих правил УДК 004.4'24 автоматизація програмування; алгебра алгоритмів; метеорологічне прогнозування; паралельні обчислення; техніка переписувальних правил УДК 004.4'24 A review of the results of the development of formal and adaptive methods and software, achieved in recent years in the Institute of Software Systems of the National Academy of Sciences of Ukraine, based on the algebra-algorithmic approach and the technique of rewriting rules is given. The methods are developed to automate the design, generation and transformation of parallel programs for a wide range of multiprocessor computing platforms and find application for various application areas, in particular for the effective implementation of meteorological forecasting tasks. Problems in programming 2017; 3: 19-30 Приведен обзор результатов разработки формальных и адаптивных методов и программных средств, достигнутых за последние годы в Институте программных систем НАН Украины, основанные на алгебро-алгоритмическом подходе и технике переписывающих правил. Методы предназначены для автоматизации проектирования, генерации и преобразований параллельных программ для широкого диапазона мультипроцессорных вычислительных платформ и находят применение для различных прикладных областей, в частности, для эффективной реализации задач метеорологического прогнозирования.Problems in programming 2017; 3: 19-30 Наведено огляд результатів розробки формальних та адаптивних методів і програмних засобів, досягнутих за останні роки в Інституті програмних систем НАН України, що ґрунтуються на алгеброалгоритмічному підході та техніці переписувальних правил. Методи призначені для автоматизації проектування, генерації та перетворень паралельних програм для широкого діапазону мультипроцесорних обчислювальних платформ і знаходять застосування для різних прикладних областей, зокрема, для ефективної реалізації задач метеорологічного прогнозування.Problems in programming 2017; 3: 19-30 Інститут програмних систем НАН України 2018-11-12 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/295 10.15407/pp2017.03.019 PROBLEMS IN PROGRAMMING; No 3 (2017); 19-30 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 3 (2017); 19-30 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 3 (2017); 19-30 1727-4907 10.15407/pp2017.03 en https://pp.isofts.kiev.ua/index.php/ojs1/article/view/295/289 Copyright (c) 2018 PROBLEMS OF PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-28T11:48:07Z |
collection |
OJS |
language |
English |
topic |
programming automation algebra of algorithms meteorological forecasting parallel computation rewriting rules technique UDC 004.4'24 |
spellingShingle |
programming automation algebra of algorithms meteorological forecasting parallel computation rewriting rules technique UDC 004.4'24 Doroshenko, А.Yu. Beketov, O.G. Zhereb, K.A. Ivanenko, P.A. Ovdii, О.М. Shevchenko, R.S. Yatsenko, O.A. Formal and adaptive methods and software tools of parallel programming |
topic_facet |
programming automation algebra of algorithms meteorological forecasting parallel computation rewriting rules technique UDC 004.4'24 автоматизация программирования алгебра алгоритмов метеорологическое прогнозирование параллельные вычисления техника переписывающих правил УДК 004.4'24 автоматизація програмування алгебра алгоритмів метеорологічне прогнозування паралельні обчислення техніка переписувальних правил УДК 004.4'24 |
format |
Article |
author |
Doroshenko, А.Yu. Beketov, O.G. Zhereb, K.A. Ivanenko, P.A. Ovdii, О.М. Shevchenko, R.S. Yatsenko, O.A. |
author_facet |
Doroshenko, А.Yu. Beketov, O.G. Zhereb, K.A. Ivanenko, P.A. Ovdii, О.М. Shevchenko, R.S. Yatsenko, O.A. |
author_sort |
Doroshenko, А.Yu. |
title |
Formal and adaptive methods and software tools of parallel programming |
title_short |
Formal and adaptive methods and software tools of parallel programming |
title_full |
Formal and adaptive methods and software tools of parallel programming |
title_fullStr |
Formal and adaptive methods and software tools of parallel programming |
title_full_unstemmed |
Formal and adaptive methods and software tools of parallel programming |
title_sort |
formal and adaptive methods and software tools of parallel programming |
title_alt |
Формальные и адаптивные методы и инструментальные средства параллельного программирования Формальні та адаптивні методи й інструментальні засоби паралельного програмування |
description |
A review of the results of the development of formal and adaptive methods and software, achieved in recent years in the Institute of Software Systems of the National Academy of Sciences of Ukraine, based on the algebra-algorithmic approach and the technique of rewriting rules is given. The methods are developed to automate the design, generation and transformation of parallel programs for a wide range of multiprocessor computing platforms and find application for various application areas, in particular for the effective implementation of meteorological forecasting tasks. Problems in programming 2017; 3: 19-30 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2018 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/295 |
work_keys_str_mv |
AT doroshenkoayu formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT beketovog formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT zherebka formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT ivanenkopa formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT ovdiiom formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT shevchenkors formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT yatsenkooa formalandadaptivemethodsandsoftwaretoolsofparallelprogramming AT doroshenkoayu formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT beketovog formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT zherebka formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT ivanenkopa formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT ovdiiom formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT shevchenkors formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT yatsenkooa formalʹnyeiadaptivnyemetodyiinstrumentalʹnyesredstvaparallelʹnogoprogrammirovaniâ AT doroshenkoayu formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT beketovog formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT zherebka formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT ivanenkopa formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT ovdiiom formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT shevchenkors formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ AT yatsenkooa formalʹnítaadaptivnímetodijínstrumentalʹnízasobiparalelʹnogoprogramuvannâ |
first_indexed |
2024-09-22T04:04:04Z |
last_indexed |
2024-09-22T04:04:04Z |
_version_ |
1818527397171953664 |
fulltext |
Методи та засоби програмної інженерії
© А.Ю. Дорошенко, О.Г. Бекетов, К.А. Жереб, П.А. Іваненко, О.М. Овдій,
Р.С. Шевченко, О.А. Яценко, 2017
ISSN 1727-4907. Проблеми програмування. 2017. № 3 19
УДК 004.4'24
А.Ю. Дорошенко, О.Г. Бекетов, К.А. Жереб, П.А. Іваненко, О.М. Овдій,
Р.С. Шевченко, О.А. Яценко
ФОРМАЛЬНІ ТА АДАПТИВНІ МЕТОДИ
Й ІНСТРУМЕНТАЛЬНІ ЗАСОБИ
ПАРАЛЕЛЬНОГО ПРОГРАМУВАННЯ
Наведено огляд результатів розробки формальних та адаптивних методів і програмних засобів, досяг-
нутих за останні роки в Інституті програмних систем НАН України, що ґрунтуються на алгебро-
алгоритмічному підході та техніці переписувальних правил. Методи призначені для автоматизації про-
ектування, генерації та перетворень паралельних програм для широкого діапазону мультипроцесорних
обчислювальних платформ і знаходять застосування для різних прикладних областей, зокрема, для
ефективної реалізації задач метеорологічного прогнозування.
Ключові слова: автоматизація програмування, алгебра алгоритмів, метеорологічне прогнозування, па-
ралельні обчислення, техніка переписувальних правил.
Вступ
Паралельні обчислення на мульти-
процесорних системах на сьогодні є осно-
вним джерелом забезпечення необхідних
потреб у високій продуктивності обчис-
лень при розв’язуванні складних науково-
технічних і господарських проблем. Пода-
льший прогрес у покращенні показників
якості створення паралельних систем
пов’язаний не тільки з підвищенням про-
дуктивності їх роботи, а й із зменшенням
споживаної енергії на одиницю обчислю-
вальної потужності ("зелені" обчислення).
Досягнення таких цілей лежить на шляху
до використання архітектур паралельних
обчислювальних систем, здатних до спеці-
алізації обчислень для конкретних класів
задач з метою отримання найвищих показ-
ників продуктивності при найменших ре-
сурсних витратах. За останні роки у цьому
відношенні найкраще себе проявили, на-
приклад, графічні прискорювачі (graphics
processing units, GPU) – спеціалізовані не-
дорогі мультипроцесорні системи, спроек-
товані спочатку як додаткові до централь-
них процесорів (CPU) засоби обробки ві-
деоінформації і використані потім як му-
льтипроцесорні платформи загального
призначення (GPGPU). Проте, розробка
програм для графічних прискорювачів є
досить складною задачею, тому постає пи-
тання щодо розробки спеціальних засобів
автоматизації розробки програмного за-
безпечення, що дозволяли б найбільш ефе-
ктивно генерувати найпродуктивніший код
для таких систем.
На даний час Грід-системи та "хма-
рні" обчислення все більше використову-
ються як в наукових, так і в промислових
застосуваннях. Такі системи використову-
ють низку взаємно пов'язаних ідей, вклю-
чаючи поняття загальнодоступних обчис-
лень, сервісів, Грід-технологій, віртуаль-
них ресурсів та ін., спрямованих на грани-
чне абстрагування ресурсів та спрощення
доступу до них з боку користувача. Вони
дозволяють ефективно використовувати
існуючі різнорідні паралельні ресурси та
вирішувати задачі великих обсягів, які не
можуть бути вирішені на окремих парале-
льних комплексах. Однак, проблемою за-
лишається оптимізація затрат і зусиль на
отримання ефективного програмного коду
для таких систем.
У відділі теорії комп’ютерних об-
числень Інституту програмних систем
НАН України упродовж тривалого періоду
розвивається напрямок досліджень, пов’я-
заний з розробкою теорії, методології та
інструментальних засобів для автоматизо-
ваного проектування паралельних і розпо-
ділених програм. Даний напрямок бере
свій початок від праць В.М. Глушкова,
Г.О. Цейтліна та К.Л. Ющенко з розробки
систем алгоритмічних алгебр та їх модифі-
Методи та засоби програмної інженерії
20
кацій [1–3] і праць О.А. Летичевського та
його школи з алгебраїчного програмування
[4–6], що ґрунтується на техніці перепису-
вання термів.
Мета даної роботи – огляд резуль-
татів, отриманих в рамках розробки фор-
мальних методів та програмних засобів на
основі алгеброалгоритмічного підходу та
техніки переписувальних правил для авто-
матизації програмування мультипроцесор-
них платформ [7–29].
1. Формальні методи й
інструментарій проектування та
генерації програм для графічних
прискорювачів
В основу пропонованого підходу до
проектування паралельних програм покла-
дений апарат модифікованих систем алго-
ритмічних алгебр (САА-М) [2, 7], призна-
чений для формалізації процесів мульти-
обробки, що виникають при конструюван-
ні програмного забезпечення в мультипро-
цесорних системах.
1.1. Алгебра алгоритмів. САА-М –
двоосновна алгебра ;, PrOp , де
Op – множина операторів; Pr – множина
логічних умов; – сигнатура, яка склада-
ється з логічних операцій (диз'юнкції,
кон'юнкції, заперечення, лівого множення
оператора на умову) та операторних
операцій (композиції, альтернативи,
циклу та ін.) [7]. Алгоритми в САА-М мо-
жуть бути подані в трьох формах: аналіти-
чній (регулярні схеми), природньо-
лінгвістичній (САА-схеми) та графовій
(граф-схеми). У роботах [11–13] викона-
ний подальший розвиток САА-М в напря-
мку проектування паралельних програм
для графічних прискорювачів, що викори-
стовують технологію Nvidia CUDA [30].
Далі наведено перелік назв та спе-
цифікації операторних операцій сигнатури
САА-М, що використовуються у даній ро-
боті і подані у природньо-лінгвістичній
формі.
1. Композиція (послідовне вико-
нання) операторів:
"оператор 1"; "оператор 2".
2. Операція виконання одного з n
операторів за істинності відповідної умо-
ви:
ВИБІР (['умова 1'] "оператор 1",
...
['умова n'] "оператор n").
3. Асинхронна диз'юнкція – парале-
льне виконання двох операторів (потоків):
"оператор 1"
ПАРАЛЕЛЬНО
"оператор 2".
4. Синхронізатор, що виконує зат-
римку обчислень доти, поки значення умо-
ви не стане істинним:
ЧЕКАТИ 'умова'.
5. Операція виклику функції-ядра у
схемах алгоритмів для графічних приско-
рювачів:
Запуск Ядра (nB, nTh)
( "оператор" ),
де nB – кількість блоків потоків; nTh – кі-
лькість потоків у кожному блоці; "опера-
тор" – частина алгоритму, що буде вико-
нуватися паралельно.
Застосування цих операцій проде-
монстроване у розділах 5 та 7.
1.2. Методи й інструментарій ав-
томатизованої розробки програм. Вико-
ристання апарату САА-М покладено в ос-
нову розробленої методології та інструме-
нтальних засобів підтримки проектування
та генерації програм. Інструментарій ґрун-
тується на методі діалогового конструю-
вання синтаксично правильних програм
(ДСП-методі) [7], що орієнтований на ви-
ключення можливості появи синтаксичних
помилок у процесі побудови алгоритму.
Основна ідея методу полягає у порівнево-
му конструюванні алгоритмів зверху вниз
шляхом суперпозиції мовних конструкцій
САА-М. На основі побудованої схеми ал-
горитму виконується автоматична генера-
ція тексту програми цільовою мовою про-
грамування.
ДСП-метод був реалізований у сис-
темі ІПС [7, 8, 14, 15], яка містить такі ос-
новні компоненти:
діалоговий конструктор синтак-
сично правильних програм (ДСП-конст-
руктор), призначений для діалогового про-
Методи та засоби програмної інженерії
21
ектування схем алгоритмів та синтезу про-
грам мовами Java, C++, C++ для CUDA;
редактор граф-схем;
база даних алгеброалгоритмічних
специфікацій, у якій зберігається текст
конструкцій САА-М і базисних елементів
схем, а також їх програмні реалізації;
генератор САА-схем за гіперсхе-
мами [15] (див. також розділ 5).
Для автоматизації виконання тран-
сформацій алгоритмів система ІПС засто-
совується спільно з системою Term-
Ware [8, 9, 14], яка ґрунтується на паради-
гмі переписувальних правил.
У роботах [12, 13] розглядається
нова версія системи ІПС, названа онлайно-
вим діалоговим конструктором синтаксич-
но правильних програм (ОДСП), особливі-
стю якої є сервісно-орієнтована архітекту-
ра та спрямованість на багатокористуваль-
ницьке використання системи через Інтер-
нет.
2. Засоби опису паралельних
алгоритмів у рамках алгебри
алгоритмів з даними для класу
інформаційно-керуючих систем
З огляду на важливість ролі, яку
відіграють інформаційно-керуючі системи
(ІКС) у сучасному світі, в роботах [16, 17]
виконана розробка засобів специфікації
та перетворення паралельних алгоритмів
для таких систем. Для опису алгоритмів
застосовано алгебраїчний апарат, побудо-
ваний у результаті модифікації відомої
моделі ЕОМ Глушкова. Модифікація поля-
гає у доповненні згаданої моделі зовніш-
нім середовищем (ЗС), що складається з
програмної та апаратної складових. Про-
грамна складова забезпечує взаємодію
між моделями, що функціонують у різних
ЗС (багатомашинна організація), і між
задачами в рамках одного ЗС (квазі-
паралельна, багатозадачна організація).
Апаратна складова є пам’яттю та зовніш-
німи пристроями, які включають пристрої
введення-виведення та пристрої зв’язку з
об’єктом керування, і інтерпретуються як
дані, що формалізуються таким чином.
Даними називається пара
ЗND , , де N – носій даних, З – кор-
теж значень, носієм яких є N . На кожному
кроці обчислювального процесу носій міс-
тить певний (поточний) кортеж значень
даних, зокрема, ці значення можуть бути
невизначеними.
Така модифікація моделі ЕОМ до-
зволила ввести Д-оператори виду
)()( DOD із специфікованими даними D і
D , які вони обробляють, тобто аналізу-
ють і перетворюють, змінюючи їх значен-
ня. На основі модифікованої моделі запро-
понована система алгоритмічних алгебр з
даними (САА/Д): Ω ; , , DLU , основами
якої є множина Д-операторів U , множина
логічних умов L та множина даних D , а
1 2 3 – її сигнатура, що скла-
дається з 1 – операцій, що приймають
значення на множині U , 2 – логічних
операцій, що приймають значення на мно-
жині L , 3 – операцій, що приймають
значення на множині даних D .
У роботі [16] розглядається варіант
ІКС, коли вона складається з двох підсис-
тем, кожна з яких функціонує у власному
програмно-апаратному середовищі (дво-
машинний випадок). Для випадків, коли
підсистеми ІКС функціонують у різних
програмно-апаратних середовищах, в сиг-
натуру алгебри включено операцію асинх-
ронної диз'юнкції Д-операторів
( ) ( ) ( ) ( )i i i j j jD O D D O D , яка полягає в па-
ралельному асинхронному виконанні цих
операторів. Введені також засоби синхро-
нізації та визначено умови, за яких є мож-
ливим паралельне виконання Д-опера-
торів. У зв’язку з розмаїтістю архітектур
ІКС і специфічністю розв’язуваних ними
задач продемонстровано можливість побу-
дови похідних засобів синхронізації.
У роботі [18] запропоновано розви-
ток інструментарію проектування та син-
тезу програм (ІПС) для конструювання
специфікацій алгоритмів, що подані у ви-
щезгаданій алгебрі алгоритмів з даними.
3. Засоби імітаційного
моделювання паралельних
застосувань
На даний час важлива проблема –
це побудова глобальних інформаційно-
Методи та засоби програмної інженерії
22
обчислювальних інфраструктур, таких як
Грід-системи. Проте такі системи є склад-
ними як для створення та конфігурування,
так і для програмування. При цьому підбір
найбільш оптимальних конфігурацій як
для структури самого Грід-середовища,
так і для задач, що виконуються на ньому,
недоцільно здійснювати на реальних сис-
темах через великі витрати та необхідність
координації різних учасників Грід-
проектів. Тому актуальною є задача іміта-
ційного моделювання, яка дозволяє без ви-
трат на створення, підтримку та викорис-
тання реальної Грід-системи провести на
моделі необхідні експерименти, результати
яких не будуть суттєво відрізнятися від
оригіналу. Враховуючи зростаючий інте-
рес до використання для обчислень графі-
чних прискорювачів, актуальними є також
задачі моделювання Грід-систем, окремі
вузли яких містять CPU та GPU-
компоненти.
У роботах [19–21] розроблена ін-
струментальна система gpusim, що приз-
начена для моделювання Грід-систем з
графічними прискорювачами і грунтується
на Java-фреймворку GridSim [31]. Особли-
вістю системи є підхід до опису паралель-
ної системи, при якому CPU і GPU-
компоненти розглядаються як окремі вуз-
ли віртуального Грід-середовища. Описано
механізм налаштування системи на пара-
метри конкретної паралельної системи за
рахунок автоматизованого підбору пара-
метрів моделі.
Проведено експериментальну пере-
вірку розробленої системи на зада-
чах блочного множення матриць та моде-
лювання гравітаційної взаємодії N тіл.
Для першої задачі, на основі емпі-
ричної моделі часу виконання множення
матриць на GPU, розроблені генератор
експериментів симулятора і обробник ста-
тистики, що входять до складу експериме-
нтального модуля MatrixMultiply [19]. Вхі-
дними параметрами генератора є розмір
блоку, мінімальний та максимальний роз-
мір матриці, а також інкремент розміру
матриці. Результатом експерименту є за-
лежність часу виконання множення мат-
риць блочним алгоритмом (з урахуванням
пересилання даних) від розміру матриці.
Проведений експеримент показав достат-
ню точність побудованої моделі для вели-
ких розмірів вхідних даних.
З метою використання gpusim для
дослідження паралельного алгоритму об-
числення гравітаційної задачі взаємодії N
тіл в [20] розроблено відповідний експе-
риментальний модуль системи gpusim. У
результаті проведеного експерименту
встановлено залежність часу виконання
паралельної програми від розміру вхідних
даних N та кількості потоків CUDA [30]
на блок.
У роботі [21] розглядається парале-
льна розподілена реалізація системи
gpusim, створена на основі використання
платформи для розподілених обчислень
Hazelcast [32].
4. Програмні засоби паралельних
обчислень на основі платформ
розподілених сховищ об’єктів
даних в основній пам’яті машин
Одна основна проблема при обробці
великих обсягів даних на обчислювальній
техніці – це продуктивність системи вве-
дення-виведення сховищ даних. З поши-
ренням 64-бітних багатоядерних систем
вартість оперативної пам’яті значно знизи-
лася, а обсяги багаторазово збільшилися.
Це робить ідею використання оперативних
запам'ятовуючих пристроїв (ОЗП) для збе-
рігання даних замість жорстких дисків ду-
же привабливою, враховуючи той факт, що
швидкість доступу до ОЗП у тисячі разів
перевищує швидкість доступу до HDD.
Об’єднання вузлів з великими обсягами
ОЗП в єдиний обчислювальний кластер
фактично повністю виключає потребу за-
стосувань у доступі до повільних при-
строїв введення-виведення. Усі ці чинники
спричинили створення нових підходів та
рішень кластеризації – розподілених схо-
вищ об’єктів даних (In-Memory Data Grid,
IMDG), які ще також називаються дата-
грід.
У роботі [22] виконаний аналіз та
порівняння технологій сучасних платформ
IMDG, а саме: RH Infinispan, Oracle
Coherence, Ehcache та Hazelcast. Одне з ос-
новних застосувань IMDG-систем є клас
Методи та засоби програмної інженерії
23
програм, де основна операція введення-
виведення – це читання, а не запис. Прик-
ладами таких застосувань є пошукові сис-
теми, системи агрегації та обчислень на
множині даних. Проведені експерименти з
виміру продуктивності кількох систем для
типових застосувань на розробленому кла-
стері з чотирьох вузлів показали, що най-
більш ефективним є використання систем
Coherence та Hazelcast.
У статті [23] розглядається актуаль-
на задача автоматизованої розробки висо-
конавантаженої розподіленої паралельної
системи, яка може горизонтально масшта-
буватись та забезпечувати безперебійну
обробку потокових даних великих обсягів.
Як приклад джерела даних для обробки
обрана соціальна мережа Twitter та її пото-
ковий API – Twitter Firehose. Для ство-
рення розподіленої системи використано
Hazelcast [32], перевагою якого є автома-
тичне розгортання та керування обчислю-
вальним кластером. Для розгортання сис-
теми на основі Hazelcast обрана "хмарна"
платформа Amazon Elastic Compute Cloud
(EC2). Розроблена система є динамічно
масштабованим та відмовостійким класте-
рним рішенням, одним з головних надбань
якого є те, що дослідник може нарощувати
ресурси для обчислень за своїм бажанням,
різної конфігурації та потужності, що дає
змогу досягати бажаної швидкодії систе-
ми.
5. Засоби розробки адаптивних
алгоритмів на основі
параметрично керованої генерації
схем програм
Одним із шляхів вирішення про-
блеми підвищення адаптивності програм
до конкретних умов їх використання у ра-
мках алгеброалгоритмічного підходу є за-
стосування параметрично керованої гене-
рації високорівневих специфікацій алгори-
тмів за допомогою схем більш високого
рівня, що називаються гіперсхемами.
У роботі [15] запропоновано підхід
до розробки послідовних і паралельних ал-
горитмів на основі алгебри гіперсхем та
інструментальних засобів генерації
САА-схем алгоритмів, що входять до
складу інтегрованого інструментарію про-
ектування та синтезу програм (див. також
підрозділ 1.2). На рис. 1 показана послідо-
вність розробки програм у системі ІПС,
починаючи з проектування гіперсхеми та
закінчуючи генерацією коду цільовою мо-
вою програмування.
Гіперсхеми є параметризованими
операторними виразами, що орієнтовані на
вирішення певного класу задач. Зазначен-
ня конкретних значень параметрів гіпер-
схем та їх наступна інтерпретація дозволяє
отримати САА-схеми алгоритмів, адапто-
вані до конкретних умов використання. У
роботі [15] застосування гіперсхем про-
ілюстроване на прикладах з області сорту-
вання та лінійної алгебри.
Приклад 1. Далі наведено гіпер-
схему, яка є алгоритмом керування виве-
денням класу САА-схем паралельного
множення матриць із різною кількістю па-
ралельних потоків K . У САА-схемі, яка є
результатом інтерпретації гіперсхеми, ви-
конується множення матриці ( )lj M NA a
на матрицю ( )lj N QB b . Матриця A роз-
ділена на K горизонтальних смуг (блоків).
Обчислення розподіляються між K пара-
лельними потоками з індексами
1Ki ,… 0, = . При цьому i -й потік, а са-
ме, оператор "Множення(A(i), B)", виконує
множення i -го блоку матриці A на матри-
цю B . Параметра K , який відповідає кі-
лькості паралельних потоків, у гіперсхемі
присвоєне значення 4.
"Гіперсхема множення матриць" =
==== (i := –1);
(K := 4);
"ПРС1";
ЧЕКАТИ 'Обробка у всіх
потоках закінчена';
"ПРС1" = "ІНК(i)";
ВИБІР
(
['i < K – 1'] →
"Множення(A(i), B)"
ПАРАЛЕЛЬНО
"ПРС1";
['i = K – 1'] →
"Множення(A(i), B)";
).
Методи та засоби програмної інженерії
24
Рис. 1. Послідовність генерації алгоритмів та програм в
інтегрованому інструментарії
У вищенаведеній гіперсхемі скла-
дений оператор ПРС1 рекурсивно фор-
мує паралельні потоки із використанням
операції вибору та зміни значення пара-
метра i від 0 до 1K . Результатом інтер-
претації гіперсхеми є САА-схема мно-
ження матриць з чотирма паралельними
потоками.
6. Засоби автоматичного
налаштовування застосувань на
мультипроцесорні платформи
У роботах [24, 25] розроблено ме-
тод автоматичного самоналаштовування
(автотюнінгу) паралельних застосувань на
основі формальної моделі розширеного
поняття дискретної динамічної системи
та PRAM-моделі паралельних обчислень.
Автотюнінг дозволяє емпіричним спосо-
бом в автоматичному режимі підібрати
найкращий варіант програми для цільового
середовища виконання (мульти-
процесорної платформи). На основі запро-
понованого методу розроблено інструмен-
тальну систему генерації автотюнерів
TuningGenie.
На рис. 2 показано процес модифі-
кації, оцінки і вибору оптимального варіа-
нта програми в TuningGenie. Система
сприймає на вході початковий код мовою
програмування, відмічений прагмами.
Прагми описують конфігурації і трансфо-
рмації програми, що впливають на її про-
дуктивність. Прагми задаються вручну
програмними розробниками із викорис-
танням коментарів спеціальної форми.
Спочатку інформація з усіх прагм у коді
вхідної програми збирається синтаксичним
аналізатором і на її основі генеруються усі
можливі конфігурації застосунку. Далі для
кожної конфігурації генерується відповід-
на варіація програми й виконуються замі-
ри швидкодії. На основі отриманих ре-
зультатів знаходиться оптимальна конфі-
гурація і на її основі генерується оптима-
льний варіант застосунка. Для трансфор-
мацій вихідного коду TuningGenie викори-
стовує інструментарій переписувальних
правил TermWare [8, 9, 25].
Застосування TuningGenie проде-
монстроване у роботах [24–26] на прикла-
дах задач паралельного програмування,
зокрема, задачі короткочасного метеоро-
логічного прогнозування.
7. Прикладні програмні системи
метеорологічного прогнозування
У роботах [11–13, 27, 28] виконане
застосування методології та інструмента-
рію автоматизованого алгеброалгоритміч-
ного проектування (див. розділ 1) для роз-
робки паралельних алгоритмів та програм-
ної реалізації розв'язання задач регіональ-
ного метеорологічного прогнозування. За-
пропонований підхід до вирішення про-
блем метеорологічного прогнозування по-
єднує комплексність використання адеква-
тних фізичних моделей атмосферних про-
цесів з ефективними обчислювальними
методами програмування високопродукти-
вних обчислень на багатоядерних проце-
сорах та графічних прискорювачах, що дає
змогу досягати належного ступеня точнос-
ті, повноти і своєчасності інформації, не-
обхідної для складання якісних метеороло-
гічних прогнозів.
Методи та засоби програмної інженерії
25
Рис. 2. Послідовність дій автотюнінгу в системі TuningGenie
Приклад 2. Далі наведено частину
паралельної САА-схеми обчислень про-
гнозу погоди, в основу якої покладено ре-
гіональну математичну модель стану атмо-
сфери та чисельні методи, що розгляда-
ються в роботі [11].
"Паралельне обчислення правих
частин рівнянь Q для функції (U)" =
====
Запуск Ядра (blocksPerGrid_3d,
threadsPerBlock_3d)
( "Виконати попередні обчислення
для першої похідної (Pr1)" );
Запуск Ядра (blocksPerGrid_1d,
threadsPerBlock_1d)
( "Виконати обчислення першої
похідної (Pr1)" );
"Заповнити масив для Q у
відеопам'яті значеннями (0)";
Запуск Ядра (blocksPerGrid_3d,
threadsPerBlock_3d)
( "Обчислити праві частини Q
для функції (U)" );
"Занести в масив (RZ) значення
для функції (U)";
"Обчислити складові рівняння пе-
реносу в напрямках X,Y,Z для (U)";
"Скопіювати масив значень Q
з відеопам’яті у пам’ять CPU".
На основі побудованої САА-схеми
реалізовано послідовну та паралельну про-
грами мовою С++ для виконання на CPU
та GPU відповідно [11]. Випробування
програм проводились із використанням
процесора i5-3570 та графічного приско-
рювача GeForce GTX 650 Ti (768 ядра). На
рис. 3 показано графік залежності мульти-
процесорного прискорення /s pSp T T (де
sT і pT – час виконання послідовної та па-
ралельної програм, відповідно), від розмі-
ру задачі N – кількості вузлів розбиття
розрахункової сітки.
У роботі [27] запропоновано підхід
до проектування та генерації Грід-сервісів
для платформи Globus Toolkit на основі
використання інструментарію ІПС. Розро-
Методи та засоби програмної інженерії
26
блено Грід-сервіс, що виконує запуск
паралельної програми з області метеороло-
гічного прогнозування на мультипроцесо-
рному кластері.
В роботі [28] розроблено засоби
автоматизованого конструювання пара-
лельного коду для середовища OpenMP на
основі високорівневих алгеброалгоритміч-
них специфікацій. Застосування засобу
демонструється на прикладі задачі моде-
лювання циркуляції атмосфери, що пред-
ставлений як сервіс у складі Інтернет-
порталу [29] з надання послуг метео-
прогнозу.
Висновки
В статті показано, як в Інституті
програмних систем НАНУ розвивалися
формальні та адаптивні методи та інстру-
ментарій для автоматизованого проекту-
вання та генерації паралельних програм
на основі алгеброалгоритмічного підходу
та техніки переписувальних правил. За
роки становлення і розвитку цього напря-
мку розроблено нові засоби опису парале-
льних алгоритмів у рамках алгебри алго-
ритмів з даними для класу інформаційно-
керуючих систем. Створені інструмента-
льні засоби автоматизації програмування
та імітаційного моделювання високопро-
дуктивних паралельних застосувань для
Грід-систем. Розроблена кластерна систе-
ма для обробки потокових даних великого
обсягу на основі платформи, призначеної
для створення розподілених сховищ
об’єктів даних в основній пам’яті машин.
Запропоновано метод та програмні засоби
розробки послідовних і паралельних ада-
птивних алгоритмів на основі викорис-
тання параметрично керованої генерації
схем програм. Розроблено метод та про-
грамну систему для автоматичного само-
налаштовування (автотюнінгу) паралель-
них програм на цільові платформи, що
ґрунтується на трансформації програмно-
го коду на основі використання перепису-
вальних правил. Проведено застосування
методології автоматизованого алгебро-
алгоритмічного проектування для розроб-
ки паралельних алгоритмів та програмної
реалізації розв’язання задач регіонального
метеорологічного прогнозування на різ-
них мультипроцесорних платформах, що
дало можливість значно покращити точ-
ність та завчасність прогнозів.
1. Глушков В.М. Теория автоматов и форма-
льные преобразования микропрограмм.
Кибернетика. 1965. № 5. C. 1–10.
Рис. 3. Графік залежності мультипроцесорного прискорення від розміру задачі для
паралельної програми метеорологічного прогнозування
Методи та засоби програмної інженерії
27
2. Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л.
Методы символьной мультиобработки. К.:
Наукова думка, 1980. 252 с.
3. Глушков В.М., Цейтлин Г.Е., Ющенко Е.Л.
Алгебра. Языки. Программирование. 3-е
изд., перераб. и доп. К.: Наукова думка,
1989. 376 с.
4. Капитонова Ю.В., Летичевский А.А. Пара-
дигмы и идеи академика В. М. Глушкова.
К.: Наукова думка, 2003. 456 с.
5. Капитонова Ю.В., Летичевский А.А. Ме-
тоды и средства алгебраического програ-
ммирования. Кибернетика. 1993. № 3.
С. 7–12.
6. Letichevsky A.A., Kapitonova Yu.V., Ko-
nozenko S.V. Computations in APS. Theore-
tical computer science. 1993. Vol. 119. P.
145–171.
7. Андон Ф.И., Дорошенко А.Е., Цейт-
лин Г.Е., Яценко Е.А. Алгеброалгоритми-
ческие модели и методы параллельного
программирования. Киев: Академпериоди-
ка, 2007. 631 с.
8. Андон Ф.И., Дорошенко А.Е., Жереб К.А.,
Шевченко Р.С., Яценко Е.А. Методы ал-
гебраического программирования. Фор-
мальные методы разработки параллель-
ных программ. Киев: Наукова думка,
2017. 440 с.
9. Doroshenko A., Shevchenko R. A rewriting
framework for rule-based programming dy-
namic applications. Fundamenta Informati-
cae. 2006. Vol. 72, N 1–3. P. 95–108.
10. Андон Ф.И., Дорошенко А.Е., Жереб К.А.
Программирование высокопроизводитель-
ных параллельных вычислений: формаль-
ные модели и графические ускорители.
Кибернетика и системный анализ. 2011.
№ 4. С. 176–187.
11. Дорошенко А.Ю., Бекетов О.Г., Прусов
В.А., Тирчак Ю.М., Яценко О.А. Фор-
малізоване проектування та генерація па-
ралельної програми чисельного моделю-
вання погоди. Проблеми програмування.
2014. № 2–3. С. 72–81.
12. Андон Ф.И., Дорошенко А.Е., Бекетов
А.Г., Иовчев В.А., Яценко Е.А. Инстру-
ментальные средства автоматизации па-
раллельного программирования на основе
алгебры алгоритмов. Кибернетика и си-
стемный анализ. 2015. № 1. С. 162–170.
13. Дорошенко А.Ю., Бекетов О.Г., Іванів Р.Б.,
Іовчев В.О., Мироненко І.О., Яценко О.А.
Автоматизована генерація паралельних
програм для графічних прискорювачів на
основі схем алгоритмів. Проблеми програ-
мування. 2015. № 1. С. 19–28.
14. Doroshenko A., Zhereb K., Yatsenko O.
Developing and optimizing parallel programs
with algebra-algorithmic and term rewriting
tools. Proc. 9th International Conference
"ICT in Education, Research, and Industrial
Applications" (ICTERI 2013), Revised
Selected Papers, Kherson, Ukraine
(19–22 June, 2013). Berlin: Springer, 2013.
Vol. 412. P. 70–92.
15. Яценко Е.А. Средства параметрически
управляемой генерации алгоритмов на ос-
нове алгебры гиперсхем. Проблеми про-
грамування. 2012. № 2–3. С. 219–227.
16. Акуловский В.Г., Дорошенко А.Е. Описа-
ние параллелизма в алгоритмах информа-
ционно-управляющих систем средствами
алгебраического аппарата. Проблеми про-
грамування. 2013. № 3. С. 13–21.
17. Акуловский В.Г., Дорошенко А.Е. Преоб-
разование алгоритмов, записанных в виде
композиционных схем. Кибернетика и си-
стемный анализ. 2014. № 1. С. 151–159.
18. Акуловский В.Г., Дорошенко А.Е., Яцен-
ко Е.А. Реализация средств проектирова-
ния и генерации программ на основе ал-
гебры алгоритмов с данными. Проблеми
програмування. 2015. № 2. С. 41–51.
19. Оконський І.В., Дорошенко А.Ю., Же-
реб К.А. Інструментальні засоби моде-
лювання гетерогенних середовищ заснова-
них на відеографічних прискорювачах.
Проблеми програмування. 2013. № 1.
С. 107–115.
20. Дорошенко А.Ю., Оконський І.В., Же-
реб К.А., Бекетов О.Г. Використання засо-
бів моделювання для визначення оптима-
льних параметрів виконання програм на
відеографічних прискорювачах. Проблеми
програмування. 2013. № 2. С. 23–31.
21. Дорошенко А.Ю., Гнинюк М.В. Паралель-
на розподілена реалізація моделювання
паралельних обчислень. Проблеми програ-
мування. 2014. № 1. С. 40–48.
22. Рухлис К.А., Дорошенко А.Е. К вопросу о
производительности распределенных хра-
нилищ объектов данных в памяти ОЗУ.
Проблеми програмування. 2015. № 3.
C. 33–38.
23. Тітов Д.С., Дорошенко А.Ю., Яценко О.А.
Автоматизована розробка паралельної роз-
поділеної системи обробки потокових
даних. Проблеми програмування. 2016.
№ 2–3. С. 96–104.
24. Иваненко П.А., Дорошенко А.Е. Метод ав-
томатической генерации автотьюнеров для
параллельных программ. Кибернетика и
системный анализ. 2014. № 3. С. 161–173.
Методи та засоби програмної інженерії
28
25. Ivanenko P., Doroshenko A., Zhereb K.
TuningGenie: Auto-tuning framework based
on rewriting rules. Proc. 10th International
Conference "ICT in Education, Research,
and Industrial Applications" (ICTERI 2014),
Revised Selected Papers, Kherson, Ukraine
(9–12 June, 2014). Berlin: Springer,
2014. Vol. 469. P. 139–158.
26. Іваненко П.А., Дорошенко А.Ю. Автома-
тична оптимізація виконання для задачі
метеорологічного прогнозування. Пробле-
ми програмування. 2012. № 2–3. С. 426–
434.
27. Дорошенко А.Ю., Бекетов О.Г., Яценко
О.А, Вітряк Є.А., Павлючин Т.О. Розробка
сервісно-орієнтованих засобів для запуску
паралельних програм на мультипроцесор-
ному кластері. Проблеми програмуван-
ня. 2014. № 4. С. 3–14.
28. Дорошенко А.Ю., Іваненко П.А., Овдій
О.М., Яценко О.А. Автоматизоване проек-
тування програм для розв’язання задачі
метеорологічного прогнозування. Пробле-
ми програмування. 2016. № 1. С. 102–115.
29. Бекетов О.Г., Вітряк Є.А., Мироненко І.О.,
Овдій О.М. Розвиток Інтернет-порталу ме-
теорологічного прогнозування на мульти-
процесорній платформі. Проблеми програ-
мування. 2016. № 2–3. С. 246–253.
30. Wilt N. The CUDA handbook. A
comprehensive guide to GPU programming.
Boston: Addison-Wesley, 2013. 528 p.
31. Sulistio A., Cibej U., Venugopal S., Robic B.,
Buyya R. A toolkit for modelling and
simulating data Grids: an extension to
GridSim. Concurrency and Computation:
Practice & Experience. 2008. Vol. 20, N 13.
P. 1591–1609.
32. Veentjer P. Mastering Hazelcast: the ultimate
Hazelcast book. Palo Alto: Hazelcast,
2015. 232 p.
References
1. Glushkov V.M. (1965) Automata theory and
structural design problems of digital
machines. Cybernetics. (5). P. 1–10. (in
Russian).
2. Glushkov V.M., Tseitlin G.E. &
Yushchenko E.L. (1980) Methods of symbolic
multiprocessing. Kyiv: Naukova dumka. (in
Russian).
3. Glushkov V.M., Tseitlin G.E. &
Yushchenko E.L. (1989) Algebra. Languages.
Programming. 3rd edition. Kyiv: Naukova
dumka. (in Russian).
4. Kapitonova Yu.V. & Letichevsky A.A. (2003)
Paradigms and ideas of academician
V.M. Glushkov. Kyiv: Naukova dumka. (in
Russian).
5. Kapitonova Yu.V. & Letichevsky A.A. (1993)
Algebraic programming: methods and tools.
Cybernetics. (3). P. 7–12. (in Russian).
6. Letichevsky A.A., Kapitonova Yu.V. &
Konozenko S.V. (1993) Computations in
APS. Theoretical computer science. 119.
P. 145–171.
7. Andon P.I. et al. (2007) Algebra-algorithmic
models and methods of parallel programming.
Kyiv: Akademperiodika. (in Russian).
8. Andon P.I. et al. (2017) Methods of algebraic
programming. Formal methods of parallel
program development. Kyiv: Naukova
dumka. (in Russian).
9. Doroshenko A. & Shevchenko R. (2006)
A rewriting framework for rule-based
programming dynamic applications.
Fundamenta Informaticae. 72 (1–3).
P. 95–108.
10. Andon P.I., Doroshenko A.Yu. & Zhereb
K.A. (2011) Programming high-performance
parallel computations: formal models and
graphics processing units. Cybernetics and
Systems Analysis. (4). P. 176–187. (in
Russian).
11. Doroshenko A.Yu., Beketov O.G.,
Prusov V.A., Tyrchak Yu.M. &
Yatsenko O.A. (2014) Formalized designing
and generation of parallel program for
numerical weather forecasting task. Problems
in programming. (2–3). P. 72–81. (in
Ukrainian).
12. Andon P.I., Doroshenko A.Yu., Beketov
O.G., Iovchev V.O. & Yatsenko O.A. (2015)
Software tools for automation of parallel
programming on the basis of algebra of
algorithms. Cybernetics and systems analysis.
(1). P. 162–170. (in Russian).
13. Doroshenko A.Yu., Beketov O.G., Ivaniv
R.B., Iovchev V.O., Myronenko I.O. &
Yatsenko O.A. (2015) Automated generation
of parallel programs for graphics processing
units based on algorithm schemes. Problems
in programming. (1). P. 19–28. (in Ukrainian).
14. Doroshenko A., Zhereb K. & Yatsenko O.
(2013) Developing and optimizing parallel
programs with algebra-algorithmic and term
rewriting tools. In Proc. 9th International
Conference "ICT in Education, Research, and
Industrial Applications" (ICTERI 2013),
Revised Selected Papers. Kherson, Ukraine,
19–22 June 2013. Berlin: Springer. 412.
P. 70–92.
Методи та засоби програмної інженерії
29
15. Yatsenko O.A. (2012) Facilities for
parameter-driven generation of algorithms on
the basis algebra of hyperschemes. Problems
in programming. (2–3). P. 219–227. (in
Russian).
16. Akulovskiy V.G. & Doroshenko А.Yu. (2013)
Description of parallelism in the algorithms of
the information/control systems with
algebraic facilities. Problems in programming.
(3). P. 13–21. (in Russian).
17. Akulovskiy V.G. & Doroshenko А.Yu. (2014)
Transformation of algorithms written in the
form of composition schemes. Cybernetics
and Systems Analysis. (1). P. 151–159. (in
Russian).
18. Akulovskiy V.G., Doroshenko А.Yu. &
Yatsenko O.A. (2015) Implementation of
tools for designing and generating of
programs on the basis of algebra of algorithms
with data. Problems in programming. (2).
P. 41–51. (in Russian).
19. Оkonsky І.V., Doroshenko А.Yu. & Zhereb
К.А. (2013) Instrumental means of simulation
of heterogeneous environments based on
graphics processing units. Problems in
programming. (1). P. 107–115. (in Ukrainian).
20. Doroshenko А.Yu., Оkonsky І.V., Zhereb
К.А. & Beketov О.G. (2013) Using means of
simulation for determining optimal
parameters for running programs on GPU.
Problems in Programming. (2). P. 23–31. (in
Ukrainian).
21. Doroshenko А.Yu. & Gnynjuk M.V. (2014)
Parallel distributed implementation of
simulation of parallel computation. Problems
in programming. (1). P. 40–48. (in Ukrainian).
22. Rukhlis K.A. & Doroshenko А.Yu. (2015) On
the performance of the in-memory data grids.
Problems in programming. (3). P. 33–38. (in
Russian).
23. Titov D.S., Doroshenko A.Yu. & Yatsenko
O.A. (2016) Automated development of a
parallel system for distributed streaming data
processing. Problems in programming. (2-3).
P. 96–104. (in Ukrainian).
24. Ivanenko P.A. & Doroshenko А.Yu. (2014)
Method of automated generation of autotuners
for parallel programs. Cybernetics and
systems analysis. (3). P. 161–173. (in
Russian).
25. Ivanenko P., Doroshenko A. & Zhereb K.
(2014) TuningGenie: auto-tuning framework
based on rewriting rules. In Proc. 10th
International Conference "ICT in Education,
Research, and Industrial Applications"
(ICTERI 2014), Revised Selected Papers.
Kherson, Ukraine, 9–12 June 2014. Berlin:
Springer. 469. P. 139–158.
26. Ivanenko P.A. & Doroshenko А.Yu. (2012)
Automatic optimization of execution for the
meteorological forecasting problem. Problems
in programming. (2–3). P. 426–434. (in
Ukrainian).
27. Doroshenko A.Yu., Beketov O.G. Yatsenko
O.A., Pavliuchyn T.O. & Vitriak Ie.A. (2014)
Development of the service-oriented soft-
ware for launching parallel programs on a
multiprocessor cluster. Problems in
programming. (4). P. 3–14. (in Ukrainian).
28. Doroshenko A.Yu., Ivanenko P.A., Ovdii
O.M. & Yatsenko O.A. (2016) Automated
program design for solution of weather
forecasting problem. Problems in
programming. (1). P. 102–115. (in Ukrainian).
29. Beketov O.G., Vitriak Ie.A., Myronenko I.O.
& Ovdii O.M. (2016) Development of
meteorological forecasting web portal on
multiprocessor platform. Problems in
programming. (2-3). P. 246–253. (in
Ukrainian).
30. Wilt N. (2013) The CUDA handbook.
A comprehensive guide to GPU
programming. Boston: Addison-Wesley.
31. Sulistio A., Cibej U., Venugopal S., Robic B.
& Buyya R. (2008) A toolkit for modelling
and simulating data Grids: an extension
to GridSim. Concurrency and Computation:
Practice & Experience. 20 (13).
P. 1591–1609.
32. Veentjer P. (2015) Mastering Hazelcast: the
ultimate Hazelcast book. Palo Alto: Hazelcast.
Одержано 12.06.2017
Про авторів:
Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
професор, завідувач відділу теорії
комп’ютерних обчислень Інституту
програмних систем НАН України,
професор кафедри автоматики
та управління в технічних системах
НТУ України “КПІ”.
Методи та засоби програмної інженерії
30
Кількість наукових публікацій в
українських виданнях – понад 200.
Кількість наукових публікацій в
зарубіжних виданнях – понад 50.
Індекс Хірша – 5.
http://orcid.org/0000-0002-8435-1451.
Бекетов Олексій Геннадійович,
молодший науковий співробітник
Інституту програмних
систем НАН України.
Кількість наукових публікацій в
українських виданнях – 10.
Кількість наукових публікацій в
зарубіжних виданнях – 1.
http://orcid.org/0000-0003-4715-5053.
Жереб Костянтин Анатолійович,
кандидат фізико-математичних наук,
старший науковий співробітник Інституту
програмних систем НАН України.
Кількість наукових публікацій в
українських виданнях – понад 30.
Кількість наукових публікацій в
зарубіжних виданнях – понад 10.
http://orcid.org/0000-0003-0881-2284.
Іваненко Павло Андрійович,
молодший науковий співробітник
Інституту програмних
систем НАН України.
Кількість наукових публікацій в
українських виданнях – 16.
Кількість наукових публікацій в
зарубіжних виданнях – 4.
http://orcid.org/0000-0001-5437-9763.
Овдій Ольга Михайлівна,
молодший науковий співробітник
Інституту програмних
систем НАН України.
Кількість наукових публікацій в
українських виданнях – 20.
Кількість наукових публікацій в
зарубіжних виданнях – 4.
http://orcid.org/0000-0002-8891-7002.
Шевченко Руслан Сергійович,
директор ТОВ "Град-Софт".
Кількість наукових публікацій в
українських виданнях – 7.
Кількість наукових публікацій в
зарубіжних виданнях – 9.
http://orcid.org/0000-0002-1554-2019.
Яценко Олена Анатоліївна,
кандидат фізико-математичних наук,
старший науковий співробітник Інституту
програмних систем НАН України.
Кількість наукових публікацій в
українських виданнях – 35.
Кількість наукових публікацій в
зарубіжних виданнях – 12.
http://orcid.org/0000-0002-4700-6704.
Місце роботи авторів:
Інститут програмних систем
НАН України,
03187, м. Київ,
проспект Академіка Глушкова, 40.
Тел.: (044) 526 3559.
ТОВ "Град-Софт",
02068, Київ-068,
вул. Ревуцького, 29, к. 240.
Тел.: (044) 552 8259.
E-mail: doroshenkoanatoliy2@gmail.com,
beketov.oleksii@gmail.com,
zhereb@gmail.com,
paiv@ukr.net,
olga.ovdiy@gmail.com,
ruslan.s.shevchenko@gmail.com,
oayat@ukr.net.
mailto:oayat@ukr.net
|