Autotuning of parallel programs using the IBM Watsons Analytics data analysis system
In this paper an analytical model of the method of automatic adjustment of parallel programs (auto-tuning) is presented. The software implementation of this model is based on the formal transformations of code and using expert data as a foundation of the optimization process and further analysis of...
Збережено в:
Дата: | 2018 |
---|---|
Автори: | , , , |
Формат: | Стаття |
Мова: | Ukrainian |
Опубліковано: |
Інститут програмних систем НАН України
2018
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/237 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-237 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/ba/4c9077fe51482a050476075139701cba.pdf |
spelling |
pp_isofts_kiev_ua-article-2372024-04-28T11:34:16Z Autotuning of parallel programs using the IBM Watsons Analytics data analysis system Автотюнинг параллельных про-грамм с использованием системы анализа данных IBM Watsons Analytics Автотюнінг паралельних програм з використанням системи аналізу даних IBM Watsons Analytics Doroshenko, А.Yu. Novak, O.S. Ivanenko, P.A. Starushyk, A.M. autotuning; parallel programs; IBM Watsons Analytics; optimization; statistical modeling UDC 681.3 автотьюнинг; параллельные программы; IBM Watsons Analytics; оптимизация; статистическое моделирование УДК 681.3 автотьюнінг; паралельні програми; IBM Watsons Analytics; оптимізація; статистичне моделювання УДК 681.3 In this paper an analytical model of the method of automatic adjustment of parallel programs (auto-tuning) is presented. The software implementation of this model is based on the formal transformations of code and using expert data as a foundation of the optimization process and further analysis of the results with the IBM Watsons Analytics system. The results of a practical experiment confirming the effectiveness of the approach used in optimizing parallel programs are presented. The principles of the IBM Watsons Analytics data analysis system are examined and the system itself is shown in action.Problems in programming 2018; 1: 46-54 В данной работе представлена аналитическая модель метода автоматической настройки параллельных программ (автотьюнинга). Описанная программная реализация этой модели на основе формальных трансформаций программ и использования экспертных данных, как основы процесса оптимизации с последующим анализом полученных результатов системой IBM Watsons Analytics. Представлены результаты практического эксперимента, подтверждающие эффективность используемого подхода при оп-тимизации параллельных программ.Problems in programming 2018; 1: 46-54 В даній роботі представлена аналітична модель методу автоматичного налаштування паралельних програм (автотьюнінгу). Описана програмна реалізація цієї моделі за основою формальних перетворень програм та використання експертних даних, як основи процесу оптимізації з подальшим аналізом отриманих результатів системою IBM Watsons Analytics. Представлені результати практичного експерименту які підтверджують ефективність використовуваного підходу при оптимізації паралельних програм.Problems in programming 2018; 1: 46-54 Інститут програмних систем НАН України 2018-10-09 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/237 10.15407/pp2018.01.046 PROBLEMS IN PROGRAMMING; No 1 (2018); 46-54 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2018); 46-54 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2018); 46-54 1727-4907 10.15407/pp2018.01 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/237/233 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:34:16Z |
collection |
OJS |
language |
Ukrainian |
topic |
autotuning parallel programs IBM Watsons Analytics optimization statistical modeling UDC 681.3 |
spellingShingle |
autotuning parallel programs IBM Watsons Analytics optimization statistical modeling UDC 681.3 Doroshenko, А.Yu. Novak, O.S. Ivanenko, P.A. Starushyk, A.M. Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
topic_facet |
autotuning parallel programs IBM Watsons Analytics optimization statistical modeling UDC 681.3 автотьюнинг параллельные программы IBM Watsons Analytics оптимизация статистическое моделирование УДК 681.3 автотьюнінг паралельні програми IBM Watsons Analytics оптимізація статистичне моделювання УДК 681.3 |
format |
Article |
author |
Doroshenko, А.Yu. Novak, O.S. Ivanenko, P.A. Starushyk, A.M. |
author_facet |
Doroshenko, А.Yu. Novak, O.S. Ivanenko, P.A. Starushyk, A.M. |
author_sort |
Doroshenko, А.Yu. |
title |
Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
title_short |
Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
title_full |
Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
title_fullStr |
Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
title_full_unstemmed |
Autotuning of parallel programs using the IBM Watsons Analytics data analysis system |
title_sort |
autotuning of parallel programs using the ibm watsons analytics data analysis system |
title_alt |
Автотюнинг параллельных про-грамм с использованием системы анализа данных IBM Watsons Analytics Автотюнінг паралельних програм з використанням системи аналізу даних IBM Watsons Analytics |
description |
In this paper an analytical model of the method of automatic adjustment of parallel programs (auto-tuning) is presented. The software implementation of this model is based on the formal transformations of code and using expert data as a foundation of the optimization process and further analysis of the results with the IBM Watsons Analytics system. The results of a practical experiment confirming the effectiveness of the approach used in optimizing parallel programs are presented. The principles of the IBM Watsons Analytics data analysis system are examined and the system itself is shown in action.Problems in programming 2018; 1: 46-54 |
publisher |
Інститут програмних систем НАН України |
publishDate |
2018 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/237 |
work_keys_str_mv |
AT doroshenkoayu autotuningofparallelprogramsusingtheibmwatsonsanalyticsdataanalysissystem AT novakos autotuningofparallelprogramsusingtheibmwatsonsanalyticsdataanalysissystem AT ivanenkopa autotuningofparallelprogramsusingtheibmwatsonsanalyticsdataanalysissystem AT starushykam autotuningofparallelprogramsusingtheibmwatsonsanalyticsdataanalysissystem AT doroshenkoayu avtotûningparallelʹnyhprogrammsispolʹzovaniemsistemyanalizadannyhibmwatsonsanalytics AT novakos avtotûningparallelʹnyhprogrammsispolʹzovaniemsistemyanalizadannyhibmwatsonsanalytics AT ivanenkopa avtotûningparallelʹnyhprogrammsispolʹzovaniemsistemyanalizadannyhibmwatsonsanalytics AT starushykam avtotûningparallelʹnyhprogrammsispolʹzovaniemsistemyanalizadannyhibmwatsonsanalytics AT doroshenkoayu avtotûníngparalelʹnihprogramzvikoristannâmsistemianalízudanihibmwatsonsanalytics AT novakos avtotûníngparalelʹnihprogramzvikoristannâmsistemianalízudanihibmwatsonsanalytics AT ivanenkopa avtotûníngparalelʹnihprogramzvikoristannâmsistemianalízudanihibmwatsonsanalytics AT starushykam avtotûníngparalelʹnihprogramzvikoristannâmsistemianalízudanihibmwatsonsanalytics |
first_indexed |
2024-09-16T04:08:21Z |
last_indexed |
2024-09-16T04:08:21Z |
_version_ |
1818568411266940928 |
fulltext |
Інструментальні засоби і середовища програмування
© А.Ю. Дорошенко, О.С. Новак, П.А. Іваненко, А.М. Старушик, 2018
46 ISSN 1727-4907. Проблеми програмування. 2018. № 1
УДК 681.3
А.Ю. Дорошенко, О.С. Новак, П.А. Іваненко, А.М. Старушик
АВТОТЮНІНГ ПАРАЛЕЛЬНИХ ПРОГРАМ
З ВИКОРИСТАННЯМ СИСТЕМИ АНАЛІЗУ
ДАНИХ IBM WATSONS ANALYTICS
В даній роботі представлена аналітична модель методу автоматичного налаштування паралельних про-
грам (автотьюнінгу). Описана програмна реалізація цієї моделі за основою формальних перетворень
програм та використання експертних даних, як основи процесу оптимізації з подальшим аналізом
отриманих результатів системою IBM Watsons Analytics. Представлені результати практичного експе-
рименту які підтверджують ефективність використовуваного підходу при оптимізації паралельних про-
грам.
Ключові слова: автотьюнінг, паралельні програми, IBM Watsons Analytics, оптимізація, статистичне
моделювання.
Вступ
Паралельні обчислення – спосіб ор-
ганізації комп’ютерних обчислень, при
якому програми розробляються, як набір
взаємодіючих обчислювальних блоків, що
працюють паралельно (одночасно) та яв-
ляються декомпозицією певної задачі. Го-
ловна перевага паралельних програм – це
можливість одночасного виконання певно-
го набору операцій з метою досягнення
високої продуктивності.
Незважаючи на загальновідомий
закон Мура – емпіричне спостереження,
зроблене Гордоном Муром, згідно якому
потужність процесорів подвоюється кожні
18–24 місяців, реальна ситуація на по-
прищі паралельних обчислень є не насті-
льки хорошою. Ефективність та продук-
тивність сучасних паралельних систем
знаходиться нижче позначки в 10 % від
теоретично можливої пікової величини,
відповідно до звіту Міжвідомчої комісії з
розвитку надпотужних обчислень США
[1]. Яскравим прикладом цього є резуль-
тат дослідження Національного науково-
дослідницького обчислювального центру
в області енергетики (NERSC), показаний
на рис. 1.
Постійний технологічний ріст мік-
ропроцесорної сфери, відповідно до закону
Мура, призводить до різкого зростання
кривої пікової продуктивності. Виникає
певний дисбаланс з іншими технологіч-
ними та аналітичними аспектами, які
розвиваються не так швидко, що призво-
дить до значного розходження пікової
можливої та реальної продуктивності па-
ралельних систем.
Наявність потужної обчислюваль-
ної бази не гарантує факту ефективного її
використання. Швидкодія паралельної си-
стеми значною мірою залежить від обраної
архітектури, вдало розробленого алгорит-
му, правильної декомпозиції поставленої
задачі та ряду інших факторів. Тому роз-
робка продуктивного та ефективного пара-
лельного рішення являється доволі нетри-
віальною задачею, тим паче в час масового
використання багатоядерних мікропроце-
сорів.
1. Оптимізація паралельних
програм
Складні науково-технічні задачі по-
требують значних обчислювальних поту-
жностей, тому оптимізація паралельних
програм являється невід’ємною частиною
їх процесу розробки.
Царину методів оптимізації парале-
льних програм умовно можна поділити на
дві групи: статичні та динамічні оптиміза-
тори.
Статичні оптимізатори [2] – це до-
даткове програмне забезпечення та спеціа-
лізовані компілятори, які мають певну
Інструментальні засоби та середовища програмування
47
Рис. 1. Розходження можливої пікової продуктивності (Peak) та реальної продуктивності
паралельних систем (SSP)
експертну базу правил, на основі якої про-
водиться статичний аналіз вихідного коду.
Перевагами такого підходу є відносна про-
стота та швидкість, оскільки виконується
процес послідовного аналізу вихідної про-
грами та заміни певних структур, на ана-
логічні оптимізовані структури описані в
експертній базі правил. Основним недолі-
ком являється те, що такий підхід працює
лише з вихідним кодом як таким, не вра-
ховуючи специфіку робочого алгоритму,
середовища виконання, показники якості
та точності результату. Складність та архі-
тектурні особливості сучасних обчислюва-
льних систем значно ускладнюють розви-
ток даного підходу.
Динамічна оптимізація – дозволяє
емпіричним методом, в автоматичному
режимі визначити найкращу конфігурацію
для паралельної програми та впровадити
цю конфігурацію на рівні вихідного коду.
Даний підхід потребує додаткового аналізу
та ресурсів для імплементації та подальшої
роботи.
2. Автотьюнінг
Розглянемо детальніше концепцію
автоматичної оптимізації паралельних
програм – автотьюнінгу [3].
Концепція автотьюнінгу, останнім
часом стала стандартом для вирішення за-
дачі оптимізації паралельних програм. Її
популярність зумовлена простотою засто-
сування й незалежністю від якісних харак-
теристик обчислювальної системи, оскіль-
ки зазвичай оптимізація виконується в ці-
льовому обчислювальному середовищі, а
отримана конфігурація паралельної про-
грами залишається ефективною допоки не
змінюються характеристики середовища
виконання. Такий підхід дозволяє абстра-
гуватися від конкретного обчислювально-
го середовища на етапі створення парале-
льної системи та в подальшому оптимізу-
вати її для цільової платформи.
Звичайно повністю автоматизувати
процес неможливо із-за декількох факто-
рів: варіанти програми задаються розроб-
Інструментальні засоби і середовища програмування
48
ником, оскільки він являється експертом в
даній предметній області та знає які харак-
теристики програми можуть значно впли-
нути на оптимізацію; тільки розробник
може правильно оцінити роботу авто-
тьюнера, оскільки інколи важливим є не
тільки час виконання, а й точність резуль-
тату, використані ресурси тощо.
Концепція автотьюнінгу уже довела
свою універсальність й ефективність, про-
те вона не позбавлена недоліків: необхід-
ність використання автотьюнера, значний
час його роботи, інтеграція термів авто-
тьюнера у вихідний код програми.
Особливістю автотьюнінгу є те, що
найкраща конфігурація програми визнача-
ється емпіричним способом, на основі ста-
тистичних даних, отриманих автотьюне-
ром. Конфігурація – це набір параметрів у
вихідному коді програми, які тією чи ін-
шою мірою впливають на продуктивність
паралельної програми (кількість потоків,
ітерацій, величина розбиття тощо). Авто-
тьюнер формує проміжні конфігурації на
основі заданих правил та оцінює їх ефек-
тивність в конкретному обчислювальному
середовищі. На основі аналізу отриманих
статистичних даних формується найкраща
конфігурація для паралельної програми,
яка вводиться на рівні вихідного коду.
В цілому алгоритм дії автотьюнера
можна розбити на наступні кроки:
виділення та аналіз метаданих з
вихідного коду;
формування, на основі виділе-
них метаданих, множини конфігурацій для
вихідної програми, що являє собою сукуп-
ність параметрів які тією чи іншою мірою
впливають на продуктивність паралельної
програми. Кожна конфігурація являє со-
бою унікальну трансформацію вихідного
коду. В результаті якої генерується новий
варіант програми;
емпіричний аналіз ефективності
отриманих конфігурацій;
визначення найбільш ефектив-
ної конфігурації.
У загальному випадку кількість іте-
рацій роботи автотьюнера дорівнює кіль-
кості виділених конфігурацій, оскільки пе-
ревіреною має бути кожна з них, для пода-
льшого емпіричного аналізу. Тобто час ро-
боти автотьюнера прямо пропорційний кі-
лькості виділених конфігурацій, що не
завжди зручно в умовах обмежених ресур-
сів. В такому випадку раціонально ввести
певні часові обмеження на, по закінченню
яких ітерації автотьюнера закінчуються та
проводиться емпіричний аналіз отриманих
результатів. Також, одним із підходів до
оптимізації роботи автотьюнера є викори-
стання спеціалізованих пошукових алгори-
тмів [4], що вибиратимуть наступну конфі-
гурацію для перевірки. Інтелектуальне за-
дання конфігурацій може значно зменши-
ти множину, але потребує додаткового
аналізу на етапі інтеграції автотюнера.
Дані підходи значно зменшують час робо-
ти автотюнера, але в загальному випадку
потребують додаткових ресурсів для імп-
лементації.
Процес емпіричного аналізу ефек-
тивності виділених конфігурацій також
являється нетривіальною задачею та може
займати значний час. Велика кільксіть па-
раметрів та, як результат, конфігурацій
підвищують складність аналізу, виділення
трендів та кореляцій з характеристиками
програми. Тому для аналізу отриманих ав-
тотьюнером результатів часто використо-
вують окремі програмні комплекси, що до-
зволяють знаходити статистичні залежнос-
ті між великою кількістю параметрів, так
звана гібридна модель автотьюнінгу [5].
3. Програмна реалізація
автотьюнера
Програмна реалізація автотьюнера
створена на основі використання правил
перетворення вихідного коду – термів, за
допомогою яких виділяються експертні
знання на основі яких генеруються нові
конфігурації вихідної програми для пода-
льшого аналізу. Терми являють собою ін-
струмент для перетворення вихідного ко-
ду, заданого розробником. Автотьюнер
виділяє необхідну інформацію з термів та
на основі отриманих експертних даних
проводить декларативні перетворення (без
зміни логіки роботи) програми та аналізує
отримані результати.
Інструментальні засоби та середовища програмування
49
Синтаксично терми являються ко-
ментарями, тому їх введення не впливає на
вихідний код програми, не змінює струк-
тури паралельної програми та не впливає
на компіляцію.
На даний момент розроблюваний
автотьюнер підтримує два терми.
Терм tuneVarTerm задає область
значень числової змінної та включає у себе
такі параметри:
var – ідентифікатор змінної;
start – початкове значення змін-
ної;
stop – кінцеве значення змінної;
step – крок зміни значення змін-
ної (за замовчуванням дорівнює 1).
Наприклад, для змінної threshold із
значенням, що лежить у межах [1...800] та
кроком зміни значення 1 терм виглядає на-
ступним чином:
//tuneVarTerm var=threshold start=1
stop=800 step=1
int threshold = 1;
Терм bidirCycle ідентифікує цикл,
що не залежить від порядку ітерації та мо-
же бути реверсивно зміненим. Наприклад,
автотюнер випробує пряму та зворотню
ітерацію для наступного циклу:
//bidirectionalCycle
for (int i=0; i < val; i++)
{
//do something
}
Зміна напрямку ітерації циклу
впливає на ефективність використання
програмного кешу і, як наслідок, на зага-
льний час виконання паралельної програ-
ми.
Особливістю розробленого автотю-
нера є те, що аналіз отриманих результатів
виконується за допомогою зовнішнього
суперкомп’ютера IBM Watsons Analytics
[6], що мінімізує час на аналіз та дозволяє
знайти не тільки очевидні, а й приховані
глибокі кореляції вхідних даних.
4. IBM Watsons Analytics
Проблема пошуку прихованих за-
кономірностей та взаємозв’язків – відома і
за межами машинного навчання. За остан-
ні 20 років було створено багато методоло-
гій інтелектуального аналізу даних і згідно
з опитуванням [7], 43 % спеціалістів цієї
області використовують методологію
CRISP-DM, водночас як частка всіх інших
методологій складає 30 % (27 % припадає
на власні методології). І хоча у відомих
методологій існують відмінності, загалом
процес пошуку даних можна представити
у такому вигляді:
постановка задачі;
початковий аналіз даних;
підготовка даних;
моделювання;
оцінка;
використання результатів.
IBM Watson Analytics – це інтелек-
туальна служба аналізу та візуалізації да-
них, яка дозволяє користувачам самостій-
но та швидко виявляти явні та приховані
закономірності введених даних. Завдяки
аналізу структури даних, когнітивним мо-
жливостям да відкритому API [8] користу-
вачі можуть вільно працювати з даними та
отримувати необхідні результати.
IBM Watson Analytics являє собою
аналітичний інструмент який створювався
для того, щоб максимально автоматизува-
ти процес аналізу даних, а саме: початко-
вий аналіз даних, підготовку даних та мо-
делювання. Процес роботи з Watson
Analytics виглядає так:
вибір джерела даних. Як джере-
ло можна використовувати як дані з елект-
ронної таблиці, так і автоматично імпорту-
вати дані з сторонніх джерел (наприклад, з
Twitter чи Salesforce);
дослідження. За допомогою на-
відних запитань про завантажені дані,
Watson допомагає візуалізувати дані для
подальшого аналізу;
прогнозування. Ватсон у авто-
матичному режимі виділяє основні коре-
ляції в даних, та дає можливість користу-
Інструментальні засоби і середовища програмування
50
вачу уточнювати їх за допомогою питань
на природній мові;
монтування. Система надає ко-
ристувачам можливість зберегти оброблені
дані у вигляді наглядних інфографіків для
подальшої презентації.
5. Практичний експеримент
Як дані для тестування обрано за-
міри часу виконання адаптивного алгори-
тму сортування, який виконує сортування
злиттям чи вставкою у залежності від роз-
міру блока числового масиву даних. Час-
тина вихідного коду має наступний ви-
гляд:
//tuneVarTerm var=threshold start=1
stop=800 step=1
int threshold = 1;
if (high-low < threshold)
{
InsertionSort(array, low, high);
}
else
{
MergeSort(array, low, high);
}
В рамках даного експерименту ви-
користовувались дані про сортування
множини випадкових чисел потужністю
610 . Як можливі параметри маємо
C {Tcn, Th} , де – кількість потоків, які
виконують обчислення одночасно, – роз-
мір блоку, при якому відбувається перек-
лючення алгоритмів сортування. Як мет-
рика для оцінки моделі з заданими Tcn та
Th використовується T – час виконання
алгоритму для конфігурації, заданої Tcn
та. В нашому випадку Tcn = {2, 4, 6,...
...,16} та Th = [1, 800] .
Конфігурація експериментального
середовища:
– Процесор Intel® Core™ i5-2410M
(кеш 3Mб, до 2.90 Гц)
– 4 ГБ DDR2 RAM.
Графічне моделювання вхідних да-
них системою IBM Watsons Analytics пока-
зано на рис. 2.
При аналізі даних IBM Watson
Analytics виявив явну кореляцію між кіль-
кістю потоків та результуючим часом ви-
конання (рис. 3 та 4).
Також було виявлено деяку додат-
кову інформацію, а саме: негативну коре-
ляцію між часом виконання та розміром
блока (при низькій кількості потоків), як
показано на рис. 5. Слід зазначити, що для
великої кількості потоків такої залежності
нема.
Рис. 2 Графічне моделювання даних
Інструментальні засоби та середовища програмування
51
Рис. 3. Результат аналізу даних за допомогою IBM Watsons Analytics
Рис. 4. Кореляція між кількістю потоків та результуючим часом виконання
Рис. 5. Додатковий результат аналізу даних за допомогою IBM Watsons Analytics
Інструментальні засоби і середовища програмування
52
6. Аналіз роботи IBM Watsons
Analytics
Для виявлення таких кореляцій IBM
Watsons Analytics використовує r-to-t пе-
ревірку Фішера [9]. Цей метод полягає у
тому, що перевіряється статистична важ-
ливість коефіцієнта кореляції Пірсона. За
допомогою трансформації Фішера (фор-
мула 1), коефіцієнт Пірсона r перетворю-
ється в значення t , чия вага може бути пе-
ревірена на t -розподілі.
1
1
2*ln
1
t
r
r
. (1)
В даному випадку, для перевірки
кореляції між кількістю потоків та часом
виконання була побудована таблиця.
Таблиця. Статистичні значення
Статичний показник Значення
T -49.82
Df 3278
Sig. 0.00
Effect Size (ES) 0.43
Тут t – значення t -критерію
Стьюдента. Так як в даному випадку роз-
міри вибірок однакові, то він обчислював-
ся за формулою 2, де 1M , 2M – середнє
арифметичне, 1 , 2 – стандартне відхи-
лення, N – розмір вибірок;
1 2
2 2
1 2
M M
t
N
. (2)
Інші параметри означають: df –
кількість ступенів свободи; Sig. –
p-значення, що відповідає вірогідності
виникнення похибки першого роду; Effect
size – вимір значущості статистичного
результату. В даному випадку використо-
вується квадрат кореляції Пірсона ( 2r ).
На основі даних із таблиці, Watson
Analytics робить висновки, що
оскільки t є статистично зна-
чущим, можна відкинути 0-гіпотезу про те,
що кореляція Пірсона між часом та кількі-
стю потоків дорівнює 0 ;
оскільки 0.66r , то можна
казати про наявність явної кореляції між
часом та кількістю потоків;
присутній явний тренд на зме-
ншення часу виконання при збільшенні кі-
лькості потоків.
Висновки
Різноманіття та складність сучасних
паралельних архітектур практично унемо-
жливлює створення паралельних програм,
ефективних на будь-якій із них. Кожен па-
ралельний програмний комплекс потребує
певної конфігурації для конкретного сере-
довища виконання для досягнення макси-
мальної ефективності роботи.
Методологія автотьюнінгу дозволяє
значно скоротити етап оптимізації парале-
льних програм, тим самим покращити як-
ість програмного забезпечення та зеконо-
мити час його розробки.
Імплементація автотьюнера за до-
помогою метаданих (термів) полегшує та
ще більше автоматизує процес оптимізації
та пошуку ефективних конфігурацій за ра-
хунок того, що структура та логіка вихід-
ного коду не змінюється, а терми, розмі-
щені в коментарях, абсолютно не вплива-
ють на роботу програми.
Емпіричний аналіз результатів сис-
темою IBM Watsons Analytics дозволяє
знаходити явні та не явні кореляції між
множинами параметрів та результатами
швидкодії, та подати ці дані у зрозумілому
форматі. Так мінімізується процес аналізу
даних в загальному, оскільки, як спеціалі-
зована платформа, IBM Watsons Analytics
має оптимізовані алгоритми аналізу та
значні обчислювальні ресурси.
Інструментальні засоби та середовища програмування
53
Література
1. Federal plan for high-end computing: Report
of the High-end computing revitalization
task force (HECRTF) [Електронний ре-
сурс]. Режим доступу до ресурсу:
http://www.nitrd.gov/pubs/2004_hecrtf/2004
0702_hecrtf.pdf
2. Automatic Parallelization with Intel
Compilers [Електронний ресурс]. Режим
доступу до ресурсу:
http://software.intel.com/en-us/articles/
automatic-parallelization-with-intel-
compilers
3. Naono K., Teranishi K., Cavazos J., Suda R .
Software automatic tuning from concepts to
state-of-the-art results – New York: Springer,
2010. 240 p.
4. Asanovic K. The Landscape of Parallel
Computing Research: A View From
Berkeley. Technical Report, University of
California, Berkeley, 2006.
5. Дорошенко А.Ю, Іваненко П.А., Новак
О.C. Гібридна модель автотьюнінгу з ви-
користанням статистичного моделювання.
Проблеми програмування. 2016. № 4.
С. 27–32.
6. IBM Watson Analytics [Електронний ре-
сурс]. Режим доступу до ресурсу:
https://www.ibm.com/ru-
ru/marketplace/watson-analytics
7. Analytics of data-mining and data-science
methodology [Електронний ресурс]. Ре-
жим доступу до ресурсу:
https://www.kdnuggets.com/polls/2014/analy
tics-data-mining-data-science-
methodology.html
8. Watson Analytics Developer Center [Елект-
ронний ресурс]. Режим доступу до ресур-
су: https://developer.ibm.com/api/view/id-
160:title-Watson_Analytics
9. Fisher r-to-t test [Електронний ресурс] –
Режим доступу до ресурсу:
https://www.ibm.com/support/knowledgecen
ter/SSWLVY_1.0.1/com.ibm.spss.analyticca
talyst.help/analytic_catalyst/fisher_r_to_t.ht
ml
References
1. Federal plan for high-end computing: Report
of the High-end computing revitalization
task force (HECRTF) – Retrieved from
http://www.nitrd.gov/pubs/2004_hecrtf/2004
0702_hecrtf.pdf
2. Automatic Parallelization with Intel
Compilers – Retrieved from
http://software.intel.com/en-
us/articles/automatic-parallelization-with-
intel-compilers
3. Naono K., Teranishi K., Cavazos J., Suda R .
Software automatic tuning from concepts to
state-of-the-art results – New York: Springer,
2010. – 240 р.
4. Asanovic K. The Landscape of Parallel
Computing Research: A View From
Berkeley. Technical Report, University of
California, Berkeley, 2006
5. Doroshenko A.Yu., Ivanenko P.A., Novak
O.S., Hybrid model of autotuning that use
statistical modeling. Problems in Program-
ming. 2016, N 4. P. 27–32.
6. IBM Watson Analytics – Retrieved from
https://www.ibm.com/ru-
ru/marketplace/watson-analytics
7. Analytics of data-mining and data-science
methodology – Retrieved from
https://www.kdnuggets.com/polls/2014/analy
tics-data-mining-data-science-
methodology.html
8. Watson Analytics Developer Center –
Retrieved from
https://developer.ibm.com/api/view/id-
160:title-Watson_Analytics
9. Fisher r-to-t test – Retrieved from
https://www.ibm.com/support/knowledgecen
ter/SSWLVY_1.0.1/com.ibm.spss.analyticca
talyst.help/analytic_catalyst/fisher_r_to_t.ht
ml.
Одержано 10.12.2017
Про авторів:
Дорошенко Анатолій Юхимович,
доктор фізико-математичних наук,
професор, завідувач відділу
теорії комп’ютерних обчислень,
професор кафедри автоматики та
управління в технічних системах
НТУУ “КПІ”.
Кількість наукових публікацій в
українських виданнях – понад 150.
http://www.nitrd.gov/pubs/2004_hecrtf/20040702_hecrtf.pdf
http://www.nitrd.gov/pubs/2004_hecrtf/20040702_hecrtf.pdf
http://software.intel.com/en-us/articles/%20automatic-parallelization-with-intel-compilers
http://software.intel.com/en-us/articles/%20automatic-parallelization-with-intel-compilers
http://software.intel.com/en-us/articles/%20automatic-parallelization-with-intel-compilers
https://www.ibm.com/ru-ru/marketplace/watson-analytics
https://www.ibm.com/ru-ru/marketplace/watson-analytics
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://developer.ibm.com/api/view/id-160:title-Watson_Analytics
https://developer.ibm.com/api/view/id-160:title-Watson_Analytics
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
http://www.nitrd.gov/pubs/2004_hecrtf/20040702_hecrtf.pdf
http://www.nitrd.gov/pubs/2004_hecrtf/20040702_hecrtf.pdf
http://software.intel.com/en-us/articles/automatic-parallelization-with-intel-compilers
http://software.intel.com/en-us/articles/automatic-parallelization-with-intel-compilers
http://software.intel.com/en-us/articles/automatic-parallelization-with-intel-compilers
https://www.ibm.com/ru-ru/marketplace/watson-analytics
https://www.ibm.com/ru-ru/marketplace/watson-analytics
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-science-methodology.html
https://developer.ibm.com/api/view/id-160:title-Watson_Analytics
https://developer.ibm.com/api/view/id-160:title-Watson_Analytics
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
https://www.ibm.com/support/knowledgecenter/SSWLVY_1.0.1/com.ibm.spss.analyticcatalyst.help/analytic_catalyst/fisher_r_to_t.html
Інструментальні засоби і середовища програмування
54
Кількість наукових публікацій в
зарубіжних виданнях – понад 50.
Індекс Хірша – 5.
http://orcid.org/0000-0002-8435-1451,
Іваненко Павло Андрійович,
молодший науковий співробітник.
http://orcid.org/0000-0001-5437-9763,
Новак Олександр Сергійович,
аспірант.
http://orcid.org/0000-0002-1665-7360.
Старушик Артем Миколайович,
магістрант,
https://orcid.org/0000-0002-6419-7792.
Місце роботи авторів:
Національний технічний університет
України «КПІ імені Ігоря Сікорського»
03056, Київ, пр. Перемоги, 37
Інститут програмних систем
НАН України,
03187, м. Київ-187,
проспект Академіка Глушкова, 40.
E-mail: starushykart@gmail.com,
doroshenkoanatoliy2@gmail.com
http://orcid.org/0000-0001-5437-9763
https://orcid.org/0000-0002-6419-7792
mailto:starushykart@gmail.com
mailto:doroshenkoanatoliy2@gmail.com
|